Commit ede85e5cf9551fe213c0e0e2b72474a795cc2d88
1 parent
f987f016
Story Id: 964068 Code Merge For Linux
Committed by: Jarrett Jordaan Reviewed by: Paul Barrett
Showing
1 changed file
with
186 additions
and
75 deletions
setup/wizard/steps/services.php
| ... | ... | @@ -64,6 +64,8 @@ class services extends Step |
| 64 | 64 | |
| 65 | 65 | protected $java; |
| 66 | 66 | |
| 67 | + protected $php; | |
| 68 | + | |
| 67 | 69 | protected $util; |
| 68 | 70 | |
| 69 | 71 | private $javaVersion = '1.5'; |
| ... | ... | @@ -75,7 +77,7 @@ class services extends Step |
| 75 | 77 | * @access private |
| 76 | 78 | * @var mixed |
| 77 | 79 | */ |
| 78 | - private $java_check = 'cross'; | |
| 80 | + private $javaCheck = 'cross'; | |
| 79 | 81 | |
| 80 | 82 | /** |
| 81 | 83 | * Java Bridge Installed |
| ... | ... | @@ -84,7 +86,7 @@ class services extends Step |
| 84 | 86 | * @access private |
| 85 | 87 | * @var mixed |
| 86 | 88 | */ |
| 87 | - private $java_ext_check = 'cross_orange'; | |
| 89 | + private $javaExtCheck = 'cross_orange'; | |
| 88 | 90 | |
| 89 | 91 | /** |
| 90 | 92 | * Service Installed |
| ... | ... | @@ -93,7 +95,7 @@ class services extends Step |
| 93 | 95 | * @access private |
| 94 | 96 | * @var array |
| 95 | 97 | */ |
| 96 | - private $service_check = 'tick'; | |
| 98 | + private $serviceCheck = 'tick'; | |
| 97 | 99 | |
| 98 | 100 | /** |
| 99 | 101 | * Flag to store class information in session |
| ... | ... | @@ -104,6 +106,13 @@ class services extends Step |
| 104 | 106 | */ |
| 105 | 107 | protected $storeInSession = false; |
| 106 | 108 | |
| 109 | + /** | |
| 110 | + * List of variables to be loaded to template | |
| 111 | + * | |
| 112 | + * @author KnowledgeTree Team | |
| 113 | + * @access public | |
| 114 | + * @var array | |
| 115 | + */ | |
| 107 | 116 | protected $temp_variables; |
| 108 | 117 | |
| 109 | 118 | /** |
| ... | ... | @@ -116,6 +125,24 @@ class services extends Step |
| 116 | 125 | protected $silent = true; |
| 117 | 126 | |
| 118 | 127 | /** |
| 128 | + * Flag if bridge extension needs to be disabled | |
| 129 | + * | |
| 130 | + * @author KnowledgeTree Team | |
| 131 | + * @access public | |
| 132 | + * @var boolean | |
| 133 | + */ | |
| 134 | + private $disableExtension = false; | |
| 135 | + | |
| 136 | + /** | |
| 137 | + * Holds path error, if java is specified | |
| 138 | + * | |
| 139 | + * @author KnowledgeTree Team | |
| 140 | + * @access public | |
| 141 | + * @var mixed | |
| 142 | + */ | |
| 143 | + private $javaExeError = false; | |
| 144 | + | |
| 145 | + /** | |
| 119 | 146 | * Constructs services object |
| 120 | 147 | * |
| 121 | 148 | * @author KnowledgeTree Team |
| ... | ... | @@ -154,13 +181,33 @@ class services extends Step |
| 154 | 181 | return 'landing'; |
| 155 | 182 | } |
| 156 | 183 | |
| 157 | - /* | |
| 158 | - Get service names | |
| 159 | - */ | |
| 184 | + /** | |
| 185 | + * Get service names | |
| 186 | + * | |
| 187 | + * @author KnowledgeTree Team | |
| 188 | + * @param none | |
| 189 | + * @access public | |
| 190 | + * @return array | |
| 191 | + */ | |
| 160 | 192 | public function getServices() { |
| 161 | 193 | return $this->services; |
| 162 | 194 | } |
| 163 | 195 | |
| 196 | + /** | |
| 197 | + * Check if java executable was found | |
| 198 | + * | |
| 199 | + * @author KnowledgeTree Team | |
| 200 | + * @param none | |
| 201 | + * @access private | |
| 202 | + * @return array | |
| 203 | + */ | |
| 204 | + private function setJava() { | |
| 205 | + if($this->java != '') { // Java JRE Found | |
| 206 | + $this->javaCheck = 'tick'; | |
| 207 | + $this->javaInstalled(); | |
| 208 | + } | |
| 209 | + } | |
| 210 | + | |
| 164 | 211 | /** |
| 165 | 212 | * Run step |
| 166 | 213 | * |
| ... | ... | @@ -179,7 +226,7 @@ class services extends Step |
| 179 | 226 | foreach ($this->getServices() as $serviceName) { |
| 180 | 227 | $this->temp_variables['services'][] = array('class'=>'cross_orange', 'msg'=>$serviceName." Could not be added as a Service"); |
| 181 | 228 | } |
| 182 | - $this->service_check = 'cross_orange'; | |
| 229 | + $this->serviceCheck = 'cross_orange'; | |
| 183 | 230 | } |
| 184 | 231 | $this->storeSilent(); // Store info needed for silent mode |
| 185 | 232 | if(!empty($errors)) |
| ... | ... | @@ -187,21 +234,35 @@ class services extends Step |
| 187 | 234 | return true; |
| 188 | 235 | } |
| 189 | 236 | |
| 190 | - public function javaChecks() { | |
| 237 | + /** | |
| 238 | + * Do some basic checks to help the user overcome java problems | |
| 239 | + * | |
| 240 | + * @author KnowledgeTree Team | |
| 241 | + * @param none | |
| 242 | + * @access private | |
| 243 | + * @return boolean | |
| 244 | + */ | |
| 245 | + private function javaChecks() { | |
| 191 | 246 | $this->zendBridgeNotInstalled(); // Set bridge not installed |
| 192 | 247 | $this->javaVersionInCorrect(); // Set version to incorrect |
| 193 | 248 | $this->javaNotInstalled(); // Set java to not installed |
| 249 | + $this->setJava(); // Check if java has been auto detected | |
| 194 | 250 | if($this->util->javaSpecified()) { |
| 195 | - $this->detSettings(); // AutoDetect java settings | |
| 251 | + $this->disableExtension = true; // Disable the use of the php bridge extension | |
| 252 | + return $this->detSettings(); // AutoDetect java settings | |
| 196 | 253 | } else { |
| 197 | - $this->useBridge(); // Use Bridge to get java settings | |
| 254 | + return $this->useBridge(); // Use Bridge to get java settings | |
| 198 | 255 | } |
| 199 | - | |
| 200 | 256 | } |
| 201 | 257 | |
| 202 | - /* | |
| 203 | - Attempts to use user input and configure java settings | |
| 204 | - */ | |
| 258 | + /** | |
| 259 | + * Attempts to use user input and configure java settings | |
| 260 | + * | |
| 261 | + * @author KnowledgeTree Team | |
| 262 | + * @param none | |
| 263 | + * @access private | |
| 264 | + * @return boolean | |
| 265 | + */ | |
| 205 | 266 | private function detSettings() { |
| 206 | 267 | $javaExecutable = $this->util->javaSpecified();// Retrieve java bin |
| 207 | 268 | $cmd = "$javaExecutable -version > output/outJV 2>&1 echo $!"; |
| ... | ... | @@ -209,28 +270,42 @@ class services extends Step |
| 209 | 270 | if(file_exists(OUTPUT_DIR.'outJV')) { |
| 210 | 271 | $tmp = file_get_contents(OUTPUT_DIR.'outJV'); |
| 211 | 272 | preg_match('/"(.*)"/',$tmp, $matches); |
| 212 | - if($matches[1] < $this->javaVersion) { // Check Version of java | |
| 213 | - $this->javaVersionInCorrect(); | |
| 273 | + if($matches) { | |
| 274 | + if($matches[1] < $this->javaVersion) { // Check Version of java | |
| 275 | + $this->javaVersionInCorrect(); | |
| 276 | + $this->javaCheck = 'cross'; | |
| 277 | + $this->error[] = "Requires Java 1.5+ to be installed"; | |
| 278 | + return false; | |
| 279 | + } else { | |
| 280 | + $this->javaVersionCorrect(); | |
| 281 | + $this->javaInstalled(); | |
| 282 | + $this->javaCheck = 'tick'; | |
| 283 | + return true; | |
| 284 | + } | |
| 285 | + } else { | |
| 286 | + $this->javaVersionWarning(); | |
| 287 | + $this->javaCheck = 'cross_orange'; | |
| 288 | + $this->javaExeError = "Incorrect path specified"; | |
| 214 | 289 | $this->error[] = "Requires Java 1.5+ to be installed"; |
| 215 | 290 | return false; |
| 216 | - } else { | |
| 217 | - $this->javaVersionCorrect(); | |
| 218 | - $this->javaInstalled(); | |
| 219 | - $this->java_check = 'tick'; | |
| 220 | - return true; | |
| 221 | 291 | } |
| 222 | 292 | } |
| 223 | 293 | } |
| 224 | 294 | |
| 225 | - /* | |
| 226 | - Attempts to use bridge and configure java settings | |
| 227 | - */ | |
| 295 | + /** | |
| 296 | + * Attempts to use bridge and configure java settings | |
| 297 | + * | |
| 298 | + * @author KnowledgeTree Team | |
| 299 | + * @param none | |
| 300 | + * @access private | |
| 301 | + * @return boolean | |
| 302 | + */ | |
| 228 | 303 | private function useBridge() { |
| 229 | 304 | $zendBridge = $this->zendBridge(); // Find Zend Bridge |
| 230 | 305 | if($zendBridge) { // Bridge installed implies java exists |
| 231 | 306 | $this->zendBridgeInstalled(); |
| 232 | 307 | if($this->checkZendBridge()) { // Make sure the Zend Bridge is functional |
| 233 | - $this->java_ext_check = 'tick'; // Set bridge to functional | |
| 308 | + $this->javaExtCheck = 'tick'; // Set bridge to functional | |
| 234 | 309 | $this->javaInstalled(); // Set java to installed |
| 235 | 310 | $javaSystem = new Java('java.lang.System'); |
| 236 | 311 | $version = $javaSystem->getProperty('java.version'); |
| ... | ... | @@ -241,14 +316,14 @@ class services extends Step |
| 241 | 316 | return false; |
| 242 | 317 | } else { |
| 243 | 318 | $this->javaVersionCorrect(); // Set version to correct |
| 244 | - $this->java_check = 'tick'; | |
| 319 | + $this->javaCheck = 'tick'; | |
| 245 | 320 | return true; |
| 246 | 321 | } |
| 247 | 322 | } else { |
| 248 | 323 | $this->javaVersionWarning(); |
| 249 | 324 | $this->zendBridgeWarning(); |
| 250 | 325 | $this->warnings[] = "Zend Java Bridge Not Functional"; |
| 251 | - $this->java_ext_check = 'cross_orange'; | |
| 326 | + $this->javaExtCheck = 'cross_orange'; | |
| 252 | 327 | return false; |
| 253 | 328 | } |
| 254 | 329 | } else { |
| ... | ... | @@ -307,7 +382,7 @@ class services extends Step |
| 307 | 382 | $this->temp_variables['services'][] = array('class'=>'tick', 'msg'=>$service->getName()." has been added as a Service"); |
| 308 | 383 | } else { |
| 309 | 384 | $this->temp_variables['services'][] = array('class'=>'cross_orange', 'msg'=>$service->getName()." Could not be added as a Service"); |
| 310 | - $this->service_check = 'cross_orange'; | |
| 385 | + $this->serviceCheck = 'cross_orange'; | |
| 311 | 386 | } |
| 312 | 387 | } |
| 313 | 388 | |
| ... | ... | @@ -422,99 +497,135 @@ class services extends Step |
| 422 | 497 | return $this->warnings; |
| 423 | 498 | } |
| 424 | 499 | |
| 425 | - /** | |
| 426 | - * Get the variables to be passed to the template | |
| 427 | - * | |
| 428 | - * @author KnowledgeTree Team | |
| 429 | - * @access public | |
| 430 | - * @return array | |
| 431 | - */ | |
| 500 | + /** | |
| 501 | + * Get the variables to be passed to the template | |
| 502 | + * | |
| 503 | + * @author KnowledgeTree Team | |
| 504 | + * @access public | |
| 505 | + * @return array | |
| 506 | + */ | |
| 432 | 507 | public function getStepVars() |
| 433 | 508 | { |
| 434 | 509 | return $this->temp_variables; |
| 435 | 510 | } |
| 436 | 511 | |
| 437 | - /* Helpers */ | |
| 438 | - /** | |
| 439 | - * Store Java state as installed | |
| 440 | - * | |
| 441 | - */ | |
| 512 | + /** | |
| 513 | + * Store Java state as installed | |
| 514 | + * | |
| 515 | + * @author KnowledgeTree Team | |
| 516 | + * @param none | |
| 517 | + * @access private | |
| 518 | + * @return void | |
| 519 | + */ | |
| 442 | 520 | private function javaInstalled() { |
| 443 | 521 | $this->temp_variables['java']['class'] = 'tick'; |
| 444 | 522 | $this->temp_variables['java']['found'] = "Java Runtime Installed"; |
| 445 | 523 | } |
| 446 | 524 | |
| 447 | - /** | |
| 448 | - * Store Java state as not installed | |
| 449 | - * | |
| 450 | - */ | |
| 525 | + /** | |
| 526 | + * Store Java state as not installed | |
| 527 | + * | |
| 528 | + * @author KnowledgeTree Team | |
| 529 | + * @param none | |
| 530 | + * @access private | |
| 531 | + * @return void | |
| 532 | + */ | |
| 451 | 533 | private function javaNotInstalled() { |
| 452 | 534 | $this->temp_variables['java']['class'] = 'cross'; |
| 453 | 535 | $this->temp_variables['java']['found'] = "Java runtime environment required"; |
| 454 | 536 | } |
| 455 | 537 | |
| 456 | - /** | |
| 457 | - * Store Java version state as correct | |
| 458 | - * | |
| 459 | - */ | |
| 538 | + /** | |
| 539 | + * Store Java version state as correct | |
| 540 | + * | |
| 541 | + * @author KnowledgeTree Team | |
| 542 | + * @param none | |
| 543 | + * @access private | |
| 544 | + * @return void | |
| 545 | + */ | |
| 460 | 546 | private function javaVersionCorrect() { |
| 461 | 547 | $this->temp_variables['version']['class'] = 'tick'; |
| 462 | 548 | $this->temp_variables['version']['found'] = "Java Version 1.5+ Installed"; |
| 463 | 549 | } |
| 464 | 550 | |
| 465 | - /** | |
| 466 | - * Store Java version state as warning | |
| 467 | - * | |
| 468 | - */ | |
| 551 | + /** | |
| 552 | + * Store Java version state as warning | |
| 553 | + * @author KnowledgeTree Team | |
| 554 | + * @param none | |
| 555 | + * @access private | |
| 556 | + * @return void | |
| 557 | + */ | |
| 469 | 558 | private function javaVersionWarning() { |
| 470 | 559 | $this->temp_variables['version']['class'] = 'cross_orange'; |
| 471 | 560 | $this->temp_variables['version']['found'] = "Java Runtime Version Cannot be detected"; |
| 472 | 561 | } |
| 473 | 562 | |
| 474 | - /** | |
| 475 | - * Store Java version as state incorrect | |
| 476 | - * | |
| 477 | - */ | |
| 563 | + /** | |
| 564 | + * Store Java version as state incorrect | |
| 565 | + * | |
| 566 | + * @author KnowledgeTree Team | |
| 567 | + * @param none | |
| 568 | + * @access private | |
| 569 | + * @return void | |
| 570 | + */ | |
| 478 | 571 | private function javaVersionInCorrect() { |
| 479 | 572 | $this->temp_variables['version']['class'] = 'cross'; |
| 480 | 573 | $this->temp_variables['version']['found'] = "Requires Java 1.5+ to be installed"; |
| 481 | 574 | } |
| 482 | 575 | |
| 483 | - /** | |
| 484 | - * Store Zend Bridge state as installed | |
| 485 | - * | |
| 486 | - */ | |
| 576 | + /** | |
| 577 | + * Store Zend Bridge state as installed | |
| 578 | + * | |
| 579 | + * @author KnowledgeTree Team | |
| 580 | + * @param none | |
| 581 | + * @access private | |
| 582 | + * @return void | |
| 583 | + */ | |
| 487 | 584 | private function zendBridgeInstalled() { |
| 488 | 585 | $this->temp_variables['extensions']['class'] = 'tick'; |
| 489 | 586 | $this->temp_variables['extensions']['found'] = "Java Bridge Installed"; |
| 490 | 587 | } |
| 491 | 588 | |
| 492 | - /** | |
| 493 | - * Store Zend Bridge state as not installed | |
| 494 | - * | |
| 495 | - */ | |
| 589 | + /** | |
| 590 | + * Store Zend Bridge state as not installed | |
| 591 | + * | |
| 592 | + * @author KnowledgeTree Team | |
| 593 | + * @param none | |
| 594 | + * @access private | |
| 595 | + * @return void | |
| 596 | + */ | |
| 496 | 597 | private function zendBridgeNotInstalled() { |
| 497 | 598 | $this->temp_variables['extensions']['class'] = 'cross_orange'; |
| 498 | 599 | $this->temp_variables['extensions']['found'] = "Zend Java Bridge Not Installed"; |
| 499 | 600 | } |
| 500 | 601 | |
| 501 | - /** | |
| 502 | - * Store Zend Bridge state as warning | |
| 503 | - * | |
| 504 | - */ | |
| 602 | + /** | |
| 603 | + * Store Zend Bridge state as warning | |
| 604 | + * | |
| 605 | + * @author KnowledgeTree Team | |
| 606 | + * @param none | |
| 607 | + * @access private | |
| 608 | + * @return void | |
| 609 | + */ | |
| 505 | 610 | private function zendBridgeWarning() { |
| 506 | 611 | $this->temp_variables['extensions']['class'] = 'cross_orange'; |
| 507 | 612 | $this->temp_variables['extensions']['found'] = "Zend Java Bridge Not Functional"; |
| 508 | 613 | } |
| 509 | 614 | |
| 510 | - /** | |
| 511 | - * Set all silent mode varibles | |
| 512 | - * | |
| 513 | - */ | |
| 615 | + /** | |
| 616 | + * Set all silent mode varibles | |
| 617 | + * | |
| 618 | + * @author KnowledgeTree Team | |
| 619 | + * @param none | |
| 620 | + * @access private | |
| 621 | + * @return void | |
| 622 | + */ | |
| 514 | 623 | private function storeSilent() { |
| 515 | - $this->temp_variables['java_check'] = $this->java_check; | |
| 516 | - $this->temp_variables['java_ext_check'] = $this->java_ext_check; | |
| 517 | - $this->temp_variables['service_check'] = $this->service_check; | |
| 624 | + $this->temp_variables['javaExeError'] = $this->javaExeError; | |
| 625 | + $this->temp_variables['javaCheck'] = $this->javaCheck; | |
| 626 | + $this->temp_variables['javaExtCheck'] = $this->javaExtCheck; | |
| 627 | + $this->temp_variables['serviceCheck'] = $this->serviceCheck; | |
| 628 | + $this->temp_variables['disableExtension'] = $this->disableExtension; | |
| 518 | 629 | } |
| 519 | 630 | } |
| 520 | 631 | ?> |
| 521 | 632 | \ No newline at end of file | ... | ... |