/** * Append type-specific form elements to the base form * * @param object &$form * @param array &$row */ function buildForm(&$form, &$row) { $form->setAttribute("onSubmit", "return max_formValidateHtml(this.banner)"); $header = $form->createElement('header', 'header_html', $GLOBALS['strHTMLBanner'] . " - banner code"); $header->setAttribute('icon', 'icon-banner-html.gif'); $form->addElement($header); $adPlugins = OX_Component::getComponents('3rdPartyServers'); $adPluginsNames = OX_Component::callOnComponents($adPlugins, 'getName'); $adPluginsList = array(); $adPluginsList[''] = $GLOBALS['strAdserverTypeGeneric']; $adPluginsList['none'] = $GLOBALS['strDoNotAlterHtml']; foreach ($adPluginsNames as $adPluginKey => $adPluginName) { $adPluginsList[$adPluginKey] = $adPluginName; } $htmlG['textarea'] = $form->createElement('textarea', 'htmltemplate', null, array('class' => 'code', 'cols' => '45', 'rows' => '10', 'wrap' => 'off', 'dir' => 'ltr', 'style' => 'width:550px;')); $aSelectAttributes = array('id' => 'adserver', 'style' => 'margin-left: 15px;width:230px'); $htmlG['select'] = HTML_QuickForm::createElement('select', 'adserver', $GLOBALS['strAlterHTML'], $adPluginsList, $aSelectAttributes); $form->addGroup($htmlG, 'html_banner_g', null, array("<br>", ""), false); $form->addElement('advcheckbox', 'iframe_friendly', $GLOBALS['strIframeFriendly']); if ($row['bannerid'] && ($row['url'] || $row['target'])) { // The "url" and "target" elements remain as part of the form definition // for HTML banners only for existing banners that have either // url or target already set. $form->addElement('header', 'header_b_links', "Banner link"); $form->addElement('text', 'url', $GLOBALS['strURL']); $form->addElement('text', 'target', $GLOBALS['strTarget']); } $form->addElement('header', 'header_b_display', 'Banner display'); $sizeG['width'] = $form->createElement('text', 'width', $GLOBALS['strWidth'] . ":"); $sizeG['width']->setSize(5); $sizeG['height'] = $form->createElement('text', 'height', $GLOBALS['strHeight'] . ":"); $sizeG['height']->setSize(5); if (!empty($row['bannerid'])) { $sizeG['height']->setAttribute('onChange', 'oa_sizeChangeUpdateMessage("warning_change_banner_size");'); $sizeG['width']->setAttribute('onChange', 'oa_sizeChangeUpdateMessage("warning_change_banner_size");'); } $form->addGroup($sizeG, 'size', $GLOBALS['strSize'], " ", false); $form->addElement('hidden', 'ext_bannertype', $this->getComponentIdentifier()); //validation rules $translation = new OX_Translation(); $widthRequiredRule = array($translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strWidth'])), 'required'); $heightRequiredRule = array($translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strHeight'])), 'required'); $numericRule = array($GLOBALS['strNumericField'], 'numeric'); $form->addGroupRule('size', array('width' => array($widthRequiredRule, $numericRule), 'height' => array($heightRequiredRule, $numericRule))); }
function buildForm(&$form, &$row) { $form->setAttribute("onSubmit", "return max_formValidateHtml(this.banner)"); $header = $form->createElement('header', 'header_html', $GLOBALS['strHTMLBanner']); $header->setAttribute('icon', 'icon-banner-html.gif'); $form->addElement($header); $adPlugins = OX_Component::getComponents('3rdPartyServers'); $adPluginsNames = OX_Component::callOnComponents($adPlugins, 'getName'); $adPluginsList = array(); $adPluginsList[''] = $GLOBALS['strAdserverTypeGeneric']; $adPluginsList['none'] = $GLOBALS['strDoNotAlterHtml']; foreach ($adPluginsNames as $adPluginKey => $adPluginName) { $adPluginsList[$adPluginKey] = $adPluginName; } $form->addElement('select', 'adserver', $this->translate($GLOBALS['strAlterHTML']), $adPluginsList, $aSelectAttributes); $form->addElement('header', 'header_b_parameters', $this->translate("Banner display")); $form->addElement('text', 'p_link_url', $this->translate($GLOBALS['strURL'])); $form->addElement('text', 'p_link_text', $this->translate("Link text")); $form->addElement('text', 'p_title', $this->translate("Title")); $form->addElement('text', 'p_description', $this->translate("Description")); $form->addElement('text', 'p_image_url', $this->translate("Url Image")); $form->addElement('text', 'p_click_url_unesc', $this->translate("Click url Unesc")); $form->addElement('hidden', 'ext_bannertype', $this->getComponentIdentifier()); $bannerId = $row['bannerid']; if ($bannerId) { $doBanners = OA_Dal::factoryDO('my_banners'); $doBanners->bannerid = $bannerId; $doBanners->find(true); $row['terra_link_url'] = $doBanners->terra_link_url; $row['terra_link_text'] = $doBanners->terra_link_text; $row['terra_title'] = $doBanners->terra_title; $row['terra_description'] = $doBanners->terra_description; $row['terra_image_url'] = $doBanners->terra_image_url; $row['terra_click_url_unesc'] = $doBanners->terra_click_url_unesc; $form->setDefaults(array('p_link_url' => $doBanners->terra_link_url, 'p_link_text' => $doBanners->terra_link_text, 'p_title' => $doBanners->terra_title, 'p_description' => $doBanners->terra_description, 'p_image_url' => $doBanners->terra_image_url, 'p_click_url_unesc' => $doBanners->terra_click_url_unesc)); } }
function test_callOnComponents() { $GLOBALS['_MAX']['CONF']['pluginPaths']['plugins'] = '/lib/OX/Plugin/tests/data/testExtensions/'; $GLOBALS['_MAX']['CONF']['pluginPaths']['admin'] = '/lib/OX/Plugin/tests/data/www/admin/plugins/'; $GLOBALS['_MAX']['CONF']['pluginGroupComponents'] = array('testGroup1' => 1, 'testGroup2' => 1); $aComponents[] = OX_Component::factoryByComponentIdentifier('testExtension1:testGroup1:testComponent1'); $aComponents[] = OX_Component::factoryByComponentIdentifier('testExtension1:testGroup2:testComponent1'); $aResult = OX_Component::callOnComponents($aComponents, 'staticMethod'); $this->assertIsA($aResult, 'array'); $this->assertEqual(count($aResult), 2); $this->assertEqual($aResult['0'], 'staticMethodResult1'); $this->assertEqual($aResult['1'], 'staticMethodResult2'); $aResult = OX_Component::callOnComponents($aComponents, 'staticMethodWithParams', array('foo')); $this->assertIsA($aResult, 'array'); $this->assertEqual(count($aResult), 2); $this->assertEqual($aResult['0'], 'staticMethodWithParams1=foo'); $this->assertEqual($aResult['1'], 'staticMethodWithParams2=foo'); }
/** * set a given plugin setting to false * * @param string $name * @return boolean */ public function disableComponentGroup($name, $extends) { $aComponents = OX_Component::getComponents($extends, $name, true, false); $aResult = OX_Component::callOnComponents($aComponents, 'onDisable'); foreach ($aResult as $componentIdentifier => $value) { if (!$value) { // Should I call onEnable for those components that were sucessfully disabled? return false; } } return $this->_setPlugin($name, 0); }
/** * A private method to calculate an equivalent "last time that maintenance * statistics was run" value from logged delivery data, if possible. * * Enables the MSE process to be kick-started for new installations, where * the MSE has not been run before; but without causing the MSE to run * until the installation is actually logging data. * * @access private * @param integer $type The update type that "occurred" - that is, * OX_DAL_MAINTENANCE_STATISTICS_UPDATE_OI if the required * calculated "update date" needs to be in terms of the * operation interval; or * OX_DAL_MAINTENANCE_STATISTICS_UPDATE_HOUR if the * required calculated "update date" needs to be in terms * of the hour. * @return Date A Date representing the end of the operation interval * which is before the date found of the earliest known * logged delivery data record. Returns null if no logged * delivery data can be located. */ function _getEarliestLoggedDeliveryData($type) { // Obtain all components from the deliveryLog plugin group $aDeliveryLogComponents = OX_Component::getComponents('deliveryLog'); // Are there any components? if (empty($aDeliveryLogComponents)) { return null; } // Call the "getEarliestLoggedDataDate()" method on each // component, to find out what is the date of the earliest // logged data that the component knows about $aResult = OX_Component::callOnComponents($aDeliveryLogComponents, 'getEarliestLoggedDataDate'); if ($aResults === false) { return null; } // Iterate over the results from above, and see if any of // the components returned valid dates, and if so, which // of the results is the earliest $oDate = null; foreach ($aResult as $oComponentDate) { if (is_a($oComponentDate, 'Date')) { // Logged data was located! Is this date earlier than // any previous "earliest" logged delivery data? if (is_null($oDate)) { $oDate = new Date(); $oDate->copy($oComponentDate); } else { if ($oComponentDate->before($oDate)) { $oDate->copy($oComponentDate); } } } } // Was a date found? if (is_null($oDate) || !is_a($oDate, 'Date')) { return null; } // Convert the located earliest logged data date into either the // end of the previous operation interval, or the end of the previous // hour, depending on the required type if ($type == OX_DAL_MAINTENANCE_STATISTICS_UPDATE_OI) { $aDates = OX_OperationInterval::convertDateToPreviousOperationIntervalStartAndEndDates($oDate); } else { $aDates = OX_OperationInterval::convertDateToPreviousOperationIntervalStartAndEndDates($oDate, 60); } // Return the date return $aDates['end']; }
| (at your option) any later version. | | | | This program is distributed in the hope that it will be useful, | | but WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | GNU General Public License for more details. | | | | You should have received a copy of the GNU General Public License | | along with this program; if not, write to the Free Software | | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | +---------------------------------------------------------------------------+ $Id: index.php 37157 2009-05-28 12:31:10Z andrew.hill $ */ /** * This file creates the dispatch map by merging core and plugin dispatch maps * and starts the XML-RPC server. */ require_once '../../../../init.php'; require_once LIB_PATH . '/Plugin/Component.php'; require_once 'XmlRpcFrontController.php'; $fc = new XmlrpcFrontController(); // OpenX Core Dispatch map $dispatches = array('ox.logon' => array('function' => array($fc, 'logon'), 'signature' => array(array('string', 'string', 'string')), 'docstring' => 'Logon method'), 'ox.logoff' => array('function' => array($fc, 'logoff'), 'signature' => array(array('bool', 'string')), 'docstring' => 'Logoff method'), 'ox.addAdvertiser' => array('function' => array($fc, 'addAdvertiser'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add advertiser'), 'ox.modifyAdvertiser' => array('function' => array($fc, 'modifyAdvertiser'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify advertiser information'), 'ox.deleteAdvertiser' => array('function' => array($fc, 'deleteAdvertiser'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete advertiser'), 'ox.advertiserDailyStatistics' => array('function' => array($fc, 'advertiserDailyStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Advertiser Daily Statistics'), 'ox.advertiserCampaignStatistics' => array('function' => array($fc, 'advertiserCampaignStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Advertiser Campaign Statistics'), 'ox.advertiserBannerStatistics' => array('function' => array($fc, 'advertiserBannerStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Advertiser Banner Statistics'), 'ox.advertiserPublisherStatistics' => array('function' => array($fc, 'advertiserPublisherStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Advertiser Publisher Statistics'), 'ox.advertiserZoneStatistics' => array('function' => array($fc, 'advertiserZoneStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Advertiser Zone Statistics'), 'ox.getAdvertiser' => array('function' => array($fc, 'getAdvertiser'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get Advertiser Information'), 'ox.getAdvertiserListByAgencyId' => array('function' => array($fc, 'getAdvertiserListByAgencyId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get Advertiser List By Agency Id'), 'ox.addAgency' => array('function' => array($fc, 'addAgency'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add agency'), 'ox.modifyAgency' => array('function' => array($fc, 'modifyAgency'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify agency information'), 'ox.deleteAgency' => array('function' => array($fc, 'deleteAgency'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete agency'), 'ox.agencyDailyStatistics' => array('function' => array($fc, 'agencyDailyStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Agency Daily Statistics'), 'ox.agencyAdvertiserStatistics' => array('function' => array($fc, 'agencyAdvertiserStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Agency Advertiser Statistics'), 'ox.agencyCampaignStatistics' => array('function' => array($fc, 'agencyCampaignStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Agency Campaign Statistics'), 'ox.agencyBannerStatistics' => array('function' => array($fc, 'agencyBannerStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Agency Banner Statistics'), 'ox.agencyPublisherStatistics' => array('function' => array($fc, 'agencyPublisherStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Agency Publisher Statistics'), 'ox.agencyZoneStatistics' => array('function' => array($fc, 'agencyZoneStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Agency Zone Statistics'), 'ox.getAgency' => array('function' => array($fc, 'getAgency'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get Agency Information'), 'ox.getAgencyList' => array('function' => array($fc, 'getAgencyList'), 'signature' => array(array('array', 'string')), 'docstring' => 'Get Agency List'), 'ox.addBanner' => array('function' => array($fc, 'addBanner'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add banner'), 'ox.modifyBanner' => array('function' => array($fc, 'modifyBanner'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify banner information'), 'ox.deleteBanner' => array('function' => array($fc, 'deleteBanner'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete banner'), 'ox.getBannerTargeting' => array('function' => array($fc, 'getBannerTargeting'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get banner targeting limitations array'), 'ox.setBannerTargeting' => array('function' => array($fc, 'setBannerTargeting'), 'signature' => array(array('boolean', 'string', 'int', 'array')), 'docstring' => 'Set banner targeting limitations array'), 'ox.bannerDailyStatistics' => array('function' => array($fc, 'bannerDailyStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Banner Daily Statistics'), 'ox.bannerPublisherStatistics' => array('function' => array($fc, 'bannerPublisherStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Banner Publisher Statistics'), 'ox.bannerZoneStatistics' => array('function' => array($fc, 'bannerZoneStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Banner Zone Statistics'), 'ox.getBanner' => array('function' => array($fc, 'getBanner'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get Banner Information'), 'ox.getBannerListByCampaignId' => array('function' => array($fc, 'getBannerListByCampaignId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get Banner List By Campaign Id'), 'ox.addCampaign' => array('function' => array($fc, 'addCampaign'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add campaign'), 'ox.modifyCampaign' => array('function' => array($fc, 'modifyCampaign'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify campaign information'), 'ox.deleteCampaign' => array('function' => array($fc, 'deleteCampaign'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete campaign'), 'ox.campaignDailyStatistics' => array('function' => array($fc, 'campaignDailyStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate campaign Daily Statistics'), 'ox.campaignBannerStatistics' => array('function' => array($fc, 'campaignBannerStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate campaign Banner Statistics'), 'ox.campaignPublisherStatistics' => array('function' => array($fc, 'campaignPublisherStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate campaign Publisher Statistics'), 'ox.campaignZoneStatistics' => array('function' => array($fc, 'campaignZoneStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate campaign Zone Statistics'), 'ox.getCampaign' => array('function' => array($fc, 'getCampaign'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get Campaign Information'), 'ox.getCampaignListByAdvertiserId' => array('function' => array($fc, 'getCampaignListByAdvertiserId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get Campaign List By Advertiser Id'), 'ox.addChannel' => array('function' => array($fc, 'addChannel'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add Channel'), 'ox.modifyChannel' => array('function' => array($fc, 'modifyChannel'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify Channel Information'), 'ox.deleteChannel' => array('function' => array($fc, 'deleteChannel'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete Channel'), 'ox.getChannel' => array('function' => array($fc, 'getChannel'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get Channel Information'), 'ox.getChannelListByWebsiteId' => array('function' => array($fc, 'getChannelListByWebsiteId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get Website Channel List'), 'ox.getChannelListByAgencyId' => array('function' => array($fc, 'getChannelListByAgencyId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get Agency Channel List'), 'ox.getChannelTargeting' => array('function' => array($fc, 'getChannelTargeting'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get channel targeting limitations array'), 'ox.setChannelTargeting' => array('function' => array($fc, 'setChannelTargeting'), 'signature' => array(array('boolean', 'string', 'int', 'array')), 'docstring' => 'Set channel targeting limitations array'), 'ox.addPublisher' => array('function' => array($fc, 'addPublisher'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add publisher'), 'ox.modifyPublisher' => array('function' => array($fc, 'modifyPublisher'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify publisher information'), 'ox.deletePublisher' => array('function' => array($fc, 'deletePublisher'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete publisher'), 'ox.publisherDailyStatistics' => array('function' => array($fc, 'publisherDailyStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Publisher Daily Statistics'), 'ox.publisherZoneStatistics' => array('function' => array($fc, 'publisherZoneStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Publisher Zone Statistics'), 'ox.publisherAdvertiserStatistics' => array('function' => array($fc, 'publisherAdvertiserStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Publisher Advertiser Statistics'), 'ox.publisherCampaignStatistics' => array('function' => array($fc, 'publisherCampaignStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Publisher Campaign Statistics'), 'ox.publisherBannerStatistics' => array('function' => array($fc, 'publisherBannerStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Publisher Banner Statistics'), 'ox.getPublisher' => array('function' => array($fc, 'getPublisher'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get Publisher Information'), 'ox.getPublisherListByAgencyId' => array('function' => array($fc, 'getPublisherListByAgencyId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get Publishers List By Agency Id'), 'ox.addUser' => array('function' => array($fc, 'addUser'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add user'), 'ox.modifyUser' => array('function' => array($fc, 'modifyUser'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify user information'), 'ox.deleteUser' => array('function' => array($fc, 'deleteUser'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete user'), 'ox.getUser' => array('function' => array($fc, 'getUser'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get User Information'), 'ox.getUserListByAccountId' => array('function' => array($fc, 'getUserListByAccountId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get User List By Account Id'), 'ox.updateSsoUserId' => array('function' => array($fc, 'updateSsoUserId'), 'signature' => array(array('array', 'string', 'int', 'int')), 'docstring' => 'Change the SSO User ID field'), 'ox.updateUserEmailBySsoId' => array('function' => array($fc, 'updateUserEmailBySsoId'), 'signature' => array(array('array', 'string', 'int', 'string')), 'docstring' => 'Change users email for the user who match the SSO User ID'), 'ox.addZone' => array('function' => array($fc, 'addZone'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Add zone'), 'ox.modifyZone' => array('function' => array($fc, 'modifyZone'), 'signature' => array(array('int', 'string', 'struct')), 'docstring' => 'Modify zone information'), 'ox.deleteZone' => array('function' => array($fc, 'deleteZone'), 'signature' => array(array('int', 'string', 'int')), 'docstring' => 'Delete zone'), 'ox.zoneDailyStatistics' => array('function' => array($fc, 'zoneDailyStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Zone Daily Statistics'), 'ox.zoneAdvertiserStatistics' => array('function' => array($fc, 'zoneAdvertiserStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Zone Advertiser Statistics'), 'ox.zoneCampaignStatistics' => array('function' => array($fc, 'zoneCampaignStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Zone Campaign Statistics'), 'ox.zoneBannerStatistics' => array('function' => array($fc, 'zoneBannerStatistics'), 'signature' => array(array('array', 'string', 'int', 'dateTime.iso8601', 'dateTime.iso8601'), array('array', 'string', 'int', 'dateTime.iso8601'), array('array', 'string', 'int')), 'docstring' => 'Generate Zone Banner Statistics'), 'ox.getZone' => array('function' => array($fc, 'getZone'), 'signature' => array(array('struct', 'string', 'int')), 'docstring' => 'Get Zone Information'), 'ox.getZoneListByPublisherId' => array('function' => array($fc, 'getZoneListByPublisherId'), 'signature' => array(array('array', 'string', 'int')), 'docstring' => 'Get Zone List By Publisher Id'), 'ox.linkBanner' => array('function' => array($fc, 'linkBanner'), 'signature' => array(array('int', 'string', 'int', 'int')), 'docstring' => 'Link a banner to a zone'), 'ox.linkCampaign' => array('function' => array($fc, 'linkCampaign'), 'signature' => array(array('int', 'string', 'int', 'int')), 'docstring' => 'Link a campaign to a zone'), 'ox.unlinkBanner' => array('function' => array($fc, 'unlinkBanner'), 'signature' => array(array('int', 'string', 'int', 'int')), 'docstring' => 'Unlink a banner to from zone'), 'ox.unlinkCampaign' => array('function' => array($fc, 'unlinkCampaign'), 'signature' => array(array('int', 'string', 'int', 'int')), 'docstring' => 'Unlink a campaign from a zone'), 'ox.generateTags' => array('function' => array($fc, 'generateTags'), 'signature' => array(array('string', 'string', 'int', 'string', 'struct'), array('string', 'string', 'int', 'string', 'array')), 'docstring' => 'Unlink a campaign from a zone')); // Merge the plugins' dispatch maps with core. // Function names should be namespaced. $aComponents = OX_Component::getComponents('api'); $aMaps = OX_Component::callOnComponents($aComponents, 'getDispatchMap'); foreach ($aMaps as $map) { $dispatches = array_merge($dispatches, $map); } $server = new XML_RPC_Server($dispatches, 1);