Удаление папки /install/ - обязательно!

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

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: 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  
UniversalUserIS
Специалист
 
UniversalUserIS's Avatar
Default [4.2.x] Сборник исправлений vBulletin 4.2.2 для работы на PHP 5.5.x 23

В данной теме собраны все найденные деприкейты и исправления vBullein 4.2.2 обеспечивающие работу движка на PHP 5.5.x. Пост будет периодически обновляться. Итак поехали:

Warning: Declaration of vBForum_Item_SocialGroupDiscussion::getLoadQuery() should be compatible with vB_Model::getLoadQuery($required_query = '', $force_rebuild = false) in ....\packages\vbforum\item\socialgroupdiscussion.php on line 337
В файле .\packages\vbforum\item\socialgroupdiscussion.php ищем:
PHP Code:
protected function getLoadQuery($required_query$force_rebuild false
Заменяем:
PHP Code:
protected function getLoadQuery($required_query self::QUERY_BASIC$force_rebuild false
Warning: Declaration of vBForum_Item_SocialGroupMessage::getLoadQuery() should be compatible with vB_Model::getLoadQuery($required_query = '', $force_rebuild = false) in ....\packages\vbforum\item\socialgroupmessage.php on line 261
В файле .\packages\vbforum\item\socialgroupmessage.php ищем:
PHP Code:
protected function getLoadQuery($required_query$force_rebuild false
Заменяем:
PHP Code:
protected function getLoadQuery($required_query self::QUERY_BASIC$force_rebuild false
Warning: Only variables should be passed by reference in ....\editpost.php on line 323
В файле .\editpost.php ищем:
PHP Code:
$edit['emailupdate'] = array_pop($array array_keys(fetch_emailchecked($threadinfo))); 
Заменяем:
PHP Code:
$array array_keys(fetch_emailchecked($threadinfo));                
$edit['emailupdate'] = array_pop($array); 
Warning: Only variables should be passed by reference in ....\inlinemod.php on line 2124
В файле .\inlinemod.php ищем:
PHP Code:
$curforumid array_pop($array array_keys($forumlist)); 
Заменяем:
PHP Code:
$array array_keys($forumlist);    
$curforumid array_pop($array); 
Warning: Only variables should be passed by reference in ....\newreply.php on line 389
В файле .\newreply.php ищем:
PHP Code:
$newpost['htmlstate'] = array_pop($array array_keys(fetch_htmlchecked($vbulletin->GPC['htmlstate']))); 
Заменяем:
PHP Code:
$htmlstate fetch_htmlchecked($vbulletin->GPC['htmlstate']); 
$array array_keys($htmlstate); 
$newpost['htmlstate'] = array_pop($array); 

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ....\includes\class_bbcode.php on line 2958

В файле .\includes\class_bbcode.php ищем:
PHP Code:
        if ($has_img_code BBCODE_HAS_IMG)
        {
            if (
$do_imgcode AND ($this->registry->userinfo['userid'] == OR $this->registry->userinfo['showimages']))
            {
                
// do [img]xxx[/img]
                
$bbcode preg_replace('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iUe'"\$this->handle_bbcode_img_match('\\1')"$bbcode);
            }
            else
            {
                
$bbcode preg_replace('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iUe'"\$this->handle_bbcode_url(str_replace('\\\"', '\"', '\\1'), '')"$bbcode);
            }
        }

        if (
$has_img_code BBCODE_HAS_SIGPIC)
        {
            
$bbcode preg_replace('#\[sigpic\](.*)\[/sigpic\]#siUe'"\$this->handle_bbcode_sigpic('\\1')"$bbcode);
        }

        if (
$has_img_code BBCODE_HAS_RELPATH)
        {
            
$bbcode str_replace('[relpath][/relpath]'htmlspecialchars_uni($this->registry->input->fetch_relpath()), $bbcode);
        }

        return 
$bbcode;
    } 
Заменяем:
PHP Code:
if ($has_img_code BBCODE_HAS_IMG)
    {
    if (
$do_imgcode AND ($this->registry->userinfo['userid'] == OR $this->registry->userinfo['showimages']))
        {
            
// do [img]xxx[/img]
            
$bbcode preg_replace_callback('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iU', array($this'handle_bbcode_img_match_callback'), $bbcode);
        }
        else
        {
            
$bbcode preg_replace_callback('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iU', array($this'handle_bbcode_url_callback'), $bbcode);
        }
    }

        if (
$has_img_code BBCODE_HAS_SIGPIC)
        {
            
$bbcode preg_replace_callback('#\[sigpic\](.*)\[/sigpic\]#siU', array($this'handle_bbcode_sigpic_callback'), $bbcode);
        }

        if (
$has_img_code BBCODE_HAS_RELPATH)
        {
            
$bbcode str_replace('[relpath][/relpath]'htmlspecialchars_uni($this->registry->input->fetch_relpath()), $bbcode);
        }

        return 
$bbcode;
    }
    protected function 
handle_bbcode_img_match_callback($matches)
        {
        return 
$this->handle_bbcode_img_match($matches[1]);
        }

    protected function 
handle_bbcode_url_callback($matches)
        {
        return 
$this->handle_bbcode_url(str_replace('\\\"''\"'$matches[1]));
        }

    protected function 
handle_bbcode_sigpic_callback($matches)
        {
        return 
$this->handle_bbcode_sigpic($matches[1]);
        } 

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_mail.php on line 473

В файле ./includes/class_mail.php ищем:
PHP Code:
$outtext preg_replace('#([^a-zA-Z0-9!*+\-/ ])#e'"'=' . strtoupper(dechex(ord(str_replace('\\\"', '\"', '\\1'))))"$text); 
Заменяем:
PHP Code:
$outtext preg_replace_callback('#([^a-zA-Z0-9!*+\-/ ])#', array($this'strtoupper_callback'), $text); 
Ищем:
PHP Code:
if ($quoted_string)
            {
                
$text str_replace(array('"''('')'), array('\"''\(''\)'), $text);
                return 
"\"$text\"";
            }
            else
            {
                return 
preg_replace('#(\r\n|\n|\r)+#'' '$text);
            }
        }
    } 
