. * * 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'); class MultiSelectPlugin extends KTPlugin { var $sNamespace = "inet.multiselect.lookupvalue.plugin"; var $autoRegister = true; var $showInAdmin = false; /** * returns plugin name * @param string. * @return string. * * iNET Process */ function MultiSelectPlugin($sFilename = null) { $res = parent::KTPlugin($sFilename); $this->sFriendlyName = _kt('Multi-select Plugin'); return $res; } /** * Register the action, location, call adminsetup function and sql function * iNET Process */ function setup() { $oTemplating =& KTTemplating::getSingleton(); $oTemplating->addLocation('Multiselect in metadata Part {lookup Value}', '/plugins/multiselect/templates'); $dir = dirname(__FILE__); $this->applySQL(realpath($dir . '/sql/script.sql')); //For adding documents $this->registerAction('folderaction', 'MultiDocumentAddAction', 'inet.multiselect.actions.document.addDocument', 'addDocument.php'); //For bulk upload $this->registerAction('folderaction', 'InetBulkUploadFolderAction', 'inet.actions.folder.bulkUpload', 'BulkUpload.php'); /** * Change Starts | iNET Process * Code is Added 2009-03-04 :SL * Reason : To Register "import from folder location" action for multiselect */ $this->registerAction('folderaction', 'InetBulkImportFolderMultiSelectAction', 'inet.actions.folder.bulkImport.multiselect', 'BulkImport.php'); /** * Change Ends | iNET Process */ $this->setupAdmin(); } /** * applies queries to the database * @return * @param $filename Object */ function applySQL($filename) { global $default; DBUtil::setupAdminDatabase(); $db = $default->_admindb; $content = file_get_contents($filename); $aQueries = SQLFile::splitSQL($content); DBUtil::startTransaction(); foreach($aQueries as $sQuery) { $res = DBUtil::runQuery($sQuery, $db); if (PEAR::isError($res)) { continue; } } DBUtil::commit(); } /** * Sets up an admin * @return */ function setupAdmin() { //FIXME: The kt_hideadminlink.js script hides the link on the client side. The faulty link/action // should be de-registerred and removed at the server side. The function below breaks things // so don't use. // e.g. $this->deRegisterPluginHelper('documents/fieldmanagement2', 'KTDocumentFieldDispatcher'); $js .= ""; $this->registerAdminPage('ratpfieldset', 'InetDocumentFieldDispatcher', 'documents', $js._kt('Document Fieldsets'), _kt('Manage the different types of information with multiselect functionality that can be associated with classes of documents.'), 'InetdocumentFieldsv2.php', null); } } $oPluginRegistry =& KTPluginRegistry::getSingleton(); $oPluginRegistry->registerPlugin('MultiSelectPlugin', 'inet.multiselect.lookupvalue.plugin', __FILE__); ?>