. * * You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco, * California 94120-7775, 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 FolderField extends DBFieldExpr { public function __construct() { parent::__construct('full_path', 'documents', _kt('Folder')); $this->setAlias('Folder'); // do want values quoted for folder db search /*$this->isValueQuoted(false);*/ } public function getInputRequirements() { return array('value'=>array('type'=>FieldInputType::TEXT)); } public function is_valid() { return DefaultOpCollection::validateParent($this, DefaultOpCollection::$is); } public function modifyName($sql) { $this->path = $sql; return "case when position('/' in $sql) = 0 then '/' " . "else reverse(substring(reverse($sql) from position('/' in reverse($sql)) + 1 )) end"; } // do not want to modify the value for a folder search /* public function modifyValue($value) { return "case when position('/' in $this->path) = 0 then '/' else '$value' end"; } */ } ?>