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

[2.3.x](SnS) Magnet-ссылки


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

Заменил (\w+[^\s\[\]\<]+) везде на ([^\s\[\]\<]+) и не помогло!

Всё ровно если в магнет ссылке есть хотябы 1 русский символ он её не видит как магнет а продолжает видеть как http

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

  • Ответы 76
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Не, не прокатит. Проблема не в русском, а в пробелах, мой вопрос о которых вы игнорируете. Так что сами виноваты. Обновил мод и для 2.3. Качайте.

Также стало доступно демо для мода как версии 1.3, так и 2.3.

 

Если проблема останется, то нужно трясти хостера или добавлять setlocale в index.php, читайте об этом на форуме.

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

  • 2 недели спустя...

Поставил на 2.1.7

1. Открыть файл ./sources/classes/bbcode/class_bbcode.php
найти:


		//--------------------------------------
		// Auto parse URLs
		//--------------------------------------

		$txt = preg_replace( "#(^|\s)((http|https|news|ftp)://\w+[^\s\[\]]+)#ie"  , "\$this->regex_build_url(array('html' => '\\2', 'show' => '\\2', 'st' => '\\1'))", $txt );

Добавить перед:

		//--------------------------------------
		// (SnS) Magnet links for 2.1.x
		//--------------------------------------

		$txt = preg_replace( "#\[url\]magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3'))", $txt );
		$txt = preg_replace( "#\[magnet\]magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3'))", $txt );

		$txt = preg_replace( "#\[magnet\s*=\s*(?:\&quot\;|\")\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*(?:\&quot\;|\")\s*\](.*?)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );
		$txt = preg_replace( "#\[url\s*=\s*(?:\&quot\;|\")\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*(?:\&quot\;|\")\s*\](.*?)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );

		$txt = preg_replace( "#\[magnet\s*=\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*\](.*?)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );
		$txt = preg_replace( "#\[url\s*=\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*\](.*?)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );

		$txt = preg_replace( "#(^|\s)magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\s\[]+)#ie"  , "\$this->regex_build_magnet(array('st' => '\\1', 'hash' => '\\2', 'size' => '\\3', 'name' => '\\4'))", $txt );

Найти:

		$txt = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#"						 , "\[email=\\1\]\\2\[/email\]"   , $txt );
		$txt = preg_replace( "#<a href=[\"'](http://|https://|ftp://|news://)?(\S+?)['\"].+?".">(.+?)</a>#" , "\[url=\\1\\2\]\\3\[/url\]"  , $txt );


Добавить перед:
		//--------------------------------------------------
		// (SnS) Magnet links for 2.1.x
		//--------------------------------------------------

		$txt = preg_replace( "#<!--magnet1--><a href=[\"'](magnet:\?xt=urn:tree:tiger:.*?)['\"].+?".">(.+?)</a><!--magnet2-->.*?<!--magnet3-->#" , "\[magnet=\"\\1\"\]\\2\[/magnet\]"  , $txt );


2. Открыть файл ./sources/classes/bbcode/class_bbcode_legacy.php
найти:


		//--------------------------------------
		// Auto parse URLs
		//--------------------------------------

		$txt = preg_replace( "#(^|\s)((http|https|news|ftp)://\w+[^\s\[\]]+)#ie"  , "\$this->regex_build_url(array('html' => '\\2', 'show' => '\\2', 'st' => '\\1'))", $txt );

Добавить перед:

		//--------------------------------------
		// (SnS) Magnet links for 2.1.x
		//--------------------------------------

		$txt = preg_replace( "#\[url\]magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3'))", $txt );
		$txt = preg_replace( "#\[magnet\]magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3'))", $txt );

		$txt = preg_replace( "#\[magnet\s*=\s*(?:\&quot\;|\")\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*(?:\&quot\;|\")\s*\](.*?)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );
		$txt = preg_replace( "#\[url\s*=\s*(?:\&quot\;|\")\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*(?:\&quot\;|\")\s*\](.*?)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );

		$txt = preg_replace( "#\[magnet\s*=\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*\](.*?)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );
		$txt = preg_replace( "#\[url\s*=\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*\](.*?)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );

		$txt = preg_replace( "#(^|\s)magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\s\[]+)#ie"  , "\$this->regex_build_magnet(array('st' => '\\1', 'hash' => '\\2', 'size' => '\\3', 'name' => '\\4'))", $txt );

Найти:

		$txt = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#"						 , "\[email=\\1\]\\2\[/email\]"   , $txt );
		$txt = preg_replace( "#<a href=[\"'](http://|https://|ftp://|news://)?(\S+?)['\"].+?".">(.+?)</a>#" , "\[url=\\1\\2\]\\3\[/url\]"  , $txt );


Добавить перед:
		//--------------------------------------------------
		// (SnS) Magnet links for 2.1.x
		//--------------------------------------------------

		$txt = preg_replace( "#<!--magnet1--><a href=[\"'](magnet:\?xt=urn:tree:tiger:.*?)['\"].+?".">(.+?)</a><!--magnet2-->.*?<!--magnet3-->#" , "\[magnet=\"\\1\"\]\\2\[/magnet\]"  , $txt );


3. Открыть файл ./sources/classes/bbcode/class_bbcode_core.php
Найти:

function regex_bash_session($start_tok, $end_tok)

Добавить перед:


//--------------------------------------------------
// (SnS) Magnet links for 2.1.x
//--------------------------------------------------

function regex_build_magnet($magnet=array())
{
	// Make sure the last character isn't punctuation.. if it is, remove it and add it to the
	// end array

	$magnet['end'] = '';

	if ( preg_match( "/([\.,\?]|!)$/", $magnet['name'], $match) )
	{
		$magnet['end'] .= $match[1];
		$magnet['name'] = preg_replace( "/([\.,\?]|!)$/", "", $magnet['name'] );
	}

	// Убеждаемся что это не заключенная в блоке code/quote/html/sql ссылка

	if (preg_match( "/\[\/(html|quote|code|sql)/i", $magnet['name']) )
	{
		return $magnet['name'];
	}

	// Clean up the ampersands
	$magnet['link'] = preg_replace( "/&/" , "&" , $magnet['link'] );
	$magnet['name'] = preg_replace( "/&/" , "&" , $magnet['name'] );
	$magnet['extraname'] = preg_replace( "/&/" , "&" , $magnet['extraname'] );

	// Make sure we don't have a JS link
	$magnet['link'] = preg_replace( "/java script:/i", "java script: ", $magnet['link'] );
	$magnet['name'] = preg_replace( "/java script:/i", "java script: ", $magnet['name'] );
	$magnet['extraname'] = preg_replace( "/java script:/i", "java script: ", $magnet['extraname'] );

	if( !$magnet['extraname'] )
	{
		$magnet['extraname'] = $magnet['name'];
	}

	// Format file size

	$magnet['extrasize'] = '';

	if( $magnet['size'] )
	{
		$magnet['extrasize'] = ' ('.$this->ipsclass->size_format($magnet['size']).')';
	}

	// Return link html
	return $magnet['st'].'<!--magnet1--><a href="magnet:?xt=urn:tree:tiger:'.$magnet['hash'].'&xl='.$magnet['size'].'&dn='.$magnet['name'].'" target="_blank">'.$magnet['extraname']."</a><!--magnet2-->".$magnet['extrasize'].'<!--magnet3-->'.$magnet['end'];
}
4. Открыть файл ./sources/classes/bbcode/class_bbcode_core.php
найти:


		//--------------------------------------
		// Auto parse URLs
		//--------------------------------------

		$txt = preg_replace( "#(^|\s)((http|https|news|ftp)://\w+[^\s\[\]]+)#ie"  , "\$this->regex_build_url(array('html' => '\\2', 'show' => '\\2', 'st' => '\\1'))", $txt );

Добавить перед:

		//--------------------------------------
		// (SnS) Magnet links for 2.1.x
		//--------------------------------------

		$txt = preg_replace( "#\[url\]magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3'))", $txt );
		$txt = preg_replace( "#\[magnet\]magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3'))", $txt );

		$txt = preg_replace( "#\[magnet\s*=\s*(?:\&quot\;|\")\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*(?:\&quot\;|\")\s*\](.*?)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );
		$txt = preg_replace( "#\[url\s*=\s*(?:\&quot\;|\")\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*(?:\&quot\;|\")\s*\](.*?)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );

		$txt = preg_replace( "#\[magnet\s*=\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*\](.*?)\[/magnet\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );
		$txt = preg_replace( "#\[url\s*=\s*magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\[]+)\s*\](.*?)\[/url\]#ie"  , "\$this->regex_build_magnet(array('st' => '', 'hash' => '\\1', 'size' => '\\2', 'name' => '\\3', 'extraname' => '\\4'))", $txt );

		$txt = preg_replace( "#(^|\s)magnet:\?xt=urn:tree:tiger:(.*?)&xl=(.*?)&dn=([^\s\[]+)#ie"  , "\$this->regex_build_magnet(array('st' => '\\1', 'hash' => '\\2', 'size' => '\\3', 'name' => '\\4'))", $txt );
Найти:

function regex_bash_session($start_tok, $end_tok)

Добавить перед:


//--------------------------------------------------
// (SnS) Magnet links for 2.1.x
//--------------------------------------------------

function regex_build_magnet($magnet=array())
{
	// Make sure the last character isn't punctuation.. if it is, remove it and add it to the
	// end array

	$magnet['end'] = '';

	if ( preg_match( "/([\.,\?]|!)$/", $magnet['name'], $match) )
	{
		$magnet['end'] .= $match[1];
		$magnet['name'] = preg_replace( "/([\.,\?]|!)$/", "", $magnet['name'] );
	}

	// Убеждаемся что это не заключенная в блоке code/quote/html/sql ссылка

	if (preg_match( "/\[\/(html|quote|code|sql)/i", $magnet['name']) )
	{
		return $magnet['name'];
	}

	// Clean up the ampersands
	$magnet['link'] = preg_replace( "/&/" , "&" , $magnet['link'] );
	$magnet['name'] = preg_replace( "/&/" , "&" , $magnet['name'] );
	$magnet['extraname'] = preg_replace( "/&/" , "&" , $magnet['extraname'] );

	// Make sure we don't have a JS link
	$magnet['link'] = preg_replace( "/java script:/i", "java script: ", $magnet['link'] );
	$magnet['name'] = preg_replace( "/java script:/i", "java script: ", $magnet['name'] );
	$magnet['extraname'] = preg_replace( "/java script:/i", "java script: ", $magnet['extraname'] );

	if( !$magnet['extraname'] )
	{
		$magnet['extraname'] = $magnet['name'];
	}

	// Format file size

	$magnet['extrasize'] = '';

	if( $magnet['size'] )
	{
		$magnet['extrasize'] = ' ('.$this->ipsclass->size_format($magnet['size']).')';
	}

	// Return link html
	return $magnet['st'].'<!--magnet1--><a href="magnet:?xt=urn:tree:tiger:'.$magnet['hash'].'&xl='.$magnet['size'].'&dn='.$magnet['name'].'" target="_blank">'.$magnet['extraname']."</a><!--magnet2-->".$magnet['extrasize'].'<!--magnet3-->'.$magnet['end'];
}

Найти:

		$txt = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#"						 , "\[email=\\1\]\\2\[/email\]"   , $txt );
		$txt = preg_replace( "#<a href=[\"'](http://|https://|ftp://|news://)?(\S+?)['\"].+?".">(.+?)</a>#" , "\[url=\\1\\2\]\\3\[/url\]"  , $txt );


Добавить перед:
		//--------------------------------------------------
		// (SnS) Magnet links for 2.1.x
		//--------------------------------------------------

		$txt = preg_replace( "#<!--magnet1--><a href=[\"'](magnet:\?xt=urn:tree:tiger:.*?)['\"].+?".">(.+?)</a><!--magnet2-->.*?<!--magnet3-->#" , "\[magnet=\"\\1\"\]\\2\[/magnet\]"  , $txt );

5. Открыть jscripts/ipb_editor_std.js
Найти:

       /*-------------------------------------------------------------------------*/
       // URL tag
       /*-------------------------------------------------------------------------*/
Добавить перед:
        /*-------------------------------------------------------------------------*/
        // Magnet tag
        /*-------------------------------------------------------------------------*/

        function tag_dchub( type )
        {
           var FoundErrors = '';

           if ( check_range() )
           {
              var enterURL = prompt("Введите Magnet-ссылку", "");

              if ( ! enterURL)
              {
                 alert(error_no_url);
                 return;
              }

              wrap_tags( "[magnet="+enterURL+"]", "[/magnet]", "" );
           }
           else
           {
              var enterURL = prompt("Введите Magnet-ссылку", "");
              var enterTITLE  = prompt("Введите название ссылки", "Magnet-ссылка");

              if ( ! enterURL)
              {
                 FoundErrors += " " + error_no_url;
              }
              if ( ! enterTITLE)
              {
                 FoundErrors += " " + error_no_title;
              }
              if ( FoundErrors )
              {
                 alert( jsfile_error_lang +FoundErrors);
                 return;
              }

              wrap_tags("[magnet="+enterURL+"]"+enterTITLE+"[/magnet]", "");
           }
        }
6. Edit Template:  Edit Template HTML->Post / PM Editor->editor_std
Найти:
<td><div><img class="rteimage" src="{ipb.vars['img_url']}/folder_rte_images/hyperlink.gif" width="25" height="24" alt="{ipb.lang['js_tt_link']}" title="{ipb.lang['js_tt_link']}" onclick="tag_url()"></div></td>
Добавить перед:
<td><div><img class="rteimage" src="{ipb.vars['img_url']}/folder_rte_images/magnet.gif" width="25" height="24" alt="{ipb.lang['js_tt_dchub']}" title="{ipb.lang['js_tt_dchub']}" onclick="tag_dchub()"></div></td>

Правильнаяли установка ?

И всоответствие с этим возник вопрос.

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

2. Нужноли добовлять BB код

 

Если кто-то будет ставить с моего сообщения то очень внимательно форум поломал код

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

Просто биг респект и все такое за этот мод для 1.3 ;):D

 

Мне как раз это уже давно хотелось добавить на форуме, но никто не внимал моим просьбам :) А все фиксы описанные в теме уже учтены в архиве или их надо будет самому делать? А то по неграмотности могу продублировать что-то =)

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

Спасибо. Да, сейчас там точно исправленная версия, если что пишите, разберёмся.
Ссылка на комментарий
Поделиться на других сайтах

Фикс для 2.3:

Найти:

			// (SnS) Magnet links for 2.3 #[*]#
		$txt = preg_replace( "#<a href=[\"']magnet:\?xt=(\S+?)['\"].*?".">(.+?)</a> \((.+?)\)#s" , "\[magnet=\"magnet:?xt=\\1\"\]\\2\[/magnet\]"  , $txt );
		// (SnS) Magnet links for 2.3 [E]

Заменить на:

			// (SnS) Magnet links for 2.3 #[*]#
		$txt = preg_replace( "#<a href=[\"]magnet:\?xt=([^\"]+?)[\"].*?".">(.+?)</a> \((.+?)\)#s" , "\[magnet=\"magnet:?xt=\\1\"\]\\2\[/magnet\]"  , $txt );
		// (SnS) Magnet links for 2.3 [E]

Или найти:

			// (SnS) Magnet links for 2.3 #[*]#
		$txt = preg_replace( "#<a href=[\"']magnet:\?xt=(\S+?)['\"].*?".">(.+?)</a> \((.+?)\)#s" , "\[url=\"magnet:?xt=\\1\"\]\\2\[/url\]"  , $txt );
		// (SnS) Magnet links for 2.3 [E]

Заменить на:

			// (SnS) Magnet links for 2.3 #[*]#
		$txt = preg_replace( "#<a href=[\"]magnet:\?xt=([^\"]+?)[\"].*?".">(.+?)</a> \((.+?)\)#s" , "\[url=\"magnet:?xt=\\1\"\]\\2\[/url\]"  , $txt );
		// (SnS) Magnet links for 2.3 [E]

 

Инструкции в архиве обновлены.

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

Может кто нить выложить уже отредактированные эти три файла (class_bbcode.php, class_bbcode_core.php, class_bbcode_legacy.php), чтоб просто взять и заменить. Я в ПХП еще не очень силен, поэтому хотелось бы сделать это по проще.

Да и еще иконки для магнет ссылок.

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

Все понятно. Ето называется разбирайся сам.

Картинки можно хотя бы сделать? Когда наглядно видно, то мне проще понять что и куда...

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

Картинки чего? Результирующего кода? Сделаю когда вернусь.

 

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

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

Я делал, как было написано в ридми, но эффекта незаметил. Вписываю в тег [magnet][/magnet], в итоге в сообщении выгледит вот так: [magnet]TTH файла[/magnet] и нажатие на эту ссылку ничего не дает.
Ссылка на комментарий
Поделиться на других сайтах

Вы уверены, что ставили по инструкции, которая поддерживает этот тег? Попробуйте использовать тег [ url ].

 

Без дополнительной информации, вашего желания разобраться в проблеме и т.д. разговор бессмысленный, так как инструкция проверена многими скачавшими её, а также по ней мод ставился на демо форум. Можете проверить работу вашей ссылки на нём, если будет работать — значит что-то не сделали или сделали не так. Проверяйте установку.

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

переустановил этот мод... если просто магнет ссылку вставить работает, при вводе магнет в тег работает, но русские буквы не отображаются.Тег word тоже работает

а теги [magnet][/magnet] и [magnet=magnet link]word[/magnet] не работают :D

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

Блин. В архиве 2 инструкции для 2.3, в одной есть поддержка [magnet] тега, в другой нет. Вы по какой ставили?
Ссылка на комментарий
Поделиться на других сайтах

Ты был прав. Я использовал файл с тегом урл, щас сделал с магнет. Немного пошаманил с бубном и все работает. Конечно хотелось бы еще прикрутить кнопочку, которая вызывала бы менюшку для вставки магнет ссылки.
Ссылка на комментарий
Поделиться на других сайтах

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

Сделал как было написано в той статье. Кнопка появилась, но не функционирует. Возможно из-за того что я не нашел в файлах (jscripts/ips_text_editor_lite.js, jscripts/ips_text_editor.js) этих строк

редактируем jscripts/ips_text_editor_lite.js
находим:
Код
/**
* STD:
* IPB code override
*/

добавляем перед:
Код
this.priv = function()
{
	var _url  = prompt( ipb_global_lang['editor_enter_priv'], '' );

	if ( ! _url || _url == null || _url == '' )
	{
		return false;
	}

	var _text = this.get_selection();
	this.wrap_tags( 'priv', _url, _text );
};

Если вам не нравится вариант с диалоговым окном, то ставим то, что ниже:
Код
this.priv = function()
{
	var _text = this.get_selection();
	this.wrap_tags( 'priv', false, _text );
};


4. редактируем jscripts/ips_text_editor.js
находим:
Код
/**
* STD:
* IPB Quote override
*/

добавляем перед:
Код
	this.priv = function()
{
	this.wrap_tags_lite(  '[priv]', '[/priv]', 0)
};

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

Добавляйте перед

this.ipb_code=function()

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

  • 4 недели спустя...

Найти:

	/**
* STD:
* Create email link override
*/

Добавить перед:

	/**
* STD:
* Create magnet link override
*/
this.magnetlink = function( e )
{
	var _text = this.get_selection();
	_text	 = _text.replace( /\n|\r|<br \/>/g, '' );

	if ( _text.match( /(<a href|\[magnet)/ig ) )
	{
		this.format_text( e, "unlink", false );
	}
	else
	{
		var _url  = prompt( 'Пожалуйста, введите magnet-ссылку', '' );

		if ( ! _url || _url == null )
		{
			return false;
		}

		_text	 = _text ? _text : prompt( ipb_global_lang['editor_enter_title'], 'Йа магнетко' );

		if( !_text || _text == null )
		{
			return false;
		}

		this.wrap_tags( 'magnet', _url, _text);
	}
};

Шаблоны:

Админцентр->Внешний вид->Список стилей->Редактор HTML шаблонов->skin_topic->ips_editor

Найти:

			<td><div class="rte-normal" id="{$editor_id}_cmd_createlink"><img src="{$images_path}rte-link-button.png"  alt="{$this->ipsclass->lang['js_rte_lite_link']}" title="{$this->ipsclass->lang['js_rte_lite_link']}"></div></td>

Добавить после:

			<td><div class="rte-normal" id="{$editor_id}_cmd_magnetlink"><img src="{$images_path}rte-magnet.gif"  alt="Magnet link" title="Magnet link"></div></td>

 

post-47129-1205713251.gif

 

Хотелось бы фикс для русских имен файлов

и '+' вместо ' '

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

Русские имена файлов работают. Если у вас это не так, ссылку на форум или пример того, как он обрабатывает ссылку с русскими буквами. Можете запостить на демофоруме, посмотрю если не будет работать.
Ссылка на комментарий
Поделиться на других сайтах

Русские имена файлов работают. Если у вас это не так, ссылку на форум или пример того, как он обрабатывает ссылку с русскими буквами. Можете запостить на демофоруме, посмотрю если не будет работать.

тестовый_форум/index.php?s=&showtopic=5&view=findpost&p=254

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

Сделайте пост в виде

код магнет ссылки в тегах[/ code]

код магнет ссылки в тегах

, тогда посмотрим. А так не факт что там не было изначально такого, у меня же Катя (Маман).mp3 каким-то чудесным образом запостилась.

 

P.S. Или вы хотите чтобы мод преобразовывал набранные %XY в нормальные символы?

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

На 2.1 у меня тоже раньше постился а вот имено этот файле даже там не постица.

magnet:?xt=urn:tree:tiger:ID5FSVSQX7Z3E6EG6A77GI5ZAAZUDDKOEY7NB5Y&xl=7529757&dn=11.+S%E2%80%99n%D0%B5%D0%B6n%D0%BE+-+%D0%91%D0%BB%D0%B8%D0%B7%D0%BD%D0%B5%D1%86%D1%8B.mp3

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

Ясно, всем нужно идти учиться задавать вопросы.

 

По идее нужно в regex_build_magnet после

		if( !$magnet['extraname'] )
	{
		$magnet['extraname'] = $magnet['name'];
	}

добавить

		$magnet['extraname'] = urldecode($magnet['extraname']);

 

Посмотрите, что тогда будет.

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


×
×
  • Создать...

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

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