filters in global list

This commit is contained in:
lutranf
2014-08-20 17:42:52 +02:00
parent 8e0d25842d
commit 5a4465403b
5 changed files with 52 additions and 18 deletions

View File

@@ -7,8 +7,8 @@
class Databap extends PhpObject
{
//Common Constants
const VERSION = '1.0.0-RC4'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
const VERSION_DATE = '31/07/2014';
const VERSION = '1.0.0-RC5'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
const VERSION_DATE = '20/08/2014';
const EXPECTED_PAGE_COOKIE = 'exp_page';
const MAIN_SEPARATOR = ' ';
const DATE_FORMAT = 'd/m/Y';
@@ -126,6 +126,11 @@ class Databap extends PhpObject
const ART_TYPE = 'a';
const DOC_TYPE = 'd';
const TABLE_TYPE = 't';
public static $TYPES = array( self::CODE_TYPE =>array('table' => self::CODE_TABLE, 'title' => 'Code'),
self::PROC_TYPE =>array('table' => self::PROC_TABLE, 'title' => 'Procédure'),
self::ART_TYPE =>array('table' => self::ART_TABLE, 'title' => 'Article'),
self::DOC_TYPE =>array('table' => self::DOC_TABLE, 'title' => 'Documentation'),
self::TABLE_TYPE=>array('table' => self::TABL_TABLE, 'title' => 'Table'));
public static $HASH_TO_PAGE = array(self::CODE_TYPE=>'code', 'code'=>'code',
self::PROC_TYPE=>'proc', 'proc'=>'proc', 'procedure'=>'proc',
self::TABLE_TYPE=>'table', 'table'=>'table',
@@ -265,16 +270,25 @@ class Databap extends PhpObject
return $asOptions;
}
//TODO @idea make getParam($sType, $sKey='')
private function getItemTables($sType='')
private function getTypeInfo($sInfo='', $sType='')
{
$asItemTables = array( self::CODE_TYPE=>self::CODE_TABLE,
self::PROC_TYPE=>self::PROC_TABLE,
self::ART_TYPE=>self::ART_TABLE,
self::DOC_TYPE=>self::DOC_TABLE,
self::TABLE_TYPE=>self::TABL_TABLE);
if($sType!='' && !array_key_exists($sType, $asItemTables)) $this->addError('Type "'.$sType.'" inconnu');
return $sType==''?$asItemTables:$asItemTables[$sType];
if($sType!='')
{
if($sType!='' && !array_key_exists($sType, self::$TYPES)) $this->addError('Type "'.$sType.'" inconnu');
else $asTypeInfo = array($sType=>self::$TYPES[$sType]);
}
else $asTypeInfo = self::$TYPES;
if($sInfo!='')
{
foreach($asTypeInfo as $sType => $asInfo)
{
if(!array_key_exists($sInfo, $asInfo)) $this->addError('Info "'.$sInfo.'" inconnue');
else $asTypeInfo[$sType] = $asInfo[$sInfo];
}
}
return $asTypeInfo;
}
private function getPageTitles($sPage='')
@@ -373,7 +387,8 @@ class Databap extends PhpObject
'pm_separator'=>self::PM_SEP,
'reboot_delay'=>self::REBOOT_DELAY,
'versionHtml'=>$this->getItemBlock(),
'opt_console_no'=>self::OPT_CONSOLE_NO);
'opt_console_no'=>self::OPT_CONSOLE_NO,
'types'=>$this->getTypeInfo('title'));
$oPage->setTag('constants', $this->jsonConvert($asConstants));
//Variables
@@ -700,7 +715,7 @@ class Databap extends PhpObject
public function buildCompleteIndex()
{
$this->oMySql->emptyTable(self::SEARCH_TABLE);
foreach($this->getItemTables() as $sSearchType=>$sSearchTable)
foreach($this->getTypeInfo('table') as $sSearchType=>$sSearchTable)
{
$asItemIds = $this->oMySql->selectRows(array('select'=>MySqlManager::getId($sSearchTable), 'from'=>$sSearchTable));
foreach($asItemIds as $iItemId) $this->oSearchEngine->buildIndex($iItemId, $sSearchType);
@@ -1333,7 +1348,7 @@ class Databap extends PhpObject
unset($asProfile['user']['clearance']);
//History Info
$asTables = $this->getItemTables();
$asTables = $this->getTypeInfo('table');
foreach($asTables as $sType=>$sTableName)
{
//Skip articles