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

Инструкция по установке мода автоматического создания тем-анонсов и те


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

Модификация позволяет добавить в

MKPortal функцию создания тем-анонсов и тем поддержки в указанном форуме при:

 

1. добавлении новости (в целях безопасности только при

использовании BBCode-редактора);

2. добавлении нового файла в модуле "Файлы»;

3. добавлении нового обзора/статьи (в целях

безопасности только при использовании BBCode-редактора);

 

Модификация работает ТОЛЬКО С ФОРУМАМИ

IPB ВЕРСИЙ 2.X

 

Инструкция по установке.

 

1. Откройте файл mkportal/include/IPB/ipb_driverf.php

 

1.1. Найдите код:

require_once ROOT_PATH   . "conf_global.php";

 

1.2. Ниже вставьте код:

require_once ROOT_PATH   . "sources/api/api_topics_and_posts.php";

 

1.3. Найдите код:

require $MK_PATH."mkportal/include/class_mkportals.php";

 

1.4. Выше вставьте:

//add by cybermad

$ipb = "$mkportals->forum_patch/";
$api = new api_topics_and_posts();
$api->ipsclass =& $ipsclass;
$api->path_to_ipb = $ipb;
$api->api_init();
//end add

 

2. Для установки модификации в модуль новостей откройте файл mkportal/modules/news/index.php

 

2.1 Найдите код:

