Jump to content

Sergei

Approved members
  • Posts

    5
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Sergei got a reaction from v0jt4s in include several HTML banners with asyncjs   
    If it will be intresting for someone.
    I have solved the problem, but desision is  rough a bit.

    Fatal error: Cannot redeclare Plugin_BannerTypeHTML_delivery_adRender() (previously declared in /var/www/adv/lib/OX/Extension/bannerTypeHtml/bannerTypeHtmlDelivery.php:31) in /var/www/adv/lib/OX/Extension/bannerTypeHtml/bannerTypeHtmlDelivery.php on line 31Jrf


    I added this check
    if ( ! function_exists('Plugin_BannerTypeHTML_delivery_adRender')) {}
    right into the file that contains Plugin_BannerTypeHTML_delivery_adRender
    Cause of the problem:
    Function OX_Delivery_Common_getFunctionFromComponentIdentifier.
    there is   :
      if (!function_exists($functionName)) {
            if (!empty($GLOBALS['_MAX']['CONF']['pluginSettings']['useMergedFunctions'])) {
                _includeDeliveryPluginFile('/var/cache/' . OX_getHostName() . '_mergedDeliveryFunctions.php');
            }
            if (!function_exists($functionName)) {
                _includeDeliveryPluginFile($GLOBALS['_MAX']['CONF']['pluginPaths']['plugins'] . '/' . implode('/', $aInfo)
                    . '.delivery.php');
                if (!function_exists($functionName)) {
                    _includeDeliveryPluginFile('/lib/OX/Extension/' . $aInfo[0] . '/' . $aInfo[0] . 'Delivery.php');
                    $functionName = 'Plugin_' . $aInfo[0] . '_delivery';
                    if (!empty($hook) && function_exists($functionName . '_' . $hook)) {
                        $functionName .= '_' . $hook;
                    }
                }
            }
        }
    There is no check on existing  another fuction, it is more correct:

                if (!function_exists($functionName)) {
                    $functionName = 'Plugin_' . $aInfo[0] . '_delivery';
                    if (!function_exists($functionName)) {
                        _includeDeliveryPluginFile('/lib/OX/Extension/' . $aInfo[0] . '/' . $aInfo[0] . 'Delivery.php');
                    }
                    if (!empty($hook) && function_exists($functionName . '_' . $hook)) {
                        $functionName .= '_' . $hook;
                    }
                }
     
    PS: I don't create issue about it on github, because there is same topic with admin's post , that i hadn't find before - Maybe this bug had been fixed already, but i don't have the newest version...
    Sorry for my english and maybe I've created this topic in wrong category.
×
×
  • Create New...