diff --git a/src/Task/DefaultSlideTypeTask.php b/src/Task/DefaultSlideTypeTask.php new file mode 100644 index 0000000..9cfaec4 --- /dev/null +++ b/src/Task/DefaultSlideTypeTask.php @@ -0,0 +1,72 @@ +setDefaults(); + } + + /** + * + */ + protected function setDefaults() + { + $default = SlideImage::singleton()->config()->get('defaults'); + + if (isset($default['SlideType'])) { + $baseTable = SlideImage::singleton()->baseTable(); + + $tables = [ + $baseTable, + "{$baseTable}_Versions", + "{$baseTable}_Live", + ]; + + foreach ($tables as $table) { + $query = DB::query("SELECT * FROM \"{$table}\" WHERE \"SlideType\" IS NULL"); + + foreach ($this->yieldSingle($query) as $record) { + DB::prepared_query( + "UPDATE \"{$table}\" SET \"SlideType\" = ? WHERE \"ID\" = ?", + [$default['SlideType'], $record['ID']] + ); + } + } + } + } + + /** + * @param $list + * @return \Generator + */ + protected function yieldSingle($list) + { + foreach ($list as $item) { + yield $item; + } + } +} diff --git a/src/Task/SlideLinkTask.php b/src/Task/SlideLinkTask.php index d75ada1..5695bed 100644 --- a/src/Task/SlideLinkTask.php +++ b/src/Task/SlideLinkTask.php @@ -54,7 +54,7 @@ protected function migrateLinks() foreach ($tables as $table) { foreach ($this->yieldSingle(DB::query("SELECT * FROM \"{$table}\"")) as $record) { $linkID = $record['PageLinkID']; - $linkLabel = $record['LinkLabel']; + $linkLabel = isset($record['LinkLabel']) ? $record['LinkLabel'] : null; $slideLink = $this->findOrMakeLink($linkID, $linkLabel);