Add analytics
[bus.git] / busui / owa / modules / base / installCheckEnv.php
blob:a/busui/owa/modules/base/installCheckEnv.php -> blob:b/busui/owa/modules/base/installCheckEnv.php
--- a/busui/owa/modules/base/installCheckEnv.php
+++ b/busui/owa/modules/base/installCheckEnv.php
@@ -1,1 +1,129 @@
-
+<?php

+

+//

+// Open Web Analytics - An Open Source Web Analytics Framework

+//

+// Copyright 2006 Peter Adams. All rights reserved.

+//

+// Licensed under GPL v2.0 http://www.gnu.org/copyleft/gpl.html

+//

+// Unless required by applicable law or agreed to in writing, software

+// distributed under the License is distributed on an "AS IS" BASIS,

+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+// See the License for the specific language governing permissions and

+// limitations under the License.

+//

+// $Id$

+//

+

+require_once(OWA_BASE_DIR.'/owa_view.php');

+require_once(OWA_BASE_CLASS_DIR.'installController.php');

+

+/**

+ * Server Environment Check Controller

+ * 

+ * @author      Peter Adams <peter@openwebanalytics.com>

+ * @copyright   Copyright &copy; 2006 Peter Adams <peter@openwebanalytics.com>

+ * @license     http://www.gnu.org/copyleft/gpl.html GPL v2.0

+ * @category    owa

+ * @package     owa

+ * @version		$Revision$	      

+ * @since		owa 1.0.0

+ */

+

+class owa_installCheckEnvController extends owa_installController {

+		

+	function __construct($params) {

+		

+		return parent::__construct($params);

+	}

+	

+	function action() {

+		

+		$errors = array();

+		$bad_environment = false;

+		$config_file_present = false;

+		

+		// check PHP version

+		$version = split('\.',phpversion());

+		

+		if ($version[0] < 5) {

+			$errors['php_version']['name'] = 'PHP Version';

+			$errors['php_version']['value'] = phpversion();

+			$errors['php_version']['msg'] = $this->getMsg(3301);

+			$bad_environment = true;

+		}

+		

+		// Check permissions on log directory

+		

+		// Check for Windows OS

+		$os = php_uname("s");

+		if (strtoupper(substr($os, 0, 3)) === 'WIN') {

+			$errors['php_os']['value'] = 'Operating System';

+			$errors['php_os']['value'] = $os;

+			$errors['php_os']['msg'] = 'You are running PHP on an Operating System that OWA does not support.';

+			$bad_environment = true;

+		}

+		

+		// Check for config file and then test the db connection

+		if ($this->c->isConfigFilePresent()) {

+			$config_file_present = true;

+			$conn = $this->checkDbConnection();

+			if ($conn != true) {

+				$errors['db']['name'] = 'Database Connection';

+				$errors['db']['value'] = 'Connection failed';

+				$errors['db']['msg'] = 'Check the connection settings in your configuration file.' ;

+				$bad_environment = true;

+			}

+		}

+		

+		// if the environment is good

+		if ($bad_environment != true) {

+			// and the config file is present

+			if ($config_file_present === true) {

+				//skip to defaults entry step

+				$this->setRedirectAction('base.installDefaultsEntry');

+				return;		

+			} else {

+				// otherwise show config file entry form

+				$this->setView('base.install');

+				// Todo: prepopulate public URL.

+				//$config = array('public_url', $url);

+				//$this->set('config', $config);

+				$this->setSubview('base.installConfigEntry');

+				return;

+			}

+		// if the environment is bad, then show environment error details.

+		} else {

+			$this->set('errors', $errors);

+			$this->setView('base.install');

+			$this->setSubview('base.installCheckEnv');

+		}

+	}

+}

+

+/**

+ * Installer Server Environment Setup Check View

+ * 

+ * @author      Peter Adams <peter@openwebanalytics.com>

+ * @copyright   Copyright &copy; 2006 Peter Adams <peter@openwebanalytics.com>

+ * @license     http://www.gnu.org/copyleft/gpl.html GPL v2.0

+ * @category    owa

+ * @package     owa

+ * @version		$Revision$	      

+ * @since		owa 1.0.0

+ */

+

+class owa_installCheckEnvView extends owa_view {

+		

+	function render($data) {

+		

+		//page title

+		$this->t->set('page_title', 'Server Environment Check');

+		$this->body->set('errors', $this->get('errors'));

+		// load body template

+		$this->body->set_template('install_check_env.tpl');

+	}

+}

+

+?>