当前位置: 首页>>代码示例>>PHP>>正文


PHP OX_Component::factoryByComponentIdentifier方法代码示例

本文整理汇总了PHP中OX_Component::factoryByComponentIdentifier方法的典型用法代码示例。如果您正苦于以下问题:PHP OX_Component::factoryByComponentIdentifier方法的具体用法?PHP OX_Component::factoryByComponentIdentifier怎么用?PHP OX_Component::factoryByComponentIdentifier使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OX_Component的用法示例。


在下文中一共展示了OX_Component::factoryByComponentIdentifier方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: insert

 /**
  * Handle all necessary operations when new agency is created
  *
  * @see DB_DataObject::insert()
  */
 function insert()
 {
     // Create account first
     $result = $this->createAccount(OA_ACCOUNT_MANAGER, $this->name);
     if (!$result) {
         return $result;
     }
     // Store data to create a user
     if (!empty($this->username) && !empty($this->password)) {
         $aUser = array('contact_name' => $this->contact, 'email_address' => $this->email, 'username' => $this->username, 'password' => $this->password, 'default_account_id' => $this->account_id);
     }
     $agencyid = parent::insert();
     if (!$agencyid) {
         return $agencyid;
     }
     // Create user if needed
     // Is this even required anymore?
     if (!empty($aUser)) {
         $this->createUser($aUser);
     }
     // Execute any components which have registered at the afterAgencyCreate hook
     $aPlugins = OX_Component::getListOfRegisteredComponentsForHook('afterAgencyCreate');
     foreach ($aPlugins as $i => $id) {
         if ($obj = OX_Component::factoryByComponentIdentifier($id)) {
             $obj->afterAgencyCreate($agencyid);
         }
     }
     return $agencyid;
 }
开发者ID:Jaree,项目名称:revive-adserver,代码行数:34,代码来源:Agency.php

示例2: __construct

 /**
  * Constructor
  */
 function __construct()
 {
     $this->oCacheStorePlugin =& OX_Component::factoryByComponentIdentifier($GLOBALS['_MAX']['CONF']['delivery']['cacheStorePlugin']);
     // Do not use Plugin if it's not enabled
     if ($this->oCacheStorePlugin->enabled === false) {
         $this->oCacheStorePlugin = false;
     }
 }
开发者ID:villos,项目名称:tree_admin,代码行数:11,代码来源:DeliveryCacheCommon.php

示例3: staticGetAuthPlugin

 /**
  * Returns authentication plugin
  *
  * @static
  * @param string $authType
  * @return Plugins_Authentication
  */
 static function staticGetAuthPlugin()
 {
     static $authPlugin;
     static $authPluginType;
     if (!isset($authPlugin) || $authPluginType != $authType) {
         $aConf = $GLOBALS['_MAX']['CONF'];
         if (!empty($aConf['authentication']['type'])) {
             $authType = $aConf['authentication']['type'];
             $authPlugin = OX_Component::factoryByComponentIdentifier($authType);
         }
         if (!$authPlugin) {
             // Fall back to internal
             $authType = 'none';
             $authPlugin = new Plugins_Authentication();
         }
         if (!$authPlugin) {
             OA::debug('Error while including authentication plugin and unable to fallback', PEAR_LOG_ERR);
         }
         $authPluginType = $authType;
     }
     return $authPlugin;
 }
开发者ID:Spark-Eleven,项目名称:revive-adserver,代码行数:29,代码来源:Auth.php

示例4: init

 private static function init()
 {
     if (self::$initialized) {
         return;
     }
     //register UI listeners from plugins
     $aPlugins = OX_Component::getListOfRegisteredComponentsForHook('registerUiListeners');
     foreach ($aPlugins as $i => $id) {
         if ($obj = OX_Component::factoryByComponentIdentifier($id)) {
             if (is_callable(array($obj, 'registerUiListeners'))) {
                 $obj->registerUiListeners();
             }
         }
     }
     self::$initialized = true;
 }
开发者ID:Jaree,项目名称:revive-adserver,代码行数:16,代码来源:Hooks.php

示例5: foreach

                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
