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;
38 * imports SQL files from all DataObjects directories....
40 * except any matching /migrate/
45 $ff = HTML_Flexyframework::get();
47 $url = parse_url($ff->DB_DataObject['database']);
48 // hide stuff for web..
50 require_once 'System.php';
51 $cat = System::which('cat');
52 $mysql = System::which('mysql');
54 $ar = $this->modulesList();
58 ' -h ' . $url['host'] .
59 ' -u' . escapeshellarg($url['user']) .
60 (!empty($url['pass']) ? ' -p' . escapeshellarg($url['pass']) : '') .
61 ' ' . basename($url['path']);
62 echo $mysql_cmd . "\n" ;
69 $fd = $this->rootDir. "/Pman/$m/DataObjects";
71 foreach(glob($fd.'/*.sql') as $fn) {
74 if (preg_match('/migrate/i', basename($fn))) { // skip migration scripts at present..
78 $cmd = "$mysql_cmd -f < " . escapeshellarg($fn) ;
80 echo $cmd. ($this->cli ? "\n" : "<BR>\n");