vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Access denied. after post save (https://vborg.vbsupport.ru/showthread.php?t=267039)

kamilkurczak 07-18-2011 04:52 PM

Access denied. after post save
 
Hello,
I wrote my own system to save post on outside forum page (using data manager). Post is saved correctly but after save I have a blank page with : "Access denied." message.

example of my code:
PHP Code:

global $vbulletin;
        require_once(
CWD '/includes/init.php');
        require_once(
CWD '/includes/functions_misc.php');
        require_once(
CWD '/includes/functions_databuild.php');
        
        
$foruminfo fetch_foruminfo($forum_id);
        
$threadinfo fetch_threadinfo($thread_id);
        
        
$postdm =& datamanager_init('Post'$vbulletinERRTYPE_ARRAY'threadpost');
        
//$postdm = new vB_DataManager_Post($vbulletin, ERRTYPE_STANDARD); 
        
        // set options
        //$postdm->setr('showsignature', $post_data['signature']);
        
$postdm->setr('allowsmilie'$post_data['enablesmilies']);
        
//$postdm->setr('htmlstate', $post['htmlstate']);
    
        // set data
        
$postdm->setr('userid'$post_data['userid']);
        
$postdm->setr('threadid'$post_data['threadid']);
        
$postdm->setr('parentid'$post_data['parentid']);
        
//$postdm->set('username', $post_data['username']);
        
$postdm->setr('title'$post_data['title']);
        
$postdm->setr('pagetext'$post_data['pagetext']);
        
$postdm->setr('iconid'$post_data['iconid']);
        
$postdm->setr('visible'$post_data['visible']);
        
$postdm->setr('dateline'time());    
        
$postdm->set_info('forum'$foruminfo);
        
$postdm->set_info('thread'$threadinfo);    
        
$postdm->pre_save();
            
        if(!empty(
$postdm->errors))
        {
            return 
$postdm->errors;
        }
        else
        {
            
            
$post_id $postdm->save();
            
            
build_thread_counters($threadinfo);
            
build_forum_counters($foruminfo);
            
            return 
$thread_id;
        } 

can you help me? Thanks

Zachery 07-18-2011 07:29 PM

Can you show us the screen shot of the actual error?

kh99 07-18-2011 08:02 PM

...or some more code? Looks like what you posted is one function, do you know if that code is causing the error?

kamilkurczak 07-19-2011 07:48 AM

this is my complete function to post adding:
PHP Code:

public function addPost($forum_id$thread_id$post_data = array())
    {    
        global 
$vbulletin;
        require_once(
CWD '/includes/init.php');
        require_once(
CWD '/includes/functions_misc.php');
        require_once(
CWD '/includes/functions_databuild.php');
        
        
$foruminfo fetch_foruminfo($forum_id);
        
$threadinfo fetch_threadinfo($thread_id);
        
        
$postdm =& datamanager_init('Post'$vbulletinERRTYPE_ARRAY'threadpost');
        
//$postdm = new vB_DataManager_Post($vbulletin, ERRTYPE_STANDARD); 
        
        // set options
        //$postdm->setr('showsignature', $post_data['signature']);
        
$postdm->setr('allowsmilie'$post_data['enablesmilies']);
        
//$postdm->setr('htmlstate', $post['htmlstate']);
    
        // set data
        
$postdm->setr('userid'$post_data['userid']);
        
$postdm->setr('threadid'$post_data['threadid']);
        
$postdm->setr('parentid'$post_data['parentid']);
        
//$postdm->set('username', $post_data['username']);
        
$postdm->setr('title'$post_data['title']);
        
$postdm->setr('pagetext'$post_data['pagetext']);
        
$postdm->setr('iconid'$post_data['iconid']);
        
$postdm->setr('visible'$post_data['visible']);
        
$postdm->setr('dateline'time());    
        
$postdm->set_info('forum'$foruminfo);
        
$postdm->set_info('thread'$threadinfo);    
        
$postdm->pre_save();
            
        if(!empty(
$postdm->errors))
        {
            return 
$postdm->errors;
        }
        else
        {
            
            
$post_id $postdm->save();
            
            
build_thread_counters($threadinfo);
            
build_forum_counters($foruminfo);
            
            return 
$thread_id;
        }  

    } 

and this function is called by:

PHP Code:

protected function processForm(sfWebRequest $requestsfForm $form)
  {
    
$form_name $form->getName();  
    
$form->bind($request->getParameter($form_name), $request->getFiles($form->getName()));
    if (
$form->isValid())
    {
      
// start vbulletin add thread part
      
if(sfConfig::get('app_vbulletin_use'))
      {     
            
$user_id $this->getUser()->getGuardUser()->getId();
          
$values $this->form->getValues();
          
          if(
$form_name == 'post')
          {
              
$vb = new vbConnector();
              
$post_data = array( 'threadid'         => $this->thread_id
                                    
'title'              => $values['title'], 
                                    
'pagetext'         => $values['message'],
                                    
'userid'        => $user_id,
                                    
'open'            => 1,
                                    
'visible'        => 1,
                                    
'allowsmilie'     => 1,
                                    
'parentid'        => 0,
                                    
'iconid'        => 1,
                                    
'signature'        => 0
                                
);
              
$this->errors $vb->addPost($this->forum_id$this->thread_id$post_data);
          }
          else
          {
              
$vb = new vbConnector();
              
$thread_data = array( 'forumid'         => $this->forum_id
                                    
'title'              => $values['title'], 
                                    
'pagetext'         => $values['message'],
                                    
'userid'        => $user_id,
                                    
'open'            => 1,
                                    
'visible'        => 1,
                                    
'allowsmilie'     => 1
                                
);
              
$this->errors $vb->addThread($this->forum_id$thread_data);
          }
          
          if(!
is_array($this->errors))
          {
              
              
$this->redirect('@forum_thread?forum_id='.$this->forum_id.'&slug='.$this->errors);
          }          
      }
      
// end vbulletin add thread part
          
    
}
  } 

about error screen. there is only blank page with Access denied. message in top-right corner. nothing more.

kh99 07-19-2011 04:16 PM

I see a lot of places where "Access denied" may be output by the vb code, but none that seem to be associated with what you posted. Have you tried maybe commenting out parts of the code to see if you can narrow it down?

kamilkurczak 08-01-2011 06:38 AM

this line causing the problem.
PHP Code:

$post_id $postdm->save(); 


kamilkurczak 08-03-2011 09:23 AM

nobody know? please I need help ASAP

--------------- Added [DATE]1312370541[/DATE] at [TIME]1312370541[/TIME] ---------------

this line will solve this problem:
PHP Code:

define('VB_ENTRY'1); 

thanks


All times are GMT. The time now is 02:08 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01156 seconds
  • Memory Usage 1,799KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete