/** * Maps remote extensions information into $cat/$list arrays for listing * * @param boolean If set the info in the internal extensionsXML array will be unset before returning the result. * @return array List array and category index as key 0 / 1 in an array. */ function prepareImportExtList($unsetProc = false) { $list = array(); $cat = tx_em_Tools::getDefaultCategory(); $filepath = $this->parentObject->getMirrorURL(); foreach ($this->parentObject->xmlHandler->extensionsXML as $extKey => $data) { $GLOBALS['LANG']->csConvObj->convarray($data, 'utf-8', $GLOBALS['LANG']->charSet); // is there a better place for conversion? $list[$extKey]['type'] = '_'; $version = array_keys($data['versions']); $extPath = t3lib_div::strtolower($extKey); $list[$extKey]['_ICON'] = '<img alt="" src="' . $filepath . $extPath[0] . '/' . $extPath[1] . '/' . $extPath . '_' . end($version) . '.gif" />'; $list[$extKey]['downloadcounter'] = $data['downloadcounter']; foreach (array_keys($data['versions']) as $version) { $list[$extKey]['versions'][$version]['downloadcounter'] = $data['versions'][$version]['downloadcounter']; $list[$extKey]['versions'][$version]['EM_CONF'] = array('version' => $version, 'title' => $data['versions'][$version]['title'], 'description' => $data['versions'][$version]['description'], 'category' => $data['versions'][$version]['category'], 'constraints' => $data['versions'][$version]['dependencies'], 'state' => $data['versions'][$version]['state'], 'reviewstate' => $data['versions'][$version]['reviewstate'], 'lastuploaddate' => $data['versions'][$version]['lastuploaddate'], 'author' => $data['versions'][$version]['authorname'], 'author_email' => $data['versions'][$version]['authoremail'], 'author_company' => $data['versions'][$version]['authorcompany']); } tx_em_Tools::setCat($cat, $list[$extKey]['versions'][$version], $extKey); if ($unsetProc) { unset($this->parentObject->xmlHandler->extensionsXML[$extKey]); } } return array($list, $cat); }