Чтение RSS каналов

Форум

Открыть Ответить

Хак для редактора magnet и dchub

0

0
1
10.12.2008 12:40:2510.12.2008 12:41:28
Есть некий хак, позволяющий вставлять в редакторе magnet и dchub ссылки.

Вот его установка:

Файл: */function/sources.php

найти:
# Decode BB
function bb_decode($sourse, $mod) {


ниже добавить:
# Magnet & DCHub Start
	$bb[] = "#\[magnet\](\S+?)\[/magnet\]#is";
	$html[] = &quot;<a href=\&quot;\\1\&quot;>\\1</a>&quot;;
	$bb[] = &quot;#\[magnet=([\w]+?:[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[\/magnet\]#is&quot;;
	$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\2</a>&quot;;
	$bb[] = &quot;#\[magnet=([\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/magnet\]#is&quot;;
	$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\3</a>&quot;;
	$bb[] = &quot;#\[magnet\]([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/magnet\]#is&quot;;
	$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\1</a>&quot;;
	$bb[] = &quot;#\[dchub\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!dchub=))*?)\[/dchub\]#is&quot;;
	$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\1</a>&quot;;
	$bb[] = &quot;#\[dchub\]((dchub)\.([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/dchub\]#is&quot;;
	$html[] = &quot;<a href=\&quot;dchub://\\1\&quot; title=\&quot;\\1\&quot;>\\1</a>&quot;;
	$bb[] = &quot;#\[dchub=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/dchub\]#is&quot;;
	$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\2</a>&quot;;
	$bb[] = &quot;#\[dchub=((dchub)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is&quot;;
	$html[] = &quot;<a href=\&quot;dchub://\\1\&quot; title=\&quot;\\1\&quot;>\\3</a>&quot;;
	# Magnet & DCHub End


найти:
<img src=\&quot;&quot;.img_find(&quot;editor/img&quot;).&quot;\&quot; title=\&quot;&quot;._EIMG.&quot;\&quot;></div>&quot;
		.&quot;</div>&quot;


ниже добавить:

.&quot;<div class=\&quot;editor\&quot;>&quot;
		.&quot;<div class=\&quot;editorbutton\&quot; OnMouseOver=\&quot;this.className='editorbuttonover';\&quot; OnMouseOut=\&quot;this.className='editorbutton';\&quot; OnClick=\&quot;InsertCode('magnet', '&quot;._MINFO.&quot;', '&quot;._MTYPE.&quot;', '&quot;._MERROR.&quot;', '&quot;.$id.&quot;')\&quot;><img src=\&quot;&quot;.img_find(&quot;editor/magnet&quot;).&quot;\&quot; title=\&quot;&quot;._EMAGNET.&quot;\&quot;></div>&quot;
		.&quot;<div class=\&quot;editorbutton\&quot; OnMouseOver=\&quot;this.className='editorbuttonover';\&quot; OnMouseOut=\&quot;this.className='editorbutton';\&quot; OnClick=\&quot;InsertCode('dchub', '&quot;._HINFO.&quot;', '&quot;._HTYPE.&quot;', '&quot;._HERROR.&quot;', '&quot;.$id.&quot;')\&quot;><img src=\&quot;&quot;.img_find(&quot;editor/dchub&quot;).&quot;\&quot; title=\&quot;&quot;._EDCHUB.&quot;\&quot;></div>&quot;
		.&quot;</div>&quot;
		.&quot;</div>&quot;


Файл: */language/lang-russian.php

# Magnet & DCHub Start
define(&quot;_MINFO&quot;,&quot;Введите магнет-ссылку&quot;);
define(&quot;_MTYPE&quot;,&quot;Введите описание&quot;);
define(&quot;_MERROR&quot;,&quot;Вы не указали магнет-ссылку!&quot;);
define(&quot;_EMAGNET&quot;,&quot;Вставить магнет-ссылку&quot;);
define(&quot;_HINFO&quot;,&quot;Введите адрес хаба&quot;);
define(&quot;_HTYPE&quot;,&quot;Введите описание&quot;);
define(&quot;_HERROR&quot;,&quot;Вы не указали адрес хаба!&quot;);
define(&quot;_EDCHUB&quot;,&quot;Вставить адрес хаба&quot;);
# Magnet & DCHub End

Файл: */ajax/insert_code.js

найти:
function InsertCode(code, info, type, error, area) {
	if ((ClientVer >= 4) && IsIE && IsWin) {
		if (code == 'name') {
			AddIE('' + info + '', ', ');
		} else if (code == 'url' || code == 'mail') {
			if (code == 'url') var url = prompt(info, 'http://');
			if (code == 'mail') var url = prompt(info, '');


заменить на:

function InsertCode(code, info, type, error, area) {
	if ((ClientVer >= 4) && IsIE && IsWin) {
		if (code == 'name') {
			AddIE('' + info + '', ', ');
		} else if (code == 'url' || code == 'mail' || code == 'magnet' || code == 'dchub') {
			if (code == 'url') var url = prompt(info, 'http://');
			if (code == 'mail') var url = prompt(info, '');
			if (code == 'magnet') var url = prompt(info, 'Магнет-ссылка');
			if (code == 'dchub') var url = prompt(info, 'dchub://');


найти:
} else {
		var txtarea = document.getElementById(area);
		if (code == 'name') {
			AddMoz(txtarea, '' + info + '', ', ');
		} else if (code == 'url' || code == 'mail') {
			if (code == 'url') var url = prompt(info, 'http://');
			if (code == 'mail') var url = prompt(info, '');


заменить на:
} else {
		var txtarea = document.getElementById(area);
		if (code == 'name') {
			AddMoz(txtarea, '' + info + '', ', ');
		} else if (code == 'url' || code == 'mail' || code == 'magnet' || code == 'dchub') {
			if (code == 'url') var url = prompt(info, 'http://');
			if (code == 'mail') var url = prompt(info, '');
			if (code == 'magnet') var url = prompt(info, 'Магнет-ссылка');
			if (code == 'dchub') var url = prompt(info, 'dchub://');



Впринцепи все ясно! Почти все то же, что и для обычного url.
Но у меня возникла проблема:

Сделал все как написано, dchub работает как часы, а вот с magnet проблема. Рассказываю. После всех изменений вообще перестал отображаться текст новостей и текст комментарий к ним. т.е вижу только название новости и все. причину я нашел:

$bb[] = &quot;#\[magnet\](\S+?)\[/magnet\]#is&quot;;
$html[] = &quot;<a href=\&quot;\\1\&quot;>\\1</a>&quot;;
$bb[] = &quot;#\[magnet=([\w]+?:[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[\/magnet\]#is&quot;;
$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\2</a>&quot;;
$bb[] = &quot;#\[magnet=([\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/magnet\]#is&quot;;
$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\3</a>&quot;;
// $bb[] = &quot;#\[magnet\]([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/magnet\]#is&quot;;
$html[] = &quot;<a href=\&quot;\\1\&quot; title=\&quot;\\1\&quot;>\\1</a>&quot;;

Стоит закоментировать выделенную строку, как все отображается.
Что в ней не так? Нужна ли она?
3.62

3.62
2
11.12.2008 02:33:42
такое чуство что регуляр перевернутый, то есть вместо
&quot;/^[a-z]$/is&quot; получаем &quot;\^[a-z]$\is&quot;.
Хотя быть может я забыл синтаксис, но помоему идти должно именно так
3
11.12.2008 08:36:10
А где тут такое вообще? Не ну в других строчках то же ведь / используется.
Подскажите пожалуйста где ошибка в выделенной жирным строчке?
SLAEDCMS Вы непременно должны знать, ведь она не сильно отличается от url. Я просто в целом не могу понять смысл этого набора символов.

Заранее большое спасибо.
3.62

3.62
4
11.12.2008 18:50:04
Народ ну подскажи пожалуйста ! Это ведь не займет много времени

может ошибка строчки
$bb[] = &quot;#\[magnet\]([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/magnet\]#is&quot;;

вот где:

$bb[] = &quot;#\[magnet\] ( ([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/magnet\]#is&quot;;

не хватает скобки?
3.62

3.62
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь