DataObjects/pman.links.ini
[Pman.Core] / UpdateDatabase.php
index 4613b3d..36c3453 100644 (file)
@@ -61,6 +61,13 @@ class Pman_Core_UpdateDatabase extends Pman
             'min' => 1,
             'max' => 1,
         ),
+        'procedures-only' => array(
+            'desc' => 'Only import procedures (not supported by most modules yet) - ignores sql directory',
+            'default' => '',
+            'min' => 1,
+            'max' => 1,
+        ),
+        
         
         'json-person' => array(
             'desc' => 'Person JSON file',
@@ -145,6 +152,8 @@ class Pman_Core_UpdateDatabase extends Pman
         
         
         if (!empty($opts['add-company'])) {
+            // make sure we have a good cache...?
+           
             DB_DataObject::factory('companies')->initCompanies($this, $opts);
         }
          
@@ -192,9 +201,12 @@ class Pman_Core_UpdateDatabase extends Pman
             (!empty($dburl['pass']) ? ' -p' . escapeshellarg($dburl['pass'])  :  '') .
             ' ' . basename($dburl['path']);
         //echo $mysql_cmd . "\n" ;
+        
+        $files = glob($dir.'/*.sql');
+        uksort($files, 'strcasecmp');
+        
        
-       
-        foreach(glob($dir.'/*.sql') as $fn) {
+        foreach($files as $fn) {
                 
                  
                 if (preg_match('/migrate/i', basename($fn))) { // skip migration scripts at present..
@@ -332,7 +344,15 @@ class Pman_Core_UpdateDatabase extends Pman
         
         echo $psql_cmd . "\n" ;
         echo "scan : $dir\n";
-        foreach(glob($dir.'/*.sql') as $bfn) {
+        
+        $files = glob($dir.'/*.sql');
+        uksort($files, 'strcasecmp');
+        //$lsort = create_function('$a,$b','return strlen($a) > strlen($b) ? 1 : -1;');
+        //usort($files, $lsort);
+        
+        
+        
+        foreach($files as $bfn) {
 
 
             if (preg_match('/migrate/i', basename($bfn))) { // skip migration scripts at present..
@@ -509,9 +529,11 @@ class Pman_Core_UpdateDatabase extends Pman
             if (!preg_match('/^json-/', $o) || empty($v)) {
                 continue;
             }
-            $type = str_replace('_', '-', substr($o,6));
-            $data= json_decode(file_get_contents($file),true);
-            DB_DataObject::factory($type)->importFromArray($this,$data,$opts);
+            $type = str_replace('_', '-', substr($o,5));
+            
+            $data= json_decode(file_get_contents($v),true);
+            $pg = HTML_FlexyFramework::get()->page;
+            DB_DataObject::factory($type)->importFromArray($pg ,$data,$opts);
             
         }
         
@@ -557,7 +579,9 @@ class Pman_Core_UpdateDatabase extends Pman
     
     function updateDataEnums()
     {
+        
         $enum = DB_DataObject::Factory('core_enum');
+        //DB_DAtaObject::debugLevel(1);
         $enum->initEnums(
             array(
                 array(
@@ -658,7 +682,7 @@ class Pman_Core_UpdateDatabase extends Pman
         $c->query("
             UPDATE Companies 
                 SET
-                    comptype_id = (SELECT id FROM core_enum where etype='comptype' and name=Companies.comptype)
+                    comptype_id = (SELECT id FROM core_enum where etype='comptype' and name=Companies.comptype LIMIT 1)
                 WHERE
                     comptype_id = 0
                     AND
@@ -674,7 +698,7 @@ class Pman_Core_UpdateDatabase extends Pman
     function updateData()
     {
         // fill i18n data..
-        
+        HTML_FlexyFramework::get()->generateDataobjectsCache(true);
         $this->updateDataEnums();
         $this->updateDataGroups();
         $this->updateDataCompanies();