sync
[Pman.Core] / UpdateDatabase.php
index 055e817..8a9fe5e 100644 (file)
@@ -126,7 +126,7 @@ class Pman_Core_UpdateDatabase extends Pman
         $this->authUser = $au;
         return true;
     }
-     
+    
     function get($args, $opts)
     {
         PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
@@ -135,6 +135,12 @@ class Pman_Core_UpdateDatabase extends Pman
    
         $ff = HTML_FlexyFramework::get();
         
+        if(!empty($ff->Core_Notify)){
+            require_once 'Pman/Core/NotifySmtpCheck.php';
+            $x = new Pman_Core_NotifySmtpCheck();
+            $x->check();
+        }
+        
         $this->disabled = explode(',', $ff->disable);
         
         //$this->fixSequencesPgsql();exit;
@@ -407,23 +413,25 @@ class Pman_Core_UpdateDatabase extends Pman
                     }
                     $matches = array();
                     if (!preg_match('/^ERROR\s+([0-9]+)/', $line, $matches)) {
-                        echo "OK - {$line}\n"; flush();
+                        echo " ---- {$line}\n"; flush();
                         continue;
                     }
                     $continue =0;
                     switch($matches[1]) {
+                        case 1017: // cause by renaming table -- old one does not exist..
                         case 1050: // create tables triggers this..
                         case 1060: //    Duplicate column name
                         case 1061: // Duplicate key name - triggered by add index.. but could hide error. - unlikely though.
                         case 1091: // drop index -- name does not exist.. might hide errors..
-                            
+                        
+                        case 1146: // drop a index on an unknown table.. - happens rarely...
                         case 1054: // Unknown column -- triggered by CHANGE COLUMN - but may hide other errrors..
                             $continue = 1;
                             break;
                         
                     }
                     if ($continue) {
-                        echo "IGNORE - {$line}\n"; flush();
+                        echo " ---- {$line}\n"; flush();
                         continue;
                     }
                     // real errors...
@@ -778,14 +786,15 @@ class Pman_Core_UpdateDatabase extends Pman
                 }
                 $g = DB_DataObject::Factory('Groups')->lookup('name',$data['bcc_group']);
                 
-                if (!$g) {
+                if (empty($g->id)) {
                     $this->jerr("bcc_group {$data['bcc_group']} does not exist when importing template $name");
                 }
+                
+                
                 if (!$g->members('email')) {
-                      $this->jerr("bcc_group {$data['bcc_group']} does not have any members");
+                    $this->jerr("bcc_group {$data['bcc_group']} does not have any members");
                 }
                 
-                
                 $cm->bcc_group = $g->id;
             }
             if (empty($cm->test_class)) {
@@ -812,7 +821,8 @@ class Pman_Core_UpdateDatabase extends Pman
                 echo "email: {$name} - checked\n";
                 continue; /// we do not import the body content of templates that exist...
             } else {
-                $cm->insert();
+                
+                //$cm->insert();
             }
             
             
@@ -828,7 +838,7 @@ class Pman_Core_UpdateDatabase extends Pman
             }
             require_once 'Pman/Core/Import/Core_email.php';
             $x = new Pman_Core_Import_Core_email();
-            $x->get('', $opts);
+            $x->updateOrCreateEmail('', $opts, $cm);
             
             echo "email: {$name} - CREATED\n";
         }