'max' => 1,
),
-
'json-person' => array(
'desc' => 'Person JSON file',
'default' => '',
$this->authUser = $au;
return true;
}
-
+
function get($args, $opts)
{
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
$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;
$this->checkOpts($opts);
+
+ // do this first, so the innodb change + utf8 fixes column max sizes
+
+ // this will trigger errors about freetext indexes - we will have to remove them manually.?
+ // otherwise we need to do an sql query to find them, then remove them (not really worth it as it only affects really old code..)
+
+ $this->runExtensions();
+
+
if (empty($opts['data-only'])) {
$this->importSQL();
}
{
// send the current file part to the browser
$line = trim(fgets($fp, 1024));
+ if (empty($line)) {
+ continue;
+ }
$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...
}
$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)) {
echo "email: {$name} - checked\n";
continue; /// we do not import the body content of templates that exist...
} else {
- $cm->insert();
+
+ //$cm->insert();
}
}
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";
}
die("Error: set innodb_file_per_table = 1 in my.cnf\n\n");
}
+ $db = DB_DataObject::factory('core_enum');
+ $db->query("select version() as version");
+ $db->fetch();
+
+ if (version_compare($db->version, '5.7', '>=' )) {
+
+ $db = DB_DataObject::factory('core_enum');
+ $db->query("show variables like 'sql_mode'");
+ $db->fetch();
+
+ $modes = explode(",", $db->Value);
+
+ // these are 'new' problems with mysql.
+ if(
+ in_array('NO_ZERO_IN_DATE', $modes) ||
+ in_array('NO_ZERO_DATE', $modes) ||
+ in_array('STRICT_TRANS_TABLES', $modes) ||
+ !in_array('ALLOW_INVALID_DATES', $modes)
+ ){
+ die("Error: set sql_mode include 'ALLOW_INVALID_DATES', remove 'NO_ZERO_IN_DATE' AND 'STRICT_TRANS_TABLES' AND 'NO_ZERO_DATE' in my.cnf\n\n");
+ }
+ }
+
$done_check = true;;