From 51f6cc4daee5371e764e89e453600a08b7cae3f6 Mon Sep 17 00:00:00 2001 From: Jarrett Jordaan Date: Tue, 4 Aug 2009 09:13:23 +0200 Subject: [PATCH] Story ID: 778902 Services Updated --- setup/wizard/batches/lucene_install.bat | 0 setup/wizard/batches/lucene_start.bat | 0 setup/wizard/batches/lucene_uninstall.bat | 0 setup/wizard/batches/scheduler_install.bat | 0 setup/wizard/batches/scheduler_start.bat | 0 setup/wizard/batches/scheduler_uninstall.bat | 0 setup/wizard/config/config.xml | 5 +++-- setup/wizard/config/databases.xml | 0 setup/wizard/dbUtil.php | 0 setup/wizard/index.php | 0 setup/wizard/ini.php | 0 setup/wizard/installUtil.php | 2 +- setup/wizard/installWizard.php | 0 setup/wizard/installer.php | 58 +++++++++++++++++++++++++++------------------------------- setup/wizard/lib/services/service.php | 0 setup/wizard/lib/services/unixAgent.php | 0 setup/wizard/lib/services/unixLucene.php | 32 ++++++++++++++++---------------- setup/wizard/lib/services/unixScheduler.php | 61 +++++++++++++++++++++++++++++++++++++++++++++++-------------- setup/wizard/lib/services/unixService.php | 0 setup/wizard/lib/services/windowsAgent.php | 0 setup/wizard/lib/services/windowsLucene.php | 0 setup/wizard/lib/services/windowsScheduler.php | 0 setup/wizard/lib/services/windowsService.php | 0 setup/wizard/path.php | 28 +++++++++++++++++++--------- setup/wizard/resources/graphics/active.png | Bin 1275 -> 0 bytes setup/wizard/resources/graphics/background.gif | Bin 914 -> 0 bytes setup/wizard/resources/graphics/cross.png | Bin 846 -> 0 bytes setup/wizard/resources/graphics/cross_orange.png | Bin 1465 -> 0 bytes setup/wizard/resources/graphics/footer.png | Bin 1065 -> 0 bytes setup/wizard/resources/graphics/gradient.png | Bin 1859 -> 0 bytes setup/wizard/resources/graphics/inactive.png | Bin 1226 -> 0 bytes setup/wizard/resources/graphics/indicator.png | Bin 1247 -> 0 bytes setup/wizard/resources/graphics/indicator.pxm | Bin 4386 -> 0 bytes setup/wizard/resources/graphics/left.png | Bin 1111 -> 0 bytes setup/wizard/resources/graphics/logo.png | Bin 1389 -> 0 bytes setup/wizard/resources/graphics/powered-by-kt.png | Bin 8469 -> 0 bytes setup/wizard/resources/graphics/tick.png | Bin 917 -> 0 bytes setup/wizard/resources/graphics/tree.jpg | Bin 2250 -> 0 bytes setup/wizard/resources/wizard.css | 0 setup/wizard/resources/wizard.js | 20 +++++++++++++++----- setup/wizard/service.php | 0 setup/wizard/session.php | 0 setup/wizard/sql/data.sql | 0 setup/wizard/sql/structure.sql | 0 setup/wizard/sql/upgrades/folders.sql | 0 setup/wizard/sql/upgrades/search_ranking.sql | 0 setup/wizard/sql/user.sql | 0 setup/wizard/step.php | 0 setup/wizard/stepAction.php | 1 + setup/wizard/steps/complete.php | 0 setup/wizard/steps/configuration.php | 6 +++++- setup/wizard/steps/database.php | 50 ++++++++++++-------------------------------------- setup/wizard/steps/dependencies.php | 6 +++++- setup/wizard/steps/dependency_check.php | 0 setup/wizard/steps/install.php | 5 +++-- setup/wizard/steps/license.php | 20 +++++++++++++++----- setup/wizard/steps/registration.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ setup/wizard/steps/services.php | 32 +++++++++++++++++++++++++++----- setup/wizard/steps/welcome.php | 0 setup/wizard/template.php | 0 setup/wizard/templates/complete.tpl | 0 setup/wizard/templates/configuration.tpl | 0 setup/wizard/templates/configuration_confirm.tpl | 0 setup/wizard/templates/database.tpl | 0 setup/wizard/templates/database_confirm.tpl | 0 setup/wizard/templates/dependencies.tpl | 0 setup/wizard/templates/dependency_check.tpl | 0 setup/wizard/templates/install.tpl | 0 setup/wizard/templates/license.tpl | 0 setup/wizard/templates/registration.tpl | 17 +++++++++++++++++ setup/wizard/templates/services.tpl | 8 +++++++- setup/wizard/templates/welcome.tpl | 0 setup/wizard/templates/wizard.tpl | 2 +- 73 files changed, 300 insertions(+), 132 deletions(-) mode change 100644 => 100755 setup/wizard/batches/lucene_install.bat mode change 100644 => 100755 setup/wizard/batches/lucene_start.bat mode change 100644 => 100755 setup/wizard/batches/lucene_uninstall.bat mode change 100644 => 100755 setup/wizard/batches/scheduler_install.bat mode change 100644 => 100755 setup/wizard/batches/scheduler_start.bat mode change 100644 => 100755 setup/wizard/batches/scheduler_uninstall.bat mode change 100644 => 100755 setup/wizard/config/config.xml mode change 100644 => 100755 setup/wizard/config/databases.xml mode change 100644 => 100755 setup/wizard/dbUtil.php mode change 100644 => 100755 setup/wizard/index.php mode change 100644 => 100755 setup/wizard/ini.php mode change 100644 => 100755 setup/wizard/installUtil.php mode change 100644 => 100755 setup/wizard/installWizard.php mode change 100644 => 100755 setup/wizard/installer.php mode change 100644 => 100755 setup/wizard/lib/services/service.php mode change 100644 => 100755 setup/wizard/lib/services/unixAgent.php mode change 100644 => 100755 setup/wizard/lib/services/unixLucene.php mode change 100644 => 100755 setup/wizard/lib/services/unixScheduler.php mode change 100644 => 100755 setup/wizard/lib/services/unixService.php mode change 100644 => 100755 setup/wizard/lib/services/windowsAgent.php mode change 100644 => 100755 setup/wizard/lib/services/windowsLucene.php mode change 100644 => 100755 setup/wizard/lib/services/windowsScheduler.php mode change 100644 => 100755 setup/wizard/lib/services/windowsService.php mode change 100644 => 100755 setup/wizard/path.php mode change 100644 => 100755 setup/wizard/resources/graphics/active.png mode change 100644 => 100755 setup/wizard/resources/graphics/background.gif mode change 100644 => 100755 setup/wizard/resources/graphics/cross.png mode change 100644 => 100755 setup/wizard/resources/graphics/cross_orange.png mode change 100644 => 100755 setup/wizard/resources/graphics/footer.png mode change 100644 => 100755 setup/wizard/resources/graphics/gradient.png mode change 100644 => 100755 setup/wizard/resources/graphics/inactive.png mode change 100644 => 100755 setup/wizard/resources/graphics/indicator.png mode change 100644 => 100755 setup/wizard/resources/graphics/indicator.pxm mode change 100644 => 100755 setup/wizard/resources/graphics/left.png mode change 100644 => 100755 setup/wizard/resources/graphics/logo.png mode change 100644 => 100755 setup/wizard/resources/graphics/powered-by-kt.png mode change 100644 => 100755 setup/wizard/resources/graphics/tick.png mode change 100644 => 100755 setup/wizard/resources/graphics/tree.jpg mode change 100644 => 100755 setup/wizard/resources/wizard.css mode change 100644 => 100755 setup/wizard/resources/wizard.js mode change 100644 => 100755 setup/wizard/service.php mode change 100644 => 100755 setup/wizard/session.php mode change 100644 => 100755 setup/wizard/sql/data.sql mode change 100644 => 100755 setup/wizard/sql/structure.sql mode change 100644 => 100755 setup/wizard/sql/upgrades/folders.sql mode change 100644 => 100755 setup/wizard/sql/upgrades/search_ranking.sql mode change 100644 => 100755 setup/wizard/sql/user.sql mode change 100644 => 100755 setup/wizard/step.php mode change 100644 => 100755 setup/wizard/stepAction.php mode change 100644 => 100755 setup/wizard/steps/complete.php mode change 100644 => 100755 setup/wizard/steps/configuration.php mode change 100644 => 100755 setup/wizard/steps/database.php mode change 100644 => 100755 setup/wizard/steps/dependencies.php mode change 100644 => 100755 setup/wizard/steps/dependency_check.php mode change 100644 => 100755 setup/wizard/steps/install.php mode change 100644 => 100755 setup/wizard/steps/license.php create mode 100755 setup/wizard/steps/registration.php mode change 100644 => 100755 setup/wizard/steps/services.php mode change 100644 => 100755 setup/wizard/steps/welcome.php mode change 100644 => 100755 setup/wizard/template.php mode change 100644 => 100755 setup/wizard/templates/complete.tpl mode change 100644 => 100755 setup/wizard/templates/configuration.tpl mode change 100644 => 100755 setup/wizard/templates/configuration_confirm.tpl mode change 100644 => 100755 setup/wizard/templates/database.tpl mode change 100644 => 100755 setup/wizard/templates/database_confirm.tpl mode change 100644 => 100755 setup/wizard/templates/dependencies.tpl mode change 100644 => 100755 setup/wizard/templates/dependency_check.tpl mode change 100644 => 100755 setup/wizard/templates/install.tpl mode change 100644 => 100755 setup/wizard/templates/license.tpl create mode 100755 setup/wizard/templates/registration.tpl mode change 100644 => 100755 setup/wizard/templates/services.tpl mode change 100644 => 100755 setup/wizard/templates/welcome.tpl mode change 100644 => 100755 setup/wizard/templates/wizard.tpl diff --git a/setup/wizard/batches/lucene_install.bat b/setup/wizard/batches/lucene_install.bat old mode 100644 new mode 100755 index 2d8216b..2d8216b --- a/setup/wizard/batches/lucene_install.bat +++ b/setup/wizard/batches/lucene_install.bat diff --git a/setup/wizard/batches/lucene_start.bat b/setup/wizard/batches/lucene_start.bat old mode 100644 new mode 100755 index 3cc5343..3cc5343 --- a/setup/wizard/batches/lucene_start.bat +++ b/setup/wizard/batches/lucene_start.bat diff --git a/setup/wizard/batches/lucene_uninstall.bat b/setup/wizard/batches/lucene_uninstall.bat old mode 100644 new mode 100755 index 028e796..028e796 --- a/setup/wizard/batches/lucene_uninstall.bat +++ b/setup/wizard/batches/lucene_uninstall.bat diff --git a/setup/wizard/batches/scheduler_install.bat b/setup/wizard/batches/scheduler_install.bat old mode 100644 new mode 100755 index e69de29..e69de29 --- a/setup/wizard/batches/scheduler_install.bat +++ b/setup/wizard/batches/scheduler_install.bat diff --git a/setup/wizard/batches/scheduler_start.bat b/setup/wizard/batches/scheduler_start.bat old mode 100644 new mode 100755 index fed9906..fed9906 --- a/setup/wizard/batches/scheduler_start.bat +++ b/setup/wizard/batches/scheduler_start.bat diff --git a/setup/wizard/batches/scheduler_uninstall.bat b/setup/wizard/batches/scheduler_uninstall.bat old mode 100644 new mode 100755 index 1058327..1058327 --- a/setup/wizard/batches/scheduler_uninstall.bat +++ b/setup/wizard/batches/scheduler_uninstall.bat diff --git a/setup/wizard/config/config.xml b/setup/wizard/config/config.xml old mode 100644 new mode 100755 index efc1f8b..a6710ea --- a/setup/wizard/config/config.xml +++ b/setup/wizard/config/config.xml @@ -12,9 +12,10 @@ welcome license dependencies - configuration + configuration services - database + database + registration install complete diff --git a/setup/wizard/config/databases.xml b/setup/wizard/config/databases.xml old mode 100644 new mode 100755 index df6ec5e..df6ec5e --- a/setup/wizard/config/databases.xml +++ b/setup/wizard/config/databases.xml diff --git a/setup/wizard/dbUtil.php b/setup/wizard/dbUtil.php old mode 100644 new mode 100755 index f8b7dc1..f8b7dc1 --- a/setup/wizard/dbUtil.php +++ b/setup/wizard/dbUtil.php diff --git a/setup/wizard/index.php b/setup/wizard/index.php old mode 100644 new mode 100755 index 268329d..268329d --- a/setup/wizard/index.php +++ b/setup/wizard/index.php diff --git a/setup/wizard/ini.php b/setup/wizard/ini.php old mode 100644 new mode 100755 index c5e491f..c5e491f --- a/setup/wizard/ini.php +++ b/setup/wizard/ini.php diff --git a/setup/wizard/installUtil.php b/setup/wizard/installUtil.php old mode 100644 new mode 100755 index 55bf6eb..fb4f5f5 --- a/setup/wizard/installUtil.php +++ b/setup/wizard/installUtil.php @@ -330,7 +330,7 @@ class InstallUtil { if(WINDOWS_OS) { $sCmd = 'call '.$sCmd; } - echo $sCmd."
"; + exec($sCmd, $aOutput, $iRet); $aRet['ret'] = $iRet; $aRet['out'] = $aOutput; diff --git a/setup/wizard/installWizard.php b/setup/wizard/installWizard.php old mode 100644 new mode 100755 index 6ed5ea2..6ed5ea2 --- a/setup/wizard/installWizard.php +++ b/setup/wizard/installWizard.php diff --git a/setup/wizard/installer.php b/setup/wizard/installer.php old mode 100644 new mode 100755 index 3e3bad1..4a978ef --- a/setup/wizard/installer.php +++ b/setup/wizard/installer.php @@ -267,7 +267,6 @@ class Installer { * @return string */ private function _runStepAction($stepName) { - //echo $stepName."=="; $this->stepAction = new stepAction($stepName); $this->stepAction->setSteps($this->getSteps()); $this->stepAction->setStepNames($this->getStepNames()); @@ -403,8 +402,6 @@ class Installer { private function _resetSessions() { if($this->session) { if($this->_firstStepPeriod()) { - $this->session->destroy(); -/* foreach ($this->getSteps() as $class) { $this->session->un_setClass($class); } @@ -414,7 +411,6 @@ class Installer { foreach ($this->_getInstallOrders() as $class) { $this->session->un_setClass($class); } -*/ } } } @@ -434,7 +430,17 @@ class Installer { if(!$this->installOrders) { $this->_xmlStepsOrders(); } + if(isset($_POST['Next'])) { + $this->response = 'next'; + } elseif (isset($_POST['Previous'])) { + $this->response = 'previous'; + } elseif (isset($_POST['Confirm'])) { + $this->response = 'next'; + } elseif (isset($_POST['Install'])) { + $this->response = 'next'; + } } + /** * Main control to handle the flow of install * @@ -445,39 +451,29 @@ class Installer { */ public function step() { $this->loadNeeded(); - $response = $this->_landing(); - switch($response) { + switch($this->response) { case 'next': - $this->_proceed(); // Load next window + $step_name = $this->_getStepName(); + $res = $this->_runStepAction($step_name); + if($res == 'next') + $this->_proceed(); // Load next window + elseif ($res == 'install') { + $this->_runStepsInstallers(); // Load landing + $this->_proceed(); // Load next window + } elseif ($res == 'confirm') { + $this->stepConfirmation = true; + $this->_landing(); + } else { +// die("Unmet parameters"); + } break; - case 'previous': - $this->_backward(); // Load previous window - break; - - case 'confirm': - $this->stepConfirmation = true; - $this->_landing(); - break; - - case 'error': - $this->_landing(); // Load landing with errors - break; - - case 'landing': - $this->_landing(); // Load landing - break; - - case 'install': - $this->_runStepsInstallers(); // Load landing - $this->_proceed(); // Load next window - break; - + $this->_backward(); // Load previous page + break; default: - die("Response $response: That was unexpected"); // No class response + $this->_landing(); break; } - $this->stepAction->paintAction(); // Display step } diff --git a/setup/wizard/lib/services/service.php b/setup/wizard/lib/services/service.php old mode 100644 new mode 100755 index 56bff0a..56bff0a --- a/setup/wizard/lib/services/service.php +++ b/setup/wizard/lib/services/service.php diff --git a/setup/wizard/lib/services/unixAgent.php b/setup/wizard/lib/services/unixAgent.php old mode 100644 new mode 100755 index ce8218a..ce8218a --- a/setup/wizard/lib/services/unixAgent.php +++ b/setup/wizard/lib/services/unixAgent.php diff --git a/setup/wizard/lib/services/unixLucene.php b/setup/wizard/lib/services/unixLucene.php old mode 100644 new mode 100755 index 7f0adfa..9ad9f45 --- a/setup/wizard/lib/services/unixLucene.php +++ b/setup/wizard/lib/services/unixLucene.php @@ -99,8 +99,6 @@ class unixLucene extends Service { } } } -// echo $this->phpDir; -// die; return ; } else { $this->phpDir = $phpdir; @@ -165,13 +163,8 @@ class unixLucene extends Service { public function stop() { // TODO: Breaks things - if($this->getPhpDir() != "") { -// $cmd = $this->getPhpDir()." ".$this->getIndexerDir().$this->getShutdownScript()." positive &> ".SYS_LOG_DIR."dmsctl.log"; - } else { - $cmd = "pkill -f ".$this->getLuceneSource(); - } $state = $this->status(); - if($state == 'STARTED') { + if($state != 'STOPPED') { $cmd = "pkill -f ".$this->getLuceneSource(); $response = $this->util->pexec($cmd); return $response; @@ -181,27 +174,34 @@ class unixLucene extends Service { public function install() { $state = $this->status(); -// die; if($state != 'STARTED') { $cmd = "cd ".$this->getLuceneDir()."; "; $cmd .= "nohup java -jar ".$this->getLuceneSource()." &> ".SYS_LOG_DIR."lucene.log &"; $response = $this->util->pexec($cmd); + return $response; } elseif ($state == 'STOPPED') { - // start her up - + // Start Service + return true; + } else { + // Service Running Already + return true; } + + return false; } public function status() { - $cmd = "ps ax | grep ".$this->getLuceneSource()." | awk {'print $1'}"; -// echo $cmd; + $cmd = "ps ax | grep ".$this->getLuceneSource(); $response = $this->util->pexec($cmd); -// var_dump($response); if(is_array($response['out'])) { if(count($response['out']) > 1) { -// var_dump($response['out']); - return 'STARTED'; + foreach ($response['out'] as $r) { + preg_match('/grep/', $r, $matches); // Ignore grep + if(!$matches) { + return 'STARTED'; + } + } } else { return 'STOPPED'; } diff --git a/setup/wizard/lib/services/unixScheduler.php b/setup/wizard/lib/services/unixScheduler.php old mode 100644 new mode 100755 index 4cb0602..7cf401a --- a/setup/wizard/lib/services/unixScheduler.php +++ b/setup/wizard/lib/services/unixScheduler.php @@ -47,6 +47,7 @@ class unixScheduler extends Service { protected $schedulerDir; protected $schedulerSource; protected $schedulerSourceLoc; + protected $systemDir; private $util = null; public function __construct() { @@ -55,6 +56,7 @@ class unixScheduler extends Service { function load() { $this->name = "KTSchedulerTest"; $this->util = new InstallUtil(); + $this->setSystemDir(SYSTEM_ROOT."bin".DS); $this->setSchedulerDir(SYSTEM_DIR."bin".DS); $this->setSchedulerSource('schedulerTask.sh'); $this->setSchedulerSourceLoc('schedulerTask.sh'); @@ -69,6 +71,16 @@ class unixScheduler extends Service { return $this->schedulerPidFile; } + function setSystemDir($systemDir) { + $this->systemDir = $systemDir; + } + + function getSystemDir() { + if(file_exists($this->systemDir)) + return $this->systemDir; + return false; + } + function setSchedulerDir($schedulerDir) { $this->schedulerDir = $schedulerDir; } @@ -90,21 +102,25 @@ class unixScheduler extends Service { } function getSchedulerSourceLoc() { - if(file_exists($this->schedulerSourceLoc)) { + if(file_exists($this->schedulerSourceLoc)) return $this->schedulerSourceLoc; - } -// die('File Expected Error'); return false; } function install() { - $source = $this->getSchedulerSourceLoc(); - if($source) { - $cmd = "nohup ".$source." &> ".SYS_LOG_DIR."dmsctl.log"; - $response = $this->util->pexec($cmd); - return $response; - } - +// $source = $this->getSchedulerSourceLoc(); +// if($source) { +// $cmd = "nohup ".$source." &> ".SYS_LOG_DIR."dmsctl.log"; +// $response = $this->util->pexec($cmd); +// return $response; +// } else { +// $source = $this->getSystemDir().$this->schedulerSource; +// if(file_exists($source)) { +// $cmd = "nohup ".$source." &> ".SYS_LOG_DIR."dmsctl.log"; +// $response = $this->util->pexec($cmd); +// return $response; +// } +// } return false; } @@ -113,17 +129,22 @@ class unixScheduler extends Service { } function stop() { - $cmd = "pkill -f ".$this->name; + $cmd = "pkill -f ".$this->schedulerSource; $response = $this->util->pexec($cmd); return $response; } function status() { - $cmd = "ps ax | grep ".$this->getSchedulerSource()." | awk {'print $1'}"; + $cmd = "ps ax | grep ".$this->getSchedulerSource(); $response = $this->util->pexec($cmd); - if(is_array($response['out'])) { + if(is_array($response['out'])) { if(count($response['out']) > 1) { - return 'STARTED'; + foreach ($response['out'] as $r) { + preg_match('/grep/', $r, $matches); // Ignore grep + if(!$matches) { + return 'STARTED'; + } + } } else { return 'STOPPED'; } @@ -131,5 +152,17 @@ class unixScheduler extends Service { return 'STOPPED'; } + + function writeSchedulerTask() { + $fp = fopen($this->getSchedulerDir().$this->getSchedulerSource(), "w+"); + $content = "#!/bin/sh\n"; + $content .= "cd ".$this->getSchedulerDir()."\n"; + $content .= "while true; do\n"; + $content .= "php "."\"{$this->getSchedulerDir()}{$this->getSchedulerSource()}\""; + $content .= "sleep 30\n"; + $content .= "done"; + fwrite($fp, $content); + fclose($fp); + } } ?> \ No newline at end of file diff --git a/setup/wizard/lib/services/unixService.php b/setup/wizard/lib/services/unixService.php old mode 100644 new mode 100755 index e8fd676..e8fd676 --- a/setup/wizard/lib/services/unixService.php +++ b/setup/wizard/lib/services/unixService.php diff --git a/setup/wizard/lib/services/windowsAgent.php b/setup/wizard/lib/services/windowsAgent.php old mode 100644 new mode 100755 index 2292d1f..2292d1f --- a/setup/wizard/lib/services/windowsAgent.php +++ b/setup/wizard/lib/services/windowsAgent.php diff --git a/setup/wizard/lib/services/windowsLucene.php b/setup/wizard/lib/services/windowsLucene.php old mode 100644 new mode 100755 index e9a771e..e9a771e --- a/setup/wizard/lib/services/windowsLucene.php +++ b/setup/wizard/lib/services/windowsLucene.php diff --git a/setup/wizard/lib/services/windowsScheduler.php b/setup/wizard/lib/services/windowsScheduler.php old mode 100644 new mode 100755 index a594df3..a594df3 --- a/setup/wizard/lib/services/windowsScheduler.php +++ b/setup/wizard/lib/services/windowsScheduler.php diff --git a/setup/wizard/lib/services/windowsService.php b/setup/wizard/lib/services/windowsService.php old mode 100644 new mode 100755 index 38d0751..38d0751 --- a/setup/wizard/lib/services/windowsService.php +++ b/setup/wizard/lib/services/windowsService.php diff --git a/setup/wizard/path.php b/setup/wizard/path.php old mode 100644 new mode 100755 index 6e9c5f0..0f661ea --- a/setup/wizard/path.php +++ b/setup/wizard/path.php @@ -73,10 +73,17 @@ define('RES_DIR', WIZARD_DIR."resources".DS); define('STEP_DIR', WIZARD_DIR."steps".DS); define('TEMP_DIR', WIZARD_DIR."templates".DS); - // Define paths to system + // Define paths to system webroot define('SYSTEM_DIR', $sys); define('SYS_BIN_DIR', SYSTEM_DIR."bin".DS); define('SYS_LOG_DIR', SYSTEM_DIR."var".DS."log".DS); + // Define paths to system + array_pop($xdir); + $asys = ''; + foreach ($xdir as $k=>$v) { + $asys .= $v.DS; + } + define('SYSTEM_ROOT', $asys); // Install Type preg_match('/Zend/', $sys, $matches); if($matches) { @@ -96,13 +103,16 @@ } // Other date_default_timezone_set('Africa/Johannesburg'); - // Mysql bin - $serverPaths = explode(';',$_SERVER['PATH']); - foreach ($serverPaths as $apath) { - preg_match('/mysql/i', $apath, $matches); - if($matches) { - define('MYSQL_BIN', $apath.DS); - break; - } + // Mysql bin [Windows] + if(WINDOWS_OS) { + $serverPaths = explode(';',$_SERVER['PATH']); + foreach ($serverPaths as $apath) { + preg_match('/mysql/i', $apath, $matches); + if($matches) { + define('MYSQL_BIN', $apath.DS); + break; + } + } } + ?> diff --git a/setup/wizard/resources/graphics/active.png b/setup/wizard/resources/graphics/active.png old mode 100644 new mode 100755 index 62b232c..62b232c Binary files a/setup/wizard/resources/graphics/active.png and b/setup/wizard/resources/graphics/active.png differ diff --git a/setup/wizard/resources/graphics/background.gif b/setup/wizard/resources/graphics/background.gif old mode 100644 new mode 100755 index d8039fb..d8039fb Binary files a/setup/wizard/resources/graphics/background.gif and b/setup/wizard/resources/graphics/background.gif differ diff --git a/setup/wizard/resources/graphics/cross.png b/setup/wizard/resources/graphics/cross.png old mode 100644 new mode 100755 index 3ba9615..3ba9615 Binary files a/setup/wizard/resources/graphics/cross.png and b/setup/wizard/resources/graphics/cross.png differ diff --git a/setup/wizard/resources/graphics/cross_orange.png b/setup/wizard/resources/graphics/cross_orange.png old mode 100644 new mode 100755 index cb02cd5..cb02cd5 Binary files a/setup/wizard/resources/graphics/cross_orange.png and b/setup/wizard/resources/graphics/cross_orange.png differ diff --git a/setup/wizard/resources/graphics/footer.png b/setup/wizard/resources/graphics/footer.png old mode 100644 new mode 100755 index 6486da9..6486da9 Binary files a/setup/wizard/resources/graphics/footer.png and b/setup/wizard/resources/graphics/footer.png differ diff --git a/setup/wizard/resources/graphics/gradient.png b/setup/wizard/resources/graphics/gradient.png old mode 100644 new mode 100755 index 6074bca..6074bca Binary files a/setup/wizard/resources/graphics/gradient.png and b/setup/wizard/resources/graphics/gradient.png differ diff --git a/setup/wizard/resources/graphics/inactive.png b/setup/wizard/resources/graphics/inactive.png old mode 100644 new mode 100755 index dfe29a2..dfe29a2 Binary files a/setup/wizard/resources/graphics/inactive.png and b/setup/wizard/resources/graphics/inactive.png differ diff --git a/setup/wizard/resources/graphics/indicator.png b/setup/wizard/resources/graphics/indicator.png old mode 100644 new mode 100755 index 89dbff0..89dbff0 Binary files a/setup/wizard/resources/graphics/indicator.png and b/setup/wizard/resources/graphics/indicator.png differ diff --git a/setup/wizard/resources/graphics/indicator.pxm b/setup/wizard/resources/graphics/indicator.pxm old mode 100644 new mode 100755 index c8b9f87..c8b9f87 Binary files a/setup/wizard/resources/graphics/indicator.pxm and b/setup/wizard/resources/graphics/indicator.pxm differ diff --git a/setup/wizard/resources/graphics/left.png b/setup/wizard/resources/graphics/left.png old mode 100644 new mode 100755 index b74fcf7..b74fcf7 Binary files a/setup/wizard/resources/graphics/left.png and b/setup/wizard/resources/graphics/left.png differ diff --git a/setup/wizard/resources/graphics/logo.png b/setup/wizard/resources/graphics/logo.png old mode 100644 new mode 100755 index bfeefd8..bfeefd8 Binary files a/setup/wizard/resources/graphics/logo.png and b/setup/wizard/resources/graphics/logo.png differ diff --git a/setup/wizard/resources/graphics/powered-by-kt.png b/setup/wizard/resources/graphics/powered-by-kt.png old mode 100644 new mode 100755 index 2bc078b..2bc078b Binary files a/setup/wizard/resources/graphics/powered-by-kt.png and b/setup/wizard/resources/graphics/powered-by-kt.png differ diff --git a/setup/wizard/resources/graphics/tick.png b/setup/wizard/resources/graphics/tick.png old mode 100644 new mode 100755 index a24d605..a24d605 Binary files a/setup/wizard/resources/graphics/tick.png and b/setup/wizard/resources/graphics/tick.png differ diff --git a/setup/wizard/resources/graphics/tree.jpg b/setup/wizard/resources/graphics/tree.jpg old mode 100644 new mode 100755 index d9e11f6..d9e11f6 Binary files a/setup/wizard/resources/graphics/tree.jpg and b/setup/wizard/resources/graphics/tree.jpg differ diff --git a/setup/wizard/resources/wizard.css b/setup/wizard/resources/wizard.css old mode 100644 new mode 100755 index 2222080..2222080 --- a/setup/wizard/resources/wizard.css +++ b/setup/wizard/resources/wizard.css diff --git a/setup/wizard/resources/wizard.js b/setup/wizard/resources/wizard.js old mode 100644 new mode 100755 index d53f270..864a138 --- a/setup/wizard/resources/wizard.js +++ b/setup/wizard/resources/wizard.js @@ -47,13 +47,11 @@ wizard.prototype.toggleElement = function(el) { // Handle steps within database page wizard.prototype.showStep = function(p, d) { - // Don't check if previous is clicked - if(d != 'p') { - // Check for errors + if(d != 'p') { // Don't check if previous is clicked var ueq = 0; - if(p == 2) { + if(p == 2) { // Check User 1 ueq = w.validateUsers('dmsname', 'dmspassword', 'dmspassword2'); - } else if(p == 3) { + } else if(p == 3) { // Check User 1 ueq = w.validateUsers('dmsusername', 'dmsuserpassword', 'dmsuserpassword2'); } if(ueq != 0) { @@ -136,8 +134,20 @@ wizard.prototype.focusElement = function(el) { wizard.prototype.onSubmitValidate = function() { var response = w.showStep(3, 'n'); if(response == true) { + alert(response); document.getElementById('sendAll').name = 'Next'; // Force the next step document.getElementById('sendAll').value = 'next'; document.getElementById('dbsettings').submit(); + } else { + alert('asd'); + return false; + /* + document.getElementById('sendAll').name = 'Previous'; // Force the previous step + document.getElementById('sendAll').value = 'previous'; + document.getElementById('dbsettings').submit(); + */ } + + + } \ No newline at end of file diff --git a/setup/wizard/service.php b/setup/wizard/service.php old mode 100644 new mode 100755 index af5e578..af5e578 --- a/setup/wizard/service.php +++ b/setup/wizard/service.php diff --git a/setup/wizard/session.php b/setup/wizard/session.php old mode 100644 new mode 100755 index 0147aa8..0147aa8 --- a/setup/wizard/session.php +++ b/setup/wizard/session.php diff --git a/setup/wizard/sql/data.sql b/setup/wizard/sql/data.sql old mode 100644 new mode 100755 index 46041a3..46041a3 --- a/setup/wizard/sql/data.sql +++ b/setup/wizard/sql/data.sql diff --git a/setup/wizard/sql/structure.sql b/setup/wizard/sql/structure.sql old mode 100644 new mode 100755 index 80e1d99..80e1d99 --- a/setup/wizard/sql/structure.sql +++ b/setup/wizard/sql/structure.sql diff --git a/setup/wizard/sql/upgrades/folders.sql b/setup/wizard/sql/upgrades/folders.sql old mode 100644 new mode 100755 index 1c971c6..1c971c6 --- a/setup/wizard/sql/upgrades/folders.sql +++ b/setup/wizard/sql/upgrades/folders.sql diff --git a/setup/wizard/sql/upgrades/search_ranking.sql b/setup/wizard/sql/upgrades/search_ranking.sql old mode 100644 new mode 100755 index f0e3db6..f0e3db6 --- a/setup/wizard/sql/upgrades/search_ranking.sql +++ b/setup/wizard/sql/upgrades/search_ranking.sql diff --git a/setup/wizard/sql/user.sql b/setup/wizard/sql/user.sql old mode 100644 new mode 100755 index 3b80ee2..3b80ee2 --- a/setup/wizard/sql/user.sql +++ b/setup/wizard/sql/user.sql diff --git a/setup/wizard/step.php b/setup/wizard/step.php old mode 100644 new mode 100755 index a7b23f0..a7b23f0 --- a/setup/wizard/step.php +++ b/setup/wizard/step.php diff --git a/setup/wizard/stepAction.php b/setup/wizard/stepAction.php old mode 100644 new mode 100755 index 6bd5108..e1738a7 --- a/setup/wizard/stepAction.php +++ b/setup/wizard/stepAction.php @@ -322,6 +322,7 @@ class stepAction { $step_tpl = new Template($template); $step_tpl->set("errors", $step_errors); // Set template errors $step_vars = $this->action->getStepVars(); // Get template variables + $step_tpl->set("step_vars", $step_vars); // Set template errors foreach ($step_vars as $key => $value) { // Set template variables $step_tpl->set($key, $value); // Load values to session if($this->action->storeInSession()) { // Check if class values need to be stored in session diff --git a/setup/wizard/steps/complete.php b/setup/wizard/steps/complete.php old mode 100644 new mode 100755 index cfb2bc5..cfb2bc5 --- a/setup/wizard/steps/complete.php +++ b/setup/wizard/steps/complete.php diff --git a/setup/wizard/steps/configuration.php b/setup/wizard/steps/configuration.php old mode 100644 new mode 100755 index 07ddf70..f5ce200 --- a/setup/wizard/steps/configuration.php +++ b/setup/wizard/steps/configuration.php @@ -117,8 +117,12 @@ class configuration extends Step * @return string The position in the step */ public function doStep() { + if(!$this->inStep("configuration")) { + $this->doRun(); + return 'landing'; + } if($this->next()) { - if($this->doRun()){ + if($this->doRun()) { return 'confirm'; } return 'error'; diff --git a/setup/wizard/steps/database.php b/setup/wizard/steps/database.php old mode 100644 new mode 100755 index 6e58385..9f74c50 --- a/setup/wizard/steps/database.php +++ b/setup/wizard/steps/database.php @@ -241,8 +241,8 @@ class database extends Step public function __construct() { $this->_dbhandler = new dbUtil(); $this->_util = new InstallUtil(); - $this->mysqlDir = MYSQL_BIN; - echo $this->mysqlDir; + if(WINDOWS_OS) + $this->mysqlDir = MYSQL_BIN; } /** @@ -323,7 +323,7 @@ class database extends Step else $con = $this->_dbhandler->load($this->dhost.":".$this->dport, $this->duname, $this->dpassword, $this->dname); if (!$con) { - $this->error[] = "Could not connect: " . $this->_dbhandler->getErrors(); + $this->error[] = "Could not connect"; return false; } else { $this->error = array(); // Reset usage errors @@ -541,7 +541,7 @@ class database extends Step $con = $this->connectMysql(); if($con) { if(!$this->createDB($con)) { - $this->error[] = "Could not Create Database: " . $this->_dbhandler->getErrors(); + $this->error[] = "Could not Create Database: "; return false; } $this->closeMysql($con); @@ -559,7 +559,7 @@ class database extends Step private function connectMysql() { $con = $this->_dbhandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname); if (!$con) { - $this->error[] = "Could not connect: " . $this->_dbhandler->getErrors(); + $this->error[] = "Could not connect: "; return false; } @@ -579,16 +579,16 @@ class database extends Step if($this->usedb($con)) { // attempt to use the db if($this->dropdb($con)) { // attempt to drop the db if(!$this->create($con)) { // attempt to create the db - $this->error[] = "Could create database: " . $this->_dbhandler->getErrors(); + $this->error[] = "Could create database: "; return false;// cannot overwrite database } } else { - $this->error[] = "Could not drop database: " . $this->_dbhandler->getErrors(); + $this->error[] = "Could not drop database: "; return false;// cannot overwrite database } } else { if(!$this->create($con)) { // attempt to create the db - $this->error[] = "Could not create database: " . $this->_dbhandler->getErrors(); + $this->error[] = "Could not create database: "; return false;// cannot overwrite database } } @@ -638,7 +638,7 @@ class database extends Step if($this->_dbhandler->useBD($this->dname)) { return true; } else { - $this->error[] = "Error using database: ".$this->_dbhandler->getErrors(); + $this->error[] = "Error using database: "; return false; } } @@ -655,11 +655,11 @@ class database extends Step if($this->ddrop) { $sql = "DROP DATABASE {$this->dname};"; if(!$this->_dbhandler->query($sql)) { - $this->error[] = "Cannot drop database: ".$this->_dbhandler->getErrors(); + $this->error[] = "Cannot drop database: "; return false; } } else { - $this->error[] = "Cannot drop database: ".$this->_dbhandler->getErrors(); + $this->error[] = "Cannot drop database: "; return false; } return true; @@ -688,7 +688,7 @@ class database extends Step if ($this->_dbhandler->execute($user1) && $this->_dbhandler->execute($user2)) { return true; } else { - $this->error[] = "Could not create users in database: ".$this->_dbhandler->getErrors(); + $this->error[] = "Could not create users in database: "; return false; } } @@ -785,30 +785,4 @@ class database extends Step } } - -/*$db = new database(); -$db->doProcess(); -$dhost = 'localhost'; -$dbbinary = "C:\Program Files\Zend\MySQL51\bin\mysql.exe"; -$dbbinary = "mysql"; -$dbbinary = MYSQL_BIN."mysql.exe"; -$duname = "root"; -$dpassword = "root"; -$dname = "dms_install"; -$sql1 = "DROP DATABASE {$dname}"; -$sql2 = "CREATE DATABASE {$dname}"; -$con = $db->_dbhandler->load($dhost, $duname, $dpassword, $dname); -$db->_dbhandler->query($sql1, $con); -$db->_dbhandler->query($sql2, $con); -//die; -$command = "\"$dbbinary\" -u{$duname} -p{$dpassword} {$dname} < \"".SQL_DIR."structure.sql\""; -//echo $command."
"; -$db->_util->pexec($command); -$command = "\"$dbbinary\" -u{$duname} -p{$dpassword} {$dname} < \"".SQL_DIR."data.sql\""; -$db->_util->pexec($command); -echo $command."
"; -$db->setName("dms".rand()); -$db->installStep(); -var_dump($db); -die;*/ ?> \ No newline at end of file diff --git a/setup/wizard/steps/dependencies.php b/setup/wizard/steps/dependencies.php old mode 100644 new mode 100755 index ae74499..293e3dc --- a/setup/wizard/steps/dependencies.php +++ b/setup/wizard/steps/dependencies.php @@ -71,7 +71,7 @@ class dependencies extends Step * @access public */ public function __construct() { - $this->temp_variables = array("step_name"=>"dependencyCheck"); + $this->temp_variables = array("step_name"=>"dependencies"); $this->error = array(); $this->done = true; } @@ -85,6 +85,10 @@ class dependencies extends Step */ public function doStep() { + if(!$this->inStep("dependencies")) { + $this->doRun(); + return 'landing'; + } // Check dependencies $passed = $this->doRun(); if($this->next()) { diff --git a/setup/wizard/steps/dependency_check.php b/setup/wizard/steps/dependency_check.php old mode 100644 new mode 100755 index fcf99e4..fcf99e4 --- a/setup/wizard/steps/dependency_check.php +++ b/setup/wizard/steps/dependency_check.php diff --git a/setup/wizard/steps/install.php b/setup/wizard/steps/install.php old mode 100644 new mode 100755 index 2cabcdc..af4f620 --- a/setup/wizard/steps/install.php +++ b/setup/wizard/steps/install.php @@ -48,11 +48,12 @@ class install extends step } public function doStep() { + if(!$this->inStep("install")) { + return 'landing'; + } if($this->install()) { - return 'install'; } else if($this->previous()) { - return 'previous'; } diff --git a/setup/wizard/steps/license.php b/setup/wizard/steps/license.php old mode 100644 new mode 100755 index f9d1431..c5c0d20 --- a/setup/wizard/steps/license.php +++ b/setup/wizard/steps/license.php @@ -40,21 +40,31 @@ * @version Version 0.1 */ -class license extends step { +class license extends step { + /** + * List of errors encountered by step + * + * @author KnowledgeTree Team + * @access protected + * @var array + */ + protected $error = array(); + function __construct() { $this->temp_variables = array("step_name"=>"license"); } public function doStep() { + if(!$this->inStep("license")) { + return 'landing'; + } if($this->next()) { if($this->doRun()) - return 'next'; else return 'error'; } else if($this->previous()) { - return 'previous'; } @@ -65,14 +75,14 @@ class license extends step { if(isset($_POST['license'])) { // check if agree if($_POST['license']) { - return true; } else { $this->error[] = "Please accept the license agreement"; - return false; } } + $this->error[] = "Please accept the license agreement"; + return false; } public function getStepVars() diff --git a/setup/wizard/steps/registration.php b/setup/wizard/steps/registration.php new file mode 100755 index 0000000..fd80ff5 --- /dev/null +++ b/setup/wizard/steps/registration.php @@ -0,0 +1,79 @@ +. +* +* 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 +*/ + +class registration extends Step +{ + + function configure() { + $this->temp_variables = array("step_name"=>"registration"); + } + + function doStep() { + if(!$this->inStep("registration")) { + + return 'landing'; + } + if($this->next()) { + if($this->doRun()) + return 'next'; + else + return 'error'; + } else if($this->previous()) { + return 'previous'; + } + + return 'landing'; + } + + public function doRun() { + return true; // TODO: Bypass for now + if(isset($_POST['email'])) { + if($_POST['email']) { // check email is valid + return true; + } else { + $this->error[] = "Please accept the license agreement"; + return false; + } + } + } +} +?> \ No newline at end of file diff --git a/setup/wizard/steps/services.php b/setup/wizard/steps/services.php old mode 100644 new mode 100755 index d3de252..12f252a --- a/setup/wizard/steps/services.php +++ b/setup/wizard/steps/services.php @@ -65,14 +65,18 @@ class services extends Step protected $java; protected $util; + + public $temp_variables; + /** - * Constructs database object + * Constructs services object * * @author KnowledgeTree Team * @access public * @param none */ public function __construct() { + $this->temp_variables = array("step_name"=>"services"); $this->util = new InstallUtil(); $this->setJava(); } @@ -130,18 +134,21 @@ class services extends Step */ public function doStep() { + if(!$this->inStep("services")) { + $this->doRun(); + return 'landing'; + } // Check dependencies $passed = $this->doRun(); +// die; if($this->next()) { if($passed) return 'next'; else return 'error'; } else if($this->previous()) { - return 'previous'; } - return 'landing'; } @@ -160,6 +167,8 @@ class services extends Step } $this->installService(); +// if(count($this->getErrors() > 0)) +// return false; return true; } @@ -177,6 +186,9 @@ class services extends Step $className = OS.$serviceName; $service = new $className(); $status = $this->serviceHelper($service); + if ($status) { + $this->temp_variables['services'][] = $service->getName()." has been added as a Service"; + } } return true; @@ -192,11 +204,9 @@ class services extends Step */ private function serviceHelper($service) { $service->load(); // Load Defaults - $response = $service->uninstall(); // Uninstall service if it exists $response = $service->install(); // Install service $statusCheck = OS."ServiceInstalled"; return $this->$statusCheck($service); - } /** @@ -279,5 +289,17 @@ class services extends Step public function getErrors() { return $this->error; } + + /** + * Get the variables to be passed to the template + * + * @author KnowledgeTree Team + * @access public + * @return array + */ + public function getStepVars() + { + return $this->temp_variables; + } } ?> \ No newline at end of file diff --git a/setup/wizard/steps/welcome.php b/setup/wizard/steps/welcome.php old mode 100644 new mode 100755 index 6c44be2..6c44be2 --- a/setup/wizard/steps/welcome.php +++ b/setup/wizard/steps/welcome.php diff --git a/setup/wizard/template.php b/setup/wizard/template.php old mode 100644 new mode 100755 index 00dc10a..00dc10a --- a/setup/wizard/template.php +++ b/setup/wizard/template.php diff --git a/setup/wizard/templates/complete.tpl b/setup/wizard/templates/complete.tpl old mode 100644 new mode 100755 index 1c3aea0..1c3aea0 --- a/setup/wizard/templates/complete.tpl +++ b/setup/wizard/templates/complete.tpl diff --git a/setup/wizard/templates/configuration.tpl b/setup/wizard/templates/configuration.tpl old mode 100644 new mode 100755 index 7844ae9..7844ae9 --- a/setup/wizard/templates/configuration.tpl +++ b/setup/wizard/templates/configuration.tpl diff --git a/setup/wizard/templates/configuration_confirm.tpl b/setup/wizard/templates/configuration_confirm.tpl old mode 100644 new mode 100755 index 3dfecf8..3dfecf8 --- a/setup/wizard/templates/configuration_confirm.tpl +++ b/setup/wizard/templates/configuration_confirm.tpl diff --git a/setup/wizard/templates/database.tpl b/setup/wizard/templates/database.tpl old mode 100644 new mode 100755 index b4a90d5..b4a90d5 --- a/setup/wizard/templates/database.tpl +++ b/setup/wizard/templates/database.tpl diff --git a/setup/wizard/templates/database_confirm.tpl b/setup/wizard/templates/database_confirm.tpl old mode 100644 new mode 100755 index d8a38a3..d8a38a3 --- a/setup/wizard/templates/database_confirm.tpl +++ b/setup/wizard/templates/database_confirm.tpl diff --git a/setup/wizard/templates/dependencies.tpl b/setup/wizard/templates/dependencies.tpl old mode 100644 new mode 100755 index 1dd1b66..1dd1b66 --- a/setup/wizard/templates/dependencies.tpl +++ b/setup/wizard/templates/dependencies.tpl diff --git a/setup/wizard/templates/dependency_check.tpl b/setup/wizard/templates/dependency_check.tpl old mode 100644 new mode 100755 index 74dce04..74dce04 --- a/setup/wizard/templates/dependency_check.tpl +++ b/setup/wizard/templates/dependency_check.tpl diff --git a/setup/wizard/templates/install.tpl b/setup/wizard/templates/install.tpl old mode 100644 new mode 100755 index d7d2d05..d7d2d05 --- a/setup/wizard/templates/install.tpl +++ b/setup/wizard/templates/install.tpl diff --git a/setup/wizard/templates/license.tpl b/setup/wizard/templates/license.tpl old mode 100644 new mode 100755 index c187cd1..c187cd1 --- a/setup/wizard/templates/license.tpl +++ b/setup/wizard/templates/license.tpl diff --git a/setup/wizard/templates/registration.tpl b/setup/wizard/templates/registration.tpl new file mode 100755 index 0000000..445daac --- /dev/null +++ b/setup/wizard/templates/registration.tpl @@ -0,0 +1,17 @@ +

Registration

+ +
+ $e) { + echo $e; + } + }?> +
+ +
+ +
+ + +
+
\ No newline at end of file diff --git a/setup/wizard/templates/services.tpl b/setup/wizard/templates/services.tpl old mode 100644 new mode 100755 index e1a50b4..8550cf6 --- a/setup/wizard/templates/services.tpl +++ b/setup/wizard/templates/services.tpl @@ -13,7 +13,13 @@ if($errors){ echo ''; } ?> - +\n"; + } +} +?>
diff --git a/setup/wizard/templates/welcome.tpl b/setup/wizard/templates/welcome.tpl old mode 100644 new mode 100755 index 92c0f0b..92c0f0b --- a/setup/wizard/templates/welcome.tpl +++ b/setup/wizard/templates/welcome.tpl diff --git a/setup/wizard/templates/wizard.tpl b/setup/wizard/templates/wizard.tpl old mode 100644 new mode 100755 index dae2f49..e3e32e9 --- a/setup/wizard/templates/wizard.tpl +++ b/setup/wizard/templates/wizard.tpl @@ -2,8 +2,8 @@ KnowledgeTree Installer + -
-- libgit2 0.21.4