5 require_once 'Pman.php';
6 class Pman_Core_UpdateDatabase extends Pman
9 static $cli_desc = "Update SQL - Beta";
17 $ff = HTML_FlexyFramework::get();
18 if (!empty($ff->cli)) {
23 parent::getAuth(); // load company!
24 $au = $this->getAuthUser();
25 if (!$au || $au->company()->comptype != 'OWNER') {
26 $this->jerr("Not authenticated", array('authFailure' => true));
28 $this->authUser = $au;
41 * imports SQL files from all DataObjects directories....
43 * except any matching /migrate/
48 $ff = HTML_Flexyframework::get();
50 $url = parse_url($ff->DB_DataObject['database']);
51 // hide stuff for web..
53 require_once 'System.php';
54 $cat = System::which('cat');
55 $mysql = System::which('mysql');
57 $ar = $this->modulesList();
61 ' -h ' . $url['host'] .
62 ' -u' . escapeshellarg($url['user']) .
63 (!empty($url['pass']) ? ' -p' . escapeshellarg($url['pass']) : '') .
64 ' ' . basename($url['path']);
65 echo $mysql_cmd . "\n" ;
72 $fd = $this->rootDir. "/Pman/$m/DataObjects";
74 foreach(glob($fd.'/*.sql') as $fn) {
77 if (preg_match('/migrate/i', basename($fn))) { // skip migration scripts at present..
81 $cmd = "$mysql_cmd -f < " . escapeshellarg($fn) ;
83 echo $cmd. ($this->cli ? "\n" : "<BR>\n");