filters in global list
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user