/** * Processes the user submitted form data in the Category Select page. * * @return array The (un)updated data. */ private function _getUpdatedUnitOptions($aPost, array $aInput, $oFactory) { $_iNumberOfCategories = count($aInput['categories']) + count($aInput['categories_exclude']); // Check the limit if ((isset($aPost['add']) || isset($aPost['exclude'])) && $this->_isNumberOfCategoryReachedLimit($_iNumberOfCategories)) { $oFactory->setSettingNotice($this->_getLimitNotice(true)); return $aInput; } /* * Structure of the category array * * md5( $aCurrentCategory['feed_url'] ) => array( * 'breadcrumb' => 'US > Books', * 'feed_url' => 'http://amazon....', // the feed url of the category * 'page_url' => 'http://...' // the page url of the category * * ); */ $_oEncrypt = new AmazonAutoLinks_Encrypt(); $aCategories = $aInput['categories']; $aExcludingCategories = $aInput['categories_exclude']; $aCurrentCategory = $aPost['category']; $aCurrentCategory['breadcrumb'] = $_oEncrypt->decode($aCurrentCategory['breadcrumb']); // Check if the "Add Category" button is pressed if (isset($aPost['add'])) { $aCategories[md5($aCurrentCategory['feed_url'])] = $aCurrentCategory; } if (isset($aPost['exclude'])) { $aExcludingCategories[md5($aCurrentCategory['feed_url'])] = $aCurrentCategory; } // Check if the "Remove Checked" button is pressed if (isset($aPost['remove'], $aPost['checkboxes'])) { foreach ($aPost['checkboxes'] as $_sKey => $_sName) { unset($aCategories[$_sName]); unset($aExcludingCategories[$_sName]); } } $aInput['categories'] = $aCategories; $aInput['categories_exclude'] = $aExcludingCategories; return $aInput; }
protected function supportDeveloper($strAssociateID, $strLocale) { $oEncrypt = new AmazonAutoLinks_Encrypt(); $strDevID = isset(AmazonAutoLinks_Properties::$arrTokens[$strLocale]) ? $oEncrypt->decode(AmazonAutoLinks_Properties::$arrTokens[$strLocale]) : $strAssociateID; return $this->oOption->isSupported() ? $strDevID : $strAssociateID; }