unify getItemInfo between search and databap

This commit is contained in:
lutranf
2014-09-03 18:12:48 +02:00
parent 73a4866a8e
commit 2c8adebc45
5 changed files with 40 additions and 17 deletions

View File

@@ -1091,6 +1091,11 @@ class Databap extends PhpObject
return $this->jsonConvert($asResult);
}
private function getItemInfo($sType, $iItemId)
{
return call_user_func(array($this, 'get'.ucfirst($this->getPagesFromHash($sType)).'Info'), $iItemId);
}
//TODO: one function only with a type parameter
private function getCodeInfo($oCode, $sMode='', $bCode=false)
@@ -1116,6 +1121,7 @@ class Databap extends PhpObject
}
$asCode = $this->oMySql->selectRow(self::CODE_TABLE, $iCodeId, $asSelect);
$asCode['title'] = self::getDescriptionFormat($asCode['description']);
$asCode['description'] = self::getDescriptionFormat($asCode['description']);
$asCode['timestamp'] = strtotime($asCode['led']);
$asCode['led'] = self::getDateFormat($asCode['led']);
@@ -1150,7 +1156,7 @@ class Databap extends PhpObject
{
$asTable['system'] = self::getTableFormat($asTable['system']);
$asTable['title'] = self::getTableFormat($asTable['title']);
$asTable['description'] = $asTable['title'].' - '.self::getDescriptionFormat($asTable['description']);
$asTable['description'] = self::getDescriptionFormat($asTable['description']);
$asTable['led'] = self::getDateFormat($asTable['led']);
$asTable['formatted_keywords'] = str_replace("\n", '<br />', ToolBox::findReplaceLinks($asTable['keywords']));
}
@@ -1163,14 +1169,15 @@ class Databap extends PhpObject
$asTransferredInfo = array('link_art'=>$asArt['link'], 'art_title'=>$asArt['title'], 'link_auth'=>$asArt['email']);
$asTransferredInfo['art_date'] = self::getDateFormat($asArt['date'], self::DATE_FORMAT);
$asTransferredInfo['name'] = self::getNameFormat($asArt['first_name'], $asArt['last_name']);
$asTransferredInfo['title'] = self::getDescriptionFormat($asArt['title']);
$asTransferredInfo['description'] = self::getDescriptionFormat($asArt['title']);
$asTransferredInfo['timestamp'] = strtotime($asArt['led']);
$asTransferredInfo['led'] = self::getDateFormat($asArt['led']);
$asTransferredInfo['company'] = 'SAP';
//Domain
$asParsedUrl = parse_url($asArt['link']);
$asTransferredInfo['domain'] = $asParsedUrl['host'];
$asTransferredInfo['company'] = $asTransferredInfo['domain'];
return $asTransferredInfo;
}
@@ -1302,8 +1309,8 @@ class Databap extends PhpObject
$sOptNameIdCol = MySqlManager::getId(self::OPTNAME_TABLE);
$sOptNameTextCol = MySqlManager::getText(self::OPTNAME_TABLE);
$asInfo = array('select'=>array($sOptNameIdCol, $sOptNameTextCol, 'type'),
'from'=>self::OPTNAME_TABLE,
'constraint'=>array('language'=>$this->sLanguage));
'from'=>self::OPTNAME_TABLE,
'constraint'=>array('language'=>$this->sLanguage));
return $this->oMySql->selectRows($asInfo, true, $sOptNameIdCol);
}
@@ -2252,7 +2259,7 @@ class Databap extends PhpObject
foreach($asTypedItemIds as $iItemId)
{
//Getting item info
$asItem = call_user_func(array($this, 'get'.ucfirst($this->getPagesFromHash($sType)).'Info'), $iItemId);
$asItem = $this->getItemInfo($sType, $iItemId);
$asItem['type'] = $sType;
$asItem['id_item'] = $iItemId;
@@ -2538,15 +2545,23 @@ class Databap extends PhpObject
//complementary infos
$asCompleteResults = array();
foreach($asResults as $iItemId=>$asItemInfo)
foreach($asResults as $asItemInfo)
{
//phrase
$sPhrase = $this->getPhraseFromIdCode($asItemInfo['id_code']);
if($sPhrase !== false)
//Item Info
$iItemId = $asItemInfo['id_item'];
$sType = $asItemInfo['type'];
$asItemInfo += $this->getItemInfo($sType, $iItemId);
//User Info
if($sType != self::ART_TYPE) //Already available in item info
{
$asItemInfo['phrase'] = $sPhrase;
$asUserInfo = $this->getUserInfo($asItemInfo[MySqlManager::getId(self::USER_TABLE)]);
$asItemInfo['name'] = $asUserInfo['name'];
$asItemInfo['company'] = $asUserInfo['company'];
}
$asCompleteResults[$iItemId] = $asItemInfo;
//TODO: phrase
$asCompleteResults[] = $asItemInfo;
}
return $this->jsonExport($asCompleteResults);