tagcloudplugin.php.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 193 行

SVN-BASE
193
字号
<?php/* * $Id$ * * KnowledgeTree Community Edition * Document Management Made Simple * Copyright (C) 2008 KnowledgeTree Inc. * Portions copyright The Jam Warehouse Software (Pty) Limited * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 3 as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License * along with this program.  If not, see <http://www.gnu.org/licenses/>. * * 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): ______________________________________ * */require_once(KT_LIB_DIR . '/plugins/plugin.inc.php');require_once(KT_LIB_DIR . '/plugins/pluginregistry.inc.php');require_once('TagCloudRedirectPage.php');require_once(KT_LIB_DIR . '/templating/templating.inc.php'); /**  * Tag Cloud Plugin class  *  */ class TagCloudPlugin extends KTPlugin{ 	var $sNamespace = 'ktcore.tagcloud.plugin'; 	var $iVersion = 1; 	/** 	 * Constructor method for plugin 	 * 	 * @param string $sFilename 	 * @return TagCloudPlugin 	 */ 	function TagCloudPlugin($sFilename = null) {        $res = parent::KTPlugin($sFilename);        $this->sFriendlyName = _kt('Tag Cloud Plugin');        return $res;    }    /**     * Setup function for plugin     *     */    function setup() {    	// Register plugin components		$this->registerCriterion('TagCloudCriterion', 'ktcore.criteria.tagcloud', KT_LIB_DIR . '/browse/Criteria.inc');		$this->registerDashlet('TagCloudDashlet', 'ktcore.tagcloud.feed.dashlet', 'TagCloudDashlet.php');		$this->registerPage('TagCloudRedirection', 'TagCloudRedirectPage', __FILE__);		$this->registerPortlet(array(), 'TagCloudPortlet', 'tagcloud.portlet', 'TagCloudPortlet.php');        // Check if the tagcloud fielset entry exists, if not, create it        $iFieldsetId = TagCloudPlugin::tagFieldsetExists();        if($iFieldsetId === false){        	$oFieldset = TagCloudPlugin::createFieldset();        	if (PEAR::isError($oFieldset) || is_null($oFieldset)) {	            return false;	        }        	// make the fieldset id viewable        	$iFieldsetId = $oFieldset->iId;        }        // Check if the tagcloud document field entry exists, if not, create it        $fExists = TagCloudPlugin::tagFieldExists();        if($fExists === false){        	$oField = TagCloudPlugin::createDocumentField($iFieldsetId);        	if (PEAR::isError($oField) || is_null($oField)) {	            return false;	        }        }        $oTemplating =& KTTemplating::getSingleton();        $oTemplating->addLocation('Tag Cloud Plugin', '/plugins/tagcloud/templates');    }    /**     * function to add fieldset entry to fieldsets table     *     * @return unknown     */    function createFieldset(){    	// create the fieldsets entry    	$oFieldset = KTFieldset::createFromArray(array(            'name' => _kt('Tag Cloud'),	    	'description' => _kt('The following tags are associated with your document'),            'namespace' => 'tagcloud',            'mandatory' => false,	    	'isConditional' => false,            'isGeneric' => true,            'isComplete' => false,            'isComplex' => false,            'isSystem' => false,        ));		return $oFieldset;    }    /**     * function to add the tagcloud entry to the document_fields table     *     * @param int $parentId     * @return int $id     */    function createDocumentField($parentId){    	// create the document_field entry    	$id = DocumentField::createFromArray(array(            'Name' => 'Tag',            'Description' => 'Tag Words',            'DataType' => 'STRING',            'IsGeneric' => false,            'HasLookup' => false,            'HasLookupTree' => false,            'ParentFieldset' => $parentId,            'IsMandatory' => false,        ));		return $id;    }    /**     * function to check if the Tag field exists in the document_fields table     *     * @return boolean     */    function tagFieldExists(){    	$sQuery = 'SELECT df.id AS id FROM document_fields AS df ' .				'WHERE df.name = \'Tag\'';		$sTag = DBUtil::getOneResultKey(array($sQuery), 'id');        if (PEAR::isError($sTag)) {            global $default;            $default->log->error('Tag Cloud plugin - error checking tag field: '.$sTag->getMessage());            return $sTag;        }        if(is_numeric($sTag)){        	return $sTag;        }else{        	return false;        }    }    /**     * function to check if the fieldset exists in the database     *     * @return boolean     */    function tagFieldsetExists(){    	$sQuery = 'SELECT fs.id AS id FROM fieldsets AS fs '.    			'WHERE namespace = \'tagcloud\'';		$iFieldset = DBUtil::getOneResultKey(array($sQuery), 'id');        if (PEAR::isError($iFieldset)) {            global $default;            $default->log->error('Tag Cloud plugin - error checking tag fieldset: '.$iFieldset->getMessage());            return $iFieldset;        }        if(is_numeric($iFieldset)){        	return $iFieldset;        }else{        	return false;        }    } }$oPluginRegistry =& KTPluginRegistry::getSingleton();$oPluginRegistry->registerPlugin('TagCloudPlugin', 'ktcore.tagcloud.plugin', __FILE__);?>

⌨️ 快捷键说明

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