⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customfieldsvalues.class.php

📁 一个用PHP编写的
💻 PHP
字号:
<?php    lt_include( PLOG_CLASS_PATH."class/dao/model.class.php" );    lt_include( PLOG_CLASS_PATH."class/dao/customfields/customfields.class.php" );    lt_include( PLOG_CLASS_PATH."class/dao/customfields/customfieldvaluefactory.class.php" );        	lt_include( PLOG_CLASS_PATH."class/dao/daocacheconstants.properties.php" );	    /**     * Model for the values given to certain custom fields     *     * \ingroup DAO     */    class CustomFieldsValues extends Model     {            function CustomFieldsValues()        {            $this->Model();            $this->table = $this->getPrefix()."custom_fields_values";        }                /**         * @param id         * @return A CustomFieldValue object         */        function getCustomFieldValue( $id )        {        	return( $this->get( "id", $id, CACHE_CUSTOMFIELDVALUES ));        }                /**         * returns an array of CustomFieldValue objects with information about all         * the custom fields available for an article         *         * @param articleId The id of the article         * @param includeHidden Whether to return hidden fields or not         * @return An array of CustomFieldValue objects, or false if error         */        function getArticleCustomFieldsValues( $articleId, $includeHidden = true )        {                               $prefix = $this->getPrefix();            $query = "SELECT v.id AS id, d.id AS field_id, v.field_value AS field_value,                              d.field_name AS field_name, d.field_type AS field_type,                              d.field_description AS field_description,							 v.article_id AS article_id, v.blog_id AS blog_id                             FROM {$prefix}custom_fields_values v                              RIGHT OUTER JOIN {$prefix}custom_fields_definition d                              ON v.article_id = ".Db::qstr($articleId)." AND v.field_id = d.id";                                  $result = $this->Execute( $query );                        $fields = Array();                                    // return empty array if no fields            if( !$result )                return $fields;                        while( $row = $result->FetchRow()) {                $field = $this->mapRow( $row );                $fields[$field->getName()] = $field;            }            $result->Close();            return $fields;        }        /**         * adds a custom field value to the given article         *         * @param fieldId         * @param fieldValue         * @param articleId         * @param blogId         * @return True if successful or false otherwise         */        function addCustomFieldValue( $fieldId, $fieldValue, $articleId, $blogId )        {        	// create a bogus object, we don't really need a full CustomFieldValue object        	// but it makes it easier for us if we'd like to use Model::add()        	$value = new CustomFieldValue( $fieldId,         	                               $fieldValue,        	                               $articleId,        	                               $blogId );			if( $result = $this->add( $value )) {				$this->_cache->removeData( $articleId, CACHE_CUSTOMFIELDVALUES_ARTICLE );			}						return( $result );        }                        /**         * removes a value of a custom field, given its id.         *         * @param id         * @return True if deleted successfully or false otherwise.         */        function removeCustomFieldValue( $id )        {        	$field = $this->getCustomFieldValue( $id );        	if( !$field )        		return false;        		        	if( $result = $this->delete( "id", $id )) {        		$this->_cache->removeData( $field->getArticleId(), CACHE_CUSTOMFIELDVALUES_ARTICLE );        	}        	return( $result );        }                /**         * Removes all the values associated to a certain custom field         *         * @param fieldId         * @return True if successful or false otherwise.         */        function removeCustomFieldValues( $fieldId )        {        	$result = $this->delete( "field_id", $fieldId );        	return( true );        }                /**         * Removes all the values associated to an article         *         * @param articleId         * @return True if deleted successfully or false otherwise.         */        function removeArticleCustomFields( $articleId )        {        	if( $result = $this->delete( "article_id", $articleId )) {				$this->_cache->removeData( $articleId, CACHE_CUSTOMFIELDVALUES_ARTICLE );				$result = true;			}						return( $result );        }		/**		 * Returns the search string needed to find custom fields based on their values		 *		 * @param		 * @return		 */		function getSearchConditions( $searchTerms )		{			lt_include( PLOG_CLASS_PATH."class/dao/searchengine.class.php" );						$query = SearchEngine::adaptSearchString($searchTerms);            $query_array = explode(' ',$query);							$db =& Db::getDb();			if( $db->isFullTextSupported()) {							// fast path used when FULLTEXT searches are supported				$where_string = "(MATCH(c.normalized_value) AGAINST ('{$query}' IN BOOLEAN MODE))";							}			else {	            $where_string = "(";	            $where_string .= "(v.normalized_value LIKE '%{$query_array[0]}%')";	            for ( $i = 1; $i < count($query_array); $i = $i + 1) {	                $where_string .= " AND ((v.normalized_value LIKE '%{$query_array[$i]}%'))";	            }	            $where_string .= " OR (v.normalized_value LIKE '%{$query}%')";	            $where_string .= ")";			}			return( $where_string );		}                /**         * @private         */        function mapRow( $row )        {            return CustomFieldValueFactory::getCustomFieldValueObject( $row );        }    }?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -