Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
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
Reply

Thread Tools
Display Modes

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 05:22 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.03237 seconds
  • Memory Usage 2,269KB
  • Queries Executed 12 (?)
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
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • 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_threaded
  • showthread_threaded_construct_link
  • 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