Добавляем ниже:
PHP Code:
function strtoupper_callback($matches)
{
    return 
'=' strtoupper(dechex(ord(str_replace('\\"''"'$matches[1]))));

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ./includes/class_wysiwygparser.php on line 806
В файле ./includes/class_wysiwygparser.php ищем:
PHP Code:
style preg_replace(
    
'#(?<![a-z0-9-])color:\s*rgb\((\d+),\s*(\d+),\s*(\d+)\)(;?)#ie',
    
'sprintf("color: #%02X%02X%02X$4", $1, $2, $3)',
    
$style
); 
Заменяем:
PHP Code:
$style preg_replace_callback(
    
'#(?<![a-z0-9-])color:\s*rgb\((\d+),\s*(\d+),\s*(\d+)\)(;?)#i',
    array(
$this'sprintf_color_callback'),
    
$style
); 
Ищем:
PHP Code:
protected function parse_tag_a($aoptions$text$tag_name$args
Добавляем выше:
PHP Code:
protected function sprintf_color_callback($matches)
{
    return 
sprintf("color: #%02X%02X%02X$4"$matches[1], $matches[2], $matches[3]);

Warning: Only variables should be assigned by reference in ..../album.php on line 1871
В файле ./album.php ищем:
PHP Code:
$bit =& $bitfactory->create_instance($item); 
Заменяем:
PHP Code:
$bit $bitfactory->create_instance($item); 
Warning: Only variables should be assigned by reference in ..../private.php on line 1467
В файле ./private.php ищем:
PHP Code:
$pm['bccrecipients'] =& htmlspecialchars_uni($pm['bccrecipients']); 
Заменяем:
PHP Code:
$pm['bccrecipients'] = htmlspecialchars_uni($pm['bccrecipients']); 
Warning: Declaration of vB_Image_Magick::fetch_image_info() should be compatible with that of vB_Image_Abstract::fetch_image_info() in ..../includes/class_image.php on line 1256
В файле ./includes/class_image.php ищем:
PHP Code:
function fetch_image_info($filename$extension) {} 
Заменяем:
PHP Code:
function fetch_image_info($filename$extension null) {} 
Warning: Declaration of vB_ProfileBlock_Blog::block_is_enabled() should be compatible with that of vB_ProfileBlock::block_is_enabled() in ..../includes/class_profileblock_blog.php on line 436
В файле ./includes/class_profileblock_blog.php ищем:
PHP Code:
function block_is_enabled($id ''
Заменяем:
PHP Code:
function block_is_enabled($id
Warning: Only variables should be passed by reference in ./forumrunner/include/search.php on line 57
В файле ./forumrunner/include/search.php ищем:
PHP Code:
$thread $item->get_thread();

$foruminfo fetch_foruminfo($thread->get_field('forumid')); 
Заменяем:
PHP Code:
$thread $item->get_thread();
$forumid $thread->get_field('forumid');

$foruminfo fetch_foruminfo($forumid); 
Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_bbcode_alt.php on line 522
В файле ./includes/class_bbcode_alt.php ищем:
PHP Code:
$text preg_replace('#\[(code|php|html)\](.*)\[/\\1\]#siUe'"\$this->strip_smilies(str_replace('\\\"', '\"', '\\0'), true)"$text);

return 
$text;

Заменяем:
PHP Code:
$text preg_replace_callback('#\[(code|php|html)\](.*)\[/\\1\]#siU', array($this'strip_smilies_callback'), $text);

return 
$text;
}
protected function 
strip_smilies_callback($matches)
{
return 
$this->strip_smilies(str_replace('\\\"''\"'$matches[0]), true);

Warning: Declaration of vBCms_Item_Content::setItemId() should be compatible with that of vB_Model::setItemId() in ..../packages/vbcms/item/content.php on line 26
В файле ./packages/vbcms/item/content.php ищем:
PHP Code:
public function setItemId($itemid false
Заменяем:
PHP Code:
public function setItemId($itemid
Warning: Only variables should be passed by reference in ..../blog_post.php on line 496 when creating a new blog
В файле ./blog_post.php ищем:
PHP Code:
$blog['htmlstate'] = array_pop($array array_keys(fetch_htmlchecked($vbulletin->GPC['htmlstate']))); 
Заменяем:
PHP Code:
$htmlstate fetch_htmlchecked($vbulletin->GPC['htmlstate']);
$array array_keys($htmlstate);
$blog['htmlstate'] = array_pop($array); 
Warning: Only variables should be passed by reference in ..../private.php on line 767
В файле ./private.php ищем:
PHP Code:
$singlepmid intval(array_pop(array_keys($vbulletin->GPC['pm']))); 
Заменяем:
PHP Code:
$array array_keys($vbulletin->GPC['pm']);
$singlepmid intval(array_pop($array)); 
Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/functions_newpost.php on line 200
В файле ./includes/functions_newpost.php ищем:
PHP Code:
return preg_replace(
        
'#(^|\[/(' $skiptaglist ')\])(.*(\[(' $skiptaglist ')\]|$))#siUe',
        
"convert_url_to_bbcode_callback('\\3', '\\1')",
        
$messagetext
    
);

Заменяем:
PHP Code:
return preg_replace_callback(
        
'#(^|\[/(' $skiptaglist ')\])(.*(\[(' $skiptaglist ')\]|$))#siU',
        
'convert_url_to_bbcode2_callback',
        
$messagetext
    
);
}
function 
convert_url_to_bbcode2_callback($matches)
{
    return 
convert_url_to_bbcode_callback($matches[3], $matches[1]);

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_block.php on line 442
В файле ./includes/class_block.php ищем:
PHP Code:
protected function get_pagetext_noquote($pagetext)
{
    require_once(
DIR '/includes/functions_search.php');

    
//figure out how to handle the 'cancelwords'
    
$display['highlight'] = array();
    return 
preg_replace('#\[quote(=(&quot;|"|\'|)??.*\\2)?\](((?>[^\[]*?|(?R)|.))*)\[/quote\]#siUe',
        
"process_quote_removal('\\3', \$display['highlight'])"$pagetext);

Заменяем:
PHP Code:
protected function get_pagetext_noquote($pagetext)
{
    require_once(
DIR '/includes/functions_search.php');

    
//figure out how to handle the 'cancelwords'
    
$display['highlight'] = array();

    
$callback = new process_quote_removal_callback($display['highlight']);

    return 
preg_replace_callback(
        
'#\[quote(=(&quot;|"|\'|)??.*\\2)?\](((?>[^\[]*?|(?R)|.))*)\[/quote\]#siU',
        array(
$callback'callback'),
        
$pagetext
    
);

Ищем:
PHP Code:
class vB_BlockManager 
Добавляем выше:
PHP Code:
class process_quote_removal_callback
{
    private 
$display;

    public function 
__construct($display)
    {
        
$this->display $display;
    }

    public function 
callback($matches)
    {
        return 
process_quote_removal($matches[3], $this->display);    
    }

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_wysiwygparser.php on line 310
В файле ./includes/class_wysiwygparser.php ищем:
PHP Code:
$text =  preg_replace(array(
        
'#<pre(.*)>(.*)</pre>#esiU',
        
'#<a href="([^"]*)\[([^"]+)"(.*)>(.*)\[\\2</a>#siU'// check for the WYSIWYG editor being lame with URL tags followed by bbcode tags
        
'#(<[^<>]+ (src|href))=(\'|"|)??(.*)(\\3)#siUe'  // make < and > safe in inside URL/IMG tags so they don't get stripped by strip_tags
    
), array(
        
"\$this->replace_newline_in_pre('\\2')",
        
'<a href="\1"\3>\4</a>[\2',                     // check for the browser (you know who you are!) being lame with URL tags followed by bbcode tags
        
"\$this->escape_within_url('\\1', '\\4', '\\3')"                     // make < and > safe in inside URL/IMG tags so they don't get stripped by strip_tags
    
), $text
);

return 
$text
Заменяем:
PHP Code:
$text preg_replace_callback('#<pre(.*)>(.*)</pre>#siU', array($this'replace_newline_in_pre_callback'), $text);

// check for the WYSIWYG editor being lame with URL tags followed by bbcode tags
// check for the browser (you know who you are!) being lame with URL tags followed by bbcode tags
$text preg_replace('#<a href="([^"]*)\[([^"]+)"(.*)>(.*)\[\\2</a>#siU''<a href="\1"\3>\4</a>[\2'$text);

// make < and > safe in inside URL/IMG tags so they don't get stripped by strip_tags
$text preg_replace_callback('#(<[^<>]+ (src|href))=(\'|"|)??(.*)(\\3)#siU', array($this'escape_within_url_callback'), $text);

return 
$text
Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_wysiwygparser.php on line 402
В файле ./includes/class_wysiwygparser.php ищем:
PHP Code:
$pregfind = array
(
    
'#\[(html|php)\]((?>[^\[]+?|(?R)|.))*\[/\\1\]#siUe',                // strip html from php tags
    
'#\[url=(\'|"|&quot;|)<A href="(.*)/??">\\2/??</A>#siU'                        // strip linked URLs from manually entered [url] tags (generic)
);
$pregreplace = array
(
    
"\$this->strip_html_from_bbcode('\\0')",                                // strip html from php tags
    
'[URL=$1$2'                                            //`strip linked URLs from manually entered [url] tags (generic)
);
$text preg_replace($pregfind$pregreplace$text);

return 
$text
Заменяем:

[PHP]$text = preg_replace_callback('#\[(html|php)\]((?>[^\[]+?|(?R)|.))*\[/\\1\]#siU', array($this, 'strip_html_from_bbcode_callback'), $text);

$text = preg_replace('#\[url=(\'|"|&quot;|)<A href="(.*)/??">\\2/??</A>#siU', '[URL=$1$2', $text);

return $text;
[/PHP]
Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_wysiwygparser.php on line 462
В файле ./includes/class_wysiwygparser.php ищем:
PHP Code:
$pregfind = array
(
    
'#<img[^>]+smilieid="(\d+)".*>#siUe',                 // smilies
    
'#<img[^>]+src=(\'|")(.*)(\\1).*>#siUe',              // img tag
    
'#<br.*>#siU',                                        // <br> to newline
    
'#(?:<p>\s*)?<hr\s*class=(\'|"|)previewbreak\s*(\\1)[^>]*>#si',
    
'#(?:<p>\s*)?<hr.*>#siU'
);
$pregreplace = array
(
    
"\$this->translate_smilie_id_text(\\1)",                             // smilies
    
"\$this->handle_wysiwyg_img('\\2', '\\0')",                         // img tag
    
"\n",                                                 // <br> to newline
    
'[PRBREAK][/PRBREAK]',
    
'[HR][/HR]',
);
$text preg_replace($pregfind$pregreplace$text);

return 
$text
Заменяем:
PHP Code:
$pregfind = array
(
    
'#<br.*>#siU',                                        // <br> to newline
    
'#(?:<p>\s*)?<hr\s*class=(\'|"|)previewbreak\s*(\\1)[^>]*>#si',
    
'#(?:<p>\s*)?<hr.*>#siU'
);
$pregreplace = array
(
    
"\n",                                                 // <br> to newline
    
'[PRBREAK][/PRBREAK]',
    
'[HR][/HR]',
);

// smilies
$text preg_replace_callback('#<img[^>]+smilieid="(\d+)".*>#siU', array($this'translate_smilie_id_text_callback'), $text);

// img tag
$text preg_replace_callback('#<img[^>]+src=(\'|")(.*)(\\1).*>#siU', array($this'handle_wysiwyg_img_callback'), $text);

$text preg_replace($pregfind$pregreplace$text);

return 
$text
Ищем:
PHP Code:
return ($this->registry->options['allowedbbcodes'] & $flag_value true false);
    }

Добавляем ниже:
PHP Code:
protected function replace_newline_in_pre_callback($matches)
{
    return 
$this->replace_newline_in_pre($matches[2]);
}

protected function 
escape_within_url_callback($matches)
{
    return 
$this->escape_within_url($matches[1], $matches[4], $matches[3]);
}

protected function 
translate_smilie_id_text_callback($matches)
{
    return 
$this->translate_smilie_id_text($matches[1]);
}

protected function 
handle_wysiwyg_img_callback($matches)
{
    return 
$this->handle_wysiwyg_img($matches[2], $matches[0]);
}

protected function 
strip_html_from_bbcode_callback($matches)
{
    return 
$this->strip_html_from_bbcode($matches[0]);

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_postbit.php on line 1033
В файле ./includes/class_postbit.php ищем:
PHP Code:
$this->post['message'] = preg_replace('#(^|>)([^<]+)(?=<|$)#sUe'"\$this->process_highlight_postbit('\\2', \$this->highlight, '\\1')"$this->post['message']); 
Заменяем:
PHP Code:
$callback = new process_highlight_postbit_callback($this->highlight);
$this->post['message'] = preg_replace_callback('#(^|>)([^<]+)(?=<|$)#sU', array($callback'callback'), $this->post['message']); 
Ищем:
PHP Code:
function process_highlight_postbit($text$words$prepend
Заменяем:
PHP Code:
public static function process_highlight_postbit($text$words$prepend
Ищем:
PHP Code:
($hook vBulletinHook::fetch_hook('postbit_imicons')) ? eval($hook) : false;

Добавляем выше:
PHP Code:
class process_highlight_postbit_callback
{
    public function 
__construct($highlight)
    {
        
$this->highlight $highlight;
    }

    public function 
callback($matches)
    {
        return 
vB_Postbit_Post::process_highlight_postbit($matches[2], $highlight$matches[1]);
    }

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ....\includes\class_bbcode_alt.php on line 333
В файле .\includes\class_bbcode_alt.php ищем:
PHP Code:
if ($has_img_code == OR $has_img_code == 3)
        {
            if (
$do_imgcode AND ($this->registry->userinfo['userid'] == OR $this->registry->userinfo['showimages']))
            {
                
// do [img]xxx[/img]
                
$bbcode preg_replace('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iUe'"\$this->handle_bbcode_img_match('\\1')"$bbcode);
            }
        }

        return 
$bbcode;
    } 
Заменяем:
PHP Code:
if ($has_img_code == OR $has_img_code == 3)
        {
            if (
$do_imgcode AND ($this->registry->userinfo['userid'] == OR $this->registry->userinfo['showimages']))
            {
                
// do [img]xxx[/img]
                
$bbcode preg_replace_callback('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iU', array($this'handle_bbcode_img_match_callback'), $bbcode);
            }
        }

        return 
$bbcode;
    }
protected function 
handle_bbcode_img_match_callback($matches)
        {
            return 
$this->handle_bbcode_img_match($matches[1]);
        } 
Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_bbcode_alt.php on line 1270
В файле ./includes/class_bbcode_alt.php ищем:
PHP Code:
$text preg_replace(
    
'/&#([0-9]{2,3});/e',
    
'(($1 >= 32 AND $1 <= 127) ? chr($1) : "&#$1;")',
    
$text
); 
Заменяем:
PHP Code:
$text preg_replace_callback('/&#([0-9]{2,3});/', array($this'parse_callback'), $text); 
Ищем:
PHP Code:
{
        return 
parent::do_parse($texttruefalsetruetruefalsefalsenulltrue);

Добавляем ниже:
PHP Code:
protected function parse_callback($matches)
{
    if (
$matches[1] >= 32 AND $matches[1] <= 127)
    {
        return 
chr($matches[1]);
    }
    else
    {
        return 
"&#" $matches[1] . ";";
    }

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../forumrunner/support/utils.php on line 735
В файле ./forumrunner/support/utils.php ищем:
PHP Code:
$string preg_replace(
array(
    
'~&#x([0-9a-f]+);~ei',
    
'~&#([0-9]+);~e',
    
'~%u([0-9a-f]{4})~ei',
),
array(
    
'code2utf(hexdec("\\1"))',
    
'code2utf(\\1)',
    
'code2utf(hexdec("\\1"))',
), 
$string
); 
Заменяем:
PHP Code:
$callback = new code2utf_callback();
$string preg_replace_callback(
    
'~&#x([0-9a-f]+);~i',
    array(
$callback'callback1'),
    
$string
);

$string preg_replace_callback(
    
'~&#x([0-9]+);~',
    array(
$callback'callback2'),
    
$string
);

$string preg_replace_callback(
    
'~%u([0-9a-f]{4});~i',
    array(
$callback'callback1'),
    
$string
); 
Ищем:
PHP Code:
if ($htmltrans) {
    
$string strtr($string$trans_tbl);
    }

    return 
$string;

Добавляем ниже:
PHP Code:
class code2utf_callback
{
    function 
callback1($matches)
    {
        return 
code2utf(hexdec($matches[1]));
    }

    function 
callback2($matches)
    {
        return 
code2utf($matches[1]);
    }

Warning: preg_match(): Compilation failed: invalid range in character class at offset 23 in ..../includes/class_wysiwygparser.php on line 481
В файле ./includes/class_wysiwygparser.php ищем:
PHP Code:
if (preg_match('#attachment.php\?attachmentid=(\d+)#si'$img_url$matches) AND preg_match('#class=(\'|"|)([a-z0-9_-\s]+)?\s*previewthumb\s*([a-z0-9_-\s]+)?(\\1)#siu'$fullurl)) 
Заменяем:
PHP Code:
if (preg_match('#attachment.php\?attachmentid=(\d+)#si'$img_url$matches) AND preg_match('#class=(\'|"|)([a-z0-9_-]+)?\s*previewthumb\s*([a-z0-9_-]+)?(\\1)#siu'$fullurl)) 

Last edited by UniversalUserIS : 04-24-2015 at 05:33 PM.
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
Kantauver
Продвинутый
Default 0

Скажите, а насколько актуальны эти исправления для PHP версии 5.4.29 ?
 
Old  
UniversalUserIS
Специалист
 
UniversalUserIS's Avatar
Default 0

Quote:
Originally Posted by Kantauver View Post
Скажите, а насколько актуальны эти исправления для PHP версии 5.4.29 ?
Практически эти исправления совсем не актуальны для PHP 5.4.x, поскольку vB 4.2.2 его официально поддерживает.
 
Old  
eddstep
Простоузер
Default 0

При исправлении includes\class_wysiwygparser.php согласно всем записям выше вылазит такое,

PHP Code:
Parse errorsyntax errorunexpected 'protected' (T_PROTECTEDin C:\xampp\htdocs\***\www\includes\class_wysiwygparser.php on line 1763 
если же убрать последнюю из исправлений

PHP Code:
protected function replace_newline_in_pre_callback($matches

    return 
$this->replace_newline_in_pre($matches[2]); 


protected function 
escape_within_url_callback($matches

    return 
$this->escape_within_url($matches[1], $matches[4], $matches[3]); 


protected function 
translate_smilie_id_text_callback($matches

    return 
$this->translate_smilie_id_text($matches[1]); 


protected function 
handle_wysiwyg_img_callback($matches

    return 
$this->handle_wysiwyg_img($matches[2], $matches[0]); 


protected function 
strip_html_from_bbcode_callback($matches

    return 
$this->strip_html_from_bbcode($matches[0]); 

выдает

PHP Code:
Warningpreg_replace_callback(): Requires argument 2'vB_WysiwygHtmlParser::replace_newline_in_pre_callback'to be a valid callback in ....\includes\class_wysiwygparser.php on line 301

Warning
preg_replace_callback(): Requires argument 2'vB_WysiwygHtmlParser::escape_within_url_callback'to be a valid callback in ....\includes\class_wysiwygparser.php on line 308

Warning
preg_replace_callback(): Requires argument 2'vB_WysiwygHtmlParser::strip_html_from_bbcode_callback'to be a valid callback in ....\includes\class_wysiwygparser.php on line 390

Warning
preg_replace_callback(): Requires argument 2'vB_WysiwygHtmlParser::translate_smilie_id_text_callback'to be a valid callback in ....\includes\class_wysiwygparser.php on line 450

Warning
preg_replace_callback(): Requires argument 2'vB_WysiwygHtmlParser::handle_wysiwyg_img_callback'to be a valid callback in ....\includes\class_wysiwygparser.php on line 453 
eddstep добавил 20.08.2014 в 19:48
также предупреждение есть в помощи админа

PHP Code:
Deprecatedpreg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in C:\xampp\htdocs\vb422.local\www\admincp\help.php on line 234 

Last edited by eddstep : 08-20-2014 at 08:48 PM. Reason: Добавлено сообщение
 
Old  
insideja
В Черном списке
Default 0

[font color=red]Warning: Illegal string offset 'do' in ....\includes\functions_online.php on line 516[/font]

А решение такой ошибки есть? Возникает при просмотре онлайна.
 
Old  
Sellrion
В Черном-причерном списке
 
Sellrion's Avatar
Default 0

Это не ошибка а предупреждение. Можно не обращать внимания. А вообще, это обращение к элементу массива без проверки его наличия. Для VB4 это нормально.)
 
Old  
Glopus
Знаток
 
Glopus's Avatar
Default 0

Было такое?
 
Old  
Luvilla
Блондинка с электро......
 
Luvilla's Avatar
Default 0

Quote:
Originally Posted by UniversalUserIS View Post
совсем не актуальны для PHP 5.4.x, поскольку vB 4.2.2 его официально поддерживает.
я бы сформулировала не "официально", а "формально", или по-простому "кагбе"
поставила 4.2.2 на пхп 5.4, варнинги не давила, получаю удовольствие

===
Quote:
Originally Posted by Glopus View Post
Было такое?
лучше бы просто текст, а не скрин...
кстати, текст можно бы и поискать в первом посте...
 
Old  
Glopus
Знаток
 
Glopus's Avatar
Default 0

В первом посте не нашел, м.б. проглядел, поэтому и спрашиваю.
Можно и текстом:
Warning: Declaration of vB_DataManager_StyleVarDefn::delete() should be compatible with vB_DataManager::delete($doquery = true) in ..../includes/class_dm_stylevar.php on line 233

Warning: Declaration of vB_DataManager_StyleVar::save() should be compatible with vB_DataManager::save($doquery = true, $delayed = false, $affected_rows = false, $replace = false, $ignore = false) in ..../includes/functions_log_error.php on line 615
 
Old  
UniversalUserIS
Специалист
 
UniversalUserIS's Avatar
Default 0

@Glopus, версия PHP какая?
Luvilla, на моей памяти у vB 4.2.2 на PHP 5.4.x было два предупреждения связанных с декларациями. Неужели их больше?
 
 

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:39 PM.


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