Владельцам 3.8.6: не поставили патч - потеряли форум!

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Loading

Go Back   форум vBSupport.org > > >
Register Изображения Меню vBsupport Files Manager Аллея Звёзд Реклама на форуме Search Today's Posts Mark Forums Read
  • Мемберка
  • Администраторам
  • Premoderation
  • For English speaking users
  • Изменения в правах
  • Каталог Фрилансеров
Пароли на скачивание файлов в Member Area меняются автоматически каждый день
Если вам нужно скачать какой то скрипт, за паролем ко мне в ЛС
привет какирам kerk
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Не можете скачать вложение?
Изменения в правах групп пользователей
внимательно читаем эту и эту темы
Короткая версия - тут
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

 
 
Old  
kerk
k0t
 
kerk's Avatar
Default [3.8.x] Закрытие/редирект внешних ссылок 83

внешние ссылки "как здесь"
vBulletin 3.8.х
Сразу предупреждаю, редактирование исходного файла! (для себя уже решил, что дальше третьей линейки обновлять форум не собираюсь)
поэтому те, кого в принципе не интересуют хаки с редактированием исходных файлов движка, могут дальше не читать
=========
1. Редактирование одного файла
2. Импортирование продукта
3. Добавление небольшого яваскрипта в в шаблон
=========
1.
редактируем файл includes/class_bbcode.php
ищем там функцию function handle_bbcode_url($text, $link)
и заменяем весь код функции, на след. код:

******* код в аттаче, форум не корректно сохраняет ********

2.
Импортируем продукт product-kr_external_links_[Ваша_кодировка_форума].xml (из архива)

3.
Открываем шаблон headinclude и в самый низ добавляем код яваскрипта:
Code:
<script type="text/javascript">
<!--
function open_external(url, id)
{
     w = window.open('about:blank', id);
     url = decodeURIComponent(url);
     w.document.write('<meta http-equiv="refresh" content="0;url='+url+'">');
     w.document.close();
     return false;
}
-->
</script>
сохраняем шаблон
=================

проверяем, изменились ли внешние ссылки на форуме, если нет, нужно выполнить запрос к БД:
PHP Code:
TRUNCATE TABLE postparsed 
если есть префикс у таблиц, его нужно добавить к postparsed, пример:
префикс: vb_
выполняем запрос:
PHP Code:
TRUNCATE TABLE vb_postparsed 
поддержка хака - нет (только критические фиксы)

дополнения:
http://vbsupport.org/forum/showthrea...396#post439396


