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

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


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

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

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
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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