Создание новой темы, используя API в IP.Board 3

Предположим у вас есть сайт и вы прикрутили к нему форум IPB 3.0.x. Бывает, что вы хотите сделать возможность создавать форумные темы вне форума. К примеру, организовать публикацию новостей или статей на своём сайте, но, чтобы эти же сообщения появились и на форуме. Можно конечно мудрить и самому делать вставки на уровне MySQL. Но IPB предлагает внешние API, которые упрощают работу с форумом.

Использовать API очень просто, например, вот так можно создать новую тему:

// Подключаем API$f=Zend_Registry::get('config')->paths->forum;require_once($f.'/initdata.php');//если вы используете ZandFramework, то отключаем автолодерZend_Loader::registerAutoload('Zend_Loader', false);require_once( $f.'/admin/sources/base/ipsController.php');require_once( IPS_ROOT_PATH . '/sources/base/ipsRegistry.php' );$registry = ipsRegistry::instance();define('CCS_GATEWAY_CALLED', true);$registry->init();$request = $this->getRequest(); require_once( IPSLib::getAppDir( 'forums' ) . '/sources/classes/post/classPost.php' );$postClass = new classPost(ipsRegistry::instance());// Параметры$forumID = '2';$memberID = '1';// Настраиваем$postClass->setIsPreview(false);$postClass->setPublished(true);$postClass->setForumData( ipsRegistry::getClass('class_forums')-> forum_by_id[$forumId]);$postClass->setSettings(array('enableSignature' => 1,'enableEmoticons' => 1,'post_htmlstatus' => 1,'enableTracker'   => 0,));$postClass->setForumID( $forumID );$postClass->setForumData( $registry->class_forums->forum_by_id[ $forumID ] );$bbcode = IPSText::getTextClass('bbcode');$bbcode->parse_html  = 1;$bbcode->parse_nl2br = 1;$bbcode->parse_smilies   = 1;$bbcode->parse_bbcode= 1;$bbcode->parsing_section = 'global';$text = $bbcode->preDbParse($postmsg;);$postClass->setTopicTitle($posttitle);$postClass->setPostContent( $text );$postClass->setAuthor( $memberID );try{$postClass->addTopic();}catch( Exception $error ){print $error->getMessage();}

Создание новой темы, используя API в IP.Board 3: 2 комментария

  1. zhabba

    вот бы еще документацию внятную сделали ребята из IP, цены бы им не было.

  2. faubyfluona

    I Really wanted to thank you , for sharing this article.I Really looking forward to reading more.Its really good.Thanks.

Добавить комментарий для zhabba Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *