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

📄 upgradefunctions.inc.php.svn-base

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
        if (PEAR::isError($res)) {            return $res;        } else {            $bad_group_links = kt_array_merge($bad_group_links, $res);        }        foreach ($bad_group_links as $link_id) {            $res = DBUtil::runQuery(array("DELETE FROM groups_groups_link WHERE id = ?", $link_id));            if (PEAR::isError($res)) {                return $res;            }        }        $res = DBUtil::getResultArrayKey(array($group_query, null), 'link_id');        if (PEAR::isError($res)) {            return $res;        } else {            $bad_user_links = $res;        }        $res = DBUtil::getResultArrayKey(array($user_query, null), 'link_id');        if (PEAR::isError($res)) {            return $res;        } else {            $bad_user_links = kt_array_merge($bad_user_links, $res);        }        foreach ($bad_user_links as $link_id) {            $res = DBUtil::runQuery(array("DELETE FROM users_groups_link WHERE id = ?", $link_id));            if (PEAR::isError($res)) {                return $res;            }        }        return true;    }    // }}}    // {{{  cleanupOldKTAdminVersionNotifier    function cleanupOldKTAdminVersionNotifier() {        global $default;        $oldFile = KT_DIR . "/plugins/ktstandard/KTAdminVersionPlugin.php";        if(file_exists($oldFile)) return unlink($oldFile);        return true;    }    // }}}    // {{{ updateConfigFile35    function updateConfigFile35()    {        // The following is no longer needed due to defaults now being in place.        // It also was corrupting the file "sometimes".        // We leave the function in but do nothing so we don't mess with the upgrades table.        return;/*    	$config = KTConfig::getSingleton();        $configPath = KTConfig::getConfigFilename();    	$configPath = str_replace(array("\n","\r"), array('',''), $configPath);        if(file_exists($configPath)) {            $ini = new Ini($configPath);            // Webservices Section            $ini->addItem('webservice', 'uploadDirectory', '${varDirectory}/uploads');            $ini->addItem('webservice', 'downloadUrl', '${rootUrl}/ktwebservice/download.php');            $ini->addItem('webservice', 'uploadExpiry', '30');            $ini->addItem('webservice', 'downloadExpiry', '30');            $ini->addItem('webservice', 'randomKeyText', 'bkdfjhg23yskjdhf2iu');            $ini->addItem('webservice', 'validateSessionCount', 'false');            // externalBinary Section            $ini->delSection('externalBinary');            if(OS_WINDOWS){                $ini->addItem('externalBinary', 'xls2csv', KT_STACK_DIR . '/bin/catdoc/xls2csv.exe', '', 'The following are external binaries that may be used by various parts of knowledgeTree.');                $ini->addItem('externalBinary', 'pdftotext', KT_STACK_DIR . '/bin/xpdf/pdftotext.exe');                $ini->addItem('externalBinary', 'catppt', KT_STACK_DIR . '/bin/catdoc/catppt.exe');                $ini->addItem('externalBinary', 'pstotext', KT_STACK_DIR . '/bin/pstotext/pstotext.exe');                $ini->addItem('externalBinary', 'catdoc', KT_STACK_DIR . '/bin/catdoc/catdoc.exe');                $ini->addItem('externalBinary', 'antiword', KT_STACK_DIR . '/bin/antiword/antiword.exe');                $ini->addItem('externalBinary', 'python', KT_STACK_DIR . '/openoffice/program/python.bat');                $ini->addItem('externalBinary', 'java', KT_STACK_DIR . '/java/jre/bin/java.exe');                $ini->addItem('externalBinary', 'php', KT_STACK_DIR . '/php/php.exe');                $ini->addItem('externalBinary', 'df', KT_STACK_DIR . '/bin/gnuwin32/df.exe');            } else {                $ini->addItem('externalBinary', 'xls2csv', KT_STACK_DIR . '/common/bin/xls2csv', '', 'The following are external binaries that may be used by various parts of knowledgeTree.');                $ini->addItem('externalBinary', 'pdftotext', KT_STACK_DIR . '/common/bin/pdftotext');                $ini->addItem('externalBinary', 'catppt', KT_STACK_DIR . '/common/bin/catppt');                $ini->addItem('externalBinary', 'pstotext', KT_STACK_DIR . '/common/bin/pstotext');                $ini->addItem('externalBinary', 'catdoc', KT_STACK_DIR . '/common/bin/catdoc');                $ini->addItem('externalBinary', 'antiword', KT_STACK_DIR . '/common/bin/antiword');                $ini->addItem('externalBinary', 'python', KT_STACK_DIR . '/openoffice/program/python');                $ini->addItem('externalBinary', 'java', KT_STACK_DIR . '/java/jre/bin/java');                $ini->addItem('externalBinary', 'php', KT_STACK_DIR . '/php/bin/php');                $ini->addItem('externalBinary', 'df', ';'. KT_STACK_DIR . '/common/bin/df');            }            // search Section            $ini->addItem('search', 'resultsPerPage', 'default', "The number of results per page\r\n; defaults to 25");            $ini->addItem('search', 'dateFormat', 'default', "The date format used when making queries using widgets\r\n; defaults to Y-m-d");            // indexer Section            $ini->addItem('indexer', 'coreClass', 'JavaXMLRPCLuceneIndexer', "The core indexing class\r\n;coreClass=PHPLuceneIndexer");            $ini->addItem('indexer', 'batchDocuments', 'default', "The number of documents to be indexed in a cron session\r\n; defaults to 20");            $ini->addItem('indexer', 'batchMigrateDocuments', 'default', "The number of documents to be migrated in a cron session\r\n; defaults to 500");            $ini->addItem('indexer', 'luceneDirectory', '${varDirectory}/indexes', "The location of the lucene indexes");            $ini->addItem('indexer', 'javaLuceneURL', 'default', "The url for the Java Lucene Server. This should match up with the Lucene Server configuration.\r\n; defaults to http://127.0.0.1:8875");            // openoffice Section            $ini->addItem('openoffice', 'host', 'default', "The host on which open office is installed\r\n; defaults to 127.0.0.1");            $ini->addItem('openoffice', 'port', 'default', "The port on which open office is listening\r\n; defaults to 8100");            // user_prefs Section            $ini->addItem('user_prefs', 'passwordLength', '6', "The minimum password length on password-setting\r\n; could be moved into DB-auth-config");            $ini->addItem('user_prefs', 'restrictAdminPasswords', 'default', "Apply the minimum password length to admin while creating / editing accounts?\r\n; default is set to \"false\" meaning that admins can create users with shorter passwords.");            $ini->addItem('user_prefs', 'restrictPreferences', 'false', "Restrict users from accessing their preferences menus?");            // builtinauth Section            $ini->addItem('builtinauth', 'password_change_interval', '30', "This would force users that use the built-in authentication provider\r\n; to have to change their passwords every 30 days." ,"This is configuration for the built-in authentication provider");            // cache Section            if(OS_WINDOWS){                $ini->addItem('cache', 'cacheEnabled', 'false', '', "Enable/disable the cache and set the cache location");            } else {                $ini->addItem('cache', 'cacheEnabled', 'true', '', "Enable/disable the cache and set the cache location");            }            $ini->addItem('cache', 'cacheDirectory', '${varDirectory}/cache');            $ini->addItem('cache', 'cachePlugins', 'true');            // KTWebDAVSettings Section            $ini->addItem('KTWebDAVSettings', 'debug', 'off', '_LOTS_ of debug info will be logged if the following is "on"', 'This section is for KTWebDAV only');            $ini->addItem('KTWebDAVSettings', 'safemode', 'on', 'To allow write access to WebDAV clients set safe mode to "off" below');            // BaobabSettings Section            $ini->addItem('BaobabSettings', 'debug', 'off', '_LOTS_ of debug info will be logged if the following is "on"', 'This section is for Boabab only');            $ini->addItem('BaobabSettings', 'safemode', 'on', 'To allow write access to WebDAV clients set safe mode to "off" below');            // backup Section            $ini->addItem('backup', 'backupDirectory', 'default', "Identify location of kt-backup for database backups\r\n;backupDirectory = c:/kt-backups\r\n;backupDirectory = /tmp/kt-backups");            $ini->addItem('backup', 'mysqlDirectory', 'default', "Identify the location of the mysql.exe and mysqldump.exe\r\n;mysqlDirectory = c:/program files/ktdms/mysql/bin");            // clientToolPolicies Section            $ini->addItem('clientToolPolicies', 'explorerMetadataCapture', 'true', "These two settings control whether or not the client is prompted for metadata when a\r\n;document is added to knowledgetree via KTtools. They default to true.");            $ini->addItem('clientToolPolicies', 'officeMetadataCapture', 'true');            $ini->addItem('clientToolPolicies', 'captureReasonsDelete', 'true', "These settings govern whether reasons are asked for in KTtools.");            $ini->addItem('clientToolPolicies', 'captureReasonsCheckin', 'true');            $ini->addItem('clientToolPolicies', 'captureReasonsCheckout', 'true');            $ini->addItem('clientToolPolicies', 'captureReasonsCancelCheckout', 'true');            $ini->addItem('clientToolPolicies', 'captureReasonsCopyInKT', 'true');            $ini->addItem('clientToolPolicies', 'captureReasonsMoveInKT', 'true');            $ini->addItem('clientToolPolicies', 'allowRememberPassword', 'true');            // DiskUsage Section            $ini->addItem('DiskUsage', 'warningThreshold', '10', "When free space in a mount point is less than this percentage,\r\n; the disk usage dashlet will highlight the mount in ORANGE", "settings for the Disk Usage dashlet");            $ini->addItem('DiskUsage', 'urgentThreshold', '5', "When free space in a mount point is less than this percentage,\r\n; the disk usage dashlet will highlight the mount in RED");            // CustomErrorMessages Section            $ini->addItem('CustomErrorMessages', 'customerrormessages', 'on', 'Turn custom error messages on or off here (account wide)');            $ini->addItem('CustomErrorMessages', 'customerrorpagepath', 'customerrorpage.php', 'Name or url of custom error page');            $ini->addItem('CustomErrorMessages', 'customerrorhandler', 'on', 'Turn custom error handler on or off');            // URLS Section            $ini->delSection('urls');            $ini->addItem('urls', 'varDirectory', '"'.str_replace('\\', '/', $config->get("urls/varDirectory")).'"', 'directories');            $ini->addItem('urls', 'logDirectory', '${varDirectory}/log');            $ini->addItem('urls', 'documentRoot', '"'.str_replace('\\', '/', $config->get("urls/documentRoot")).'"');            $ini->addItem('urls', 'uiDirectory', '${fileSystemRoot}/presentation/lookAndFeel/knowledgeTree');            $ini->addItem('urls', 'tmpDirectory', '${varDirectory}/tmp');            $ini->addItem('urls', 'graphicsUrl', '${rootUrl}/graphics', 'urls');            $ini->addItem('urls', 'uiUrl', '${rootUrl}/presentation/lookAndFeel/knowledgeTree');            $ini->addItem('urls', ';dedicatedrsstitle', 'RSS Feed Title', 'RSS dedicated feed url');            $ini->addItem('urls', ';dedicatedrssurl', '');            $ini->addItem('urls', 'stopwordsFile', '${fileSystemRoot}/config/stopwords.txt', 'files');            $ini->write();        }*/    }      // }}}    // {{{ registerIndexingTasks    /**     * Registers the functions that are required by the indexing sub-system.     *     */    function registerIndexingTasks()    {    	$ext = OS_WINDOWS?'bat':'sh';    	$year = date('Y');    	$mon = date('m');    	$day = date('d');    	$hour = date('H');    	$min = date('i');    	$min = floor( $min / 5) * 5;		$oScheduler = new Scheduler('Indexing');		$oScheduler->setScriptPath(KT_DIR . '/bin/indexingTask.' . $ext);		$oScheduler->setFrequency('1min');		$oScheduler->setFirstRunTime(date('Y-m-d H:i',mktime($hour, $min, 0, $mon, $day, $year)));		$oScheduler->registerTask();		$oScheduler = new Scheduler('Index Migration');		$oScheduler->setScriptPath(KT_DIR . '/bin/indexMigrationTask.' . $ext);		$oScheduler->setFrequency('5mins');		$oScheduler->setFirstRunTime(date('Y-m-d H:i',mktime($hour, $min, 0, $mon, $day, $year)));		$oScheduler->registerTask();		$oScheduler = new Scheduler('Index Optimisation');		$oScheduler->setScriptPath(KT_DIR . '/bin/optimizeIndexes.' . $ext);		$oScheduler->setFrequency('weekly');		$oScheduler->setFirstRunTime(date('Y-m-d 00:00'));		$oScheduler->registerTask();    }     // }}}    // {{{  removeAdminVersionNotifier    function removeAdminVersionNotifier() {        global $default;        $oldPath = KT_DIR . "/plugins/ktstandard/AdminVersionPlugin";        if(file_exists($oldPath)) return rmdir($oldPath);    }    // }}}    // {{{  removeOldSearchPlugins    function removeOldSearchPlugins() {        global $default;        $oldFile = KT_DIR . "/plugins/ktstandard/SearchDashletPlugin.php";        if(file_exists($oldFile)) unlink($oldFile);        $oldFile = KT_DIR . "/plugins/ktstandard/SearchDashlet.php";        if(file_exists($oldFile)) unlink($oldFile);        // Files MUST be removed before folders and folders MUST be empty        $oldPath1 = KT_DIR . "/templates/ktstandard/searchdashlet/";        UpgradeFunctions::rm_recursive($oldPath1);        $oldPath2 = KT_DIR . "/plugins/generalmetadata/";        UpgradeFunctions::rm_recursive($oldPath2);        // FIXME: We should check that they all worked        return true;    }    function rm_recursive($filepath)    {        if (is_dir($filepath) && !is_link($filepath))        {            if ($dh = opendir($filepath))            {                while (($sf = readdir($dh)) !== false)                {                    if ($sf == '.' || $sf == '..')                    {                        continue;                    }                    if (!UpgradeFunctions::rm_recursive($filepath.'/'.$sf))                    {                        //throw new Exception( $filepath.'/'.$sf.' could not be deleted.');                        return false;                    }                }                closedir($dh);            }            return rmdir($filepath);        }        return unlink($filepath);    }    // }}}}?>

⌨️ 快捷键说明

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