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

📄 criteria.inc.svn-base

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
    function folderDisplay($oFolder) {        return $oFolder->getID();    }}class TitleCriterion extends BrowseCriterion {    var $bFolderCriterion = true;    var $bString = true;    var $sSearchTable = "DM";    var $bContains = true;    var $sDocumentField = 'name';    var $sSortField = 'name';    var $sNamespace = 'ktcore.criteria.title';    function TitleCriterion() {        $this->sDisplay = _kt('Document Title');    }    function documentDisplay ($oDocument) {        return $oDocument->getName();    }    function folderDisplay($oFolder) {        return $oFolder->getDescription();    }    function getFolderSortField() {        return 'description';    }}class CreatorCriterion extends BrowseCriterion {    var $sSearchTable = "D";    var $bFolderCriterion = true;    var $aLookup = array(        "table" => "users",        "field" => "name",    );    var $sDocumentField = 'creator_id';    var $sSortField = 'creator_id';    var $sNamespace = 'ktcore.criteria.creator';    function CreatorCriterion() {        $this->sDisplay = _kt('Creator');    }    function documentDisplay ($oDocument) {        $oCreator = User::get($oDocument->getCreatorID());        if ($oCreator) {            return $oCreator->getName();        }        return "&nbsp;";    }    function folderDisplay($oFolder) {        return $this->documentDisplay($oFolder);    }    function parameterDisplay($aData) {	$sBase = $this->baseParameterDisplay();	$oUser =& User::get($aData[$this->getWidgetBase()]);	if(PEAR::isError($oUser)) {	    return $sBase . 'unknown user';	}	return $sBase . $oUser->getName();    }    function searchWidget ($aRequest, $aPreValue = null) {        $preval = null;        if ($aPreValue != null) {            // !#@&)*( (*&!@# *(&@NOT (*&!@#            $k = array_keys($aPreValue);            $k = $this->getWidgetBase();            $preval = $aPreValue[$k];        }        $sRet = $this->getNotWidget($aPreValue) . "<select size=\"1\" name=\"" . $this->getWidgetBase() . "\">\n";        $aUsers = User::getList();/*ok*/        $sRet .= "<option value=\"-1\">None</option>\n";        foreach ($aUsers as $oUser) {            $sSelStr = '';            if ($preval == $oUser->getId()) { $sSelStr = ' selected="true"'; }            $sRet .= "<option value=\"" . $oUser->getID() . "\"" . $sSelStr . ">" . $oUser->getName() . "</option>\n";        }        $sRet .= "</select>\n";        return $sRet;    }}class DateCreatedCriterion extends BrowseCriterion {    var $sSearchTable = "D";    var $sDocumentField = 'created';    var $sSortField = 'created';    var $sNamespace = 'ktcore.criteria.datecreated';    function DateCreatedCriterion() {        $this->sDisplay = _kt('Date Created');    }    function documentDisplay ($oDocument) {        return $oDocument->getCreatedDateTime();    }    function parameterDisplay($aData) {	$sDisp = $this->baseParameterDisplay();	$sStart = KTUtil::arrayGet($aData, $this->getWidgetBase() . '_start', false);	$sEnd = KTUtil::arrayGet($aData, $this->getWidgetBase() . '_end', false);	if($sStart) {	    $sDisp .= _kt('after ') .$sStart;	}	if($sStart && $sEnd) {	    $sDisp .= _kt(' and ');	}	if($sEnd) {	    $sDisp .= _kt('before ') .$sEnd;	}	return $sDisp;    }    function getName() {        return "created";    }    function searchWidget ($aRequest, $aPreValue = null) {        global $default;        // IMPORTANT:  this requires the presence of kt3-calendar.js        $sStartWidget = $this->getWidgetBase() . "_start";        $sEndWidget = $this->getWidgetBase() . "_end";        /* // legacy code.        $sToRender = "After date: <input type=\"text\" size=\"10\" name=\"" . $sStartWidget . "\" />";        $sToRender .= "&nbsp;&nbsp;<a href=\"javascript:show_calendar('MainForm." . $sStartWidget . "',null,null,'YYYY-MM-DD', false);\" onmouseover=\"window.status='Date Picker';return true;\" onmouseout=\"window.status='';return true;\"><img src=\"$default->graphicsUrl/calendar/calendar.gif\" name=\"imgCalendar\" width=\"34\" height=\"21\" border=\"0\" alt=\"\"></a>";        $sToRender .= " &nbsp; Before date: <input type=\"text\" size=\"10\" name=\"" . $sEndWidget . "\" />";        $sToRender .= "&nbsp;&nbsp;<a href=\"javascript:show_calendar('MainForm." . $sEndWidget . "',null,null,'YYYY-MM-DD', false);\" onmouseover=\"window.status='Date Picker';return true;\" onmouseout=\"window.status='';return true;\"><img src=\"$default->graphicsUrl/calendar/calendar.gif\" name=\"imgCalendar\" width=\"34\" height=\"21\" border=\"0\" alt=\"\"></a>";        */        $sToRender = $this->getNotWidget($aPreValue);        $sToRender .= _kt('after') . ': <span class="kt_calendar_holder"><strong class="kt_calendar_datetext">' . $aPreValue[$sStartWidget] . '</strong><input type="hidden" name="' . $sStartWidget . '" class="kt_calendar_value" value="' . $aPreValue[$sStartWidget] . '"/> <input type="button" onclick="init_kt_calendar(this);" value="select"></span> and/or ';        $sToRender .= _kt('before') . ': <span class="kt_calendar_holder"><strong class="kt_calendar_datetext">' . $aPreValue[$sEndWidget] . '</strong><input type="hidden" name="' . $sEndWidget . '" class="kt_calendar_value" value="' . $aPreValue[$sEndWidget] . '"/> <input type="button" onclick="init_kt_calendar(this);" value="select"></span><br />';        return $sToRender;    }    function searchSQL ($aRequest) {        $sStartWidget = $this->getWidgetBase() . "_start";        $sEndWidget = $this->getWidgetBase() . "_end";        // XXX: DateTimeFixup: Should be more intelligent with handling        // end date - should be end of day on that day.        if (!array_key_exists($this->getWidgetBase() . "_start", $aRequest)) {            $sStart = null;        } else {            $sStart = $aRequest[$this->getWidgetBase() . "_start"];        }        if (!array_key_exists($this->getWidgetBase() . "_end", $aRequest)) {            $sEnd = null;        } else {            $sEnd = $aRequest[$this->getWidgetBase() . "_end"];        }        $val = null;        if ($sStart && $sEnd) {            $val = array($this->getSearchTable() . "." . $this->getSearchField() . " BETWEEN ? AND ?", array($sStart, $sEnd));        } else if ($sStart) {            $val = array($this->getSearchTable() . "." . $this->getSearchField() . " > ?", array($sStart));        } else if ($sEnd) {            $val = array($this->getSearchTable() . "." . $this->getSearchField() . " < ?", array($sEnd));        } else {           return null;        }        // handle the boolean "not" stuff.        $want_invert = KTUtil::arrayGet($aRequest, $this->getWidgetBase() . '_not');        if (is_null($want_invert) || ($want_invert == "0")) {            return $val;        } else {            $val[0] = '(NOT (' . $val[0] . '))';        }        // finally        return $val;    }}class DocumentTypeCriterion extends BrowseCriterion {    var $sSearchTable = "DM";    var $aLookup = array(        "table" => "document_types_lookup",        "field" => "name"    );    var $sDocumentField = 'document_type_id';    var $sSortField = 'document_type_id';    var $sNamespace = 'ktcore.criteria.documenttype';    function DocumentTypeCriterion() {        $this->sDisplay = _kt('Document Type');    }    function documentDisplay ($oDocument) {        $oDocumentType = DocumentType::get($oDocument->getDocumentTypeID());        if ($oDocumentType) {            return $oDocumentType->getName();        }        return "&nbsp;";    }    function searchWidget ($aRequest, $aPreValue = null) {        $preval = null;        if ($aPreValue != null) {            // !#@&)*( (*&!@# *(&@NOT (*&!@#            $k = array_keys($aPreValue);            $k = $this->getWidgetBase();            $preval = $aPreValue[$k];        }        $sRet = $this->getNotWidget($aPreValue);        $sRet .= "<select size=\"1\" name=\"" . $this->getWidgetBase() . "\">\n";        $aUsers = DocumentType::getList();/*ok*/        $sRet .= "<option value=\"-1\">None</option>\n";        foreach ($aUsers as $oUser) {            $sSelStr = '';            if ($preval == $oUser->getId()) { $sSelStr = ' selected="true"'; }            $sRet .= "<option value=\"" . $oUser->getID() . "\"" . $sSelStr . ">" . $oUser->getName() . "</option>\n";        }        $sRet .= "</select>\n";        return $sRet;    }}class GenericMetadataCriterion extends BrowseCriterion {    var $aLookup = array(        "table" => "document_fields_link",        "field" => "value",        "joinColumn" => "document_id",    );    var $bString = true;    var $sDocumentField = null;    var $sSortField = null;    var $sNamespace = 'ktcore.criteria.generic';    function initialize($sDisplay, $sDocumentField, $sSortField, $iID, $sNamespace) {	$this->sDisplay = $sDisplay;	$this->sDocumentField = $sDocumentField;	$this->sSortField = $sSortField;        $this->iID = $iID;        $this->aLookup['whereClause'] = 'document_field_id = ' .  $iID;        $this->oField = DocumentField::get($iID);	$this->sNamespace = $sNamespace;        $this->sSearchTable = "DFL" . $iID;    }    function getID() {        return $this->iID;    }    function documentDisplay ($oDocument) {        global $default;        $sQuery = "SELECT DFL.value as value " .              "FROM $default->document_fields_link_table AS DFL " .              "WHERE DFL.metadata_version_id = ? " .              "AND DFL.document_field_id = ?";        $aParams = array($oDocument->getMetadataVersionId(), $this->getID());        $res = DBUtil::getOneResultKey(array($sQuery, $aParams), 'value');        if (PEAR::isError($res)) {            // WARN: Add log warning            return "&nbsp;";        }        return $res;    }    function getName() {        global $default;        $aQuery = array("SELECT name FROM $default->document_fields_table WHERE id = ?", array($this->getID())); /*ok*/        return "gmd_" . DBUtil::getOneResultKey($aQuery, 'name');    }    function getSearchField () {        return $this->aLookup['field'];    }    function searchWidget ($aRequest, $aPreValue = null) {        $preval = null;        if ($aPreValue != null) {            // !#@&)*( (*&!@# *(&@NOT (*&!@#            $k = array_keys($aPreValue);            $k = $this->getWidgetBase();            $preval = $aPreValue[$k];        }        // If there's no lookup, just use the standard text input        if ($this->oField->getHasLookup() == false) {            $this->bContains = true; // contains            return parent::searchWidget($aRequest, $aPreValue);        }        $this->bContains = false; // is        $sRet = $this->getNotWidget($aPreValue);        $sRet .= "<select size=\"1\" name=\"" . $this->getWidgetBase() . "\">\n";        $aSearch = array('document_field_id = ?', $this->getID());        $aMetaData = MetaData::getByDocumentField(DocumentField::get($this->getID()));/*ok*/        $sRet .= "<option value=\"-1\">None</option>\n";        foreach ($aMetaData as $oMetaData) {            $sSelStr = '';            if ($preval == $oMetaData->getName()) { $sSelStr = ' selected="true"'; }            $sRet .= "<option value=\"" . $oMetaData->getName() . "\" " . $sSelStr . ">" . $oMetaData->getName() . "</option>\n";        }        $sRet .= "</select>\n";        return $sRet;    }    function searchSQL ($aRequest) {        $p = parent::searchSQL($aRequest, false); // handle not ourselves.        $p[0] = join(' AND ', array($p[0], "$this->sSearchTable.document_field_id = ?"));        $p[1] = kt_array_merge($p[1], array($this->iID));        // handle the boolean "not" stuff.        $want_invert = KTUtil::arrayGet($aRequest, $this->getWidgetBase() . '_not');        if (is_null($want_invert) || ($want_invert == "0")) {            return $p;        } else {            $p[0] = '(NOT (' . $p[0] . '))';        }        return $p;    }    function searchJoinSQL () {        global $default;        return "LEFT JOIN $default->document_fields_link_table AS $this->sSearchTable ON $this->sSearchTable.metadata_version_id = D.metadata_version_id";    }}class GeneralMetadataCriterion extends BrowseCriterion {    var $aLookup = array(        "table" => "document_fields_link",        "field" => "value",        "joinColumn" => "document_id",    );    var $bString = true;    var $sDocumentField = 'value';

⌨️ 快捷键说明

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