- Cleans up import

- Adds tests for modified models
- Adds tests for import BootStrapMenu and MailChimp classes
This commit is contained in:
MrCasual
2015-11-08 15:51:32 -05:00
parent b1ae07d38e
commit 33ea16eb0f
17 changed files with 5475 additions and 104 deletions

View File

@ -317,12 +317,13 @@ class Subscriber extends Model {
Helpers::flattenArray($values)
);
}
static function updateMultiple($columns, $subscribers, $currentTime) {
static function updateMultiple($columns, $subscribers, $currentTime = false) {
$ignoreColumnsOnUpdate = array(
'email',
'created_at'
);
$subscribers = array_map('array_values', $subscribers);
$emailPosition = array_search('email', $columns);
$sql =
function ($type) use (
@ -356,10 +357,10 @@ class Subscriber extends Model {
};
return self::rawExecute(
'UPDATE `' . self::$_table . '` ' .
'SET ' . implode(', ', $sql('statement')) . ', ' .
'updated_at = "' . $currentTime . '" ' .
'WHERE email IN ' .
'(' . rtrim(str_repeat('?,', count($subscribers)), ',') . ')',
'SET ' . implode(', ', $sql('statement')) . ' '.
(($currentTime) ? ', updated_at = "' . $currentTime . '" ' : '') .
'WHERE email IN ' .
'(' . rtrim(str_repeat('?,', count($subscribers)), ',') . ')',
array_merge(
Helpers::flattenArray($sql('values')),
Helpers::arrayColumn($subscribers, $emailPosition)