добавление текста в alt="" к картинкам
файл class_bbcode.php
найти строку (примерно 2002)
PHP Code:
$bbcode preg_replace('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iUe'"\$this->handle_bbcode_img_match('\\1')"$bbcode); 
заменить на
PHP Code:
$bbcode preg_replace('#\[img(?:=([^*]+))?\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iUe'"\$this->handle_bbcode_img_match('\\2', '\\1')"$bbcode); 
найти (чуть ниже) функцию
PHP Code:
function handle_bbcode_img_match($link
и зменить ее всю на эту
PHP Code:
    function handle_bbcode_img_match($link$alt '')
    {
        global 
$stylevar;
        
$link $this->strip_smilies(str_replace('\\"''"'$link));

        
// remove double spaces -- fixes issues with wordwrap
        
$link str_replace(array('  ''"'), ''$link);

        
$alt = ($alt) ? 'title="' strip_tags(str_replace(array('"''&quot;'"'"), '', (vbstrlen($alt) > 300) ? mb_substr($alt0300$stylevar['charset']) . '&hellip;' $alt)) . '"' '';
        return 
'<img src="' .  $link '" border="0" alt="" ' $alt ' />';
    } 
цифру 300 можно заменить на свою, это кол-во символов до обрезки строки

если была модифицирована функция парсинга ссылок function handle_bbcode_url($text, $link) для обработки картинок с библиотекой хайслайд, то нужно немного изменить код
находим в ней
PHP Code:
        if($this->registry->options['vbimghost_highslide_path'] != '' AND preg_match('/\[(img|IMG)\](.*)\[\/(img|IMG)\]/i'$text$matches))
        {
            if(
in_array(strtolower(file_extension(basename($rightlink))), array('jpg''jpeg''png''gif')) AND in_array(strtolower(file_extension(basename($matches[2]))), array('jpg''jpeg''png''gif')))
            {
                
$text_has_img true;
                
$hs_class 'class="highslide" onclick="return hs.expand(this, galleryOptions);"';
            }
        } 
заменяем
PHP Code:
        if($this->registry->options['vbimghost_highslide_path'] != '' AND preg_match('/\[(img)(?:=(.+))?\](.*)\[\/(img)\]/i'$text$matches))
        {
            if(
in_array(strtolower(file_extension(basename($rightlink))), array('jpg''jpeg''png''gif')) AND in_array(strtolower(file_extension(basename($matches[3]))), array('jpg''jpeg''png''gif')))
            {
                
$text_has_img true;
                
$hs_class 'class="highslide" onclick="return hs.expand(this, galleryOptions);"';
            }
        } 
XSS Fix: http://vbsupport.org/forum/showpost....&postcount=214

добавление обработки изображений альбомов библиотекой хайслайд
Attached Files
File Type: rar kr_external_links.rar (3.5 KB, 142 views)
 
Old  
MAVr
Продвинутый
vBSponsor
Default 0

С включенным редактором вставляем текст:
Напомним, что сейчас Анджелина Джоли снимает свой первый художественный фильм, где она выступает режиссером и сценаристом.

Жмем "Предварительный просмотр" сообщения 2 раза и получаем уже не ссылки а

Напомним, что сейчас Анджелина Джоли снимает свой первый художественный фильм, где она выступает режиссером и сценаристом.


Если в коде, вместо:

Напомним, что сейчас [URL="http://files.korrespondent.net/world/jolie"]Анджелина Джоли[/URL] [URL="http://korrespondent.net/showbiz/cinema/1125121-dzholi-snyala-v-budapeshte-dom-s-10-spalnyami"]снимает[/URL] свой первый художественный фильм, где она выступает режиссером и сценаристом.


получаем:

Напомним, что сейчас [U]Анджелина Джоли[/U] [U]снимает[/U] свой первый художественный фильм, где она выступает режиссером и сценаристом.


Если на не больших форумах это не критично... На больших всплывает баг быстро и он довольно существенный на самом деле. (

Хотя, продукт учитывая дырявость аналогов классный... Но, этот баг очень мешает.
Создаешь сообщение. Нажал "Пред. просмотр", посмотрел, добавил еще пару ссылок, все оформлено. Пост готов! Перед отправлением еще раз "Пред. просмотр"... И здесь вылазит баг, который нагло украл ссылки в сообщении. ((
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
Luvilla
Блондинка с электро......
 
Luvilla's Avatar
Default 0

MAVr, пользуетесь визуальным редактором?
Потому что в стандартном редакторе жать предпросмотр можно хоть сто раз, ссылки не пропадают
 
Old  
kerk
k0t
 
kerk's Avatar
Default 0

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

upd
http://vbsupport.org/forum/showthrea...t=34549&page=6
 
Old  
Whity
Специалист
 
Whity's Avatar
Default 0

при открытие темы пустая страница

может что-то не так отредактировал?
 
Old  
kerk
k0t
 
kerk's Avatar
Default 0

Quote:
Originally Posted by Whity View Post
что-то не так отредактировал?
конечно не так
Quote:
Originally Posted by kerk View Post
редактируем файл includes/class_bbcode.php
ищем там функцию function handle_bbcode_url($text, $link)
и заменяем весь код функции, на след. код:
заменить, а не добавить
сейчас в файле каша
 
Old  
Whity
Специалист
 
Whity's Avatar
Default 0

так и делаю

PHP Code:
function handle_bbcode_url($text$link
меняю на

PHP Code:
function handle_bbcode_url($text$link)
    {
        
$rightlink trim($link);
        if (empty(
$rightlink))
        {
            
// no option -- use param
            
$rightlink trim($text);
        }
        
$rightlink str_replace(array('`''"'"'"'['), array('`''&quot;'''', '['), $this->strip_smilies($rightlink));

        // remove double spaces -- fixes issues with wordwrap
        $rightlink = str_replace('  ', '', $rightlink);

далее весь код что в инструкции 
После этой операции дримвейвер выдаёт ошибку в строке 1865
ругается на
PHP Code:

вот оригинальный файл
 
Old  
kerk
k0t
 
kerk's Avatar
Default 0

эмс...
заменяем весь код функции означает ВСЕ, начиная с:
function handle_bbcode_url($text, $link)
и ниже
все что между скобками "{.....}"- это сам код функции
короче, заменить это всё:
PHP Code:
    function handle_bbcode_url($text$link)
    {
        
$rightlink trim($link);
        if (empty(
$rightlink))
        {
            
// no option -- use param
            
$rightlink trim($text);
        }
        
$rightlink str_replace(array('`''"'"'"'['), array('`''&quot;'''''['), $this->strip_smilies($rightlink));

        
// remove double spaces -- fixes issues with wordwrap
        
$rightlink str_replace('  '''$rightlink);

        if (!
preg_match('#^[a-z0-9]+(?<!about|javascript|vbscript|data):#si'$rightlink))
        {
            
$rightlink "http://$rightlink";
        }

        if (!
trim($link) OR str_replace('  '''$text) == $rightlink)
        {
            
$tmp unhtmlspecialchars($rightlink);
            if (
vbstrlen($tmp) > 55 AND $this->is_wysiwyg() == false)
            {
                
$text htmlspecialchars_uni(vbchop($tmp36) . '...' substr($tmp, -14));
            }
            else
            {
                
// under the 55 chars length, don't wordwrap this
                
$text str_replace('  '''$text);
            }
        }

        
// standard URL hyperlink
        
return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";
    } 
на то, что в файле
 
Old  
Whity
Специалист
 
Whity's Avatar
Default 0

Что-то я туплю.
в моём случае

беру оригинальный код который находится с 1804 по 1864 строку и заменяю на тот код что в инструкции?

Whity добавил 16.10.2010 в 13:41
точнее с1804 по 1838

вот оригинальный файл, а в предыдущем каша была
 
Old  
kerk
k0t
 
kerk's Avatar
Default 0

зачем мне файл?
у меня свой есть
я уже незнаю, как объяснить...
функция название(аргументы)
{
код функции
}

заменить всю функцию вместе с названиями и кодом функции на то, что в файле ридми
 
Old  
Whity
Специалист
 
Whity's Avatar
Default 0

вот так ?
Attached Files
File Type: txt external_links.txt (3.6 KB, 6 views)
 
 

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 08:09 PM.


Powered by vBulletin® Version 3.0.15
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.