From 5a4465403be08e5c15365e28483b29a7511a7d41 Mon Sep 17 00:00:00 2001 From: lutranf Date: Wed, 20 Aug 2014 17:42:52 +0200 Subject: [PATCH] filters in global list --- inc/databap.php | 43 +++++++++++++++++++++++++++++-------------- jquery/common.js | 2 +- masks/list.html | 20 +++++++++++++++++--- masks/welcome.html | 1 + style/screen.css | 4 ++++ 5 files changed, 52 insertions(+), 18 deletions(-) diff --git a/inc/databap.php b/inc/databap.php index 21d045e..2bd630d 100644 --- a/inc/databap.php +++ b/inc/databap.php @@ -7,8 +7,8 @@ class Databap extends PhpObject { //Common Constants - const VERSION = '1.0.0-RC4'; //Versioning: ..- - const VERSION_DATE = '31/07/2014'; + const VERSION = '1.0.0-RC5'; //Versioning: ..- + 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 diff --git a/jquery/common.js b/jquery/common.js index a0b6c89..5d7a341 100644 --- a/jquery/common.js +++ b/jquery/common.js @@ -36,7 +36,7 @@ $.prototype.addButton = function(sType, sTitle, oClickLink, sId, sButtonClass, s .appendTo($This); //Function - if(!bLink) $Button.click(function(e){e.preventDefault();oClickLink();}); + if(!bLink) $Button.click(function(e){e.preventDefault(); oClickLink($(this));}); //TODO delete use of tmp out of databap class context if(typeof sTmpVar != 'undefined') databap.tmp(sTmpVar, $Button); diff --git a/masks/list.html b/masks/list.html index 761df60..5f9299d 100755 --- a/masks/list.html +++ b/masks/list.html @@ -1,12 +1,26 @@
-
+
+