Feature #19698 » 9944.diff
typo3/mod/tools/em/class.em_index.php (working copy) | ||
---|---|---|
if($this->MOD_SETTINGS['display_own'] && strlen($this->fe_user['username'])) {
|
||
$this->xmlhandler->searchExtensionsXML($this->listRemote_search, $this->fe_user['username'], $this->MOD_SETTINGS['listOrder']);
|
||
} else {
|
||
$this->xmlhandler->searchExtensionsXML($this->listRemote_search, '', $this->MOD_SETTINGS['listOrder'], false, false, $offset, $this->listingLimit);
|
||
$this->xmlhandler->searchExtensionsXML($this->listRemote_search, '', $this->MOD_SETTINGS['listOrder'], false, false, false, $offset, $this->listingLimit);
|
||
}
|
||
if (count($this->xmlhandler->extensionsXML)) {
|
||
list($list,$cat) = $this->prepareImportExtList(true);
|
||
... | ... | |
if (count($this->inst_keys)) {
|
||
reset($this->inst_keys);
|
||
while(list($extKey)=each($this->inst_keys)) {
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true);
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true, true);
|
||
if((strlen($this->listRemote_search) && !stristr($extKey,$this->listRemote_search)) || isset($this->xmlhandler->extensionsXML[$extKey])) continue;
|
||
$loadUnloadLink = t3lib_extMgm::isLoaded($extKey)?
|
||
... | ... | |
$content = '<form action="index.php" method="post" name="pageform">';
|
||
// Fetch remote data:
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true, true);
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true, true, true);
|
||
list($fetchData,) = $this->prepareImportExtList(true);
|
||
$versions = array_keys($fetchData[$extKey]['versions']);
|
||
... | ... | |
if (!$this->xmlhandler->countExtensions()) {
|
||
$this->fetchMetaData('extensions');
|
||
}
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true);
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true, true);
|
||
// check if extension can be fetched
|
||
if(isset($this->xmlhandler->extensionsXML[$extKey])) {
|
||
... | ... | |
} else return 'Wrong file format. No data recognized, '.$fetchData;
|
||
} else return 'No file uploaded! Probably the file was too large for PHPs internal limit for uploadable files.';
|
||
} else {
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true, true);
|
||
$this->xmlhandler->searchExtensionsXML($extKey, '', '', true, true, true);
|
||
// Fetch extension from TER:
|
||
if(!strlen($version)) {
|
||
... | ... | |
'</tr>';
|
||
foreach ($extList[0] as $name => $data) {
|
||
$this->xmlhandler->searchExtensionsXML($name, '', '', false, true);
|
||
$this->xmlhandler->searchExtensionsXML($name, '', '', true, false, true);
|
||
if (!is_array($this->xmlhandler->extensionsXML[$name])) {
|
||
continue;
|
||
}
|
typo3/mod/tools/em/class.em_xmlhandler.php (working copy) | ||
---|---|---|
* @param integer $limit Maximum number of entries to return (goes into LIMIT clause)
|
||
* @return void
|
||
*/
|
||
function searchExtensionsXML($search, $owner='', $order='', $allExt=false, $allVer=false, $offset=0, $limit=500) {
|
||
function searchExtensionsXML($search, $owner='', $order='', $exactMatch=false, $allExt=false, $allVer=false, $offset=0, $limit=500) {
|
||
$where = '1=1';
|
||
if ($search) {
|
||
if ($search && $exactMatch) {
|
||
$where.= ' AND extkey=' . $GLOBALS['TYPO3_DB']->fullQuoteStr($search, 'cache_extensions');
|
||
} elseif($search) {
|
||
$where.= ' AND extkey LIKE \'%'.$GLOBALS['TYPO3_DB']->quoteStr($GLOBALS['TYPO3_DB']->escapeStrForLike($search, 'cache_extensions'), 'cache_extensions').'%\'';
|
||
}
|
||
if ($owner) {
|
||
... | ... | |
* @return boolean true on success, false on error
|
||
*/
|
||
function loadExtensionsXML() {
|
||
$this->searchExtensionsXML('', '', '', true);
|
||
$this->searchExtensionsXML('', '', '', false, true);
|
||
}
|
||
/**
|