function submit_news() {
global $mkportals, $DB, $mklib, $Skin, $editorscript;

 

2.2. Замените на код:

function submit_news() {
global $mkportals, $DB, $mklib, $Skin, $editorscript, $MK_BOARD;

 

2.3. В функции function submit_news() найдите код:

$editorscript = 1;
		 $textarepar = "mce_editable=\"true\"";
		 $textarew = "100%";
		 $bbeditor= "";

 

2.4. Ниже добавьте:

//add by cybermad post with IPB
		 $fipb = "";
		 //end add

 

2.5. В функции function submit_news() найдите код:

if ($mklib->mkeditor == "BBCODE") {
			   $editorscript = "";
			   $textarepar = "";
			   $textarew = "75%";
			   $bbeditor= $mklib->get_bbeditor();

 

2.6. Ниже добавьте:

//add by cybermad post with IPB
		 if($MK_BOARD == "IPB") {
		 $query2 = $DB->query( "SELECT id, name FROM ibf_forums WHERE status = '1' ORDER BY `id`");
		 while( $forum = $DB->fetch_row($query2) ) {
			   $idforum = $forum['id'];
			   $forum = $forum['name'];
			   $fselect.= "<option value=\"$idforum\">$forum</option>\n";
		 }
		 $fipb = "
		 {$mklib->lang['ne_forum']} <input type=\"checkbox\" name=\"inaforum\" value=\"1\" />
			    {$mklib->lang['ne_idforum']} <select name=\"forum\" size=\"1\" class=\"bgselect\">
			   {$fselect}
			   </select>
		 ";
		 }
		 else
		 {
		 $fipb = "";
		 }
		 //end add

 

2.7. В функции function submit_news() найдите код:

<td class=\"tdblock\">
			   {$mklib->lang['ne_category']}: <select name=\"categoria\" size=\"1\" class=\"bgselect\">
			   {$cselect}
			   </select>
			   </td>
			 </tr>

 

2.8. Замените на код:

<td class=\"tdblock\">
			   {$mklib->lang['ne_category']}: <select name=\"categoria\" size=\"1\" class=\"bgselect\">
			   {$cselect}
			   </select>
			   {$fipb}
			   </td>
			 </tr>

 

2.9. В функции function reg_data() найдите код:

global $mkportals, $DB, $std, $print, $mklib, $mklib_board;

 

2.10. Замените на код:

	global $mkportals, $DB, $std, $print, $mklib, $mklib_board, $MK_BOARD, $api;

 

2.11.В функции function reg_data() найдите код:

 

if (!$mkportals->input['categoria']) {
			   $message = "{$mklib->lang['ne_createcat']}";
			   $mklib->error_page($message);
			   exit;
		 }

 

2.12. Ниже добавьте:

if (!$mkportals->input['categoria']) {
			   $message = "{$mklib->lang['ne_createcat']}";
			   $mklib->error_page($message);
			   exit;
		 }

 

2.13. В функции function reg_data() найдите код:

if($mkportals->member['g_access_cp']) {
			   $validat = "1";
		 }

 

2.14. Ниже добавьте:

//add by cybermad for IPB posting
if (($MK_BOARD == "IPB") and ($mklib->mkeditor == "BBCODE")) {
$query = $DB->query( "SELECT id FROM mkp_news ORDER BY `id`");
while( $row = $DB->fetch_row($query) ) 
{
$idn = $row['id'];
$idn++;
}
$fcategoria= $mkportals->input['forum'];
$inaforum = intval($mkportals->input['inaforum']);
$message = "{$testo}<br><a href=\"$mklib->siteurl/index.php?ind=news&op=news_show_single&ide=$idn\">{$mklib->lang['ne_source']}</a><br><br>";
if($inaforum==1) 
  {
$api->set_author_by_id($idaut);
$api->set_post_content($message);
$api->set_forum_id($fcategoria);
$api->set_topic_title($titolo);
$api->set_topic_state('open');
$api->set_topic_invisible(!$validat);
$api->set_topic_pinned($pinned);
$api->create_new_topic();
$tfid = $api->topic['tid'];
$hr = "<br><br><a href=\"$mklib->siteurl/$mkportals->forum_url/index.php?showtopic=$tfid\">{$mklib->lang['ne_fsource']}</a>";
$testo = $mklib->convert_savedb("{$testo}  {$hr}");	 
		 }
}  
//end add

 

2.15.Откройте файл mkportal/lang/ваш язык/lang_news.php и найдите код:

?>

 

2.16.Выше добавьте:

//add by cybermad 05.04.2009
$langmk['ne_forum'] = "Добавить тему обсуждения на форум"; 
$langmk['ne_idforum'] = "в раздел:"; 
$langmk['ne_source'] = "<b>Источник</b>";
$langmk['ne_fsource'] = "<b>Тема обсуждения на форуме</b>";
$langmk['ne_ferror'] = "Внимание, при написании новости был выбран раздел на форуме для создания темы для обсуждения, но опция создания не была включена. Вернитесь назад и проверьте установленные значения. Если вы хотите продолжить публикацию новости без создания темы для обсуждения, то выберите первое значение в списке разделов на форуме.";

 

После установки модификации в модуль новостей при включенном редакторе BBCode в форме публикации новости появится флажок, разрешающий опубликовать новость на форуме и выпадающий список с названиями форумов, где можно создать тему с анонсом. В теме на форуме присутствует обратная ссылка на источник в портале. В новости присутствует ссылка на тему обсуждения на форуме.

 

!!!Продолжение установки в следующем сообщении!!!

 

3. Для установки модификации в модуль файлов откройте файл mkportal/modules/downloads/index.php

 

3.1 Найдите код:

function submit_file() {
	global $mkportals, $DB, $mklib, $Skin, $mklib_board;

 

3.2. Замените на код:

function submit_file() {
	global $mkportals, $DB, $mklib, $Skin, $mklib_board, $MK_BOARD;

 

3.3. В функции function submit_file() найдите код:

$cselect = $this->row_select_event();
	if ($cselect == FALSE) {
		$message = "{$mklib->lang['dw_nocat']}";
		$mklib->error_page($message);
		exit;
		}

 

3.4. Ниже вставьте код:

//add by cybermad post with IPB
	if($MK_BOARD == "IPB") {
	$query2 = $DB->query( "SELECT id, name FROM ibf_forums WHERE status = '1' ORDER BY `id`");
	while( $forum = $DB->fetch_row($query2) ) {
		$idforum = $forum['id'];
		$forum = $forum['name'];
		$fselect.= "$forum\n";
	}
	$fipb = "

		 {$mklib->lang['dw_idforum']} 
		{$fselect}
	";
	}
	else
	{
	$fipb = "";
	}
	//end add

 

3.5. В функции function submit_file() найдите код:

 

			{$mklib->lang['dw_section']}
		  {$cselect}

 

3.6. Ниже вставьте код:

			{$mklib->lang['dw_forum']}
		 {$fipb}

 

3.7. Найдите код:

function add_file() {
	global $mkportals, $DB, $std, $print, $mklib, $Skin, $mklib_board;

 

3.8. Замените на код:

function add_file() {
	global $mkportals, $DB, $std, $print, $mklib, $Skin, $mklib_board, $api, $MK_BOARD;

3.9. В функции function add_file() найдите код:

$evento = intval($mkportals->input['evento']);
	$titolo = $mkportals->input['titolo'];
	$screen1 = $mkportals->input['screen1'];
	$screen2 = $mkportals->input['screen2'];
	$demo = $mkportals->input['demo'];
	$descrizione = $mkportals->input['descrizione'];

 

3.10. Добавьте ниже:

//add by cybermad for IPB posting
	if ($mkportals->input['inaforum']==0 && $mkportals->input['forum']>1) {
		$message = "{$mklib->lang['dw_ferror']}";
		$mklib->error_page($message);
		exit;
	}
	//end add

 

3.11. В функции function add_file() найдите код:

$validat = "1";
	$approval = $mklib->config['approval_download'];
	if ($approval == "2" || $approval == "3") {
		$validat = 0;
	}
	if($mkportals->member['g_access_cp']) {
		$validat = "1";
	}

 

3.12. Добавьте ниже:

//add by cybermad for IPB posting
if (($MK_BOARD == "IPB")) {
$query = $DB->query( "SELECT id FROM mkp_download ORDER BY `id`");
while( $row = $DB->fetch_row($query) ) 
{
$idn = $row['id'];
$idn++;
}
$fcategoria= $mkportals->input['forum'];
$inaforum = intval($mkportals->input['inaforum']);
$message = "{$descrizione}siteurl/index.php?ind=downloads&op=entry_view&iden=$idn\">{$mklib->lang['dw_source']}";

if($inaforum==1) 
{
$api->set_author_by_id($mkportals->member['id']);
$api->set_post_content($message);
$api->set_forum_id($fcategoria);
$api->set_topic_title($titolo);
$api->set_topic_state('open');
$api->set_topic_invisible(!$validat);
$api->create_new_topic();
$tfid = $api->topic['tid'];

$hr = "siteurl/$mkportals->forum_url/index.php?showtopic=$tfid\">{$mklib->lang['dw_fsource']}";
$descrizione = $mklib->convert_savedb("{$descrizione}  {$hr}");	
	}
}	
//end add

 

3.13. Откройте файл mkportal/lang/ваш язык/ lang_download.php и найдите код:

?>

 

3.14. Выше добавьте:

//add by cybermad 05.04.2009
$langmk['dw_forum'] = "Поддержка на форуме"; 
$langmk['dw_idforum'] = "в разделе:"; 
$langmk['dw_source'] = "Источник";
$langmk['dw_fsource'] = "Тема поддержки на форуме";
$langmk['dw_ferror'] = "Внимание, при добавлении файла был выбран раздел на форуме для создания темы для обсуждения и поддержки, но опция создания не была включена. Вернитесь назад и проверьте установленные значения. Если вы хотите продолжить публикацию файла без создания темы для обсуждения, то выберите первое значение в списке разделов на форуме.";

 

После установки модификации в модуль файлов в форме публикации файла появится флажок, разрешающий создать тему поддержки на форуме и выпадающий список с названиями форумов, где можно создать тему поддержки. В теме на форуме присутствует обратная ссылка на источник в портале. В описании файла присутствует ссылка на тему поддержки на форуме.

 

ПРОДОЛЖЕНИЕ УСТАНОВКИ В СЛЕДУЮЩЕМ СООБЩЕНИИ

 

4. Для установки модификации в модуль статей откройте файл mkportal/modules/reviews/index.php

 

4.1. Найдите код:

function submit_file1() {
	global $mkportals, $DB, $mklib, $Skin, $mklib_board, $editorscript;

 

4.2. Замените на код:

function submit_file1() {
	global $mkportals, $DB, $mklib, $Skin, $mklib_board, $editorscript, $MK_BOARD;

 

4.3. В функции function submit_file1() найдите код:

$editorscript = 1;
	$textarepar = "mce_editable=\"true\"";
	$textarew = "100%";
	$bbeditor= "";

 

4.4. Ниже добавьте:

//add by cybermad post with IPB
	$fipb = "";
	//end add

 

4.5. В функции function submit_file1() найдите код:

if ($mklib->mkeditor == "BBCODE") {
		$editorscript = "";
		$textarepar = "";
		$textarew = "75%";
		$bbeditor= $mklib->get_bbeditor();

 

4.6. Ниже вставьте:

//add by cybermad post with IPB
	if($MK_BOARD == "IPB") {
	$query2 = $DB->query( "SELECT id, name FROM ibf_forums WHERE status = '1' ORDER BY `id`");
	while( $forum = $DB->fetch_row($query2) ) {
		$idforum = $forum['id'];
		$forum = $forum['name'];
		$fselect.= "<option value=\"$idforum\">$forum</option>\n";
	}
	$fipb = "

	 <tr>
		<td width=\"5%\">{$mklib->lang['re_forum']}</td>
		<td width=\"95%\">
		 <input type=\"checkbox\" name=\"inaforum\" value=\"1\" />
		 {$mklib->lang['re_idforum']} <select name=\"forum\" size=\"1\" class=\"bgselect\">
		{$fselect}
		</select>
		</td>
		  </tr>
	";
	}
	else
	{
	$fipb = "";
	}
	//end add

 

4.7. В функции function submit_file1() найдите код:

<tr>
		<td width=\"5%\">{$mklib->lang['re_title']}</td>
		<td width=\"95%\">
		  <input type=\"text\" name=\"titolo\" size=\"52\" class=\"bgselect\" />
		</td>
		  </tr>

 

4.8. Ниже вставьте:

{$fipb}

 

4.9. Найдите код:

function add_file() {
	global $mkportals, $DB,  $_FILES, $mklib, $mklib_board;

 

4.10 Замените на код:

function add_file() {
	global $mkportals, $DB,  $_FILES, $mklib, $mklib_board, $MK_BOARD, $api;

 

4.11 В функции function add_file() найдите код:

if (!$evento || !$title || !$description) {
		$message = "{$mklib->lang['re_reqtcd']}";
		$mklib->error_page($message);
		exit;
	}

 

4.12 Ниже добавьте:

//add by cybermad for IPB posting
	if ($mkportals->input['inaforum']==0 && $mkportals->input['forum']>1) {
		$message = "{$mklib->lang['re_ferror']}";
		$mklib->error_page($message);
		exit;
	}
	//end add

 

4.13 Найдите код:

$query="INSERT INTO mkp_reviews(id_cat, title, description, field1, field2, field3, field4, field5, field6, field7, image, review, author, idauth, date, validate)VALUES('$evento', '$title', '$description', '$field1', '$field2', '$field3', '$field4', '$field5', '$field6', '$field7', '$image', '$review', '$author', '$idauth', '$cdata', '$validat')";
	$DB->query($query);

 

4.14. Выше вставьте код:

//add by cybermad for IPB posting
if (($MK_BOARD == "IPB") and ($mklib->mkeditor == "BBCODE")) {
$query = $DB->query( "SELECT id FROM mkp_reviews ORDER BY `id`");
while( $row = $DB->fetch_row($query) ) 
{
$idn = $row['id'];
$idn++;
}
$fcategoria= $mkportals->input['forum'];
$inaforum = intval($mkportals->input['inaforum']);
$message = "{$review}<br><a href=\"$mklib->siteurl/index.php?ind=reviews&op=entry_view&iden=$idn\">{$mklib->lang['re_source']}</a><br><br>";

if($inaforum==1) 
{
$api->set_author_by_id($mkportals->member['id']);
$api->set_post_content($message);
$api->set_forum_id($fcategoria);
$api->set_topic_title($title);
$api->set_topic_state('open');
$api->set_topic_invisible(!$validat);
$api->create_new_topic();
$tfid = $api->topic['tid'];

$hr = "<br><br><a href=\"$mklib->siteurl/$mkportals->forum_url/index.php?showtopic=$tfid\">{$mklib->lang['re_fsource']}</a>";
$review = $mklib->convert_savedb("{$review}  {$hr}");	
	}
}	
//end add

 

4.15. Откройте файл mkportal/lang/ваш язык/ lang_review.php и найдите код:

?>

 

4.16. Выше добавьте:

//add by cybermad 05.04.2009
$langmk['re_forum'] = "Добавить тему обсуждения на форум"; 
$langmk['re_idforum'] = "в раздел:"; 
$langmk['re_source'] = "<b>Источник</b>";
$langmk['re_fsource'] = "<b>Тема обсуждения на форуме</b>";
$langmk['re_ferror'] = "Внимание, при написании статьи был выбран раздел на форуме для создания темы для обсуждения, но опция создания не была включена. Вернитесь назад и проверьте установленные значения. Если вы хотите продолжить статьи без создания темы для обсуждения, то выберите первое значение в списке разделов на форуме.";

 

После установки модификации в модуль статей при включенном редакторе BBCode в форме публикации статьи появится флажок, разрешающий опубликовать статью на форуме и выпадающий список с названиями форумов, где можно создать тему с анонсом. В теме на форуме присутствует обратная ссылка на источник в портале. В статье присутствует ссылка на тему обсуждения на форуме.

 

Удачи в сайтостроительстве!

Cybermad

Санкт-Петербург. 05 апреля 2009г.

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

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

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

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

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

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

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

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

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

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

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

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