Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Wed, Nov 12, 11:12 AM

in-portal

Index: trunk/core/kernel/utility/filters.php
===================================================================
--- trunk/core/kernel/utility/filters.php (revision 1979)
+++ trunk/core/kernel/utility/filters.php (revision 1980)
@@ -1,106 +1,106 @@
<?php
class kMultipleFilter
{
var $type = FLT_TYPE_AND;
var $filters = Array();
/**
* Creates new instance of kMultipleFilter class
*
* @param int $type
* @return kMultipleFilter
*/
function &makeClass($type=null)
{
return new kMultipleFilter($type);
}
/**
* Creates empty multiple filter
*
* @param int $type
* @return MultipleFilter
* @access public
*/
function MultipleFilter($type=null)
{
if(isset($type)) $this->setType($type);
}
/**
* Enter description here...
*
* @param unknown_type $new_type
*/
function setType($new_type)
{
$this->type = $new_type;
}
/**
* Adds new or replaces old filter with same name
*
* @param string $name
* @param mixed $clause kMultipleFilter object or where clause ifself
* @access public
*/
function addFilter($name, $clause)
{
if( is_object($clause) && $clause->hasFilters() )
{
$this->filters[$name] = $clause->getSQL();
}
- elseif( !is_object($clause) && $clause )
+ elseif( !is_object($clause) && strlen($clause) )
{
$this->filters[$name] = $clause;
}
}
/**
* Removes specified filter from filters list
*
* @param string $name
* @access public
*/
function removeFilter($name)
{
unset($this->filters[$name]);
}
/**
* Remove all added filters
*
* @access public
*/
function clearFilters()
{
$this->filters = Array();
}
/**
* Build where clause based on added filters and multiple filter type
*
* @return string
* @access public
*/
function getSQL()
{
$filter_count = count($this->filters);
if(!$filter_count) return '';
return '('.implode(') '.$this->type.' (',$this->filters).')';
}
/**
* Allows to check if some filters are added to multiple filter
*
* @return bool
* @access public
*/
function hasFilters()
{
return $this->filters ? true : false;
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/kernel/utility/filters.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.4
\ No newline at end of property
+1.5
\ No newline at end of property

Event Timeline