Commit f43616d2670df68a23014b4b15919f224b3dc2c9
1 parent
59475506
fix for KTS-1288: advanced search format improvements.
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5844 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
20 additions
and
19 deletions
lib/browse/criteriaregistry.php
| @@ -34,29 +34,30 @@ class KTCriteriaRegistry { | @@ -34,29 +34,30 @@ class KTCriteriaRegistry { | ||
| 34 | function &getSingleton() { | 34 | function &getSingleton() { |
| 35 | if (!KTUtil::arrayGet($GLOBALS['_KT_CRITERIA'], 'oKTCriteriaRegistry')) { | 35 | if (!KTUtil::arrayGet($GLOBALS['_KT_CRITERIA'], 'oKTCriteriaRegistry')) { |
| 36 | $GLOBALS['_KT_CRITERIA']['oKTCriteriaRegistry'] = new KTCriteriaRegistry; | 36 | $GLOBALS['_KT_CRITERIA']['oKTCriteriaRegistry'] = new KTCriteriaRegistry; |
| 37 | - // $GLOBALS['_KT_CRITERIA']['oKTCriteriaRegistry']->_buildGenericCriteria(); | 37 | + // $GLOBALS['_KT_CRITERIA']['oKTCriteriaRegistry']->_buildGenericCriteria(); |
| 38 | } | 38 | } |
| 39 | return $GLOBALS['_KT_CRITERIA']['oKTCriteriaRegistry']; | 39 | return $GLOBALS['_KT_CRITERIA']['oKTCriteriaRegistry']; |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | function _buildGenericCriteria() { | 42 | function _buildGenericCriteria() { |
| 43 | - $aFields =& DocumentField::getList(); | ||
| 44 | - foreach($aFields as $oField) { | ||
| 45 | - $sNamespace = $oField->getNamespace(); | ||
| 46 | - $aInitialize = array($oField->getName(), 'id', 'id', $oField->getId(), $sNamespace); | ||
| 47 | - $this->registerCriterion('GenericMetadataCriterion', $sNamespace, null, $aInitialize); | ||
| 48 | - } | ||
| 49 | - $this->_bGenericRegistered = true; | ||
| 50 | - } | 43 | + $aFields =& DocumentField::getList(); |
| 44 | + foreach($aFields as $oField) { | ||
| 45 | + $sNamespace = $oField->getNamespace(); | ||
| 46 | + $oFieldset =& KTFieldset::get($oField->getParentFieldset()); | ||
| 47 | + $aInitialize = array(sprintf("%s: %s", $oFieldset->getName(), $oField->getName()), 'id', 'id', $oField->getId(), $sNamespace); | ||
| 48 | + $this->registerCriterion('GenericMetadataCriterion', $sNamespace, null, $aInitialize); | ||
| 49 | + } | ||
| 50 | + $this->_bGenericRegistered = true; | ||
| 51 | + } | ||
| 51 | 52 | ||
| 52 | function registerCriterion($sClassName, $sNamespace = null, $sFilename = null, $aInitialize = null) { | 53 | function registerCriterion($sClassName, $sNamespace = null, $sFilename = null, $aInitialize = null) { |
| 53 | $this->_aCriteriaDetails[$sNamespace] = array($sClassName, $sNamespace, $sFilename, $aInitialize); | 54 | $this->_aCriteriaDetails[$sNamespace] = array($sClassName, $sNamespace, $sFilename, $aInitialize); |
| 54 | } | 55 | } |
| 55 | 56 | ||
| 56 | function &getCriterion($sNamespace) { | 57 | function &getCriterion($sNamespace) { |
| 57 | - if(!$this->_bGenericRegistered) { | ||
| 58 | - $this->_buildGenericCriteria(); | ||
| 59 | - } | 58 | + if(!$this->_bGenericRegistered) { |
| 59 | + $this->_buildGenericCriteria(); | ||
| 60 | + } | ||
| 60 | 61 | ||
| 61 | if (array_key_exists($sNamespace, $this->_aCriteria)) { | 62 | if (array_key_exists($sNamespace, $this->_aCriteria)) { |
| 62 | return $this->_aCriteria[$sNamespace]; | 63 | return $this->_aCriteria[$sNamespace]; |
| @@ -73,10 +74,10 @@ class KTCriteriaRegistry { | @@ -73,10 +74,10 @@ class KTCriteriaRegistry { | ||
| 73 | $sClassName = $aDetails[0]; | 74 | $sClassName = $aDetails[0]; |
| 74 | $oCriterion =& new $sClassName(); | 75 | $oCriterion =& new $sClassName(); |
| 75 | 76 | ||
| 76 | - | ||
| 77 | - if(is_array($aDetails[3])) { | ||
| 78 | - call_user_func_array(array(&$oCriterion, 'initialize'), $aDetails[3]); | ||
| 79 | - } | 77 | + |
| 78 | + if(is_array($aDetails[3])) { | ||
| 79 | + call_user_func_array(array(&$oCriterion, 'initialize'), $aDetails[3]); | ||
| 80 | + } | ||
| 80 | 81 | ||
| 81 | 82 | ||
| 82 | $this->_aCriteria[$sNamespace] =& $oCriterion; | 83 | $this->_aCriteria[$sNamespace] =& $oCriterion; |
| @@ -84,9 +85,9 @@ class KTCriteriaRegistry { | @@ -84,9 +85,9 @@ class KTCriteriaRegistry { | ||
| 84 | } | 85 | } |
| 85 | 86 | ||
| 86 | function &getCriteria() { | 87 | function &getCriteria() { |
| 87 | - if(!$this->_bGenericRegistered) { | ||
| 88 | - $this->_buildGenericCriteria(); | ||
| 89 | - } | 88 | + if(!$this->_bGenericRegistered) { |
| 89 | + $this->_buildGenericCriteria(); | ||
| 90 | + } | ||
| 90 | $aRet = array(); | 91 | $aRet = array(); |
| 91 | 92 | ||
| 92 | foreach (array_keys($this->_aCriteriaDetails) as $sCriteriaName) { | 93 | foreach (array_keys($this->_aCriteriaDetails) as $sCriteriaName) { |