. * * 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. * * @copyright 2008-2009, KnowledgeTree Inc. * @license GNU General Public License version 3 * @author KnowledgeTree Team * @package Installer * @version Version 0.1 */ // Define installer environment define('AJAX', 0); if (substr(php_uname(), 0, 7) == "Windows"){ define('WINDOWS_OS', true); define('UNIX_OS', false); define('OS', 'windows'); } else { define('WINDOWS_OS', false); define('UNIX_OS', true); define('OS', 'unix'); } if(WINDOWS_OS) { define('DS', '\\'); } else { define('DS', '/'); } // Define environment root $wizard = realpath(dirname(__FILE__)); $xdir = explode(DS, $wizard); array_pop($xdir); array_pop($xdir); $sys = ''; foreach ($xdir as $k=>$v) { $sys .= $v.DS; } // Define paths to wizard define('WIZARD_DIR', $wizard.DS); define('WIZARD_LIB', WIZARD_DIR."lib".DS); define('SERVICE_LIB', WIZARD_LIB."services".DS); define('CONF_DIR', WIZARD_DIR."config".DS); define('RES_DIR', WIZARD_DIR."resources".DS); define('JS_DIR', RES_DIR."js".DS); define('CSS_DIR', RES_DIR."css".DS); define('IMG_DIR', RES_DIR."graphics".DS); define('STEP_DIR', WIZARD_DIR."steps".DS); define('TEMP_DIR', WIZARD_DIR."templates".DS); define('SHELL_DIR', WIZARD_DIR."shells".DS); define('SYS_DIR', WIZARD_LIB."system".DS); define('HELPER_DIR', WIZARD_LIB."helpers".DS); // Define paths to system webroot define('SYSTEM_DIR', $sys); define('SYS_VAR_DIR', SYSTEM_DIR."var".DS); define('SYS_BIN_DIR', SYSTEM_DIR."bin".DS); define('SYS_LOG_DIR', SYS_VAR_DIR."log".DS); define('SYS_OUT_DIR', SYS_VAR_DIR); define('VAR_BIN_DIR', SYS_VAR_DIR."bin".DS); // Define paths to system array_pop($xdir); $asys = ''; foreach ($xdir as $k=>$v) { $asys .= $v.DS; } define('SYSTEM_ROOT', $asys); define('SQL_DIR', SYSTEM_DIR."sql".DS); define('SQL_INSTALL_DIR', SQL_DIR."mysql".DS."install".DS); // Install Type preg_match('/Zend/', $sys, $matches); // TODO: Dirty if($matches) { define('INSTALL_TYPE', 'Zend'); } else { $modules = get_loaded_extensions(); if(in_array('Zend Download Server', $modules) || in_array('Zend Monitor', $modules) || in_array('Zend Utils', $modules) || in_array('Zend Page Cache', $modules)) { define('INSTALL_TYPE', 'Zend'); } else { define('INSTALL_TYPE', 'Source'); } } if(INSTALL_TYPE == 'Zend') { if(WINDOWS_OS) { $sysdir = explode(DS, $sys); array_pop($sysdir); array_pop($sysdir); array_pop($sysdir); array_pop($sysdir); $zendsys = ''; foreach ($sysdir as $k=>$v) { $zendsys .= $v.DS; } define('PHP_DIR', $zendsys."ZendServer".DS."bin".DS); } else { define('PHP_DIR', DS."usr".DS."local".DS."zend".DS."bin".DS); } } else { define('PHP_DIR', ''); } // Other date_default_timezone_set('Africa/Johannesburg'); if(WINDOWS_OS) { // Mysql bin [Windows] $serverPaths = explode(';',$_SERVER['PATH']); foreach ($serverPaths as $apath) { preg_match('/mysql/i', $apath, $matches); if($matches) { define('MYSQL_BIN', $apath.DS); break; } } } else { define('MYSQL_BIN', ''); // Assume its linux and can be executed from command line } ?>