Registered Links - не ставится мод

Автор Vysotnik, 24 марта 2010, 18:40:58

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Vysotnik

Форум 1.1.11 - не получается поставить этот мод :( У кого-нибудь работает на 1.1.11?

Макар

parse and Handmade ?

там не много кода
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Vysotnik

а разве парсе и ручная работа дадут не тот же результат, что и автоматическая установка?
- при проверке выдал "2.     Execute Modification     ./Sources/Subs.php     Test failed"

Макар

Уважаемый пьем кофе с шоколадкой чтобы включить мозг. Смотрим в каком файле что ищет мод и на что и как меняет или добавляет. У себя методом научного тыка ищем похожую часть кода , что ищет установщик, возможно он был ранее изменен установкой другого мода. Значение имеет любой символ, лишний пробел в искомом коде и мод выдает ошибку установки. Ваша задача определить именно то место куда надо вставлять и почему ошибка. В большинстве случаев ставим мод автоматом игнорируя ошибку. Потом правим руками файл где установщик этого не сделал и наслаждаемся работой желанного мода.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Vysotnik

Спасибо за консультацию.
Так и сделал, но результат половинчатый, ссылки от гостей скрылись, но много строк ошибок вывелось вверху форума - (вечером код выложу).

Vysotnik

#5
Цитата: Vysotnik от 25 марта 2010, 13:04:46
Спасибо за консультацию.
Так и сделал, но результат половинчатый, ссылки от гостей скрылись, но много строк ошибок вывелось вверху форума - (вечером код выложу).
Привожу наконец строки ошибок, хотя вероятно они ничего не дают:

Notice: Undefined index: no_view_links in /путь на сервере до форума/forum/Sources/Subs.php on line 1329

Notice: Undefined index: txt_reg_links_register in /путь на сервере до форума/forum/Sources/Subs.php on line 1329

Notice: Undefined index: txt_reg_links_or in /путь на сервере до форума/forum/Sources/Subs.php on line 1329

Notice: Undefined index: txt_reg_links_login in /путь на сервере до форума/forum/Sources/Subs.php on line 1329

Notice: Undefined index: no_view_links in /путь на сервере до форума/forum/Sources/Subs.php on line 1335

Notice: Undefined index: txt_reg_links_register in /путь на сервере до форума/forum/Sources/Subs.php on line 1335

Notice: Undefined index: txt_reg_links_or in /путь на сервере до форума/forum/Sources/Subs.php on line 1335

Notice: Undefined index: txt_reg_links_login in /путь на сервере до форума/forum/Sources/Subs.php on line 1335

Notice: Undefined index: no_view_links in /путь на сервере до форума/forum/Sources/Subs.php on line 1591

Notice: Undefined index: txt_reg_links_register in /путь на сервере до форума/forum/Sources/Subs.php on line 1591

Notice: Undefined index: txt_reg_links_or in /путь на сервере до форума/forum/Sources/Subs.php on line 1591

Notice: Undefined index: txt_reg_links_login in /путь на сервере до форума/forum/Sources/Subs.php on line 1591

Notice: Undefined index: no_view_links in /путь на сервере до форума/forum/Sources/Subs.php on line 1597

Notice: Undefined index: txt_reg_links_register in /путь на сервере до форума/forum/Sources/Subs.php on line 1597

Notice: Undefined index: txt_reg_links_or in /путь на сервере до форума/forum/Sources/Subs.php on line 1597

Notice: Undefined index: txt_reg_links_login in /путь на сервере до форума/forum/Sources/Subs.php on line 1597


Кроме того, в оригинальном коде subs.php 1.1.11 есть отличия от того, что  значится в моде под замену, в этом похоже и отгадка несовместимости этого мода с версией 1.1.11:

оригинальный кусок кода под замену обсуждаемым модом (даже взятый из установочника):
array(
'tag' => 'iurl',
'type' => 'unparsed_content',
'content' => '<a href="$1">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
$data = strtr($data, array(\'<br />\' => \'\'));
if (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0)
$data = \'http://\' . $data;
'),
),
array(
'tag' => 'iurl',
'type' => 'unparsed_equals',
'before' => '<a href="$1">',
'after' => '</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
if (substr($data, 0, 1) == \'#\')
$data = \'#post_\' . substr($data, 1);
elseif (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0)
$data = \'http://\' . $data;
'),
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),


А это то, как себе представляют авторы мода свою модификацию для версии форума 1.1.11:


Find: [Select]


?>

Add Before: [Select]


//Begin Reg Links
$txt['no_view_links'] = 'You are not allowed to view links.';
$txt['txt_reg_links_register'] = 'Register';
$txt['txt_reg_links_login'] = 'Login';
$txt['txt_reg_links_or'] = 'or';

//END Reg Links Text Strings


./Themes/default/languages/Modifications.english-utf8.php
Find (at the end of the file): [Select]

?>

Add Before: [Select]


//Begin Reg Links
$txt['no_view_links'] = 'You are not allowed to view links.';
$txt['txt_reg_links_register'] = 'Register';
$txt['txt_reg_links_login'] = 'Login';
$txt['txt_reg_links_or'] = 'or';

//END Reg Links Text Strings

This operation isn't vital to the installation of this mod.

./Sources/Subs.php
Find: [Select]

array(
'tag' => 'iurl',
'type' => 'unparsed_content',
'content' => '<a href="$1">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'iurl',
'type' => 'unparsed_equals',
'before' => '<a href="$1">',
'after' => '</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
if (substr($data, 0, 1) == \'#\')
$data = \'#post_\' . substr($data, 1);'),
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),

Replace With: [Select]

array(
'tag' => 'iurl',
'type' => 'unparsed_content',
'content' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a>' : '<a href="$1">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'iurl',
'type' => 'unparsed_equals',
'before' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a><div style="visibility:hidden;display:none;">' : '<a href="$1">',
'after' => $user_info['is_guest'] ?  '</div>' : '</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
if (substr($data, 0, 1) == \'#\')
$data = \'#post_\' . substr($data, 1);'),
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => $user_info['is_guest'] ?  '' :  ' ($1)',
),


Find: [Select]

array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => '<a href="$1" target="_blank">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'url',
'type' => 'unparsed_equals',
'before' => '<a href="$1" target="_blank">',
'after' => '</a>',
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),

Replace With: [Select]

array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a>' : '<a href="$1" target="_blank">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'url',
'type' => 'unparsed_equals',
'before' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a><div style="visibility:hidden;display:none;">' : '<a href="$1" target="_blank">',
'after' => $user_info['is_guest'] ?  '</div>' : '</a>',
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => $user_info['is_guest'] ?  '' : ' ($1)',
),




PS. Собственно, ссылка на этот мод на сайте разработчиков смф, чтоб не плутать заинтересовавшимся. И общий вывод - данный мод не совместим в текущем виде с последней реализацией СМФ 1.1.11  :(

Bugo

Установите, как есть, с ошибкой. А потом откройте Subs.php и найдите блок:
array(
'tag' => 'iurl',
'type' => 'unparsed_content',
'content' => '<a href="$1">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
$data = strtr($data, array(\'<br />\' => \'\'));
if (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0)
$data = \'http://\' . $data;
'),
),
array(
'tag' => 'iurl',
'type' => 'unparsed_equals',
'before' => '<a href="$1">',
'after' => '</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
if (substr($data, 0, 1) == \'#\')
$data = \'#post_\' . substr($data, 1);
elseif (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0)
$data = \'http://\' . $data;
'),
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),

Замените его на:
array(
'tag' => 'iurl',
'type' => 'unparsed_content',
'content' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a>' : '<a href="$1">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'iurl',
'type' => 'unparsed_equals',
'before' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a><div style="visibility:hidden;display:none;">' : '<a href="$1">',
'after' => $user_info['is_guest'] ?  '</div>' : '</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
if (substr($data, 0, 1) == \'#\')
$data = \'#post_\' . substr($data, 1);'),
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => $user_info['is_guest'] ?  '' :  ' ($1)',
),


Затем там же найдите блок:
array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => '<a href="$1" target="_blank">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
$data = strtr($data, array(\'<br />\' => \'\'));
if (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0)
$data = \'http://\' . $data;
'),
),
array(
'tag' => 'url',
'type' => 'unparsed_equals',
'before' => '<a href="$1" target="_blank">',
'after' => '</a>',
'validate' => create_function('&$tag, &$data, $disabled', '
if (strpos($data, \'http://\') !== 0 && strpos($data, \'https://\') !== 0)
$data = \'http://\' . $data;
'),
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),

и замените его на:
array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a>' : '<a href="$1" target="_blank">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'url',
'type' => 'unparsed_equals',
'before' => $user_info['is_guest'] ? $txt['no_view_links'] . "\n" . '<a href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a href="' . $scripturl . '?action=login">' . $txt['txt_reg_links_login'] . '</a><div style="visibility:hidden;display:none;">' : '<a href="$1" target="_blank">',
'after' => $user_info['is_guest'] ?  '</div>' : '</a>',
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => $user_info['is_guest'] ?  '' : ' ($1)',
),


Если будет лень всё это делать, то жалуйтесь автору мода.

Vysotnik

#7
Цитата: Bugo от 27 марта 2010, 16:02:46
Если будет лень всё это делать, то жалуйтесь автору мода.
;D И не в лени даже дело. Пробовал и так и эдак - вроде всё перепробовал. А потом просто добавил модификацию из оригинальной инструкции в файлик, отвечающий за русские версии модификаций форума и всё заработало :)
Modifications.russian.php

<?php

// Version: 1.1; Modifications



//Begin Reg Links

$txt['no_view_links'] = ' ***ссылки могут видеть только зарегистрированные пользователи*** ';

$txt['txt_reg_links_register'] = '***зарегистрируйтесь';

$txt['txt_reg_links_login'] = 'войдите в форум***';

$txt['txt_reg_links_or'] = 'или';



//END Reg Links Text Strings

?>


Ещё об этой проблеме упоминалось в этой теме:
http://www.simplemachines.ru/index.php?topic=4687.msg30360#msg30360

Всем участникам темы огромное спасибо!

Serifa

Не знаю, как у кого. Был у меня этот мод, с изменениями от камрада Буго (слава Буго!). Потом я этот мод снесла, опять-таки по рекомендации к.Б. И что-то не заметила разницы вообще никакой - что был мод, что нет его. И в чем вообще был смысл этого мода - не поняла.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Vysotnik

А у меня отлично работает, скрывая ссылки от гостей и выдавая им в местах, где для пользователей видны ссылки фразу типа "гости не могут видеть ссылки". Проблем с модом больше не обнаружилось  :)

Serifa

Я не к тому, что мод у меня не работал. МОД РАБОТАЛ, ссылки скрывал. Но вот форуму большой пользы не было. Что до мода, что после - разницы не заметила абсолютно. Боты ходят те же самые, участники регятся как обычно, посетители ходят те же самые. Так в чем смысл?

Вернее, людей приходит даже больше - ссылки почитать))
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Vysotnik

Цитата: His Divine Shadow от 26 апреля 2010, 16:59:41
Я не к тому, что мод у меня не работал. МОД РАБОТАЛ, ссылки скрывал. Но вот форуму большой пользы не было. Что до мода, что после - разницы не заметила абсолютно. Боты ходят те же самые, участники регятся как обычно, посетители ходят те же самые. Так в чем смысл?

Вернее, людей приходит даже больше - ссылки почитать))
На первый взгляд всё так и есть. Но, после некоторых размышлений можно вывести несколько полезных достижений этого мода:
1. "чужие" ссылки не видны ботам, в результате форум не становится "линко-помойкой" даже после успешной атаки спам-ботов и репутация форума перед поисковиками не страдает;
2. защищённый обсуждаемым модом форум становится бесполезным для профессиональных спамеров и спамботов, заточенных под поисковых ботов;
3. хотя динамика регистраций экспериментально и не показала резкого положительного скачка, это однако не значит что роста в результате не было - социальные явления протекают по нелинейным законам т.е. без резких скачков  O0 .

зы. так что смысл есть как минимум в репутации и СЕО, но этот смысл отдалён во времени

Serifa

Цитата: Vysotnik от 28 апреля 2010, 16:51:44
На первый взгляд всё так и есть. Но, после некоторых размышлений можно вывести несколько полезных достижений этого мода:
1. "чужие" ссылки не видны ботам, в результате форум не становится "линко-помойкой" даже после успешной атаки спам-ботов и репутация форума перед поисковиками не страдает;
Так хвала премодерации.
И про ботов еще раз: вот уже три года скоро, как с форумом мучаюсь, особой пользы от поисковиков не было, кроме дополнительной нагрузки на сервер. Пусть это мое мнение не профессионально, зато эмоционально.

Цитироватьзащищённый обсуждаемым модом форум становится бесполезным для  профессиональных спамеров и спамботов, заточенных под поисковых ботов;
Однажды посетили меня два таких бота. Мы вчетвером расшифровывали их послание и в конце концов решили оставить их в теме. Не каждый профессиональный юзер сумеет так красиво и загадочно написать ответ в теме, причем вполне по теме, и даже придраться не к чему было)) Жаль, потом этот раздел ушел в архив целиком))

Цитироватьно этот смысл отдалён во времени
А значит сегодня бесполезен.

«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Vysotnik

#13
Цитата: His Divine Shadow от 28 апреля 2010, 19:41:07
Так хвала премодерации.
В нашем случае премодерация не панацея. Тому ряд причин. Нет желания ковырять пользовательские сообщения - и чтоб не обидеть кого, и чтоб не внести интригу, и просто для экономии времени. СЕО для нас тоже не существенно - игнорируем мы  яшу с гугелом, но минимальные "правила хорошего тона" для поисковых систем соблюдаем - "чужие" ссылки в форуме в общедоступном виде преимущественно с ведома администрации, что и решил разом этот мод  :)

ПС. Чуть не забыл упомянуть, что у нас разрешено писать в форум гостям, т.е. в корне другая концепция, что и налогает другие ограничения и меры  police Больше свободы, поэтому больше контроля причём автоматизированного.

Serifa

У нас тоже разрешено гостям, но их там встречает каптча и премодерация, пиши на здоровье. И ведь пишут, когда захотят!
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!