Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

 
 
Опции темы Опции просмотра
LaRok вне форума LaRok
攻殻機動隊


| Цитировать Старый #1 02-27-2005, 06:32

На некоторых ресурсах требуется скрывать текст от анонимных пользователей и делать его доступным только для пользователей портала с регистрацией. Например скрывать ссылки от личинга, некотрый текст с пассами, серийниками и подобной фигнёй, ну сами понимаете

На эту тему было несколько заросов на форуме, отсюда и родился хак тега антилич.

Идея.

При вводе любой информации в формы ввода контента портала должна быть возможность поместить данный контент в границы тегов для замены(скрытия) этого текста на любой другой при просмотре анонимными пользователями. Пользователям с регистрацией данный текст должен быть видим.

В качестве тега для сокрытия был выбран тег [hide]текст[/hide].

Для устновки хака не требуется производить больших изменений в портале, потребуется отредактировать только 1 файл.

Установка.

Открываем файл \class\module.textsanitizer.php

Ищем[277-279]:

PHP код:
function sanitizeForDisplay($text$allow_html=0$allow_smileys=1$allow_bbcode=1) {

$text $this->oopsStripSlashesRT($text); 
Заменяем на:

PHP код:
function sanitizeForDisplay($text$allow_html=0$allow_smileys=1$allow_bbcode=1) {
global 
$xoopsUser;
$text $this->oopsStripSlashesRT($text);

if ( 
$xoopsUser ) {
$search[]  = "/\[hide](.*)\[\/hide\]/sU";
$replace[] = '\\1';
} else {
$search[]  = "/\[hide](.*)\[\/hide\]/sU";
$replace[] = '<u><a href="'.XOOPS_URL.'/register.php">Пройдите регистрацию</a> для просмотра содержания</u>';

Ищем[326-329]:

PHP код:
function sanitizeForPreview($text$allow_html=0$allow_smileys=1$allow_bbcode=1) {
global 
$xoopsConfig$xoopsUser;

$text $this->oopsStripSlashesGPC($text); 
Заменяем на:

PHP код:
function sanitizeForPreview($text$allow_html=0$allow_smileys=1$allow_bbcode=1) {
global 
$xoopsConfig$xoopsUser;

$text $this->oopsStripSlashesGPC($text);

$search[]  = "/\[hide](.*)\[\/hide\]/sU";
$replace[] = '<font color=red><b>--Скрытый текст--</b></font><br>\\1<br><font color=red><b>--Скрытый текст--</b></font>'
Итог.

После применения хака пользователь может использовать тег [hide] в любой форме ввода портала. Для анонимных пользователей текст будет видим как фраза "Пройдите регистрацию для просмотра содержания" для пользователей же будет выведен текст который был в границах [hide]. Данный тег должен работает во всех формах ввода портала, включая новости, форум, комментарии и так далее.
Изображения
Тип файла: jpg hide_hack.jpg (76.5 Кбайт, 137 просмотров)

Последний раз редактировалось LaRok, 03-21-2005 в 00:21

Посетить домашнюю страницу LaRok
  Сообщения: 2,045 c 13.09.2003 | Репутация: 25
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 316.18 Kb. compressed to 314.32 Kb. by saving 1.86 Kb. (0.59%)
Page generated in 0.25790 seconds with 12 queries