Commit d1b581849e4e6c877c52f930320a9d3357646567

Authored by Jarrett Jordaan
1 parent 3f4d9610

KTS-4438: Updated Services

Committed by: Jarrett Jordaan

Reviewed by: Megan Watson
setup/wizard/dbUtil.php deleted
1   -<?php
2   -/**
3   -* Installer Database Control.
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   -class dbUtil {
43   - /**
44   - * Host
45   - *
46   - * @author KnowledgeTree Team
47   - * @access protected
48   - * @var string
49   - */
50   - protected $dbhost = '';
51   -
52   - /**
53   - * Host
54   - *
55   - * @author KnowledgeTree Team
56   - * @access protected
57   - * @var string
58   - */
59   - protected $dbname = '';
60   -
61   - /**
62   - * Host
63   - *
64   - * @author KnowledgeTree Team
65   - * @access protected
66   - * @var string
67   - */
68   - protected $dbuname = '';
69   -
70   - /**
71   - * Host
72   - *
73   - * @author KnowledgeTree Team
74   - * @access protected
75   - * @var string
76   - */
77   - protected $dbpassword = '';
78   -
79   - /**
80   - * Host
81   - *
82   - * @author KnowledgeTree Team
83   - * @access protected
84   - * @var object mysql connection
85   - */
86   - protected $dbconnection = '';
87   -
88   - /**
89   - * Any errors encountered
90   - *
91   - * @author KnowledgeTree Team
92   - * @access protected
93   - * @var array
94   - */
95   - protected $error = array();
96   -
97   - /**
98   - * Constructs database connection object
99   - *
100   - * @author KnowledgeTree Team
101   - * @access public
102   - */
103   - public function __construct() {
104   -
105   - }
106   -
107   - public function load($dhost = 'localhost', $duname, $dpassword, $dbname) {
108   - $this->dbhost = $dhost;
109   - $this->dbuname = $duname;
110   - $this->dbpassword = $dpassword;
111   - $this->dbconnection = @mysql_connect($dhost, $duname, $dpassword);
112   - if(!$this->dbconnection) {
113   - $this->error[] = @mysql_error();
114   - }
115   - $this->dbname = $dbname;
116   - }
117   -
118   - public function getDatabaseLink() {
119   - return $this->dbconnection;
120   - }
121   - /**
122   - * Choose a database to use
123   - *
124   - * @param string $dbname name of the database
125   - * @access public
126   - * @return boolean
127   - */
128   - public function useDb() {
129   - if(@mysql_select_db($this->dbname, $this->dbconnection))
130   - return true;
131   - else {
132   - $this->error[] = @mysql_error($this->dbconnection);
133   - return false;
134   - }
135   - }
136   -
137   - public function setDb($dbname) {
138   - $this->dbname = $dbname;
139   - }
140   -
141   - /**
142   - * Query the database.
143   - *
144   - * @param $query the sql query.
145   - * @access public
146   - * @return object The result of the query.
147   - */
148   - public function query($query) {
149   - $this->useDb();
150   - $result = mysql_query($query, $this->dbconnection);
151   - if($result) {
152   - return $result;
153   - } else {
154   - $this->error[] = @mysql_error($this->dbconnection);
155   - return false;
156   - }
157   - }
158   -
159   - /**
160   - * Do the same as query.
161   - *
162   - * @param $query the sql query.
163   - * @access public
164   - * @return boolean
165   - */
166   - public function execute($query) {
167   - $this->useDb();
168   - $result = @mysql_query($query, $this->dbconnection);
169   - if(!$result) {
170   - $this->error[] = @mysql_error($this->dbconnection);
171   - }
172   -
173   - return $result;
174   - }
175   -
176   - /**
177   - * Convenience method for mysql_fetch_object().
178   - *
179   - * @param $result The resource returned by query().
180   - * @access public
181   - * @return object An object representing a data row.
182   - */
183   - public function fetchNextObject($result = NULL) {
184   - if ($result == NULL || @mysql_num_rows($result) < 1)
185   - return NULL;
186   - else
187   - return @mysql_fetch_object($result);
188   - }
189   -
190   - /**
191   - * Convenience method for mysql_fetch_assoc().
192   - *
193   - * @param $result The resource returned by query().
194   - * @access public
195   - * @return array Returns an associative array of strings.
196   - */
197   - public function fetchAssoc($result = NULL) {
198   - $r = array();
199   - if ($result == NULL || @mysql_num_rows($result) < 1)
200   - return NULL;
201   - else {
202   - while(($r[] = mysql_fetch_assoc($result)) || array_pop($r));
203   - return $r;
204   - }
205   - }
206   -
207   - /**
208   - * Close the connection with the database server.
209   - *
210   - * @param none.
211   - * @access public
212   - * @return void.
213   - */
214   - public function close() {
215   - @mysql_close($this->dbconnection);
216   - }
217   -
218   - /**
219   - * Get database errors.
220   - *
221   - * @param none.
222   - * @access public
223   - * @return array.
224   - */
225   - public function getErrors() {
226   - return $this->error;
227   - }
228   -
229   - public function clearErrors() {
230   - return $this->error = array();
231   - }
232   -
233   - /**
234   - * Fetches the last generated error
235   -
236   - * @return string
237   - */
238   - function getLastError() {
239   - return end($this->error);
240   - }
241   -
242   - /**
243   - * Start a database transaction
244   - */
245   - public function startTransaction() {
246   - $this->query("START TRANSACTION");
247   - }
248   -
249   - /**
250   - * Roll back a database transaction
251   - */
252   - public function rollback() {
253   - $this->query("ROLLBACK");
254   - }
255   -}
256   -?>
257 0 \ No newline at end of file
setup/wizard/dbUtilities.php
... ... @@ -105,6 +105,7 @@ class dbUtilities {
105 105 }
106 106  
107 107 public function load($dhost = 'localhost', $duname, $dpassword, $dbname) {
  108 + if($this->isConnected($dhost, $duname, $dpassword, $dbname)) return true;
108 109 $this->dbhost = $dhost;
109 110 $this->dbuname = $duname;
110 111 $this->dbpassword = $dpassword;
... ... @@ -115,6 +116,17 @@ class dbUtilities {
115 116 $this->dbname = $dbname;
116 117 }
117 118  
  119 + public function isConnected($dhost = 'localhost', $duname, $dpassword, $dbname) {
  120 + $current = array($this->dbhost, $this->dbuname, $this->dbpassword, $this->dbname);
  121 + $new = array($dhost, $duname, $dpassword, $dbname);
  122 + $diff = array_diff($new, $current);
  123 + if(count($diff) == 0) {
  124 + echo 'same';
  125 + return true;
  126 + }
  127 + return false;
  128 + }
  129 +
118 130 public function getDatabaseLink() {
119 131 return $this->dbconnection;
120 132 }
... ...
setup/wizard/ini.php deleted
1   -<?php
2   -/**
3   - * $Id:$
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   - * Contributor( s): ______________________________________
36   - *
37   - */
38   -
39   -class Ini {
40   -
41   - private $cleanArray = array();
42   - private $iniFile = '';
43   - private $lineNum = 0;
44   - private $exists = '';
45   -
46   - function Ini($iniFile = '../../config.ini') {
47   - $this->iniFile = $iniFile;
48   - $this->backupIni($iniFile);
49   - $this->read($iniFile);
50   - }
51   -
52   - /**
53   - * Create a backup with the date as an extension in the same location as the original config.ini
54   - *
55   - * @param string $iniFile
56   - * @return boolean
57   - */
58   - function backupIni($iniFile)
59   - {
60   - $content = file_get_contents($iniFile);
61   - if ($content === false)
62   - {
63   - return false;
64   - }
65   - $date = date('YmdHis');
66   -
67   - $backupFile = $iniFile . '.' .$date;
68   - if (is_writeable($backupFile)) {
69   - file_put_contents($backupFile, $content);
70   - }
71   - }
72   -
73   - function read($iniFile) {
74   -
75   - $iniArray = file($iniFile);
76   - $section = '';
77   - foreach($iniArray as $iniLine) {
78   - $this->lineNum++;
79   - $iniLine = trim($iniLine);
80   - $firstChar = substr($iniLine, 0, 1);
81   - if($firstChar == ';') {
82   - if($section == ''){
83   - $this->cleanArray['_comment_'.$this->lineNum]=$iniLine;
84   - }else {
85   - $this->cleanArray[$section]['_comment_'.$this->lineNum]=$iniLine;
86   - }
87   - continue;
88   - }
89   - if($iniLine == '') {
90   - if($section == ''){
91   - $this->cleanArray['_blankline_'.$this->lineNum]='';
92   - }else {
93   - $this->cleanArray[$section]['_blankline_'.$this->lineNum]='';
94   - }
95   - continue;
96   - }
97   -
98   - if ($firstChar == '[' && substr($iniLine, -1, 1) == ']') {
99   - $section = substr($iniLine, 1, -1);
100   - $this->sections[] = $section;
101   - } else {
102   - $equalsPos = strpos($iniLine, '=');
103   - if ($equalsPos > 0 && $equalsPos != sizeof($iniLine)) {
104   - $key = trim(substr($iniLine, 0, $equalsPos));
105   - $value = trim(substr($iniLine, $equalsPos+1));
106   - if (substr($value, 1, 1) == '"' && substr( $value, -1, 1) == '"') {
107   - $value = substr($value, 1, -1);
108   - }
109   - $this->cleanArray[$section][$key] = stripcslashes($value);
110   - } else {
111   - $this->cleanArray[$section][trim($iniLine)]='';
112   - }
113   - }
114   - }
115   - return $this->cleanArray;
116   - }
117   -
118   - function write($iniFile = "") {
119   -
120   - if(empty($iniFile)) {
121   - $iniFile = $this->iniFile;
122   - }
123   - if (!is_writeable($iniFile)) {
124   - return;
125   - }
126   -
127   - $fileHandle = fopen($iniFile, 'wb');
128   - foreach ($this->cleanArray as $section => $items) {
129   - if (substr($section, 0, strlen('_blankline_')) === '_blankline_' ) {
130   - fwrite ($fileHandle, "\r\n");
131   - continue;
132   - }
133   - if (substr($section, 0, strlen('_comment_')) === '_comment_' ) {
134   - fwrite ($fileHandle, "$items\r\n");
135   - continue;
136   - }
137   - fwrite ($fileHandle, "[".$section."]\r\n");
138   - foreach ($items as $key => $value) {
139   - if (substr($key, 0, strlen('_blankline_')) === '_blankline_' ) {
140   - fwrite ($fileHandle, "\r\n");
141   - continue;
142   - }
143   - if (substr($key, 0, strlen('_comment_')) === '_comment_' ) {
144   - fwrite ($fileHandle, "$value\r\n");
145   - continue;
146   - }
147   -
148   - $value = addcslashes($value,'');
149   - //fwrite ($fileHandle, $key.' = "'.$value."\"\r\n");
150   - fwrite ($fileHandle, $key.' = '.$value."\r\n");
151   - }
152   - }
153   - fclose($fileHandle);
154   - }
155   -
156   - function itemExists($checkSection, $checkItem) {
157   -
158   - $this->exists = '';
159   - foreach($this->cleanArray as $section => $items) {
160   - if($section == $checkSection) {
161   - $this->exists = 'section';
162   - foreach ($items as $key => $value) {
163   - if($key == $checkItem) {
164   - return true;
165   - }
166   - }
167   - }
168   - }
169   - return false;
170   - }
171   -
172   - function addItem($addSection, $addItem, $value, $itemComment = '', $sectionComment = '') {
173   -
174   - if($this->itemExists($addSection, $addItem)) {
175   - $this->delItem($addSection, $addItem);
176   - }
177   -
178   - if($this->exists != 'section') {
179   - $this->cleanArray['_blankline_'.$this->lineNum++]='';
180   - if(!empty($sectionComment)) $this->cleanArray['_comment_'.$this->lineNum++] = '; '.$sectionComment;
181   - }
182   - if(!empty($itemComment)) {
183   - $this->cleanArray[$addSection]['_comment_'.$this->lineNum++] = '; '.$itemComment;
184   - }
185   - $this->cleanArray[$addSection][$addItem] = stripcslashes($value);
186   - return true;
187   - }
188   -
189   - function updateItem($addSection, $addItem, $value) {
190   -
191   - $this->cleanArray[$addSection][$addItem] = stripcslashes($value);
192   - return true;
193   - }
194   -
195   - function delItem($delSection, $delItem) {
196   -
197   - if(!$this->itemExists($delSection, $delItem)) return false;
198   -
199   - unset($this->cleanArray[$delSection][$delItem]);
200   - return true;
201   - }
202   -
203   - function delSection($delSection) {
204   -
205   - unset($this->cleanArray[$delSection]);
206   - return true;
207   - }
208   -
209   - // Return file line by line
210   - public function getFileByLine() {
211   - $data = $this->read($this->iniFile);
212   - return $data[''];
213   - }
214   -
215   - public function getSection($section) {
216   - if (isset($this->cleanArray[$section])) {
217   - return $this->cleanArray[$section];
218   - }
219   -
220   - return false;
221   - }
222   -}
223   -?>
224 0 \ No newline at end of file
setup/wizard/iniUtilities.php
... ... @@ -43,12 +43,22 @@ class iniUtilities {
43 43 private $lineNum = 0;
44 44 private $exists = '';
45 45  
46   - function iniUtilities($iniFile = '../../config.ini') {
  46 + function iniUtilities() {
  47 + $this->iniFile = '';
  48 + }
  49 +
  50 + function load($iniFile) {
  51 + if($this->iniFile != $iniFile) {
  52 + $this->cleanArray = array();
  53 + $this->lineNum = 0;
  54 + $this->exists = '';
  55 + }
47 56 $this->iniFile = $iniFile;
48 57 $this->backupIni($iniFile);
49 58 $this->read($iniFile);
  59 +
50 60 }
51   -
  61 +
52 62 /**
53 63 * Create a backup with the date as an extension in the same location as the original config.ini
54 64 *
... ... @@ -111,6 +121,7 @@ class iniUtilities {
111 121 }
112 122 }
113 123 }
  124 +
114 125 return $this->cleanArray;
115 126 }
116 127  
... ...
setup/wizard/installUtil.php
... ... @@ -39,9 +39,13 @@
39 39 * @package Installer
40 40 * @version Version 0.1
41 41 */
  42 +
  43 +
42 44 class InstallUtil {
43 45  
44 46 private $salt = 'installers';
  47 + public $dbHandler = null;
  48 + public $iniHandler = null;
45 49  
46 50 /**
47 51 * Constructs installation object
... ... @@ -50,6 +54,8 @@ class InstallUtil {
50 54 * @access public
51 55 */
52 56 public function __construct() {
  57 + $this->dbHandler = new dbUtilities();
  58 + $this->iniHandler = new iniUtilities();
53 59 }
54 60  
55 61 /**
... ...
setup/wizard/step.php
... ... @@ -124,10 +124,10 @@ class Step
124 124 * @access protected
125 125 * @var object
126 126 */
127   - public $dbhandler;
  127 +// public $dbhandler;
128 128  
129 129 public function __construct() {
130   - $this->dbhandler = new dbUtilities();
  130 +// $this->dbhandler = new dbUtilities();
131 131 $this->util = new InstallUtil();
132 132 }
133 133 /**
... ...
setup/wizard/steps/complete.php
... ... @@ -142,8 +142,8 @@ class complete extends Step {
142 142 // retrieve database information from session
143 143 $dbconf = $this->getDataFromSession("database");
144 144 // make db connection - admin
145   - $this->dbhandler->load($dbconf['dhost'], $dbconf['dmsname'], $dbconf['dmspassword'], $dbconf['dname']);
146   - $loaded = $this->dbhandler->getDatabaseLink();
  145 + $this->util->dbHandler->load($dbconf['dhost'], $dbconf['dmsname'], $dbconf['dmspassword'], $dbconf['dname']);
  146 + $loaded = $this->util->dbHandler->getDatabaseLink();
147 147 if (!$loaded) {
148 148 $this->temp_variables['dbConnectAdmin'] .= '<td><div class="cross"></div></td>'
149 149 . '<td class="error">Unable to connect to database (user: '
... ... @@ -157,20 +157,20 @@ class complete extends Step {
157 157 }
158 158  
159 159 // make db connection - user
160   - $this->dbhandler->load($dbconf['dhost'], $dbconf['dmsusername'], $dbconf['dmsuserpassword'], $dbconf['dname']);
161   - $loaded = $this->dbhandler->getDatabaseLink();
  160 + $this->util->dbHandler->load($dbconf['dhost'], $dbconf['dmsusername'], $dbconf['dmsuserpassword'], $dbconf['dname']);
  161 + $loaded = $this->util->dbHandler->getDatabaseLink();
162 162 // if we can log in to the database, check access
163 163 // TODO check write access?
164 164 if ($loaded)
165 165 {
166 166 $this->temp_variables['dbConnectUser'] .= sprintf($html, 'tick', '', 'Database connectivity successful (user: ' . $dbconf['dmsusername'] . ')');
167 167  
168   - $qresult = $this->dbhandler->query('SELECT COUNT(id) FROM documents');
  168 + $qresult = $this->util->dbHandler->query('SELECT COUNT(id) FROM documents');
169 169 if (!$qresult)
170 170 {
171 171 $this->temp_variables['dbPrivileges'] .= '<td style="width:15px;"><div class="cross" style="float:left;"></div></td>'
172 172 . '<td class="error" style="width:500px;">'
173   - . 'Unable to do a basic database query. Error: ' . $this->dbhandler->getLastError()
  173 + . 'Unable to do a basic database query. Error: ' . $this->util->dbHandler->getLastError()
174 174 . '</td>';
175 175 $this->privileges_check = 'cross';
176 176 $this->privileges_check = 'cross';
... ... @@ -183,17 +183,17 @@ class complete extends Step {
183 183  
184 184 // check transaction support
185 185 $sTable = 'system_settings';
186   - $this->dbhandler->startTransaction();
187   - $this->dbhandler->query('INSERT INTO ' . $sTable . ' (name, value) VALUES ("transactionTest", "1")');
188   - $this->dbhandler->rollback();
189   - $res = $this->dbhandler->query("SELECT id FROM $sTable WHERE name = 'transactionTest' LIMIT 1");
  186 + $this->util->dbHandler->startTransaction();
  187 + $this->util->dbHandler->query('INSERT INTO ' . $sTable . ' (name, value) VALUES ("transactionTest", "1")');
  188 + $this->util->dbHandler->rollback();
  189 + $res = $this->util->dbHandler->query("SELECT id FROM $sTable WHERE name = 'transactionTest' LIMIT 1");
190 190 if (!$res) {
191 191 $this->temp_variables['dbTransaction'] .= sprintf($html, 'cross', 'class="error"', 'Transaction support not available in database');
192 192 $this->privileges_check = 'cross';
193 193 } else {
194 194 $this->temp_variables['dbTransaction'] .= sprintf($html, 'tick', '', 'Database has transaction support');
195 195 }
196   - $this->dbhandler->query('DELETE FROM ' . $sTable . ' WHERE name = "transactionTest"');
  196 + $this->util->dbHandler->query('DELETE FROM ' . $sTable . ' WHERE name = "transactionTest"');
197 197 }
198 198 else
199 199 {
... ...
setup/wizard/steps/configuration.php
... ... @@ -307,7 +307,7 @@ class configuration extends Step
307 307 {
308 308 $conf = $this->getDataFromSession("configuration"); // get data from the server
309 309 $dbconf = $this->getDataFromSession("database");
310   - $this->dbhandler->load($dbconf['dhost'], $dbconf['dmsname'], $dbconf['dmspassword'], $dbconf['dname']);
  310 + $this->util->dbHandler->load($dbconf['dhost'], $dbconf['dmsname'], $dbconf['dmspassword'], $dbconf['dname']);
311 311 $server = $conf['server'];
312 312 $paths = $conf['paths'];
313 313 if ($this->util->isMigration()) { // Check if its an upgrade
... ... @@ -317,31 +317,28 @@ class configuration extends Step
317 317 $this->readConfigPath(); // initialise writing to config.ini
318 318 }
319 319 $this->getFromConfigPath(); // Sets config Paths
320   - $ini = false;
321   - if(file_exists($configPath)) {
322   - $ini = new iniUtilities($configPath);
  320 + if(file_exists($this->confpaths['configIni'])) {
  321 + $this->util->iniHandler->load($this->confpaths['configIni']);
323 322 }
324   - $this->writeUrlSection($ini);
325   - $this->writeDBSection($ini, $server);
326   - $this->writeDBPathSection($ini, $paths);
327   - if(!$ini === false){ // write out the config.ini file
328   - $ini->write();
  323 + if(!$this->util->iniHandler === false){ // write out the config.ini file
  324 + $this->writeUrlSection();
  325 + $this->writeDBSection($server);
  326 + $this->writeDBPathSection($paths);
  327 + $this->util->iniHandler->write();
329 328 }
330   - $this->dbhandler->close(); // close the database connection
331   - $this->writeCachePath(); // Write cache path file
332   - $this->writeConfigPath($configPath); // Write config file
  329 + $this->util->dbHandler->close(); // close the database connection
  330 + $this->writeCachePath($this->getCachePath(), $paths['cacheDirectory']['path']); // Write cache path file
  331 + $this->writeConfigPath($this->getContentPath(), $this->confpaths['configIni']); // Write config file
333 332 }
334 333  
335   - private function writeUrlSection($ini) {
  334 + private function writeUrlSection() {
336 335 $directories = $this->registerDirs();
337 336 foreach($directories as $item) { // write server settings to config_settings table and config.ini
338   - if(!$ini === false) {
339   - $ini->updateItem($item['section'], $item['setting'], $item['value']);
340   - }
  337 + $this->util->iniHandler->updateItem($item['section'], $item['setting'], $item['value']);
341 338 }
342 339 }
343 340  
344   - private function writeDBPathSection($ini, $paths) {
  341 + private function writeDBPathSection($paths) {
345 342 $table = 'config_settings';
346 343 if(is_array($paths)) { // write the paths to the config_settings table
347 344 foreach ($paths as $item){
... ... @@ -351,14 +348,14 @@ class configuration extends Step
351 348 $value = mysql_real_escape_string($item['path']);
352 349 $setting = mysql_real_escape_string($item['setting']);
353 350 $sql = "UPDATE {$table} SET value = '{$value}' WHERE item = '{$setting}'";
354   - $this->dbhandler->query($sql);
  351 + $this->util->dbHandler->query($sql);
355 352 }
356 353 }
357 354 }
358 355  
359   - private function writeDBSection($ini, $server) {
  356 + private function writeDBSection($server) {
360 357 $dbconf = $this->getDataFromSession("database"); // retrieve database information from session
361   - $this->dbhandler->load($dbconf['dhost'], $dbconf['duname'], $dbconf['dpassword'], $dbconf['dname']); // initialise the db connection
  358 + $this->util->dbHandler->load($dbconf['dhost'], $dbconf['duname'], $dbconf['dpassword'], $dbconf['dname']); // initialise the db connection
362 359 $server = $this->registerDBConfig($server, $dbconf); // add db config to server variables
363 360 $table = 'config_settings';
364 361 foreach($server as $item) { // write server settings to config_settings table and config.ini
... ... @@ -371,16 +368,15 @@ class configuration extends Step
371 368 if($value == 'no'){
372 369 $value = 'false';
373 370 }
374   - if(!$ini === false){
375   - $ini->updateItem($item['section'], $item['setting'], $value);
376   - }
  371 + echo "{$item['section']}, {$item['setting']}, {$value}<br/>";
  372 + $this->util->iniHandler->updateItem($item['section'], $item['setting'], $value);
377 373 break;
378 374 case 'db':
379 375 $value = mysql_real_escape_string($item['value']);
380 376 $setting = mysql_real_escape_string($item['setting']);
381 377  
382 378 $sql = "UPDATE {$table} SET value = '{$value}' WHERE item = '{$setting}'";
383   - $this->dbhandler->query($sql);
  379 + $this->util->dbHandler->query($sql);
384 380 break;
385 381 }
386 382 }
... ... @@ -582,8 +578,8 @@ class configuration extends Step
582 578 }
583 579 $configPath = $this->getContentPath();
584 580 if(!$configPath) return false;
585   - $ini = new iniUtilities($configPath);
586   - $data = $ini->getFileByLine();
  581 + $this->util->iniHandler->load($configPath);
  582 + $data = $this->util->iniHandler->getFileByLine();
587 583 $firstline = true;
588 584 foreach ($data as $k=>$v) {
589 585 if(preg_match('/config.ini/', $k)) { // Find config.ini
... ... @@ -605,8 +601,8 @@ class configuration extends Step
605 601 private function readConfigPath() {
606 602 $configPath = $this->getContentPath();
607 603 if(!$configPath) return false;
608   - $ini = new iniUtilities($configPath);
609   - $data = $ini->getFileByLine();
  604 + $this->util->iniHandler->load($configPath);
  605 + $data = $this->util->iniHandler->getFileByLine();
610 606 $firstline = true;
611 607 foreach ($data as $k=>$v) {
612 608 if($firstline) { // First line holds the var directory
... ... @@ -645,46 +641,48 @@ class configuration extends Step
645 641 * @param none
646 642 * @return boolean
647 643 */
648   - private function writeConfigPath($configPath = '') {
649   - $conf = $this->getDataFromSession("configuration"); // get data from the server
650   - $paths = $conf['paths'];
651   - if(isset($paths['configFile']['path'])) {
652   - $configPath = $this->getContentPath();
653   - $configContent = $paths['configFile']['path'];
654   - } else {
655   - $configPath = $this->getContentPath();
656   - if(!$configPath) return false;
657   - $ini = new iniUtilities($configPath);
658   - $data = $ini->getFileByLine();
659   - $configContent = '';
660   - foreach ($data as $k=>$v) {
661   - if(preg_match('/config.ini/', $k)) {
662   - $configContent = $k;
663   - break;
664   - }
665   - }
666   - }
667   - $fp = fopen($configPath, 'w');
  644 + private function writeConfigPath($configPath, $configContent) {
  645 +// $conf = $this->getDataFromSession("configuration"); // get data from the server
  646 +// $paths = $conf['paths'];
  647 +// if(isset($paths['configFile']['path'])) {
  648 +// $configPath = $this->getContentPath();
  649 +// $configContent = $paths['configFile']['path'];
  650 +// } else {
  651 +// $configPath = $this->getContentPath();
  652 +// if(!$configPath) return false;
  653 +// $this->util->iniHandler->load($configPath);
  654 +// $data = $this->util->iniHandler->getFileByLine();
  655 +// $configContent = '';
  656 +// foreach ($data as $k=>$v) {
  657 +// if(preg_match('/config.ini/', $k)) {
  658 +// $configContent = $k;
  659 +// break;
  660 +// }
  661 +// }
  662 +// }
  663 +// print_r($configPath);
  664 +// print_r($configContent);
  665 + $fp = fopen($configPath, 'w+');
668 666 if(fwrite($fp, $configContent))
669 667 return true;
670 668 return false;
671 669 }
672 670  
673   - private function writeCachePath() {
674   - $cachePath = $this->getCachePath();
675   - if(!$cachePath) return false;
676   - $configPath = $this->getContentPath();
677   - if(!$configPath) return false;
678   - $ini = new iniUtilities($configPath);
679   - $data = $ini->getFileByLine();
680   - $cacheContent = '';
681   - foreach ($data as $k=>$v) {
682   - if(preg_match('/cache/', $k)) {
683   - $cacheContent = $k;
684   - break;
685   - }
686   - }
687   - $fp = fopen($cachePath, 'w');
  671 + private function writeCachePath($cachePath, $cacheContent) {
  672 +// $cachePath = $this->getCachePath();
  673 +// if(!$cachePath) return false;
  674 +// $configPath = $this->getContentPath();
  675 +// if(!$configPath) return false;
  676 +// $this->util->iniHandler->load($configPath);
  677 +// $data = $this->util->iniHandler->getFileByLine();
  678 +// $cacheContent = '';
  679 +// foreach ($data as $k=>$v) {
  680 +// if(preg_match('/cache/', $k)) {
  681 +// $cacheContent = $k;
  682 +// break;
  683 +// }
  684 +// }
  685 + $fp = fopen($cachePath, 'w+');
688 686 if($cacheContent != '') {
689 687 if(fwrite($fp, $cacheContent))
690 688 return true;
... ...
setup/wizard/steps/database.php
... ... @@ -320,11 +320,11 @@ class database extends Step
320 320 return false;
321 321 }
322 322 if($this->dport == '') {
323   - $this->dbhandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname);
  323 + $this->util->dbHandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname);
324 324 } else {
325   - $this->dbhandler->load($this->dhost.":".$this->dport, $this->duname, $this->dpassword, $this->dname);
  325 + $this->util->dbHandler->load($this->dhost.":".$this->dport, $this->duname, $this->dpassword, $this->dname);
326 326 }
327   - if (!$this->dbhandler->getDatabaseLink()) {
  327 + if (!$this->util->dbHandler->getDatabaseLink()) {
328 328 $this->error['con'] = "Could not connect to the database, please check username and password";
329 329 return false;
330 330 } else {
... ... @@ -339,7 +339,7 @@ class database extends Step
339 339 }
340 340  
341 341 public function dbExists() {
342   - return $this->dbhandler->useDb();
  342 + return $this->util->dbHandler->useDb();
343 343 }
344 344  
345 345 public function match($str1, $str2) {
... ... @@ -583,7 +583,7 @@ class database extends Step
583 583 * @return object mysql connection
584 584 */
585 585 private function connectMysql() {
586   - $this->dbhandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname);
  586 + $this->util->dbHandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname);
587 587 }
588 588  
589 589 /**
... ... @@ -642,7 +642,7 @@ class database extends Step
642 642 $this->error['con'] = "Could not create database: ";
643 643 }
644 644 }
645   - $this->dbhandler->clearErrors();
  645 + $this->util->dbHandler->clearErrors();
646 646 if(!$this->createDmsUser()) { // Create dms users
647 647 $this->error['con'] = "Could not create database users ";
648 648 }
... ... @@ -666,7 +666,7 @@ class database extends Step
666 666 */
667 667 private function create() {
668 668 $sql = "CREATE DATABASE {$this->dname}";
669   - if ($this->dbhandler->query($sql)) {
  669 + if ($this->util->dbHandler->query($sql)) {
670 670  
671 671 return true;
672 672 }
... ... @@ -683,7 +683,7 @@ class database extends Step
683 683 * @return boolean
684 684 */
685 685 private function usedb() {
686   - if($this->dbhandler->useDb()) {
  686 + if($this->util->dbHandler->useDb()) {
687 687 return true;
688 688 } else {
689 689 $this->error['con'] = "Error using database: {$this->dname}";
... ... @@ -702,7 +702,7 @@ class database extends Step
702 702 private function dropdb() {
703 703 if($this->ddrop) {
704 704 $sql = "DROP DATABASE {$this->dname};";
705   - if(!$this->dbhandler->query($sql)) {
  705 + if(!$this->util->dbHandler->query($sql)) {
706 706 $this->error['con'] = "Cannot drop database: {$this->dname}";
707 707 return false;
708 708 }
... ... @@ -724,7 +724,7 @@ class database extends Step
724 724 private function createDmsUser() {
725 725 $user1 = "GRANT SELECT, INSERT, UPDATE, DELETE ON {$this->dname}.* TO {$this->dmsusername}@{$this->dhost} IDENTIFIED BY \"{$this->dmsuserpassword}\";";
726 726 $user2 = "GRANT ALL PRIVILEGES ON {$this->dname}.* TO {$this->dmsname}@{$this->dhost} IDENTIFIED BY \"{$this->dmspassword}\";";
727   - if ($this->dbhandler->query($user1) && $this->dbhandler->query($user2)) {
  727 + if ($this->util->dbHandler->query($user1) && $this->util->dbHandler->query($user2)) {
728 728 return true;
729 729 } else {
730 730 $this->error['con'] = "Could not create users for database: {$this->dname}";
... ... @@ -751,7 +751,7 @@ class database extends Step
751 751 while (!feof($handle)) {
752 752 $query.= fgets($handle, 4096);
753 753 if (substr(rtrim($query), -1) == ';') {
754   - $this->dbhandler->query($query);
  754 + $this->util->dbHandler->query($query);
755 755 $query = '';
756 756 }
757 757 }
... ... @@ -778,9 +778,9 @@ class database extends Step
778 778 $sqlFile = $dbMigrate['dumpLocation'];
779 779 $this->parse_mysql_dump($sqlFile);
780 780 $dropPluginHelper = "TRUNCATE plugin_helper;";
781   - $this->dbhandler->query($dropPluginHelper);
  781 + $this->util->dbHandler->query($dropPluginHelper);
782 782 $updateUrls = 'UPDATE config_settings c SET c.value = "default" where c.group_name = "urls";';
783   - $this->dbhandler->query($updateUrls);
  783 + $this->util->dbHandler->query($updateUrls);
784 784 return true;
785 785 }
786 786 /**
... ... @@ -793,7 +793,7 @@ class database extends Step
793 793 */
794 794 private function closeMysql() {
795 795 try {
796   - $this->dbhandler->close();
  796 + $this->util->dbHandler->close();
797 797 } catch (Exeption $e) {
798 798 $this->error['con'] = "Could not close: " . $e;
799 799 }
... ... @@ -844,7 +844,7 @@ class database extends Step
844 844 $this->dpassword = 'root';
845 845 $this->dname = 'dms_install';
846 846 $this->dbbinary = 'mysql';
847   - $this->dbhandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname);
  847 + $this->util->dbHandler->load($this->dhost, $this->duname, $this->dpassword, $this->dname);
848 848 $this->createSchema();
849 849 echo 'Schema loaded<br>';
850 850 }
... ...
setup/wizard/steps/install.php
... ... @@ -107,14 +107,14 @@ class install extends step
107 107 public function callHome() {
108 108 $conf = $this->getDataFromSession("install"); // retrieve database information from session
109 109 $dbconf = $this->getDataFromSession("database");
110   - $this->dbhandler->load($dbconf['dhost'], $dbconf['duname'], $dbconf['dpassword'], $dbconf['dname']); // initialise the db connection
  110 + $this->util->dbHandler->load($dbconf['dhost'], $dbconf['duname'], $dbconf['dpassword'], $dbconf['dname']); // initialise the db connection
111 111 $complete = 1;
112 112 if($conf['call_home'] == 'enable'){
113 113 $complete = 0;
114 114 }
115 115 $query = "UPDATE scheduler_tasks SET is_complete = {$complete} WHERE task = 'Call Home'";
116   - $this->dbhandler->query($query);
117   - $this->dbhandler->close(); // close the database connection
  116 + $this->util->dbHandler->query($query);
  117 + $this->util->dbHandler->close(); // close the database connection
118 118 }
119 119 }
120 120 ?>
121 121 \ No newline at end of file
... ...