. * * You can contact The Jam Warehouse Software (Pty) Limited, Unit 1, Tramber Place, * Blake Street, Observatory, 7925 South Africa. or email info@knowledgetree.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. * * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * KnowledgeTree" logo and retain the original copyright notice. If the display of the * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices * must display the words "Powered by KnowledgeTree" and retain the original * copyright notice. * Contributor( s): ______________________________________ * */ class GeneralTextField extends SearchableText { public function __construct() { parent::__construct('General', _kt('General Text')); $this->setAlias('GeneralText'); } public function getInputRequirements() { return array('value'=>array('type'=>FieldInputType::TEXT)); } public function is_valid() { return DefaultOpCollection::validateParent($this, DefaultOpCollection::$contains); } public function rewrite(&$left, &$op, &$right) { // note the grouping of the db queries $left = new OpExpr(new DocumentTextField(), ExprOp::CONTAINS, $right); $op = ExprOp::OP_OR; $right = new OpExpr( new OpExpr(new FilenameField(), ExprOp::CONTAINS, $right), ExprOp::OP_OR, new OpExpr( new OpExpr( new TitleField(), ExprOp::CONTAINS, $right), ExprOp::OP_OR, new OpExpr(new AnyMetadataField(), ExprOp::CONTAINS, $right) ) ); } } ?>