View Single Post
  #185  
Old 01-27-2019, 05:24 PM
annatar annatar is offline
 
Join Date: Jan 2010
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am not a PHP expert and I only use a small number of AME definitions so this may have issues with some other definitions but I can explain what I changed to resolve the '/e modifier is deprecated' message in ame_bbcode.php near line 712

In the function ame_process_bbcode I made the following change.

Replace

Code:
$text = preg_replace($ameinfo['find'], $ameinfo['replace'], ($param2 ? $param2 : $param1), 1);
with the following

Code:
$text = '';
for ($i = 1; $i<count($ameinfo['find']); $i++) {
    preg_match($ameinfo['find'][$i], $param1, $matches, PREG_OFFSET_CAPTURE);
    if ($matches) {
        $findStr = $ameinfo['find'][$i];
        $replaceStr = $ameinfo['replace'][$i];
        $findStr = preg_replace("/(~ie)/", "~i", $findStr);
        $text = preg_replace_callback($findStr,
            function($m) use($replaceStr) {
                $rep = $replaceStr . ';';

                $rep = str_replace('$param1', "'" . $m[1] . "'", $rep);
                $rep = str_replace('\1', '', $rep);
                $rep = str_replace('\2', '', $rep);
                $rep = str_replace('\3', '', $rep);
                $rep = str_replace('\4', '', $rep);
                $rep = str_replace('\5', '', $rep);
                $rep = str_replace('\6', '', $rep);
                if (count($m) > 2) {
                    $rep = str_replace('$param2', "'" . $m[2] . "'", $rep);
                    $rep = str_replace('$p1', $m[2], $rep);
                }
                if (count($m) > 3) {
                    $rep = str_replace('$p2', $m[3], $rep);
                }
                if (count($m) > 4) {
                    $rep = str_replace('$p3', $m[4], $rep);
                }
                if (count($m) > 5) {
                    $rep = str_replace('$p4', $m[5], $rep);
                }
                if (count($m) > 6) {
                    $rep = str_replace('$p5', $m[6], $rep);
                }
                eval('$str='.$rep);
                return $str;
            },
            ($param2 ? $param2 : $param1), 1);
        break;
    } else {
        $text = $param1;
    }
}
I am really only using the youtube definition so I did not need the \1 through \6 options so I simply set them all to empty strings.

Hopefully this helps some people and maybe someone else can take it and improve upon it.

If this helps anyone and you want to tip anything I wouldn't refuse it.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01101 seconds
  • Memory Usage 1,771KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete