146 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * @package     FrameworkOnFramework
 | |
|  * @subpackage  model
 | |
|  * @copyright   Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba Ltd. All rights reserved.
 | |
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt
 | |
|  */
 | |
| // Protect from unauthorized access
 | |
| defined('F0F_INCLUDED') or die;
 | |
| 
 | |
| /**
 | |
|  * FrameworkOnFramework model behavior class
 | |
|  *
 | |
|  * @package  FrameworkOnFramework
 | |
|  * @since    2.1
 | |
|  */
 | |
| class F0FModelFieldText extends F0FModelField
 | |
| {
 | |
| 	/**
 | |
| 	 * Constructor
 | |
| 	 *
 | |
| 	 * @param   F0FDatabaseDriver  $db     The database object
 | |
| 	 * @param   object           $field  The field informations as taken from the db
 | |
| 	 */
 | |
| 	public function __construct($db, $field, $table_alias = false)
 | |
| 	{
 | |
| 		parent::__construct($db, $field, $table_alias);
 | |
| 
 | |
| 		$this->null_value = '';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Returns the default search method for this field.
 | |
| 	 *
 | |
| 	 * @return  string
 | |
| 	 */
 | |
| 	public function getDefaultSearchMethod()
 | |
| 	{
 | |
| 		return 'partial';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Perform a partial match (search in string)
 | |
| 	 *
 | |
| 	 * @param   mixed  $value  The value to compare to
 | |
| 	 *
 | |
| 	 * @return  string  The SQL where clause for this search
 | |
| 	 */
 | |
| 	public function partial($value)
 | |
| 	{
 | |
| 		if ($this->isEmpty($value))
 | |
| 		{
 | |
| 			return '';
 | |
| 		}
 | |
| 
 | |
| 		return '(' . $this->getFieldName() . ' LIKE ' . $this->_db->quote('%' . $value . '%') . ')';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Perform an exact match (match string)
 | |
| 	 *
 | |
| 	 * @param   mixed  $value  The value to compare to
 | |
| 	 *
 | |
| 	 * @return  string  The SQL where clause for this search
 | |
| 	 */
 | |
| 	public function exact($value)
 | |
| 	{
 | |
| 		if ($this->isEmpty($value))
 | |
| 		{
 | |
| 			return '';
 | |
| 		}
 | |
| 
 | |
| 		return '(' . $this->getFieldName() . ' LIKE ' . $this->_db->quote($value) . ')';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Dummy method; this search makes no sense for text fields
 | |
| 	 *
 | |
| 	 * @param   mixed    $from     Ignored
 | |
| 	 * @param   mixed    $to       Ignored
 | |
| 	 * @param   boolean  $include  Ignored
 | |
| 	 *
 | |
| 	 * @return  string  Empty string
 | |
| 	 */
 | |
| 	public function between($from, $to, $include = true)
 | |
| 	{
 | |
| 		return '';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Dummy method; this search makes no sense for text fields
 | |
| 	 *
 | |
| 	 * @param   mixed    $from     Ignored
 | |
| 	 * @param   mixed    $to       Ignored
 | |
| 	 * @param   boolean  $include  Ignored
 | |
| 	 *
 | |
| 	 * @return  string  Empty string
 | |
| 	 */
 | |
| 	public function outside($from, $to, $include = false)
 | |
| 	{
 | |
| 		return '';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Dummy method; this search makes no sense for text fields
 | |
| 	 *
 | |
| 	 * @param   mixed    $value     Ignored
 | |
| 	 * @param   mixed    $interval  Ignored
 | |
| 	 * @param   boolean  $include   Ignored
 | |
| 	 *
 | |
| 	 * @return  string  Empty string
 | |
| 	 */
 | |
| 	public function interval($value, $interval, $include = true)
 | |
| 	{
 | |
| 		return '';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Dummy method; this search makes no sense for text fields
 | |
| 	 *
 | |
| 	 * @param   mixed    $from     Ignored
 | |
| 	 * @param   mixed    $to       Ignored
 | |
| 	 * @param   boolean  $include  Ignored
 | |
| 	 *
 | |
| 	 * @return  string  Empty string
 | |
| 	 */
 | |
| 	public function range($from, $to, $include = false)
 | |
| 	{
 | |
| 		return '';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Dummy method; this search makes no sense for text fields
 | |
| 	 *
 | |
| 	 * @param   mixed    $from     Ignored
 | |
| 	 * @param   mixed    $to       Ignored
 | |
| 	 * @param   boolean  $include  Ignored
 | |
| 	 *
 | |
| 	 * @return  string  Empty string
 | |
| 	 */
 | |
| 	public function modulo($from, $to, $include = false)
 | |
| 	{
 | |
| 		return '';
 | |
| 	}
 | |
| }
 |