DataObjects/core.sql
[Pman.Core] / UpdateDatabase.php
index c607f51..ce4261c 100644 (file)
@@ -15,7 +15,7 @@ require_once 'Pman.php';
 class Pman_Core_UpdateDatabase extends Pman
 {
     
-    static $cli_desc = "Update SQL - Beta";
+    static $cli_desc = "Update SQL - Beta (it will run updateData of all modules)";
  
  
     
@@ -41,6 +41,7 @@ class Pman_Core_UpdateDatabase extends Pman
     function get()
     {
         $this->importSQL();
+        $this->runUpdateModulesData();
          
     }
     function output() {
@@ -66,7 +67,9 @@ class Pman_Core_UpdateDatabase extends Pman
      * mysql - does not support conversions.
      * 
      *
-     */ 
+     */
+    
+    
     
     function importmysql($url)
     {
@@ -101,8 +104,8 @@ class Pman_Core_UpdateDatabase extends Pman
                     continue;
                 }
                 // .my.sql but not .pg.sql
-                if (preg_match('/#.[a-z]{2}\.sql#i', basename($bfn))
-                    && !preg_match('/#\.my\.sql#i', basename($bfn))
+                if (preg_match('#\.[a-z]{2}\.sql#i', basename($fn))
+                    && !preg_match('#\.my\.sql#i', basename($fn))
                 ) { // skip migration scripts at present..
                     continue;
                 }
@@ -186,7 +189,7 @@ class Pman_Core_UpdateDatabase extends Pman
                 // files ending in .pg.sql are native postgres files..
                 $fn = preg_match('#\.pg\.sql$#', basename($bfn)) ? false : $this->convertToPG($bfn);
                 
-                $cmd = "$psql_cmd -f  " . escapeshellarg($fn ? $fn : $bfn) . ' 2>&1' ;
+                $cmd = "$psql_cmd  < " . escapeshellarg($fn ? $fn : $bfn) . ' 2>&1' ;
                 
                 echo "$bfn:   $cmd ". ($this->cli ? "\n" : "<BR>\n");
                 
@@ -204,7 +207,7 @@ class Pman_Core_UpdateDatabase extends Pman
             // sql directory  - we try to convert..
             foreach(glob($fd.'/*.sql') as $bfn) {
                 $fn =  $this->convertToPG($bfn);
-                $cmd = "$psql_cmd -f < " . escapeshellarg($fn) ;
+                $cmd = "$psql_cmd  < " . escapeshellarg($fn) ;
                 echo $cmd. ($this->cli ? "\n" : "<BR>\n");
                 passthru($cmd);
             }
@@ -214,7 +217,7 @@ class Pman_Core_UpdateDatabase extends Pman
             $fd = $this->rootDir. "/Pman/$m/pgsql";
             
             foreach(glob($fd.'/*.sql') as $fn) {
-                $cmd = "$psql_cmd -f < " . escapeshellarg($fn) ;
+                $cmd = "$psql_cmd   < " . escapeshellarg($fn) ;
                 echo $cmd. ($this->cli ? "\n" : "<BR>\n");
                 passthru($cmd);
             }
@@ -283,6 +286,48 @@ class Pman_Core_UpdateDatabase extends Pman
         
         return $fn;
     }
+    
+    function runUpdateModulesData()
+    {
+        $this->updateData();
+        $modules = $this->modulesList();
+        foreach ($modules as $module){
+            $file = $this->rootDir. "/Pman/$module/UpdateDatabase.php";
+            if($module == 'Core' || !file_exists($file)){
+                continue;
+            }
+            require_once $file;
+            $class = "Pman_{$module}_UpdateDatabase";
+            $x = new $class;
+            if(!method_exists($x, 'updateData')){
+                continue;
+            };
+            $x->updateData();
+        }
                 
+    }
+    
+    function updateData()
+    {
+        // fill i18n data..
+        
+        $enum = DB_DataObject::Factory('core_enum');
+        $enum->initEnums(
+            array(
+                'etype' => '',
+                'name' => 'COMPTYPE',
+                'display_name' =>  'Company Types',
+                'cn' => array(
+                    array(
+                        'name' => 'OWNER',
+                        'display_name' => 'Owner',
+                        'seqid' => 999, // last...
+                    )
+                    
+                )
+            )
+        ); 
+    }
+    
     
 }
\ No newline at end of file