function _preCompile($sData) { $aContinentCodes = MAX_limitationsGetAFromS($sData); $aCountries = array(); foreach ($aContinentCodes as $continentCode) { $aContinentCountries = $this->res[$continentCode]; unset($aContinentCountries[0]); // Remove the name of the continent $aCountries = array_merge($aCountries, $aContinentCountries); } return parent::_preCompile(MAX_limitationsGetSFromA($aCountries)); }
/** * A private method to pre-compile limitaions. * * @access private * @param mixed $data An optional, expanded form delivery limitation. * @return string The delivery limitation in pre-compiled form, with any changes to the format * of the data stored in the database having been made, ready to be used for * either compiling the limitation into final form, or converting the limitation * into SQL form. */ function _preCompile($sData) { $aData = MAX_limitationsGeoCityUnserialize($sData); $sCountry = MAX_limitationsGetCountry($aData); MAX_limitationsSetCountry($aData, MAX_limitationsGetPreprocessedString($sCountry)); $sCities = MAX_limitationsGetSCities($aData); $aCities = MAX_limitationsGetAFromS($sCities); $aCities = MAX_limitationsGetPreprocessedArray($aCities); MAX_limitationsSetSCities($aData, MAX_limitationsGetSFromA($aCities)); return MAX_limitationsGeoCitySerialize($aData); }
function testMax_limitationsGetSFromA() { $this->assertEqual('ab,cd,ef', MAX_limitationsGetSFromA(array('ab', 'cd', 'ef'))); $this->assertEqual('', MAX_limitationsGetSFromA(array())); $this->assertEqual('', MAX_limitationsGetSFromA(null)); }