if ($action == OA_UPGRADE_FINISH) {
    OA_Upgrade_Login::autoLogin();
    // Execute any components which have registered at the afterLogin hook
    $aPlugins = OX_Component::getListOfRegisteredComponentsForHook('afterLogin');
    foreach ($aPlugins as $i => $id) {
        if ($obj = OX_Component::factoryByComponentIdentifier($id)) {
            $obj->afterLogin();
        }
    }
    // Delete the cookie
    setcookie('oat', '');
    $oUpgrader->setOpenadsInstalledOn();
    if (!$oUpgrader->removeUpgradeTriggerFile()) {
        $message .= '. ' . $strRemoveUpgradeFile;
        $strInstallSuccess = '<div class="sysinfoerror">' . $strOaUpToDateCantRemove . '</div>' . $strInstallSuccess;
    }
}
if ($installStatus == OA_STATUS_OAD_NOT_INSTALLED) {
    setcookie('oat', OA_UPGRADE_INSTALL);
    $_COOKIE['oat'] = OA_UPGRADE_INSTALL;
} elseif ($installStatus !== 'unknown') {
开发者ID:villos,项目名称:tree_admin,代码行数:31,代码来源:install.php

示例6: _newPluginByName

 /**
  * A private method to return the appropriate report plugin, based
  * on the identifying string.
  *
  * @access private
  * @param string $reportIdentifier The string identifying the report.
  * @return Plugins_Reports The report plugin.
  */
 function _newPluginByName($reportIdentifier)
 {
     $pluginKey = explode(':', $reportIdentifier);
     $oPlugin = OX_Component::factoryByComponentIdentifier($reportIdentifier);
     return $oPlugin;
 }
开发者ID:ballistiq,项目名称:revive-adserver,代码行数:14,代码来源:Generate.php

示例7: _validateTargeting

 function _validateTargeting($oTargeting)
 {
     if (!isset($oTargeting->data)) {
         $this->raiseError('Field \'data\' in structure does not exists');
         return false;
     }
     if (!$this->checkStructureRequiredStringField($oTargeting, 'logical', 255) || !$this->checkStructureRequiredStringField($oTargeting, 'type', 255) || !$this->checkStructureRequiredStringField($oTargeting, 'comparison', 255) || !$this->checkStructureNotRequiredStringField($oTargeting, 'data')) {
         return false;
     }
     // Check that each of the specified targeting plugins are available
     $oPlugin = OX_Component::factoryByComponentIdentifier($oTargeting->type);
     if ($oPlugin === false) {
         $this->raiseError('Unknown targeting plugin: ' . $oTargeting->type);
         return false;
     }
     return true;
 }
开发者ID:Jaree,项目名称:revive-adserver,代码行数:17,代码来源:Banner.php

示例8: finishAction

 public function finishAction()
 {
     $oWizard = new OX_Admin_UI_Install_Wizard($this->getInstallStatus());
     $this->setCurrentStepIfReachable($oWizard, 'finish');
     $oUpgrader = $this->getUpgrader();
     $isUpgrade = $this->getInstallStatus()->isUpgrade();
     //finalize - mark OpenX as installed, clear files etc.
     $this->finalizeInstallation();
     $oStorage = OX_Admin_UI_Install_InstallUtils::getSessionStorage();
     //collect only job statuses with errors
     $aJobStatuses = $oStorage->get('aJobStatuses');
     $aStatuses = array();
     if ($aJobStatuses) {
         foreach ($aJobStatuses as $jobId => $aJobStatus) {
             //check session for job statuses
             if (!empty($aJobStatus['errors'])) {
                 $aStatuses[$jobId] = $aJobStatus;
             }
         }
     }
     $oRequest = $this->getRequest();
     if ($oRequest->isPost()) {
         $this->resetInstaller();
         global $installerIsUpgrade;
         $installerIsUpgrade = $isUpgrade;
         // Execute any components which have registered at the afterLogin hook
         $aPlugins = OX_Component::getListOfRegisteredComponentsForHook('afterLogin');
         foreach ($aPlugins as $i => $id) {
             if ($obj = OX_Component::factoryByComponentIdentifier($id)) {
                 $obj->afterLogin();
             }
         }
         require_once LIB_PATH . '/Admin/Redirect.php';
         OX_Admin_Redirect::redirect('advertiser-index.php');
     }
     $logPath = str_replace('/', DIRECTORY_SEPARATOR, $oUpgrader->getLogFileName());
     $this->setModelProperty('logPath', $logPath);
     $this->setModelProperty('oWizard', $oWizard);
     $this->setModelProperty('aStatuses', $aStatuses);
     $this->setModelProperty('isUpgrade', $isUpgrade);
 }
开发者ID:ballistiq,项目名称:revive-adserver,代码行数:41,代码来源:InstallController.php

示例9: _factoryComponentById

 /**
  * Factory component by its Id
  *
  * @param string $componentId  Component Id, for example: ExtensionName:GroupName:ComponentName
  * @return OX_Component  Returns OX_Component or false on error
  */
 function _factoryComponentById($componentId)
 {
     return OX_Component::factoryByComponentIdentifier($componentId);
 }
开发者ID:akirsch,项目名称:revive-adserver,代码行数:10,代码来源:Setup.php

示例10: array

    $aBanner['keyword'] = '';
    $aBanner["weight"] = $pref['default_banner_weight'];
    $aBanner['hardcoded_links'] = array();
    $aBanner['hardcoded_targets'] = array();
}
if ($ext_bannertype) {
    list($extension, $group, $plugin) = explode(':', $ext_bannertype);
    $oComponent =& OX_Component::factory($extension, $group, $plugin);
    if (!$oComponent) {
        $oComponent = OX_Component::getFallbackHandler($extension);
    }
    $formDisabled = !$oComponent || !$oComponent->enabled;
}
if (!$ext_bannertype && $type && !in_array($type, array('sql', 'web', 'url', 'html', 'txt'))) {
    list($extension, $group, $plugin) = explode('.', $type);
    $oComponent =& OX_Component::factoryByComponentIdentifier($extension, $group, $plugin);
    $formDisabled = !$oComponent || !$oComponent->enabled;
    if ($oComponent) {
        $ext_bannertype = $type;
        $type = $oComponent->getStorageType();
    } else {
        $ext_bannertype = '';
        $type = '';
    }
}
$show_txt = $conf['allowedBanners']['text'];
if (isset($type) && $type == "txt") {
    $show_txt = true;
}
$bannerTypes = array();
if ($show_txt) {
开发者ID:rcdesign-cemetery,项目名称:openx-markedtext,代码行数:31,代码来源:banner-edit.php

示例11: OA_Start

/**
 * Starts or continue existing session
 *
 * @param unknown_type $checkRedirectFunc
 */
function OA_Start($checkRedirectFunc = null)
{
    $conf = $GLOBALS['_MAX']['CONF'];
    global $session;
    // XXX: Why not try loading session data when OpenX is not installed?
    //if ($conf['openads']['installed'])
    if (OA_INSTALLATION_STATUS == OA_INSTALLATION_STATUS_INSTALLED) {
        phpAds_SessionDataFetch();
    }
    if (!OA_Auth::isLoggedIn() || OA_Auth::suppliedCredentials()) {
        // Required files
        include_once MAX_PATH . '/lib/max/language/Loader.php';
        // Load the required language files
        Language_Loader::load('default');
        phpAds_SessionDataRegister(OA_Auth::login($checkRedirectFunc));
        $aPlugins = OX_Component::getListOfRegisteredComponentsForHook('afterLogin');
        foreach ($aPlugins as $i => $id) {
            if ($obj = OX_Component::factoryByComponentIdentifier($id)) {
                $obj->afterLogin();
            }
        }
    }
    // Overwrite certain preset preferences
    if (!empty($session['language']) && $session['language'] != $GLOBALS['pref']['language']) {
        $GLOBALS['_MAX']['CONF']['max']['language'] = $session['language'];
    }
    // Check if manual account switch has happened and migrate to new global variable
    if (isset($session['accountSwitch'])) {
        $GLOBALS['_OX']['accountSwtich'] = $session['accountSwitch'];
        unset($session['accountSwitch']);
        phpAds_SessionDataStore();
    }
}
开发者ID:JackyKit,项目名称:revive-adserver,代码行数:38,代码来源:config.php

示例12: OA_Start

/**
 * Starts or continue existing session
 *
 * @param unknown_type $checkRedirectFunc
 */
function OA_Start($checkRedirectFunc = null)
{
    $conf = $GLOBALS['_MAX']['CONF'];
    global $session;
    // Send no cache headers
    MAX_header('Pragma: no-cache');
    MAX_header('Cache-Control: no-cache, no-store, must-revalidate');
    MAX_header('Expires: 0');
    if (RV_INSTALLATION_STATUS == RV_INSTALLATION_STATUS_INSTALLED) {
        phpAds_SessionDataFetch();
    }
    if (!OA_Auth::isLoggedIn() || OA_Auth::suppliedCredentials()) {
        // Required files
        include_once MAX_PATH . '/lib/max/language/Loader.php';
        // Load the required language files
        Language_Loader::load('default');
        phpAds_SessionDataRegister(OA_Auth::login($checkRedirectFunc));
        $aPlugins = OX_Component::getListOfRegisteredComponentsForHook('afterLogin');
        foreach ($aPlugins as $i => $id) {
            if ($obj = OX_Component::factoryByComponentIdentifier($id)) {
                $obj->afterLogin();
            }
        }
    }
    // Overwrite certain preset preferences
    if (!empty($session['language']) && $session['language'] != $GLOBALS['pref']['language']) {
        $GLOBALS['_MAX']['CONF']['max']['language'] = $session['language'];
    }
    // Check if manual account switch has happened and migrate to new global variable
    if (isset($session['accountSwitch'])) {
        $GLOBALS['_OX']['accountSwtich'] = $session['accountSwitch'];
        unset($session['accountSwitch']);
        phpAds_SessionDataStore();
    }
}
开发者ID:akirsch,项目名称:revive-adserver,代码行数:40,代码来源:config.php

示例13: placeInvocationForm

 /**
  * Place invocation form - generate form with group of options for every plugin,
  * look into max/docs/developer/plugins.zuml for more details
  *
  * @param array $extra
  * @param boolean $zone_invocation
  * @param array  $aParams          Input parameters, if null globals will be fetched
  *
  * @return string  Generated invocation form
  */
 function placeInvocationForm($extra = '', $zone_invocation = false, $aParams = null)
 {
     $this->tabindex = 1;
     global $phpAds_TextDirection;
     $conf = $GLOBALS['_MAX']['CONF'];
     $pref = $GLOBALS['_MAX']['PREF'];
     $buffer = '';
     $this->zone_invocation = $zone_invocation;
     // register all the variables
     $this->assignVariables($aParams);
     if (is_array($extra)) {
         $this->assignVariables($extra);
     }
     // Check if affiliate is on the same server as the delivery code
     if (!empty($extra['website'])) {
         $server_max = parse_url('http://' . $conf['webpath']['delivery'] . '/');
         $server_affilate = parse_url($extra['website']);
         // this code could be extremely slow if host is unresolved
         $this->server_same = @gethostbyname($server_max['host']) == @gethostbyname($server_affilate['host']);
     } else {
         $this->server_same = true;
     }
     // Hide when integrated in zone-advanced.php
     if (!is_array($extra) || !isset($extra['zoneadvanced']) || !$extra['zoneadvanced']) {
         $buffer .= "<form id='generate' name='generate' method='POST' onSubmit='return max_formValidate(this) && disableTextarea();'>\n";
     }
     // Invocation type selection
     if (!is_array($extra) || isset($extra['delivery']) && $extra['delivery'] != phpAds_ZoneInterstitial && $extra['delivery'] != phpAds_ZonePopup && $extra['delivery'] != MAX_ZoneEmail) {
         $invocationTags =& OX_Component::getComponents('invocationTags');
         $allowed = array();
         foreach ($invocationTags as $pluginKey => $invocationTag) {
             if ($invocationTag->isAllowed($extra, $this->server_same)) {
                 $aOrderedComponents[$invocationTag->getOrder()] = array('pluginKey' => $pluginKey, 'isAllowed' => $invocationTag->isAllowed($extra, $this->server_same), 'name' => $invocationTag->getName());
             }
         }
         ksort($aOrderedComponents);
         foreach ($aOrderedComponents as $order => $aComponent) {
             $allowed[$aComponent['pluginKey']] = $aComponent['isAllowed'];
         }
         if (!isset($this->codetype) || $allowed[$this->codetype] == false) {
             foreach ($allowed as $codetype => $isAllowed) {
                 $this->codetype = $codetype;
                 break;
             }
         }
         if (!isset($bannerUrl)) {
             $bannerUrl = 'http://www.example.com/INSERT_BANNER_URL.gif';
         }
         $buffer .= "<table border='0' width='100%' cellpadding='0' cellspacing='0'>";
         $buffer .= "<tr><td height='25' width='350'><b>" . $GLOBALS['strChooseTypeOfBannerInvocation'] . "</b>";
         if ($this->codetype == "invocationTags:oxInvocationTags:adview") {
             $buffer .= "";
         }
         $buffer .= "</td></tr><tr><td height='35' valign='top'>";
         $buffer .= "<select name='codetype' onChange=\"disableTextarea();this.form.submit()\" accesskey=" . $GLOBALS['keyList'] . " tabindex='" . $this->tabindex++ . "'>";
         $invocationTagsNames = array();
         foreach ($aOrderedComponents as $order => $aComponent) {
             $invocationTagsNames[$aComponent['pluginKey']] = $aComponent['name'];
         }
         foreach ($invocationTagsNames as $pluginKey => $invocationTagName) {
             $buffer .= "<option value='" . $pluginKey . "'" . ($this->codetype == $pluginKey ? ' selected' : '') . ">" . $invocationTagName . "</option>";
         }
         $buffer .= "</select>";
         $buffer .= "&nbsp;<input type='image' src='" . OX::assetPath() . "/images/" . $phpAds_TextDirection . "/go_blue.gif' border='0'></td>";
     } else {
         $invocationTags =& OX_Component::getComponents('invocationTags');
         foreach ($invocationTags as $invocationCode => $invocationTag) {
             if (isset($invocationTag->defaultZone) && $extra['delivery'] == $invocationTag->defaultZone) {
                 $this->codetype = $invocationCode;
                 break;
             }
         }
         if (!isset($this->codetype)) {
             $this->codetype = '';
         }
     }
     if ($this->codetype != '') {
         // factory plugin for this $codetype
         $invocationTag = OX_Component::factoryByComponentIdentifier($this->codetype);
         if ($invocationTag === false) {
             OA::debug('Error while factory invocationTag plugin');
             exit;
         }
         $invocationTag->setInvocation($this);
         $buffer .= "</td></tr></table>";
         $buffer .= $invocationTag->getHeaderHtml($this, $extra);
         $buffer .= $this->getTextAreaAndOptions($invocationTag, $extra);
     }
     // Put extra hidden fields
     if (is_array($extra)) {
//.........这里部分代码省略.........
开发者ID:Jaree,项目名称:revive-adserver,代码行数:101,代码来源:Invocation.php

示例14: phpAds_getBannerCache

function phpAds_getBannerCache($banner)
{
    $aConf = $GLOBALS['_MAX']['CONF'];
    $aPref = $GLOBALS['_MAX']['PREF'];
    $buffer = $banner['htmltemplate'];
    // Strip slashes from urls
    $banner['url'] = stripslashes($banner['url']);
    $banner['imageurl'] = stripslashes($banner['imageurl']);
    // The following properties depend on data from the invocation process
    // and can't yet be determined: {zoneid}, {bannerid}
    // These properties will be set during invocation
    // Auto change HTML banner
    if ($banner['storagetype'] == 'html') {
        if ($buffer != '') {
            // Remove target parameters
            // The regexp should handle ", ', \", \' as delimiters
            $buffer = preg_replace('# target\\s*=\\s*(\\\\?[\'"]).*?\\1#i', ' ', $buffer);
            // Put our click URL and our target parameter in all anchors...
            // The regexp should handle ", ', \", \' as delimiters
            $buffer = preg_replace('#<a(.*?)href\\s*=\\s*(\\\\?[\'"])http(.*?)\\2(.*?) *>#is', "<a\$1href=\$2{clickurl}http\$3\$2\$4  target=\$2{target}\$2>", $buffer);
            // Search: <\s*form (.*?)action\s*=\s*['"](.*?)['"](.*?)>
            // Replace:<form\1 action="{url_prefix}/{$aConf['file']['click']}" \3><input type='hidden' name='{clickurlparams}\2'>
            $target = !empty($banner['target']) ? $banner['target'] : "_self";
            // strip out the method from any <forms> these will be changed to GET
            $buffer = preg_replace('#<\\s*form (.*?)method\\s*=\\s*[\\\\]?[\'"](.*?)[\'"]#is', "<form \$1 method='GET'", $buffer);
            $buffer = preg_replace('#<\\s*form (.*?)action\\s*=\\s*[\\\\]?[\'"](.*?)[\'\\\\"][\'\\\\"]?(.*?)>(.*?)</form>#is', "<form \$1 action='{url_prefix}/{$aConf['file']['click']}' \$3 target='{$target}'>\$4<input type='hidden' name='{$aConf['var']['params']}' value='{clickurlparams}\$2'></form>", $buffer);
            //$buffer = preg_replace("#<form*action='*'*>#i","<form target='{target}' $1action='{url_prefix}/{}$aConf['file']['click']'$3><input type='hidden' name='{clickurlparams}$2'>", $buffer);
            //$buffer = preg_replace("#<form*action=\"*\"*>#i","<form target=\"{target}\" $1action=\"{url_prefix}/{$aConf['file']['click']}\"$3><input type=\"hidden\" name=\"{clickurlparams}$2\">", $buffer);
            // In addition, we need to add our clickURL to the clickTAG parameter if present, for 3rd party flash ads
            $buffer = preg_replace('#clickTAG\\s?=\\s?(.*?)([\'"])#', "clickTAG={clickurl}\$1\$2", $buffer);
            // Detect any JavaScript window.open() functions, and prepend the opened URL with our logurl
            $buffer = preg_replace('#window.open\\s?\\((.*?)\\)#i', "window.open(\\\\'{logurl}&maxdest=\\\\'+\$1)", $buffer);
        }
        // Since we don't want to replace adserver noscript and iframe content with click tracking etc
        $noScript = array();
        //Capture noscript content into $noScript[0], for seperate translations
        preg_match("#<noscript>(.*?)</noscript>#is", $buffer, $noScript);
        $buffer = preg_replace("#<noscript>(.*?)</noscript>#is", '{noscript}', $buffer);
        // run 3rd party component
        if (!empty($banner['adserver'])) {
            require_once LIB_PATH . '/Plugin/Component.php';
            /**
             * @todo This entire function should be relocated to the DLL and should be object-ified
             *
             */
            PEAR::pushErrorHandling(null);
            $adServerComponent = OX_Component::factoryByComponentIdentifier($banner['adserver']);
            PEAR::popErrorHandling();
            if ($adServerComponent) {
                $buffer = $adServerComponent->getBannerCache($buffer, $noScript);
            } else {
                $GLOBALS['_MAX']['bannerrebuild']['errors'] = true;
            }
        }
        // Wrap the banner inside a link if it doesn't seem to handle clicks itself
        if (!empty($banner['url']) && !preg_match('#<(a|area|form|script|object|iframe) #i', $buffer)) {
            $buffer = '<a href="{clickurl}" target="{target}">' . $buffer . '</a>';
        }
        // Adserver processing complete, now replace the noscript values back:
        //$buffer = preg_replace("#{noframe}#", $noFrame[2], $buffer);
        if (isset($noScript[0])) {
            $buffer = preg_replace("#{noscript}#", $noScript[0], $buffer);
        }
    }
    return $buffer;
}
开发者ID:villos,项目名称:tree_admin,代码行数:66,代码来源:lib-banner.inc.php

示例15: placeInvocationForm

 /**
  * Place invocation form - generate form with group of options for every plugin,
  * look into max/docs/developer/plugins.zuml for more details
  *
  * @param array $extra
  * @param boolean $zone_invocation
  *
  * @return string  Generated invocation form
  */
 function placeInvocationForm($extra = '', $zone_invocation = false)
 {
     $conf = $GLOBALS['_MAX']['CONF'];
     $pref = $GLOBALS['_MAX']['PREF'];
     $globalVariables = array('affiliateid', 'codetype', 'size', 'text', 'dest');
     $buffer = '';
     $this->zone_invocation = $zone_invocation;
     foreach ($globalVariables as $makeMeGlobal) {
         global ${$makeMeGlobal};
         // also make this variable a class attribute
         // so plugins could have an access to these values and modify them
         $this->{$makeMeGlobal} =& ${$makeMeGlobal};
     }
     $invocationTypes =& OX_Component::getComponents('invocationTags');
     foreach ($invocationTypes as $pluginKey => $invocationType) {
         if (!empty($invocationType->publisherPlugin)) {
             $available[$pluginKey] = $invocationType->publisherPlugin;
             $names[$pluginKey] = $invocationType->getName();
             if (!empty($invocationType->default)) {
                 $defaultPublisherPlugin = $pluginKey;
             }
         }
     }
     $affiliateid = $this->affiliateid;
     if (count($available) == 1) {
         // Only one publisher invocation plugin available
         $codetype = $defaultPublisherPlugin;
     } elseif (count($available) > 1) {
         // Multiple publisher invocation plugins available
         if (is_null($codetype)) {
             $codetype = $defaultPublisherPlugin;
         }
         echo "<form name='generate' action='" . $_SERVER['PHP_SELF'] . "' method='POST' onSubmit='return max_formValidate(this);'>\n";
         // Show the publisher invocation selection drop down
         echo "<table border='0' width='100%' cellpadding='0' cellspacing='0'>";
         echo "<input type='hidden' name='affiliateid' value='{$affiliateid}'>";
         echo "<tr><td height='25' colspan='3'><b>" . $GLOBALS['strChooseTypeOfInvocation'] . "</b></td></tr>";
         echo "<tr><td height='35'>";
         echo "<select name='codetype' onChange=\"this.form.submit()\" accesskey=" . $GLOBALS['keyList'] . " tabindex='" . $tabindex++ . "'>";
         foreach ($names as $pluginKey => $invocationTypeName) {
             echo "<option value='" . $pluginKey . "'" . ($codetype == $pluginKey ? ' selected' : '') . ">" . $invocationTypeName . "</option>";
         }
         echo "</select>";
         echo "&nbsp;<input type='image' src='" . OX::assetPath() . "/images/" . $GLOBALS['phpAds_TextDirection'] . "/go_blue.gif' border='0'>";
         echo "</td></tr></table>";
         echo "</form>";
         echo phpAds_ShowBreak($print = false);
         echo "<br />";
     } else {
         // No publisher invocation plugins available
         $code = 'Error: No publisher invocation plugins available';
         return;
     }
     if (!empty($codetype)) {
         $invocationTag = OX_Component::factoryByComponentIdentifier($codetype);
         if ($invocationTag === false) {
             OA::debug('Error while factory invocationTag plugin');
             exit;
         }
         $code = $this->generateInvocationCode($invocationTag);
     }
     $previewURL = MAX::constructURL(MAX_URL_ADMIN, "affiliate-preview.php?affiliateid={$affiliateid}&codetype={$codetype}");
     foreach ($invocationTag->defaultOptionValues as $feature => $value) {
         if ($invocationTag->maxInvocation->{$feature} != $value) {
             $previewURL .= "&{$feature}=" . rawurlencode($invocationTag->maxInvocation->{$feature});
         }
     }
     foreach ($this->defaultOptionValues as $feature => $value) {
         if ($this->{$feature} != $value) {
             $previewURL .= "&{$feature}=" . rawurlencode($this->{$feature});
         }
     }
     echo "<form name='generate' action='" . $previewURL . "' method='get' target='_blank'>\n";
     echo "<input type='hidden' name='codetype' value='" . $codetype . "' />";
     // Show parameters for the publisher invocation list
     echo "<table border='0' width='100%' cellpadding='0' cellspacing='0'>";
     echo "<tr><td height='25' colspan='3'><img src='" . OX::assetPath() . "/images/icon-overview.gif' align='absmiddle'>&nbsp;<b>" . $GLOBALS['strParameters'] . "</b></td></tr>";
     echo "<tr height='1'><td width='30'><img src='" . OX::assetPath() . "/images/break.gif' height='1' width='30'></td>";
     echo "<td width='200'><img src='" . OX::assetPath() . "/images/break.gif' height='1' width='200'></td>";
     echo "<td width='100%'><img src='" . OX::assetPath() . "/images/break.gif' height='1' width='100%'></td></tr>";
     echo $invocationTag->generateOptions($this);
     echo "<tr><td height='10' colspan='3'>&nbsp;</td></tr>";
     //echo "<tr height='1'><td colspan='3' bgcolor='#888888'><img src='" . OX::assetPath() . "/images/break.gif' height='1' width='100%'></td></tr>";
     echo "</table>";
     // Pass in current values
     echo "<input type='hidden' name='affiliateid' value='{$affiliateid}' />";
     echo "<input type='submit' value='" . $GLOBALS['strGenerate'] . "' name='submitbutton' tabindex='" . $tabindex++ . "'>";
     echo "</form>";
 }
开发者ID:villos,项目名称:tree_admin,代码行数:98,代码来源:Publisher.php


注:本文中的OX_Component::factoryByComponentIdentifier方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。