Перейти к контенту

создание новых сообщений


Рекомендуемые сообщения

для создания нового сообщения пользуюсь кодом

 

$api = new api_topics_and_posts();
$api->ipsclass =& $this->ipsclass;
// ADD POST REPLY
$api->set_author_by_name('matt');
$api->set_post_content("<b>Hello World!</b> :D");
$api->set_topic_id( 88 );
# Default for show_signature is 1, added here for completeness
$api->post_settings['show_signature'] = 1;
# Optionally turn off rebuild to not rebuild topic, forum and stats
# $api->delay_rebuild = 1;
$api->create_new_reply();

 

но компилятор выдает ошибку

 

Fatal error: Cannot instantiate non-existent class: api_topics_and_posts in r:\home\forum2\www\sources\action_public\news.php

 

как я понял он не видит это класс изнутри моегособственного класса news. как правильно все сделать?

 

спасибо заранее

Ссылка на комментарий
Поделиться на других сайтах

Дык чтобы создать экземпляр класса, надо этот класс откуда-то взять. Его надо инклудить из файла.

 

Возьми любой php файл из форума и посмотри как там создаются классы.

Ссылка на комментарий
Поделиться на других сайтах

не совсем понял. я наверно ил инеправильно объяснил или неправильно делаю...

 

у меня есть свой класс

 

class news { }

 

в нем я хочу сделать создание нового сообщения. мне посоветовали не загонятся и использовать API. но вот как его использовать? если не сложно, объясните пожалуйста поподробнее (если можно в лицах)

 

заранее благодарен.

Ссылка на комментарий
Поделиться на других сайтах

нашел сам =)

 

require_once "sources/api/api_topics_and_posts.php";

$api = new api_topics_and_posts();
$api->ipsclass =& $this->ipsclass;

$api->api_init();

//$api->set_author_by_id('2',0);
$api->set_author_by_name('6oT',0);
$api->set_post_content("<b>Hello World!</b> :)");
$api->post_settings['ip_address'] = '127.0.0.1'; //IP если нужен
$api->post_settings['show_emoticons'] = 0; //Смайлы лучше отключить так как иначе по умолчанию будут ерроры вместо них, из-за того что отправляем напрямую в базу
$api->post_settings['post_date'] = 1178802916; //Если нужно указать не текущую дату
$api->topic_settings['topic_date'] = 1178802916; //Если нужно указать не текущую дату
$api->set_forum_id(94);
$api->set_topic_title('zzzzzzzzzzzzzzHello World');
$api->set_topic_description('I am the description');
$api->set_topic_state('open');
$api->create_new_topic();

//Постим мессагу гдк $api->topic_id есть id созданной темы
$api->set_author_by_name('matt', 0);
$api->set_post_content("<b>Hello World!</b> :D");
$api->set_topic_id($api->topic_id);

$api->create_new_reply();

 

но все равно ничего не постится. ни тема не сообщение даже если в авторане класса пописаь

$this->api_topics_and_posts = $this->ipsclass->load_class( ROOT_PATH.'sources/api/api_topics_and_posts.php', 'api_topics_and_posts' );

 

совсем забыл изменить, чтобы можно было постить от бота =))) с id=0 от гостя =)

 

function set_author_by_name( $user_name, $user_id )
{
	if ($user_id!=0) {
		$this->author = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*',
																		  'from'   => 'members',
																		  'where'  => "members_l_username = '".$this->ipsclass->DB->add_slashes(strtolower($user_name))."'",
																		  'limit'  => array( 0, 1 ) ) );

		if ( ! $this->author['id'] )
		{
			$this->api_error[] = 'no_user_found';
			$this->author	  = array();
			return FALSE;
		}
	}
	else {
		$this->author['id'] = 0;
		$this->author['members_display_name'] = $user_name;
	}

	return TRUE;
}

Ссылка на комментарий
Поделиться на других сайтах

нашел сам =)

 

require_once "sources/api/api_topics_and_posts.php";

 

ну вот я тебе про это и говорю:

 

 

Его надо инклудить из файла.
Ссылка на комментарий
Поделиться на других сайтах

  • 8 месяцев спустя...

Кхм. Вобщем, именно этим способом пробуем добавить сообщение в запрещённую тему. Админы добавить могут, а простые пользователи и гости - нет.

 

Есть мысли по этому поводу?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.