开发者

phpBB Template API error

开发者 https://www.devze.com 2023-03-26 00:07 出处:网络
I want to add thread and show the message in phpBB. Here is my code: <?php define(\'IN_PHPBB\', true);

I want to add thread and show the message in phpBB. Here is my code:

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);


// New Topic Example
$subject = 'TEST: Test topic';
$message = 'This is test message';

$uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage
$allow_bbcode = $allow_urls = $allow_smilies = true;
generate_text_for_storage($text, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);

$data = array( 
    // General Posting Settings
    'forum_id'            => 2,    // The forum ID in which the post will be placed. (int)
    'topic_id'            => 0,    // Post a new topic or in an existing one? Set to 0 to create a new one, if not, specify your topic ID here instead.
    'icon_id'            => false,    // The Icon ID in which the post will be displayed with on the viewforum, set to false for icon_id. (int)

    // Defining Post Options
    'enable_bbcode'    => true,    // Enable BBcode in this post. (bool)
    'enable_smilies'    => true,    // Enabe smilies in this post. (bool)
    'enable_urls'        => true,    // Enable self-parsing URL links in this post. (bool)
    'enable_sig'        => true,    // Enable the signature of the poster to be displayed in the post. (bool)

    // Message Body
    'message'            => $message,        // Your text you wish to have submitted. It should pass through generate_text_for_storage() before this. (string)
    'message_md5'    => md5($message),// The md5 hash of your message

    // Values from generate_text_for_storage()
    'bbcode_bitfield'    => $bitfield,    // Value created from the generate_text_for_storage() function.
    'bbcode_uid'        => $uid,        // Value created from the generate_text_for_storage() function.

    // Other Options
    'post_edit_locked'    => 0,        // Disallow post editing? 1 = Yes, 0 = No
    'topic_title'        => $subject,    // Subject/Title of the topic. (string)

    // Email Notification Setting开发者_运维技巧s
    'notify_set'        => false,        // (bool)
    'notify'            => false,        // (bool)
    'post_time'         => 0,        // Set a specific time, use 0 to let submit_post() take care of getting the proper time (int)
    'forum_name'        => '',        // For identifying the name of the forum in a notification email. (string)

    // Indexing
    'enable_indexing'    => true,        // Allow indexing the post? (bool)

    // 3.0.6
    'force_approved_state'    => true, // Allow the post to be submitted without going into unapproved queue
);
$array = array();
$link = submit_post('post', $subject, '', POST_NORMAL, $array, $data);
//echo $link;

$template->assign_vars(array(
    'MESSAGE_TITLE'   => 'Okay',
    'MESSAGE_TEXT'    => 'Message added! <br /><br /><a href='.$link.'>Go to thread</a>',
   )
);

page_header();
$template->set_filenames(array(
        'body' => 'message_body.html',
));
page_footer();

Thread are creating, but message doesn`t show with an error:

template->_tpl_load_file(): File message_body.html does not exist or is empty

If i change 'body' => 'message_body.html', to 'body' => 'styles/prosilver/template/message_body.html', error doesn`t changes:

template->_tpl_load_file(): File /styles/prosilver/template/message_body.html does not exist or is empty

Where is an error? Thanks in advance.

P.S: I`m from Russia, so sorry for bad English.


The error is not with the API - You are missing the message_body.html template file. Depending on your current style setting, which may or may not be prosilver, you will need to create a non-blank HTML file named message_body.html in your current style's template folder to resolve this error.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号