sFriendlyName = _kt('User Preferences Plugin'); $this->sSQLDir = PLUGINDIR_UserPreferencesPlugin . DIRECTORY_SEPARATOR. 'sql' . DIRECTORY_SEPARATOR; $this->dir = dirname(__FILE__); } /** * Basic plugin setup * * @param none * @return none */ function setup() { $this->registerAdminPage("adminuserpreferencesmanagement", 'adminManageUserPreferencesDispatcher', 'misc', _kt('User Preferences'), _kt('User Preferences'), 'manageUserPreferences.php', null); $this->registerPage('userpreferencesmanagement', 'ManageUserPreferencesDispatcher', 'manageUserPreferences.php'); $plugin_dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; require_once(KT_LIB_DIR . '/templating/templating.inc.php'); $oTemplating =& KTTemplating::getSingleton(); $oTemplating->addLocation('UserPreferencesPlugin', $plugin_dir.'templates', 'fs.UserPreferencesPlugin.plugin'); $this->applySQL(); // Create Table } function applySQL() { $sql = "select * from user_preferences"; $result = DBUtil::getResultArray($sql); if (!PEAR::isError($result)) { return; // if we find the table, we assume it has been applied } $filename = $this->sSQLDir . 'user_preferences.sql'; $content = file_get_contents($filename); global $default; DBUtil::setupAdminDatabase(); $db = $default->_admindb; $aQueries = SQLFile::splitSQL($content); DBUtil::startTransaction(); $res = DBUtil::runQueries($aQueries, $db); if (PEAR::isError($res)) { DBUtil::rollback(); return $res; } DBUtil::commit(); } /** * Method to setup the plugin on rendering it * * @param none * @return boolean */ function run_setup() { return true; } /** * Register the plugin * * @return unknown */ function register() { $oEnt = parent::register(); return $oEnt; } public function getUserPreferences($iUserId, $sKey) { $aPref = UserPreferences::getUserPreferences($iUserId, $sKey); if(PEAR::isError($aPref)) { return false; } if(count($aPref) > 1) { return false; } foreach ($aPref as $oPref) { return $oPref->getValue(); } } } $oPluginRegistry =& KTPluginRegistry::getSingleton(); $oPluginRegistry->registerPlugin('UserPreferencesPlugin', 'up.UserPreferencesPlugin.plugin', __FILE__); ?>