. * * 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 schedulerValidation extends serviceValidation { /** * Path to php executable * * @author KnowledgeTree Team * @access protected * @var string */ protected $php; /** * Flag if php already provided * * @author KnowledgeTree Team * @access private * @var mixed */ public $providedPhp = false; /** * PHP Installed * * @author KnowledgeTree Team * @access private * @var mixed */ private $phpCheck = 'tick'; /** * Flag, if php is specified and an error has been encountered * * @author KnowledgeTree Team * @access public * @var boolean */ private $phpExeError = false; /** * Holds path error, if php is specified * * @author KnowledgeTree Team * @access public * @var string */ private $phpExeMessage = ''; public function getBinary() { $this->php = $this->util->getPhp(); } public function binaryChecks() { // TODO: Better detection return true; // $this->setPhp(); // if($this->util->phpSpecified()) { // return $this->detPhpSettings(); // } else { // $this->specifyPhp();// Ask for settings // return false; // } } function detPhpSettings() { // TODO: Better php handling return true; // $phpExecutable = $this->util->phpSpecified();// Retrieve java bin // $cmd = "$phpExecutable -version > ".$this->outputDir."/outPHP 2>&1 echo $!"; // $this->util->pexec($cmd); // if(file_exists($this->outputDir.'outPHP')) { // $tmp = file_get_contents($this->outputDir.'outPHP'); // $matches = false; // preg_match('/PHP/',$tmp, $matches); // if($matches) { // $this->phpCheck = 'tick'; // // return true; // } else { // $this->phpCheck = 'cross_orange'; // $this->phpExeError = "PHP : Incorrect path specified"; // $this->error[] = "PHP executable required"; // // return false; // } // } } /** * Set template view to specify php * * @author KnowledgeTree Team * @param none * @access private * @return boolean */ private function specifyPhp() { $this->phpExeError = true; } private function setPhp() { $phpDir = $this->util->useZendPhp(); if($this->php != '') { // PHP Found $this->phpCheck = 'tick'; } elseif ($phpDir) { // Use System Defined Settings $this->php = $phpDir; } $this->temp_variables['php']['location'] = $this->php; } public function getPhpDir() { return $this->php; } public function storeSilent() { // TODO : PHP detection $this->temp_variables['schedulerInstalled'] = $this->installed; $this->temp_variables['phpCheck'] = $this->phpCheck; $this->temp_variables['phpExeError'] = $this->phpExeError; return $this->temp_variables; } } ?>