--- a/busui/owa/owa_install.php +++ b/busui/owa/owa_install.php @@ -1,1 +1,113 @@ - + + * @copyright Copyright © 2006 Peter Adams + * @license http://www.gnu.org/copyleft/gpl.html GPL v2.0 + * @category owa + * @package owa + * @version $Revision$ + * @since owa 1.0.0 + */ +class owa_install extends owa_base{ + + /** + * Data access object + * + * @var object + */ + var $db; + + /** + * Version of string + * + * @var string + */ + var $version; + + /** + * Params array + * + * @var array + */ + var $params; + + /** + * Module name + * + * @var unknown_type + */ + var $module; + + /** + * Constructor + * + * @return owa_install + */ + + function owa_install() { + + $this->owa_base(); + $this->db = &owa_coreAPI::dbSingleton(); + + return; + } + + /** + * Check to see if schema is installed + * + * @return boolean + */ + function checkForSchema() { + + $table_check = array(); + //$this->e->notice(print_r($this->tables, true)); + // test for existance of tables + foreach ($this->tables as $table) { + $this->e->notice('Testing for existance of table: '. $table); + $check = $this->db->get_results(sprintf("show tables like 'owa_%s'", $table)); + //$this->e->notice(print_r($check, true)); + + // if a table is missing add it to this array + if (empty($check)): + $table_check[] = $table; + $this->e->notice('Did not find table: '. $table); + else: + $this->e->notice('Table '. $table. ' already exists.'); + endif; + } + + if (!empty($table_check)): + //$this->e->notice(sprintf("Schema Check: Tables '%s' are missing.", implode(',', $table_check))); + $this->e->notice(sprintf("Schema Check: Tables to install: %s", print_r($table_check, true))); + + return $table_check; + else: + return false; + endif; + + } + +} + +?>