From 48b112583a0a7ec3106250214c62207d0a4fbde0 Mon Sep 17 00:00:00 2001 From: lutranf Date: Wed, 3 Sep 2014 14:25:53 +0200 Subject: [PATCH] fix table description (adding table's name) --- inc/databap.php | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/inc/databap.php b/inc/databap.php index 56e46b4..88ce72e 100644 --- a/inc/databap.php +++ b/inc/databap.php @@ -1150,7 +1150,7 @@ class Databap extends PhpObject { $asTable['system'] = self::getTableFormat($asTable['system']); $asTable['title'] = self::getTableFormat($asTable['title']); - $asTable['description'] = self::getDescriptionFormat($asTable['description']); + $asTable['description'] = $asTable['title'].' - '.self::getDescriptionFormat($asTable['description']); $asTable['led'] = self::getDateFormat($asTable['led']); $asTable['formatted_keywords'] = str_replace("\n", '
', ToolBox::findReplaceLinks($asTable['keywords'])); } @@ -2233,43 +2233,40 @@ class Databap extends PhpObject public function getItemList() { - $sIdCodeCol = MySqlManager::getId(self::CODE_TABLE); - $sIdProcCol = MySqlManager::getId(self::PROC_TABLE); - $sIdArtCol = MySqlManager::getId(self::ART_TABLE); - $sIdDocCol = MySqlManager::getId(self::DOC_TABLE); - $sIdTableCol = MySqlManager::getId(self::TABL_TABLE); - $sIdCodeColFull = MySqlManager::getId(self::CODE_TABLE, true); + $asUsers = $asItemList = array(); $sIdUserCol = MySqlManager::getId(self::USER_TABLE); - $sIdUserColFull = MySqlManager::getId(self::USER_TABLE, true); - $sLedColFull = MySqlManager::getFullColumnName(self::CODE_TABLE, 'led') ; - + //TODO phrases for all item types? - $asUsers = $asCode = $asItemList = array(); - $asTypes = $this->getTypeInfo('table'); - foreach($asTypes as $sType=>$sTable) + $asTypeTables = $this->getTypeInfo('table'); + foreach($asTypeTables as $sType=>$sTable) { - $sTableIdCol = MySqlManager::getId($sTable); - //selecting last version among codes having the same refer_id + $sTableIdCol = MySqlManager::getId($sTable); $asInfo = array('select' => array("MAX({$sTableIdCol}) AS id_item"), 'from' => $sTable, - 'groupBy' => array(($sType==self::ART_TYPE)?$sTableIdCol:'refer_id'), //except for articles + 'groupBy' => array(($sType==self::ART_TYPE)?$sTableIdCol:'refer_id'), //no versioning for articles 'orderBy' => array('id_item'=>'desc')); //Build code info structure $asTypedItemIds = array_filter($this->oMySql->selectRows($asInfo)); //null value returned from query (MAX(...)) foreach($asTypedItemIds as $iItemId) { + //Getting item info $asItem = call_user_func(array($this, 'get'.ucfirst($this->getPagesFromHash($sType)).'Info'), $iItemId); $asItem['type'] = $sType; $asItem['id_item'] = $iItemId; - if(array_key_exists($sIdUserCol, $asItem)) //replacing user's id with user's name & company (if not done already) + + //Replacing user's id with user's name & company (if not done already) + if(array_key_exists($sIdUserCol, $asItem)) { $iUserId = $asItem[$sIdUserCol]; if(!array_key_exists($iUserId, $asUsers)) $asUsers[$iUserId] = $this->getUserInfo($iUserId); + $asItem['name'] = $asUsers[$iUserId]['name']; $asItem['company'] = $asUsers[$iUserId]['company']; } + + //Preparing key for reverse sorting $asItemList[$asItem['timestamp'].$asItem['type'].$asItem['id_item']] = $asItem; } }