Данная функция работает не корректно
1. неделя копируется не с понедельника по воскресенье, а с воскресенья по субботу.
2. копия расписания берется с воскресенья текущей недели и по субботу следующей.
Т.е. если расписание заполнено на текущую неделю допустим с 08.09.14 по 14.09.14, то скопируется только воскресенье.
А если расписание заполнено с воскресенья текущей недели по субботу следующей с 14.09.14 по 20.09.14, то расписание скопируется на след неделю т.е. с воскресенья 21.09.14 по субботу 27.09.14.
Сдвиг нужно сделать назад на 6 дней
код функции:
public function actionCopy()
{
$affected = 0;
$select = Aquilon::Db()->select("schedule_entry", "*")->where("type_id = ?", $this->type_id);
$select->where("WEEK(beginning) = ?", date("W"));
$select->order("id desc");
$insert = Aquilon::Db()->insert("schedule_entry");
foreach($select->execQuery()->fetchAll() as $row)
{
$row["id"] = null;
$row["updated"] = null;
$row["created"] = Aquilon::Db()->formatDatetime();
$beginning = Aquilon::Db()->parseDatetime($row["beginning"]);
$beginning = strtotime("+1 week", $beginning);
$row["beginning"] = Aquilon::Db()->formatDatetime($beginning);
$insert->load($row);
$insert->execQuery();
$affected++;
}
Aquilon::Db()->commit();
$this->message("Скопировано {$affected} записей");
$this->redirectAction('index');
}
Структура таблицы schedule_entry
id
program_id
coach_id
type_id
hall_id
beginning
commercial
hidden
created
updated
Как исправить данную функцию?