حالة الموضوع:
مغلق
  1. slam

    slam ExpErt DeveloPer

    الأنتساب:
    ‏14 سبتمبر 2011
    المشاركات:
    238
    الإعجابات المتلقاة:
    5
    نقاط الجائزة:
    18
    الإقامة:
    MY HOME
    السلام عليكم ورحمة الله وبركاته

    تم اصدار ترقيع للنسخة 3.8.7 وكذلك للنسخة 4.1.4

    https://www.vbulletin.com/forum/show...ing-quot-patch

    يفضل للمرخصين تحميلها من الشركة والترقية عليها



    ومن لا يملك ترخيص يمكنه ترقيع الملفات بالطريقة الآتيه :
    الترقيع يخص الي عندهم الاصدار 3.8.7 Patch Level 1
    الاصدارات السابقة مثل 3.8.6 وما قبلها ما يحتاج تتطبق هذه الطريقة


    1 - قم بفتح ملف class_core.php
    وابحث بداخله عن :

    كود PHP:

    // #############################################################################
    /**
    * Removes the full path from being disclosed on any errors
    *
    * @param    integer    Error number
    * @param    string    PHP error text string
    * @param    strig    File that contained the error
    * @param    integer    Line in the file that contained the error
    */
    function vb_error_handler($errno$errstr$errfile$errline)
    {
        global 
    $vbulletin;

        switch (
    $errno)
        {
            case 
    E_WARNING:
            case 
    E_USER_WARNING:
                
    /* Don't log warnings due to to the false bug reports about valid warnings that we suppress, but still appear in the log
                require_once(DIR . '/includes/functions_log_error.php');
                $message = "Warning: $errstr in $errfile on line $errline";
                log_vbulletin_error($message, 'php');
                */

                
    if (!error_reporting() OR !ini_get('display_errors'))
                {
                    return;
                }
                
    $errfile str_replace(DIR'[path]'$errfile);
                
    $errstr str_replace(DIR'[path]'$errstr);
                echo 
    "<br /><strong>Warning</strong>: $errstr in <strong>$errfile</strong> on line <strong>$errline</strong><br />";
            break;

            case 
    E_USER_ERROR:
                require_once(
    DIR '/includes/functions_log_error.php');
                
    $message "Fatal error: $errstr in $errfile on line $errline";
                
    log_vbulletin_error($message'php');

                if (!
    headers_sent())
                {
                    if (
    SAPI_NAME == 'cgi' OR SAPI_NAME == 'cgi-fcgi')
                    {
                        
    header('Status: 500 Internal Server Error');
                    }
                    else
                    {
                        
    header('HTTP/1.1 500 Internal Server Error');
                    }
                }

                if (
    error_reporting() OR ini_get('display_errors'))
                {
                    
    $errfile str_replace(DIR'[path]'$errfile);
                    
    $errstr str_replace(DIR'[path]'$errstr);
                    echo 
    "<br /><strong>Fatal error:</strong> $errstr in <strong>$errfile</strong> on line <strong>$errline</strong><br />";
                    if (
    function_exists('debug_print_backtrace') AND ($vbulletin->userinfo['usergroupid'] == OR ($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions)))
                    {
                        
    // This is needed so IE doesn't show the pretty error messages
                        
    echo str_repeat(' '512);
                        
    debug_print_backtrace();
                    }
                }
                exit;
            break;
        }
    }  
    استبدله بـ :

    كود PHP:

    // #############################################################################
    /**
    * Unicode-safe version of htmlspecialchars()
    *
    * @param    string    Text to be made html-safe
    *
    * @return    string
    */
    function htmlspecialchars_uni($text$entities true)
    {
        return 
    str_replace(
            
    // replace special html characters
            
    array('<''>''"'),
            array(
    '&lt;''&gt;''&quot;'),
            
    preg_replace(
                
    // translates all non-unicode entities
                
    '/&(?!' . ($entities '#[0-9]+|shy' '(#[0-9]+|[a-z]+)') . ';)/si',
                
    '&amp;',
                
    $text
            
    )
        );
    }  

    2 - قم بفتح الملف functions.php وابحث بداخله عن :

    كود PHP:
        if ($vbulletin->options['useheaderredirect'] AND !$forceredirect AND !headers_sent() AND !$vbulletin->GPC['postvars'])
        {
            
    exec_header_redirect($vbulletin->url);
        }

        
    $title $vbulletin->options['bbtitle'];

        
    $pagetitle $title;
        
    $errormessage $message;

        
    $url unhtmlspecialchars($vbulletin->url);
        
    $url str_replace(chr(0), ''$url);
        
    $url create_full_url($url);
        
    $url str_replace($str_find$str_replace$url);
        
    $js_url addslashes_js($url'"'); // " has been replaced by &quot;

        
    $url preg_replace(
            array(
    '/&#0*59;?/''/&#x0*3B;?/i''#;#'),
            
    '%3B',
            
    $url
        
    );
        
    $url preg_replace('#&amp%3B#i''&amp;'$url);

        
    define('NOPMPOPUP'1); // No footer here

        
    require_once(DIR '/includes/functions_misc.php');
        
    $postvars construct_hidden_var_fields(verify_client_string($vbulletin->GPC['postvars']));
        
    $formfile =& $url;

        (
    $hook vBulletinHook::fetch_hook('redirect_generic')) ? eval($hook) : false;

        eval(
    'print_output("' fetch_template('STANDARD_REDIRECT') . '");');
        exit;
    }  
    استبدله بـ :

    كود PHP:
        if ($vbulletin->url)
        {
            
    $foundurl false;
            if (
    $urlinfo = @parse_url($vbulletin->url))
            {
                if (!
    $urlinfo['scheme'])
                {    
    // url is made full in exec_header_redirect which stops a url from being redirected to, say "www.php.net" (no http://)
                    
    $foundurl true;
                }
                else
                {
                    
    $whitelist = array();
                    if (
    $vbulletin->options['redirect_whitelist'])
                    {
                        
    $whitelist explode("\n"trim($vbulletin->options['redirect_whitelist']));

                
                    }
                    
    // Add $bburl to the whitelist
                    
    $bburlinfo = @parse_url($vbulletin->options['bburl']);
                    
    $bburl "{$bburlinfo['scheme']}://{$bburlinfo['host']}";
                    
    array_unshift($whitelist$bburl);

                    
    // if the "realurl" of this request does not equal $bburl, add it as well..
                    
    $realurl VB_URL_SCHEME '://' VB_URL_HOST;
                    if (
    strtolower($bburl) != strtolower($realurl))
                    {
                        
    array_unshift($whitelist$realurl);
                    }

                    
    $vburl strtolower($vbulletin->url);
                    foreach (
    $whitelist AS $url)
                    {
                        
    $url trim($url);
                        if (
    $vburl == strtolower($url) OR strpos($vburlstrtolower($url) . '/'0) === 0)
                        {
                            
    $foundurl true;
                            break;
                        }
                    }
                }
            }
            
            if (!
    $foundurl)
            {
                eval(
    standard_error(fetch_error('invalid_redirect_url_x'$vbulletin->url)));
            }
        }

        if (
    $vbulletin->options['useheaderredirect'] AND !$forceredirect AND !headers_sent() AND !$vbulletin->GPC['postvars'])
        {
            
    exec_header_redirect($vbulletin->url);
        }

        
    $title $vbulletin->options['bbtitle'];

        
    $pagetitle $title;
        
    $errormessage $message;

        
    $url unhtmlspecialchars($vbulletin->url);
        
    $url str_replace(chr(0), ''$url);
        
    $url create_full_url($url);
        
    $url str_replace($str_find$str_replace$url);
        
    $js_url addslashes_js($url'"'); // " has been replaced by &quot;

        
    $url preg_replace(
            array(
    '/&#0*59;?/''/&#x0*3B;?/i''#;#'),
            
    '%3B',
            
    $url
        
    );
        
    $url preg_replace('#&amp%3B#i''&amp;'$url);

        
    define('NOPMPOPUP'1); // No footer here

        
    require_once(DIR '/includes/functions_misc.php');
        
    $postvars construct_hidden_var_fields(verify_client_string($vbulletin->GPC['postvars']));
        
    $formfile =& $url;

        (
    $hook vBulletinHook::fetch_hook('redirect_generic')) ? eval($hook) : false;

        eval(
    'print_output("' fetch_template('STANDARD_REDIRECT') . '");');
        exit;
    }  
    والله يحفظكم

    :IQ:





     
    1 person likes this.
  2. Dr.MOT

    Dr.MOT Support - Iq-Team

    الأنتساب:
    ‏2 سبتمبر 2011
    المشاركات:
    650
    الإعجابات المتلقاة:
    5,463
    نقاط الجائزة:
    93
    الجنس:
    ذكر
    الوظيفة:
    طالب
    الإقامة:
    IraQ
    الله يبارك فيك

    واصل يابطل
     
  3. The Gen!us

    The Gen!us Developer

    الأنتساب:
    ‏27 سبتمبر 2011
    المشاركات:
    38
    الإعجابات المتلقاة:
    2
    نقاط الجائزة:
    8
    الوظيفة:
    |+| تلمـيد |+|
    الإقامة:
    |+| آلمــغربــ |+|
    مشكوور على الطرح الرائع

    شكراً
     
  4. ehabneo

    ehabneo Developer

    الأنتساب:
    ‏5 أكتوبر 2011
    المشاركات:
    36
    الإعجابات المتلقاة:
    4
    نقاط الجائزة:
    8
    الوظيفة:
    Student
    الإقامة:
    EGYPT
    آلله يبإْإْرٍك فيك ،،:iq:
     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة