add load test
[Pman.Admin] / Import / Core_templatestr.php
index 9f9e773..47ace8d 100644 (file)
@@ -58,10 +58,10 @@ class Pman_Admin_Import_Core_templatestr extends Pman
         //$rows = $this->readXLS("/home/alan/Downloads/oll_example.xls") ;
         $rows = $this->readXLS($_FILES['imageUpload']['tmp_name']) ;
         
-         //$ret = $this->processRows($rows);
+        $ret = $this->processRows($rows);
         
          
-        $this->jok("DONE", false, array('extra'=> $rows));
+        $this->jok("DONE", false, array('extra'=> $ret));
         
     }
     
@@ -83,15 +83,49 @@ class Pman_Admin_Import_Core_templatestr extends Pman
     { 
         $ret = array();
         foreach($rows as $r) {
+            if (isset($r['table id'])) {
+                $ret[] = $this->updateTableTranslation($r);
+                continue;
+            }
+            
             $ret[] = $this->updateTranslation($r);
             
         }
         return $ret;
     }        
-    
+    function updateTranslation($r)
+    {
+        // determine the type of file:
+        
+        if (empty($r['template']) || empty($r['module']) || empty($r['code'])) {
+            $this->jerr("missing template / module or code column");
+        }
+        if (isset($r['language'])) {
+            $this->updateTableTranslationRow($r);
+            return;
+        }
+        $ff = HTML_FlexyFramework::get();
+        if (!isset($ff->Pman_Admin['languages'])) {
+            $this->jerr("invalid language configuration");
+        }
+        
+        
+        foreach($ff->Pman_Admin['languages'] as $lang) {
+            if (!isset($r[strtolower($lang)])) {
+                //echo "SKIP $lang\n";
+                continue;
+            }
+            $rr = $r;
+            $rr['language'] = $lang;
+            $rr['translation'] = $r[strtolower($lang)];
+            $this->updateTranslationRow($rr);
+        }
+        
+        
+    }
     
     var $seq = 1;
-    function updateTranslation($r)
+    function updateTranslationRow($r)
     {
         //print_R($r); DB_DataObject::DebugLevel(1);
         $tr = DB_DataObject::Factory('core_templatestr');
@@ -109,6 +143,32 @@ class Pman_Admin_Import_Core_templatestr extends Pman
             $tt->txt = $r['translation'];
             $tt->updated = date('Y-m-d H:i:s');
             $tt->update($tr);
+            return 1;
+        }
+        return 0;
+    }
+    
+    
+    
+    function updateTableTranslation($r)
+    {
+      //   print_R($r); DB_DataObject::DebugLevel(1);
+        $tr = DB_DataObject::Factory('core_templatestr');
+        $tr->autoJoin();
+
+       
+        $tr->whereAdd("core_templatestr.on_id='{$tr->escape($r['table id'])}'");
+        $tr->whereAdd("core_templatestr.on_table='{$tr->escape($r['table'])}'");
+        $tr->whereAdd("core_templatestr.on_col='{$tr->escape($r['column'])}'");
+        $tr->whereAdd("join_src_id_id.mdsum='{$tr->escape($r['code'])}'");
+        $tr->lang = $r['translation'];
+        if ($tr->find(true) && strlen(trim($r['txt']))) {
+            $tt = DB_DataObject::Factory('core_templatestr');
+            $tt->get($tr->id);
+            $tr= clone($tt);
+            $tt->txt = $r['txt'];
+            $tt->updated = date('Y-m-d H:i:s');
+            $tt->update($tr);
              
             return 1;
         }