Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-18-2011, 04:52 PM
kamilkurczak kamilkurczak is offline
 
Join Date: May 2010
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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
Reply With Quote
  #2  
Old 07-18-2011, 07:29 PM
Zachery's Avatar
Zachery Zachery is offline
 
Join Date: Jul 2002
Location: Ontario, Canada
Posts: 11,440
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can you show us the screen shot of the actual error?
Reply With Quote
  #3  
Old 07-18-2011, 08:02 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

...or some more code? Looks like what you posted is one function, do you know if that code is causing the error?
Reply With Quote
  #4  
Old 07-19-2011, 07:48 AM
kamilkurczak kamilkurczak is offline
 
Join Date: May 2010
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #5  
Old 07-19-2011, 04:16 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #6  
Old 08-01-2011, 06:38 AM
kamilkurczak kamilkurczak is offline
 
Join Date: May 2010
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

this line causing the problem.
PHP Code:
$post_id $postdm->save(); 
Reply With Quote
  #7  
Old 08-03-2011, 09:23 AM
kamilkurczak kamilkurczak is offline
 
Join Date: May 2010
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:06 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04205 seconds
  • Memory Usage 2,286KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (5)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete