Commit 51f6cc4daee5371e764e89e453600a08b7cae3f6

Authored by Jarrett Jordaan
1 parent 9dcabe27

Story ID: 778902 Services Updated

Committed by: Jarrett Jordaan

Reviewed by: Megan Watson
Showing 73 changed files with 300 additions and 132 deletions
setup/wizard/batches/lucene_install.bat 100644 → 100755
setup/wizard/batches/lucene_start.bat 100644 → 100755
setup/wizard/batches/lucene_uninstall.bat 100644 → 100755
setup/wizard/batches/scheduler_install.bat 100644 → 100755
setup/wizard/batches/scheduler_start.bat 100644 → 100755
setup/wizard/batches/scheduler_uninstall.bat 100644 → 100755
setup/wizard/config/config.xml 100644 → 100755
@@ -12,9 +12,10 @@ @@ -12,9 +12,10 @@
12 <step name="Welcome">welcome</step> 12 <step name="Welcome">welcome</step>
13 <step name="License Agreement">license</step> 13 <step name="License Agreement">license</step>
14 <step name="PHP Dependencies" mode="silent">dependencies</step> 14 <step name="PHP Dependencies" mode="silent">dependencies</step>
15 - <step name="System Configuration" order="1">configuration</step> 15 + <step name="System Configuration" order="2">configuration</step>
16 <step name="Service Dependencies" order="3" mode="silent">services</step> 16 <step name="Service Dependencies" order="3" mode="silent">services</step>
17 - <step name="Database Configuration" order="2">database</step> 17 + <step name="Database Configuration" order="1">database</step>
  18 + <step name="Registration">registration</step>
18 <step name="Install" mode="silent">install</step> 19 <step name="Install" mode="silent">install</step>
19 <step name="Complete">complete</step> 20 <step name="Complete">complete</step>
20 </steps> 21 </steps>
setup/wizard/config/databases.xml 100644 → 100755
setup/wizard/dbUtil.php 100644 → 100755
setup/wizard/index.php 100644 → 100755
setup/wizard/ini.php 100644 → 100755
setup/wizard/installUtil.php 100644 → 100755
@@ -330,7 +330,7 @@ class InstallUtil { @@ -330,7 +330,7 @@ class InstallUtil {
330 if(WINDOWS_OS) { 330 if(WINDOWS_OS) {
331 $sCmd = 'call '.$sCmd; 331 $sCmd = 'call '.$sCmd;
332 } 332 }
333 - echo $sCmd."<br/>"; 333 +
334 exec($sCmd, $aOutput, $iRet); 334 exec($sCmd, $aOutput, $iRet);
335 $aRet['ret'] = $iRet; 335 $aRet['ret'] = $iRet;
336 $aRet['out'] = $aOutput; 336 $aRet['out'] = $aOutput;
setup/wizard/installWizard.php 100644 → 100755
setup/wizard/installer.php 100644 → 100755
@@ -267,7 +267,6 @@ class Installer { @@ -267,7 +267,6 @@ class Installer {
267 * @return string 267 * @return string
268 */ 268 */
269 private function _runStepAction($stepName) { 269 private function _runStepAction($stepName) {
270 - //echo $stepName."==";  
271 $this->stepAction = new stepAction($stepName); 270 $this->stepAction = new stepAction($stepName);
272 $this->stepAction->setSteps($this->getSteps()); 271 $this->stepAction->setSteps($this->getSteps());
273 $this->stepAction->setStepNames($this->getStepNames()); 272 $this->stepAction->setStepNames($this->getStepNames());
@@ -403,8 +402,6 @@ class Installer { @@ -403,8 +402,6 @@ class Installer {
403 private function _resetSessions() { 402 private function _resetSessions() {
404 if($this->session) { 403 if($this->session) {
405 if($this->_firstStepPeriod()) { 404 if($this->_firstStepPeriod()) {
406 - $this->session->destroy();  
407 -/*  
408 foreach ($this->getSteps() as $class) { 405 foreach ($this->getSteps() as $class) {
409 $this->session->un_setClass($class); 406 $this->session->un_setClass($class);
410 } 407 }
@@ -414,7 +411,6 @@ class Installer { @@ -414,7 +411,6 @@ class Installer {
414 foreach ($this->_getInstallOrders() as $class) { 411 foreach ($this->_getInstallOrders() as $class) {
415 $this->session->un_setClass($class); 412 $this->session->un_setClass($class);
416 } 413 }
417 -*/  
418 } 414 }
419 } 415 }
420 } 416 }
@@ -434,7 +430,17 @@ class Installer { @@ -434,7 +430,17 @@ class Installer {
434 if(!$this->installOrders) { 430 if(!$this->installOrders) {
435 $this->_xmlStepsOrders(); 431 $this->_xmlStepsOrders();
436 } 432 }
  433 + if(isset($_POST['Next'])) {
  434 + $this->response = 'next';
  435 + } elseif (isset($_POST['Previous'])) {
  436 + $this->response = 'previous';
  437 + } elseif (isset($_POST['Confirm'])) {
  438 + $this->response = 'next';
  439 + } elseif (isset($_POST['Install'])) {
  440 + $this->response = 'next';
  441 + }
437 } 442 }
  443 +
438 /** 444 /**
439 * Main control to handle the flow of install 445 * Main control to handle the flow of install
440 * 446 *
@@ -445,39 +451,29 @@ class Installer { @@ -445,39 +451,29 @@ class Installer {
445 */ 451 */
446 public function step() { 452 public function step() {
447 $this->loadNeeded(); 453 $this->loadNeeded();
448 - $response = $this->_landing();  
449 - switch($response) { 454 + switch($this->response) {
450 case 'next': 455 case 'next':
451 - $this->_proceed(); // Load next window 456 + $step_name = $this->_getStepName();
  457 + $res = $this->_runStepAction($step_name);
  458 + if($res == 'next')
  459 + $this->_proceed(); // Load next window
  460 + elseif ($res == 'install') {
  461 + $this->_runStepsInstallers(); // Load landing
  462 + $this->_proceed(); // Load next window
  463 + } elseif ($res == 'confirm') {
  464 + $this->stepConfirmation = true;
  465 + $this->_landing();
  466 + } else {
  467 +// die("Unmet parameters");
  468 + }
452 break; 469 break;
453 -  
454 case 'previous': 470 case 'previous':
455 - $this->_backward(); // Load previous window  
456 - break;  
457 -  
458 - case 'confirm':  
459 - $this->stepConfirmation = true;  
460 - $this->_landing();  
461 - break;  
462 -  
463 - case 'error':  
464 - $this->_landing(); // Load landing with errors  
465 - break;  
466 -  
467 - case 'landing':  
468 - $this->_landing(); // Load landing  
469 - break;  
470 -  
471 - case 'install':  
472 - $this->_runStepsInstallers(); // Load landing  
473 - $this->_proceed(); // Load next window  
474 - break;  
475 - 471 + $this->_backward(); // Load previous page
  472 + break;
476 default: 473 default:
477 - die("Response $response: That was unexpected"); // No class response 474 + $this->_landing();
478 break; 475 break;
479 } 476 }
480 -  
481 $this->stepAction->paintAction(); // Display step 477 $this->stepAction->paintAction(); // Display step
482 } 478 }
483 479
setup/wizard/lib/services/service.php 100644 → 100755
setup/wizard/lib/services/unixAgent.php 100644 → 100755
setup/wizard/lib/services/unixLucene.php 100644 → 100755
@@ -99,8 +99,6 @@ class unixLucene extends Service { @@ -99,8 +99,6 @@ class unixLucene extends Service {
99 } 99 }
100 } 100 }
101 } 101 }
102 -// echo $this->phpDir;  
103 -// die;  
104 return ; 102 return ;
105 } else { 103 } else {
106 $this->phpDir = $phpdir; 104 $this->phpDir = $phpdir;
@@ -165,13 +163,8 @@ class unixLucene extends Service { @@ -165,13 +163,8 @@ class unixLucene extends Service {
165 163
166 public function stop() { 164 public function stop() {
167 // TODO: Breaks things 165 // TODO: Breaks things
168 - if($this->getPhpDir() != "") {  
169 -// $cmd = $this->getPhpDir()." ".$this->getIndexerDir().$this->getShutdownScript()." positive &> ".SYS_LOG_DIR."dmsctl.log";  
170 - } else {  
171 - $cmd = "pkill -f ".$this->getLuceneSource();  
172 - }  
173 $state = $this->status(); 166 $state = $this->status();
174 - if($state == 'STARTED') { 167 + if($state != 'STOPPED') {
175 $cmd = "pkill -f ".$this->getLuceneSource(); 168 $cmd = "pkill -f ".$this->getLuceneSource();
176 $response = $this->util->pexec($cmd); 169 $response = $this->util->pexec($cmd);
177 return $response; 170 return $response;
@@ -181,27 +174,34 @@ class unixLucene extends Service { @@ -181,27 +174,34 @@ class unixLucene extends Service {
181 174
182 public function install() { 175 public function install() {
183 $state = $this->status(); 176 $state = $this->status();
184 -// die;  
185 if($state != 'STARTED') { 177 if($state != 'STARTED') {
186 $cmd = "cd ".$this->getLuceneDir()."; "; 178 $cmd = "cd ".$this->getLuceneDir()."; ";
187 $cmd .= "nohup java -jar ".$this->getLuceneSource()." &> ".SYS_LOG_DIR."lucene.log &"; 179 $cmd .= "nohup java -jar ".$this->getLuceneSource()." &> ".SYS_LOG_DIR."lucene.log &";
188 $response = $this->util->pexec($cmd); 180 $response = $this->util->pexec($cmd);
  181 +
189 return $response; 182 return $response;
190 } elseif ($state == 'STOPPED') { 183 } elseif ($state == 'STOPPED') {
191 - // start her up  
192 - 184 + // Start Service
  185 + return true;
  186 + } else {
  187 + // Service Running Already
  188 + return true;
193 } 189 }
  190 +
  191 + return false;
194 } 192 }
195 193
196 public function status() { 194 public function status() {
197 - $cmd = "ps ax | grep ".$this->getLuceneSource()." | awk {'print $1'}";  
198 -// echo $cmd; 195 + $cmd = "ps ax | grep ".$this->getLuceneSource();
199 $response = $this->util->pexec($cmd); 196 $response = $this->util->pexec($cmd);
200 -// var_dump($response);  
201 if(is_array($response['out'])) { 197 if(is_array($response['out'])) {
202 if(count($response['out']) > 1) { 198 if(count($response['out']) > 1) {
203 -// var_dump($response['out']);  
204 - return 'STARTED'; 199 + foreach ($response['out'] as $r) {
  200 + preg_match('/grep/', $r, $matches); // Ignore grep
  201 + if(!$matches) {
  202 + return 'STARTED';
  203 + }
  204 + }
205 } else { 205 } else {
206 return 'STOPPED'; 206 return 'STOPPED';
207 } 207 }
setup/wizard/lib/services/unixScheduler.php 100644 → 100755
@@ -47,6 +47,7 @@ class unixScheduler extends Service { @@ -47,6 +47,7 @@ class unixScheduler extends Service {
47 protected $schedulerDir; 47 protected $schedulerDir;
48 protected $schedulerSource; 48 protected $schedulerSource;
49 protected $schedulerSourceLoc; 49 protected $schedulerSourceLoc;
  50 + protected $systemDir;
50 private $util = null; 51 private $util = null;
51 52
52 public function __construct() { 53 public function __construct() {
@@ -55,6 +56,7 @@ class unixScheduler extends Service { @@ -55,6 +56,7 @@ class unixScheduler extends Service {
55 function load() { 56 function load() {
56 $this->name = "KTSchedulerTest"; 57 $this->name = "KTSchedulerTest";
57 $this->util = new InstallUtil(); 58 $this->util = new InstallUtil();
  59 + $this->setSystemDir(SYSTEM_ROOT."bin".DS);
58 $this->setSchedulerDir(SYSTEM_DIR."bin".DS); 60 $this->setSchedulerDir(SYSTEM_DIR."bin".DS);
59 $this->setSchedulerSource('schedulerTask.sh'); 61 $this->setSchedulerSource('schedulerTask.sh');
60 $this->setSchedulerSourceLoc('schedulerTask.sh'); 62 $this->setSchedulerSourceLoc('schedulerTask.sh');
@@ -69,6 +71,16 @@ class unixScheduler extends Service { @@ -69,6 +71,16 @@ class unixScheduler extends Service {
69 return $this->schedulerPidFile; 71 return $this->schedulerPidFile;
70 } 72 }
71 73
  74 + function setSystemDir($systemDir) {
  75 + $this->systemDir = $systemDir;
  76 + }
  77 +
  78 + function getSystemDir() {
  79 + if(file_exists($this->systemDir))
  80 + return $this->systemDir;
  81 + return false;
  82 + }
  83 +
72 function setSchedulerDir($schedulerDir) { 84 function setSchedulerDir($schedulerDir) {
73 $this->schedulerDir = $schedulerDir; 85 $this->schedulerDir = $schedulerDir;
74 } 86 }
@@ -90,21 +102,25 @@ class unixScheduler extends Service { @@ -90,21 +102,25 @@ class unixScheduler extends Service {
90 } 102 }
91 103
92 function getSchedulerSourceLoc() { 104 function getSchedulerSourceLoc() {
93 - if(file_exists($this->schedulerSourceLoc)) { 105 + if(file_exists($this->schedulerSourceLoc))
94 return $this->schedulerSourceLoc; 106 return $this->schedulerSourceLoc;
95 - }  
96 -// die('File Expected Error');  
97 return false; 107 return false;
98 } 108 }
99 109
100 function install() { 110 function install() {
101 - $source = $this->getSchedulerSourceLoc();  
102 - if($source) {  
103 - $cmd = "nohup ".$source." &> ".SYS_LOG_DIR."dmsctl.log";  
104 - $response = $this->util->pexec($cmd);  
105 - return $response;  
106 - }  
107 - 111 +// $source = $this->getSchedulerSourceLoc();
  112 +// if($source) {
  113 +// $cmd = "nohup ".$source." &> ".SYS_LOG_DIR."dmsctl.log";
  114 +// $response = $this->util->pexec($cmd);
  115 +// return $response;
  116 +// } else {
  117 +// $source = $this->getSystemDir().$this->schedulerSource;
  118 +// if(file_exists($source)) {
  119 +// $cmd = "nohup ".$source." &> ".SYS_LOG_DIR."dmsctl.log";
  120 +// $response = $this->util->pexec($cmd);
  121 +// return $response;
  122 +// }
  123 +// }
108 return false; 124 return false;
109 } 125 }
110 126
@@ -113,17 +129,22 @@ class unixScheduler extends Service { @@ -113,17 +129,22 @@ class unixScheduler extends Service {
113 } 129 }
114 130
115 function stop() { 131 function stop() {
116 - $cmd = "pkill -f ".$this->name; 132 + $cmd = "pkill -f ".$this->schedulerSource;
117 $response = $this->util->pexec($cmd); 133 $response = $this->util->pexec($cmd);
118 return $response; 134 return $response;
119 } 135 }
120 136
121 function status() { 137 function status() {
122 - $cmd = "ps ax | grep ".$this->getSchedulerSource()." | awk {'print $1'}"; 138 + $cmd = "ps ax | grep ".$this->getSchedulerSource();
123 $response = $this->util->pexec($cmd); 139 $response = $this->util->pexec($cmd);
124 - if(is_array($response['out'])) { 140 + if(is_array($response['out'])) {
125 if(count($response['out']) > 1) { 141 if(count($response['out']) > 1) {
126 - return 'STARTED'; 142 + foreach ($response['out'] as $r) {
  143 + preg_match('/grep/', $r, $matches); // Ignore grep
  144 + if(!$matches) {
  145 + return 'STARTED';
  146 + }
  147 + }
127 } else { 148 } else {
128 return 'STOPPED'; 149 return 'STOPPED';
129 } 150 }
@@ -131,5 +152,17 @@ class unixScheduler extends Service { @@ -131,5 +152,17 @@ class unixScheduler extends Service {
131 152
132 return 'STOPPED'; 153 return 'STOPPED';
133 } 154 }
  155 +
  156 + function writeSchedulerTask() {
  157 + $fp = fopen($this->getSchedulerDir().$this->getSchedulerSource(), "w+");
  158 + $content = "#!/bin/sh\n";
  159 + $content .= "cd ".$this->getSchedulerDir()."\n";
  160 + $content .= "while true; do\n";
  161 + $content .= "php "."\"{$this->getSchedulerDir()}{$this->getSchedulerSource()}\"";
  162 + $content .= "sleep 30\n";
  163 + $content .= "done";
  164 + fwrite($fp, $content);
  165 + fclose($fp);
  166 + }
134 } 167 }
135 ?> 168 ?>
136 \ No newline at end of file 169 \ No newline at end of file
setup/wizard/lib/services/unixService.php 100644 → 100755
setup/wizard/lib/services/windowsAgent.php 100644 → 100755
setup/wizard/lib/services/windowsLucene.php 100644 → 100755
setup/wizard/lib/services/windowsScheduler.php 100644 → 100755
setup/wizard/lib/services/windowsService.php 100644 → 100755
setup/wizard/path.php 100644 → 100755
@@ -73,10 +73,17 @@ @@ -73,10 +73,17 @@
73 define('RES_DIR', WIZARD_DIR."resources".DS); 73 define('RES_DIR', WIZARD_DIR."resources".DS);
74 define('STEP_DIR', WIZARD_DIR."steps".DS); 74 define('STEP_DIR', WIZARD_DIR."steps".DS);
75 define('TEMP_DIR', WIZARD_DIR."templates".DS); 75 define('TEMP_DIR', WIZARD_DIR."templates".DS);
76 - // Define paths to system 76 + // Define paths to system webroot
77 define('SYSTEM_DIR', $sys); 77 define('SYSTEM_DIR', $sys);
78 define('SYS_BIN_DIR', SYSTEM_DIR."bin".DS); 78 define('SYS_BIN_DIR', SYSTEM_DIR."bin".DS);
79 define('SYS_LOG_DIR', SYSTEM_DIR."var".DS."log".DS); 79 define('SYS_LOG_DIR', SYSTEM_DIR."var".DS."log".DS);
  80 + // Define paths to system
  81 + array_pop($xdir);
  82 + $asys = '';
  83 + foreach ($xdir as $k=>$v) {
  84 + $asys .= $v.DS;
  85 + }
  86 + define('SYSTEM_ROOT', $asys);
80 // Install Type 87 // Install Type
81 preg_match('/Zend/', $sys, $matches); 88 preg_match('/Zend/', $sys, $matches);
82 if($matches) { 89 if($matches) {
@@ -96,13 +103,16 @@ @@ -96,13 +103,16 @@
96 } 103 }
97 // Other 104 // Other
98 date_default_timezone_set('Africa/Johannesburg'); 105 date_default_timezone_set('Africa/Johannesburg');
99 - // Mysql bin  
100 - $serverPaths = explode(';',$_SERVER['PATH']);  
101 - foreach ($serverPaths as $apath) {  
102 - preg_match('/mysql/i', $apath, $matches);  
103 - if($matches) {  
104 - define('MYSQL_BIN', $apath.DS);  
105 - break;  
106 - } 106 + // Mysql bin [Windows]
  107 + if(WINDOWS_OS) {
  108 + $serverPaths = explode(';',$_SERVER['PATH']);
  109 + foreach ($serverPaths as $apath) {
  110 + preg_match('/mysql/i', $apath, $matches);
  111 + if($matches) {
  112 + define('MYSQL_BIN', $apath.DS);
  113 + break;
  114 + }
  115 + }
107 } 116 }
  117 +
108 ?> 118 ?>
setup/wizard/resources/graphics/active.png 100644 → 100755

1.25 KB | W: | H:

1.25 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/background.gif 100644 → 100755

914 Bytes | W: | H:

914 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/cross.png 100644 → 100755

846 Bytes | W: | H:

846 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/cross_orange.png 100644 → 100755

1.43 KB | W: | H:

1.43 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/footer.png 100644 → 100755

1.04 KB | W: | H:

1.04 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/gradient.png 100644 → 100755

1.82 KB | W: | H:

1.82 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/inactive.png 100644 → 100755

1.2 KB | W: | H:

1.2 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/indicator.png 100644 → 100755

1.22 KB | W: | H:

1.22 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/indicator.pxm 100644 → 100755
No preview for this file type
setup/wizard/resources/graphics/left.png 100644 → 100755

1.08 KB | W: | H:

1.08 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/logo.png 100644 → 100755

1.36 KB | W: | H:

1.36 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/powered-by-kt.png 100644 → 100755

8.27 KB | W: | H:

8.27 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/tick.png 100644 → 100755

917 Bytes | W: | H:

917 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/graphics/tree.jpg 100644 → 100755

2.2 KB | W: | H:

2.2 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
setup/wizard/resources/wizard.css 100644 → 100755
setup/wizard/resources/wizard.js 100644 → 100755
@@ -47,13 +47,11 @@ wizard.prototype.toggleElement = function(el) { @@ -47,13 +47,11 @@ wizard.prototype.toggleElement = function(el) {
47 47
48 // Handle steps within database page 48 // Handle steps within database page
49 wizard.prototype.showStep = function(p, d) { 49 wizard.prototype.showStep = function(p, d) {
50 - // Don't check if previous is clicked  
51 - if(d != 'p') {  
52 - // Check for errors 50 + if(d != 'p') { // Don't check if previous is clicked
53 var ueq = 0; 51 var ueq = 0;
54 - if(p == 2) { 52 + if(p == 2) { // Check User 1
55 ueq = w.validateUsers('dmsname', 'dmspassword', 'dmspassword2'); 53 ueq = w.validateUsers('dmsname', 'dmspassword', 'dmspassword2');
56 - } else if(p == 3) { 54 + } else if(p == 3) { // Check User 1
57 ueq = w.validateUsers('dmsusername', 'dmsuserpassword', 'dmsuserpassword2'); 55 ueq = w.validateUsers('dmsusername', 'dmsuserpassword', 'dmsuserpassword2');
58 } 56 }
59 if(ueq != 0) { 57 if(ueq != 0) {
@@ -136,8 +134,20 @@ wizard.prototype.focusElement = function(el) { @@ -136,8 +134,20 @@ wizard.prototype.focusElement = function(el) {
136 wizard.prototype.onSubmitValidate = function() { 134 wizard.prototype.onSubmitValidate = function() {
137 var response = w.showStep(3, 'n'); 135 var response = w.showStep(3, 'n');
138 if(response == true) { 136 if(response == true) {
  137 + alert(response);
139 document.getElementById('sendAll').name = 'Next'; // Force the next step 138 document.getElementById('sendAll').name = 'Next'; // Force the next step
140 document.getElementById('sendAll').value = 'next'; 139 document.getElementById('sendAll').value = 'next';
141 document.getElementById('dbsettings').submit(); 140 document.getElementById('dbsettings').submit();
  141 + } else {
  142 + alert('asd');
  143 + return false;
  144 + /*
  145 + document.getElementById('sendAll').name = 'Previous'; // Force the previous step
  146 + document.getElementById('sendAll').value = 'previous';
  147 + document.getElementById('dbsettings').submit();
  148 + */
142 } 149 }
  150 +
  151 +
  152 +
143 } 153 }
144 \ No newline at end of file 154 \ No newline at end of file
setup/wizard/service.php 100644 → 100755
setup/wizard/session.php 100644 → 100755
setup/wizard/sql/data.sql 100644 → 100755
setup/wizard/sql/structure.sql 100644 → 100755
setup/wizard/sql/upgrades/folders.sql 100644 → 100755
setup/wizard/sql/upgrades/search_ranking.sql 100644 → 100755
setup/wizard/sql/user.sql 100644 → 100755
setup/wizard/step.php 100644 → 100755
setup/wizard/stepAction.php 100644 → 100755
@@ -322,6 +322,7 @@ class stepAction { @@ -322,6 +322,7 @@ class stepAction {
322 $step_tpl = new Template($template); 322 $step_tpl = new Template($template);
323 $step_tpl->set("errors", $step_errors); // Set template errors 323 $step_tpl->set("errors", $step_errors); // Set template errors
324 $step_vars = $this->action->getStepVars(); // Get template variables 324 $step_vars = $this->action->getStepVars(); // Get template variables
  325 + $step_tpl->set("step_vars", $step_vars); // Set template errors
325 foreach ($step_vars as $key => $value) { // Set template variables 326 foreach ($step_vars as $key => $value) { // Set template variables
326 $step_tpl->set($key, $value); // Load values to session 327 $step_tpl->set($key, $value); // Load values to session
327 if($this->action->storeInSession()) { // Check if class values need to be stored in session 328 if($this->action->storeInSession()) { // Check if class values need to be stored in session
setup/wizard/steps/complete.php 100644 → 100755
setup/wizard/steps/configuration.php 100644 → 100755
@@ -117,8 +117,12 @@ class configuration extends Step @@ -117,8 +117,12 @@ class configuration extends Step
117 * @return string The position in the step 117 * @return string The position in the step
118 */ 118 */
119 public function doStep() { 119 public function doStep() {
  120 + if(!$this->inStep("configuration")) {
  121 + $this->doRun();
  122 + return 'landing';
  123 + }
120 if($this->next()) { 124 if($this->next()) {
121 - if($this->doRun()){ 125 + if($this->doRun()) {
122 return 'confirm'; 126 return 'confirm';
123 } 127 }
124 return 'error'; 128 return 'error';
setup/wizard/steps/database.php 100644 → 100755
@@ -241,8 +241,8 @@ class database extends Step @@ -241,8 +241,8 @@ class database extends Step
241 public function __construct() { 241 public function __construct() {
242 $this->_dbhandler = new dbUtil(); 242 $this->_dbhandler = new dbUtil();
243 $this->_util = new InstallUtil(); 243 $this->_util = new InstallUtil();
244 - $this->mysqlDir = MYSQL_BIN;  
245 - echo $this->mysqlDir; 244 + if(WINDOWS_OS)
  245 + $this->mysqlDir = MYSQL_BIN;
246 } 246 }
247 247
248 /** 248 /**
@@ -323,7 +323,7 @@ class database extends Step @@ -323,7 +323,7 @@ class database extends Step
323 else 323 else
324 $con = $this->_dbhandler->load($this->dhost.":".$this->dport, $this->duname, $this->dpassword, $this->dname); 324 $con = $this->_dbhandler->load($this->dhost.":".$this->dport, $this->duname, $this->dpassword, $this->dname);
325 if (!$con) { 325 if (!$con) {
326 - $this->error[] = "Could not connect: " . $this->_dbhandler->getErrors(); 326 + $this->error[] = "Could not connect";
327 return false; 327 return false;
328 } else { 328 } else {
329 $this->error = array(); // Reset usage errors 329 $this->error = array(); // Reset usage errors
@@ -541,7 +541,7 @@ class database extends Step @@ -541,7 +541,7 @@ class database extends Step
541 $con = $this->connectMysql(); 541 $con = $this->connectMysql();
542 if($con) { 542 if($con) {
543 if(!$this->createDB($con)) { 543 if(!$this->createDB($con)) {
544 - $this->error[] = "Could not Create Database: " . $this->_dbhandler->getErrors(); 544 + $this->error[] = "Could not Create Database: ";
545 return false; 545 return false;
546 } 546 }
547 $this->closeMysql($con); 547 $this->closeMysql($con);
@@ -559,7 +559,7 @@ class database extends Step @@ -559,7 +559,7 @@ class database extends Step
559 private function connectMysql() { 559 private function connectMysql() {
560 $con = $this->_dbhandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname); 560 $con = $this->_dbhandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname);
561 if (!$con) { 561 if (!$con) {
562 - $this->error[] = "Could not connect: " . $this->_dbhandler->getErrors(); 562 + $this->error[] = "Could not connect: ";
563 563
564 return false; 564 return false;
565 } 565 }
@@ -579,16 +579,16 @@ class database extends Step @@ -579,16 +579,16 @@ class database extends Step
579 if($this->usedb($con)) { // attempt to use the db 579 if($this->usedb($con)) { // attempt to use the db
580 if($this->dropdb($con)) { // attempt to drop the db 580 if($this->dropdb($con)) { // attempt to drop the db
581 if(!$this->create($con)) { // attempt to create the db 581 if(!$this->create($con)) { // attempt to create the db
582 - $this->error[] = "Could create database: " . $this->_dbhandler->getErrors(); 582 + $this->error[] = "Could create database: ";
583 return false;// cannot overwrite database 583 return false;// cannot overwrite database
584 } 584 }
585 } else { 585 } else {
586 - $this->error[] = "Could not drop database: " . $this->_dbhandler->getErrors(); 586 + $this->error[] = "Could not drop database: ";
587 return false;// cannot overwrite database 587 return false;// cannot overwrite database
588 } 588 }
589 } else { 589 } else {
590 if(!$this->create($con)) { // attempt to create the db 590 if(!$this->create($con)) { // attempt to create the db
591 - $this->error[] = "Could not create database: " . $this->_dbhandler->getErrors(); 591 + $this->error[] = "Could not create database: ";
592 return false;// cannot overwrite database 592 return false;// cannot overwrite database
593 } 593 }
594 } 594 }
@@ -638,7 +638,7 @@ class database extends Step @@ -638,7 +638,7 @@ class database extends Step
638 if($this->_dbhandler->useBD($this->dname)) { 638 if($this->_dbhandler->useBD($this->dname)) {
639 return true; 639 return true;
640 } else { 640 } else {
641 - $this->error[] = "Error using database: ".$this->_dbhandler->getErrors(); 641 + $this->error[] = "Error using database: ";
642 return false; 642 return false;
643 } 643 }
644 } 644 }
@@ -655,11 +655,11 @@ class database extends Step @@ -655,11 +655,11 @@ class database extends Step
655 if($this->ddrop) { 655 if($this->ddrop) {
656 $sql = "DROP DATABASE {$this->dname};"; 656 $sql = "DROP DATABASE {$this->dname};";
657 if(!$this->_dbhandler->query($sql)) { 657 if(!$this->_dbhandler->query($sql)) {
658 - $this->error[] = "Cannot drop database: ".$this->_dbhandler->getErrors(); 658 + $this->error[] = "Cannot drop database: ";
659 return false; 659 return false;
660 } 660 }
661 } else { 661 } else {
662 - $this->error[] = "Cannot drop database: ".$this->_dbhandler->getErrors(); 662 + $this->error[] = "Cannot drop database: ";
663 return false; 663 return false;
664 } 664 }
665 return true; 665 return true;
@@ -688,7 +688,7 @@ class database extends Step @@ -688,7 +688,7 @@ class database extends Step
688 if ($this->_dbhandler->execute($user1) && $this->_dbhandler->execute($user2)) { 688 if ($this->_dbhandler->execute($user1) && $this->_dbhandler->execute($user2)) {
689 return true; 689 return true;
690 } else { 690 } else {
691 - $this->error[] = "Could not create users in database: ".$this->_dbhandler->getErrors(); 691 + $this->error[] = "Could not create users in database: ";
692 return false; 692 return false;
693 } 693 }
694 } 694 }
@@ -785,30 +785,4 @@ class database extends Step @@ -785,30 +785,4 @@ class database extends Step
785 785
786 } 786 }
787 } 787 }
788 -  
789 -/*$db = new database();  
790 -$db->doProcess();  
791 -$dhost = 'localhost';  
792 -$dbbinary = "C:\Program Files\Zend\MySQL51\bin\mysql.exe";  
793 -$dbbinary = "mysql";  
794 -$dbbinary = MYSQL_BIN."mysql.exe";  
795 -$duname = "root";  
796 -$dpassword = "root";  
797 -$dname = "dms_install";  
798 -$sql1 = "DROP DATABASE {$dname}";  
799 -$sql2 = "CREATE DATABASE {$dname}";  
800 -$con = $db->_dbhandler->load($dhost, $duname, $dpassword, $dname);  
801 -$db->_dbhandler->query($sql1, $con);  
802 -$db->_dbhandler->query($sql2, $con);  
803 -//die;  
804 -$command = "\"$dbbinary\" -u{$duname} -p{$dpassword} {$dname} < \"".SQL_DIR."structure.sql\"";  
805 -//echo $command."<br>";  
806 -$db->_util->pexec($command);  
807 -$command = "\"$dbbinary\" -u{$duname} -p{$dpassword} {$dname} < \"".SQL_DIR."data.sql\"";  
808 -$db->_util->pexec($command);  
809 -echo $command."<br>";  
810 -$db->setName("dms".rand());  
811 -$db->installStep();  
812 -var_dump($db);  
813 -die;*/  
814 ?> 788 ?>
815 \ No newline at end of file 789 \ No newline at end of file
setup/wizard/steps/dependencies.php 100644 → 100755
@@ -71,7 +71,7 @@ class dependencies extends Step @@ -71,7 +71,7 @@ class dependencies extends Step
71 * @access public 71 * @access public
72 */ 72 */
73 public function __construct() { 73 public function __construct() {
74 - $this->temp_variables = array("step_name"=>"dependencyCheck"); 74 + $this->temp_variables = array("step_name"=>"dependencies");
75 $this->error = array(); 75 $this->error = array();
76 $this->done = true; 76 $this->done = true;
77 } 77 }
@@ -85,6 +85,10 @@ class dependencies extends Step @@ -85,6 +85,10 @@ class dependencies extends Step
85 */ 85 */
86 public function doStep() 86 public function doStep()
87 { 87 {
  88 + if(!$this->inStep("dependencies")) {
  89 + $this->doRun();
  90 + return 'landing';
  91 + }
88 // Check dependencies 92 // Check dependencies
89 $passed = $this->doRun(); 93 $passed = $this->doRun();
90 if($this->next()) { 94 if($this->next()) {
setup/wizard/steps/dependency_check.php 100644 → 100755
setup/wizard/steps/install.php 100644 → 100755
@@ -48,11 +48,12 @@ class install extends step @@ -48,11 +48,12 @@ class install extends step
48 } 48 }
49 49
50 public function doStep() { 50 public function doStep() {
  51 + if(!$this->inStep("install")) {
  52 + return 'landing';
  53 + }
51 if($this->install()) { 54 if($this->install()) {
52 -  
53 return 'install'; 55 return 'install';
54 } else if($this->previous()) { 56 } else if($this->previous()) {
55 -  
56 return 'previous'; 57 return 'previous';
57 } 58 }
58 59
setup/wizard/steps/license.php 100644 → 100755
@@ -40,21 +40,31 @@ @@ -40,21 +40,31 @@
40 * @version Version 0.1 40 * @version Version 0.1
41 */ 41 */
42 42
43 -class license extends step {  
44 43
  44 +class license extends step {
  45 + /**
  46 + * List of errors encountered by step
  47 + *
  48 + * @author KnowledgeTree Team
  49 + * @access protected
  50 + * @var array
  51 + */
  52 + protected $error = array();
  53 +
45 function __construct() { 54 function __construct() {
46 $this->temp_variables = array("step_name"=>"license"); 55 $this->temp_variables = array("step_name"=>"license");
47 } 56 }
48 57
49 public function doStep() { 58 public function doStep() {
  59 + if(!$this->inStep("license")) {
  60 + return 'landing';
  61 + }
50 if($this->next()) { 62 if($this->next()) {
51 if($this->doRun()) 63 if($this->doRun())
52 -  
53 return 'next'; 64 return 'next';
54 else 65 else
55 return 'error'; 66 return 'error';
56 } else if($this->previous()) { 67 } else if($this->previous()) {
57 -  
58 return 'previous'; 68 return 'previous';
59 } 69 }
60 70
@@ -65,14 +75,14 @@ class license extends step { @@ -65,14 +75,14 @@ class license extends step {
65 if(isset($_POST['license'])) { 75 if(isset($_POST['license'])) {
66 // check if agree 76 // check if agree
67 if($_POST['license']) { 77 if($_POST['license']) {
68 -  
69 return true; 78 return true;
70 } else { 79 } else {
71 $this->error[] = "Please accept the license agreement"; 80 $this->error[] = "Please accept the license agreement";
72 -  
73 return false; 81 return false;
74 } 82 }
75 } 83 }
  84 + $this->error[] = "Please accept the license agreement";
  85 + return false;
76 } 86 }
77 87
78 public function getStepVars() 88 public function getStepVars()
setup/wizard/steps/registration.php 0 → 100755
  1 +<?php
  2 +/**
  3 +* Complete Step Controller.
  4 +*
  5 +* KnowledgeTree Community Edition
  6 +* Document Management Made Simple
  7 +* Copyright(C) 2008,2009 KnowledgeTree Inc.
  8 +* Portions copyright The Jam Warehouse Software(Pty) Limited
  9 +*
  10 +* This program is free software; you can redistribute it and/or modify it under
  11 +* the terms of the GNU General Public License version 3 as published by the
  12 +* Free Software Foundation.
  13 +*
  14 +* This program is distributed in the hope that it will be useful, but WITHOUT
  15 +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  16 +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  17 +* details.
  18 +*
  19 +* You should have received a copy of the GNU General Public License
  20 +* along with this program. If not, see <http://www.gnu.org/licenses/>.
  21 +*
  22 +* You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco,
  23 +* California 94120-7775, or email info@knowledgetree.com.
  24 +*
  25 +* The interactive user interfaces in modified source and object code versions
  26 +* of this program must display Appropriate Legal Notices, as required under
  27 +* Section 5 of the GNU General Public License version 3.
  28 +*
  29 +* In accordance with Section 7(b) of the GNU General Public License version 3,
  30 +* these Appropriate Legal Notices must retain the display of the "Powered by
  31 +* KnowledgeTree" logo and retain the original copyright notice. If the display of the
  32 +* logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices
  33 +* must display the words "Powered by KnowledgeTree" and retain the original
  34 +* copyright notice.
  35 +*
  36 +* @copyright 2008-2009, KnowledgeTree Inc.
  37 +* @license GNU General Public License version 3
  38 +* @author KnowledgeTree Team
  39 +* @package Installer
  40 +* @version Version 0.1
  41 +*/
  42 +
  43 +class registration extends Step
  44 +{
  45 +
  46 + function configure() {
  47 + $this->temp_variables = array("step_name"=>"registration");
  48 + }
  49 +
  50 + function doStep() {
  51 + if(!$this->inStep("registration")) {
  52 +
  53 + return 'landing';
  54 + }
  55 + if($this->next()) {
  56 + if($this->doRun())
  57 + return 'next';
  58 + else
  59 + return 'error';
  60 + } else if($this->previous()) {
  61 + return 'previous';
  62 + }
  63 +
  64 + return 'landing';
  65 + }
  66 +
  67 + public function doRun() {
  68 + return true; // TODO: Bypass for now
  69 + if(isset($_POST['email'])) {
  70 + if($_POST['email']) { // check email is valid
  71 + return true;
  72 + } else {
  73 + $this->error[] = "Please accept the license agreement";
  74 + return false;
  75 + }
  76 + }
  77 + }
  78 +}
  79 +?>
0 \ No newline at end of file 80 \ No newline at end of file
setup/wizard/steps/services.php 100644 → 100755
@@ -65,14 +65,18 @@ class services extends Step @@ -65,14 +65,18 @@ class services extends Step
65 protected $java; 65 protected $java;
66 66
67 protected $util; 67 protected $util;
  68 +
  69 + public $temp_variables;
  70 +
68 /** 71 /**
69 - * Constructs database object 72 + * Constructs services object
70 * 73 *
71 * @author KnowledgeTree Team 74 * @author KnowledgeTree Team
72 * @access public 75 * @access public
73 * @param none 76 * @param none
74 */ 77 */
75 public function __construct() { 78 public function __construct() {
  79 + $this->temp_variables = array("step_name"=>"services");
76 $this->util = new InstallUtil(); 80 $this->util = new InstallUtil();
77 $this->setJava(); 81 $this->setJava();
78 } 82 }
@@ -130,18 +134,21 @@ class services extends Step @@ -130,18 +134,21 @@ class services extends Step
130 */ 134 */
131 public function doStep() 135 public function doStep()
132 { 136 {
  137 + if(!$this->inStep("services")) {
  138 + $this->doRun();
  139 + return 'landing';
  140 + }
133 // Check dependencies 141 // Check dependencies
134 $passed = $this->doRun(); 142 $passed = $this->doRun();
  143 +// die;
135 if($this->next()) { 144 if($this->next()) {
136 if($passed) 145 if($passed)
137 return 'next'; 146 return 'next';
138 else 147 else
139 return 'error'; 148 return 'error';
140 } else if($this->previous()) { 149 } else if($this->previous()) {
141 -  
142 return 'previous'; 150 return 'previous';
143 } 151 }
144 -  
145 return 'landing'; 152 return 'landing';
146 } 153 }
147 154
@@ -160,6 +167,8 @@ class services extends Step @@ -160,6 +167,8 @@ class services extends Step
160 } 167 }
161 168
162 $this->installService(); 169 $this->installService();
  170 +// if(count($this->getErrors() > 0))
  171 +// return false;
163 return true; 172 return true;
164 } 173 }
165 174
@@ -177,6 +186,9 @@ class services extends Step @@ -177,6 +186,9 @@ class services extends Step
177 $className = OS.$serviceName; 186 $className = OS.$serviceName;
178 $service = new $className(); 187 $service = new $className();
179 $status = $this->serviceHelper($service); 188 $status = $this->serviceHelper($service);
  189 + if ($status) {
  190 + $this->temp_variables['services'][] = $service->getName()." has been added as a Service";
  191 + }
180 } 192 }
181 193
182 return true; 194 return true;
@@ -192,11 +204,9 @@ class services extends Step @@ -192,11 +204,9 @@ class services extends Step
192 */ 204 */
193 private function serviceHelper($service) { 205 private function serviceHelper($service) {
194 $service->load(); // Load Defaults 206 $service->load(); // Load Defaults
195 - $response = $service->uninstall(); // Uninstall service if it exists  
196 $response = $service->install(); // Install service 207 $response = $service->install(); // Install service
197 $statusCheck = OS."ServiceInstalled"; 208 $statusCheck = OS."ServiceInstalled";
198 return $this->$statusCheck($service); 209 return $this->$statusCheck($service);
199 -  
200 } 210 }
201 211
202 /** 212 /**
@@ -279,5 +289,17 @@ class services extends Step @@ -279,5 +289,17 @@ class services extends Step
279 public function getErrors() { 289 public function getErrors() {
280 return $this->error; 290 return $this->error;
281 } 291 }
  292 +
  293 + /**
  294 + * Get the variables to be passed to the template
  295 + *
  296 + * @author KnowledgeTree Team
  297 + * @access public
  298 + * @return array
  299 + */
  300 + public function getStepVars()
  301 + {
  302 + return $this->temp_variables;
  303 + }
282 } 304 }
283 ?> 305 ?>
284 \ No newline at end of file 306 \ No newline at end of file
setup/wizard/steps/welcome.php 100644 → 100755
setup/wizard/template.php 100644 → 100755
setup/wizard/templates/complete.tpl 100644 → 100755
setup/wizard/templates/configuration.tpl 100644 → 100755
setup/wizard/templates/configuration_confirm.tpl 100644 → 100755
setup/wizard/templates/database.tpl 100644 → 100755
setup/wizard/templates/database_confirm.tpl 100644 → 100755
setup/wizard/templates/dependencies.tpl 100644 → 100755
setup/wizard/templates/dependency_check.tpl 100644 → 100755
setup/wizard/templates/install.tpl 100644 → 100755
setup/wizard/templates/license.tpl 100644 → 100755
setup/wizard/templates/registration.tpl 0 → 100755
  1 +<h1>Registration</h1>
  2 +
  3 +<div class="errors">
  4 + <?php if(isset($errors)) {
  5 + foreach($errors as $k=>$e) {
  6 + echo $e;
  7 + }
  8 + }?>
  9 +</div>
  10 +
  11 +<form action="index.php?step_name=registration" method="post">
  12 +
  13 +<div class="buttons">
  14 + <input type="submit" name="Previous" value="Previous"/>
  15 + <input type="submit" name="Next" value="Next"/>
  16 +</div>
  17 +</form>
0 \ No newline at end of file 18 \ No newline at end of file
setup/wizard/templates/services.tpl 100644 → 100755
@@ -13,7 +13,13 @@ if($errors){ @@ -13,7 +13,13 @@ if($errors){
13 echo '</div>'; 13 echo '</div>';
14 } 14 }
15 ?> 15 ?>
16 - 16 +<?php
  17 +if($step_vars){
  18 + foreach ($step_vars['services'] as $msg){
  19 + echo $msg . "<br />\n";
  20 + }
  21 +}
  22 +?>
17 23
18 <form action="index.php?step_name=services" method="post"> 24 <form action="index.php?step_name=services" method="post">
19 25
setup/wizard/templates/welcome.tpl 100644 → 100755
setup/wizard/templates/wizard.tpl 100644 → 100755
@@ -2,8 +2,8 @@ @@ -2,8 +2,8 @@
2 <html> 2 <html>
3 <head> 3 <head>
4 <title>KnowledgeTree Installer</title> 4 <title>KnowledgeTree Installer</title>
  5 + <script type="text/javascript" src="resources/wizard.js" ></script>
5 <link rel="stylesheet" type="text/css" href="resources/wizard.css" /> 6 <link rel="stylesheet" type="text/css" href="resources/wizard.css" />
6 - <script type="text/javascript" src="resources/wizard.js"></script>  
7 </head> 7 </head>
8 <body onload="w.doFormCheck();"> 8 <body onload="w.doFormCheck();">
9 <div id="outer-wrapper"> 9 <div id="outer-wrapper">