public function beforeSave() { if (!$this->getUseLong() && $this->beforeSave) { if ($this->isNewRecord) { $this->created = new CDbExpression('NOW()'); } $this->timezone_offset = TimezoneWork::getOffsetFromUTC($this->timezone_id, 1); $this->updated = new CDbExpression('NOW()'); } return parent::beforeSave(); }
public function getTZOffset($unit = 's') { $tz = $this->getTZ(); $offset = TimezoneWork::getOffsetFromUTC($tz); if ($unit == 'm') { return $offset / 60; } else { if ($unit == 'h') { return $offset / 3600; } } return $offset; }
public static function findReverseTimeZone($tz) { $mark = substr($tz, 0, 1); $time = substr($tz, 1, 5); $mark = $mark == '+' ? '-' : "+"; $newtz = $mark . $time; if ($tz == '+00:00') { $newtz = $tz; } $return = array(); $list = DateTimeZone::listIdentifiers(); if ($list) { foreach ($list as $key => $value) { $findTime = TimezoneWork::getOffsetFromUTC($value, 1); if ($findTime == $newtz) { return $value; } } } return $return; }
public function beforeSave() { $this->local_timezone_offset = TimezoneWork::getOffsetFromUTC($this->local_timezone_id, 1); return parent::beforeSave(); }
</a></li> <?php } ?> </ul> <br/><br/> <div id="header_time"> <form action="<?php echo $this->createUrl($cur_route); ?> " method="post" id="TZChangeForm"> <div class="time text"><?php echo Yii::app()->user->getTZ(); ?> (<?php echo TimezoneWork::getOffsetFromUTC(Yii::app()->user->getTZ(), 1); ?> )</div> <div class="text"> <?php echo date('M d'); ?> , <span id="jclock2"></span> </div> <div class="delimiter time text">UTC (GMT +00:00)</div> <div class="text"> <?php echo gmdate('M d'); ?> ,
</td> <td><?php echo Yii::app()->params['station_type'][$station->station_type]; ?> </td> <td nowrap><?php echo CHtml::link($station->display_name, array('admin/StationSave', 'station_id' => $station->station_id), array('title' => 'Change Station Details')); ?> </td> <td nowrap><?php echo $station->timezone_id; ?> (GMT <?php echo TimezoneWork::getOffsetFromUTC($station->timezone_id, 1); ?> )</td> <td nowrap> <?php echo Yii::app()->params['com_type'][$station->communication_type] . ' '; if ($station->communication_type === 'direct' || $station->communication_type === 'sms') { echo '(' . SMSCOMPort::getLinuxComName($station->communication_port) . ')'; } else { if ($station->communication_type === 'tcpip') { echo '(' . $station->communication_esp_ip . ':' . $station->communication_esp_port . ')'; } else { if ($station->communication_type === 'gprs') { echo '(' . $station->communication_esp_ip . ':' . $station->communication_esp_port . ')'; } else { if ($station->communication_type === 'server') {
public function m_0_4_1() { @apache_setenv('no-gzip', 1); @ini_set('zlib.output_compression', 0); @ini_set('implicit_flush', 1); ini_set('memory_limit', '-1'); //ob_start(); $this->flushNotification('...Please wait... Updating is going on... DO NOT LEAVE THIS PAGE!'); $this->flushNotification('<br/>...Going to add "is_last" fields to `listener_log` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `" . ListenerLog::model()->tableName() . "` LIKE 'is_last'")->queryAll(); if (!$res) { Yii::app()->db->createCommand("ALTER TABLE `" . ListenerLog::model()->tableName() . "` ADD `is_last` tinyint(1) NOT NULL DEFAULT '0' AFTER `is_processed`")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $stations = Yii::app()->db->createCommand("SELECT * FROM `" . Station::model()->tableName() . "`")->queryAll(); if ($stations) { foreach ($stations as $key => $value) { ListenerLog::updateIsLastForStation($value['station_id']); } } $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... not need'); } $this->flushNotification('<br/>...Going to add "is_processing" column to `listener_log` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `" . ListenerLog::model()->tableName() . "` LIKE 'is_processing'")->queryAll(); if (!$res) { Yii::app()->db->createCommand("ALTER TABLE `" . ListenerLog::model()->tableName() . "` ADD `is_processing` TINYINT(1) NOT NULL DEFAULT '0' AFTER `is_processed`")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... not need'); } // station $this->flushNotification('<br/><br/>Station table:'); $this->flushNotification('<br/>...Going to update "national_aws_number" field at `station` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `" . Station::model()->tableName() . "` LIKE 'national_aws_number'")->queryAll(); if ($res[0]['Null'] == 'NO') { Yii::app()->db->createCommand("ALTER TABLE `station` CHANGE `national_aws_number` `national_aws_number` int(11) DEFAULT '0'")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... not need'); } $this->flushNotification('<br/>...Going to add new column "country_id" to `station` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `" . Station::model()->tableName() . "` LIKE 'country_id'")->queryAll(); if (!$res) { Yii::app()->db->createCommand("ALTER TABLE `station` ADD `country_id` int(11) NOT NULL DEFAULT '0' AFTER `magnetic_north_offset`")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... already exists'); } $this->flushNotification('<br/>...Going to add new column "city_id" to `station` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `" . Station::model()->tableName() . "` LIKE 'city_id'")->queryAll(); if (!$res) { Yii::app()->db->createCommand("ALTER TABLE `station` ADD `city_id` int(11) NOT NULL DEFAULT '0' AFTER `country_id`")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... already exists'); } $this->flushNotification('<br/>...Going to add new column "timezone_offset" to `station` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `" . Station::model()->tableName() . "` LIKE 'timezone_offset'")->queryAll(); if (!$res) { Yii::app()->db->createCommand("ALTER TABLE `station` ADD `timezone_offset` varchar(20) NOT NULL AFTER `timezone_id`")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... already exists'); } $this->flushNotification('<br/>...Going to update "timezone_offset" data in `station` table...'); $sql = "SELECT `station_id`, `timezone_id` FROM `" . Station::model()->tableName() . "` WHERE `timezone_offset` = ''"; $res = Yii::app()->db->createCommand($sql)->queryAll(); if ($res) { foreach ($res as $key => $value) { $sql = "UPDATE `" . Station::model()->tableName() . "` SET `timezone_offset` = '" . TimezoneWork::getOffsetFromUTC($value['timezone_id'], 1) . "' WHERE `station_id` = '" . $value['station_id'] . "'"; Yii::app()->db->createCommand($sql)->query(); } Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... not need'); } $this->flushNotification('<br/>...Going to add new column "awos_msg_source_folder" to `station` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `" . Station::model()->tableName() . "` LIKE 'awos_msg_source_folder'")->queryAll(); if (!$res) { Yii::app()->db->createCommand("ALTER TABLE `station` ADD `awos_msg_source_folder` TEXT CHARACTER SET ucs2 COLLATE ucs2_general_ci NOT NULL AFTER `city_id`")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... already exists'); } // Sensor Data $this->flushNotification('<br/>...Going to update `sensor_data` table\'s data...'); Yii::app()->db->createCommand("UPDATE `sensor_data` SET `period` = 1440 WHERE `period` = 86400")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); //Schedule report $this->flushNotification('<br/>...Going to create `schedule_report` table...'); $tables = array(); $res = Yii::app()->db->createCommand("SHOW TABLES")->queryAll(); if ($res) { foreach ($res as $key => $value) { foreach ($value as $k1 => $v1) { $tables[] = $v1; } } } if (!in_array('schedule_report', $tables)) { $sql = "CREATE TABLE `schedule_report` (\n `schedule_id` int(11) NOT NULL AUTO_INCREMENT,\n `report_type` varchar(50) NOT NULL DEFAULT 'synop' COMMENT 'synop, bufr',\n `station_id` int(11) NOT NULL,\n `period` int(11) NOT NULL DEFAULT '60' COMMENT 'in minutes',\n `method` varchar(20) NOT NULL DEFAULT 'email' COMMENT 'email, ftp',\n `destination_email` varchar(255) NOT NULL,\n `destination_ip` varchar(15) NOT NULL,\n `destination_ip_port` int(5) NOT NULL DEFAULT '21',\n `destination_ip_folder` varchar(255) NOT NULL DEFAULT '/',\n `destination_ip_user` varchar(255) NOT NULL,\n `destination_ip_password` varchar(255) NOT NULL,\n `report_format` varchar(20) NOT NULL DEFAULT 'csv' COMMENT 'txt, csv',\n `last_scheduled_run_fact` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',\n `last_scheduled_run_planned` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',\n `created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',\n `updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',\n PRIMARY KEY (`schedule_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Yii::app()->db->createCommand($sql)->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... already exists'); } $this->flushNotification('<br/>...Going to create `schedule_report_processed` table...'); if (!in_array('schedule_report_processed', $tables)) { $sql = "CREATE TABLE `schedule_report_processed` (\n `schedule_processed_id` int(11) NOT NULL AUTO_INCREMENT,\n `schedule_id` int(11) NOT NULL,\n `listener_log_id` int(11) NOT NULL,\n `is_processed` tinyint(1) NOT NULL DEFAULT '0',\n `report_string_initial` text NOT NULL,\n `report_string_changed` text NOT NULL,\n `serialized_report_problems` text NOT NULL,\n `serialized_report_errors` text NOT NULL,\n `serialized_report_explanations` text NOT NULL,\n `is_last` tinyint(1) NOT NULL DEFAULT '0',\n `created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',\n `updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',\n PRIMARY KEY (`schedule_processed_id`),\n KEY `schedule_id` (`schedule_id`),\n KEY `listener_log_id` (`listener_log_id`),\n CONSTRAINT `schedule_report_processed_fk` FOREIGN KEY (`schedule_id`) REFERENCES `schedule_report` (`schedule_id`) ON DELETE CASCADE ON UPDATE NO ACTION,\n CONSTRAINT `schedule_report_processed_ibfk_1` FOREIGN KEY (`listener_log_id`) REFERENCES `listener_log` (`log_id`) ON DELETE CASCADE ON UPDATE NO ACTION\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Yii::app()->db->createCommand($sql)->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... already exists'); } // metrics $this->flushNotification('<br/><br/>New Metrics:'); $this->flushNotification('<br/>...Going to add new metric "kJ/sq.m" ...'); Yii::app()->db->createCommand("INSERT INTO `refbook_metric` (`metric_id`, `html_code`, `short_name`, `full_name`, `code`) VALUES ('21', 'kJ/sq.m', 'kJ/sq.m', 'Kilo Joule per square meter', 'kjoule_per_sq_meter')")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new metric "feet"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_metric` (`metric_id`, `html_code`, `short_name`, `full_name`, `code`) VALUES ('22', 'ft', 'ft', 'Feet', 'feet')")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new metric "km"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_metric` (`metric_id`,`html_code`,`short_name`,`full_name`,`code`) VALUES (23 , 'km', 'km', 'Kilometer', 'kilometer')")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new relation between "solar radiation" and "kj/sq.m"...'); RefbookMeasurementTypeMetric::model()->deleteByPk(23); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type_metric` (`measurement_type_metric_id`, `measurement_type_id`, `metric_id`, `is_main`) VALUES ('23', '9', '21', '0')")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new measuring type "Cloud Vertical Visibility"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type` (`measurement_type_id`, `display_name`, `code`, `ord`) VALUES (16 ,'Cloud Vertical Visibility', 'cloud_vertical_visibility', '14')")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new measuring type "Cloud Height" ...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type` (`measurement_type_id`, `display_name`, `code`, `ord`) VALUES (17, 'Cloud Height', 'cloud_height', 15)")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new measuring type "Sea Level" ...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type` (`measurement_type_id`, `display_name`, `code`, `ord`) VALUES (18 , 'Sea Level (Mean, Sigma, Wave Hight)', 'sea_level', '16')")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add relation between "Cloud Vertical Visibility" and "ft" ...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type_metric` (`measurement_type_metric_id`, `measurement_type_id`, `metric_id`, `is_main`) VALUES (24,16,22,1)")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new relation between "Cloud Vertical Visibility" and "meter"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type_metric` (`measurement_type_metric_id`, `measurement_type_id`, `metric_id`, `is_main`) VALUES (25,16,11,0)")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new relation between "Cloud Height" and "ft"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type_metric` (`measurement_type_metric_id`, `measurement_type_id`, `metric_id`, `is_main`) VALUES (26,17,22,1)")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new relation between "Cloud Height" and "meter"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type_metric` (`measurement_type_metric_id`, `measurement_type_id`, `metric_id`, `is_main`) VALUES (27,17,11,0)")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new relation between "Visibility" and "meter"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type_metric` (`measurement_type_metric_id`, `measurement_type_id`, `metric_id`, `is_main`) VALUES (28, 11, 11, 1)")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to add new relation between "Sea Level" and "meter"...'); Yii::app()->db->createCommand("INSERT INTO `refbook_measurement_type_metric` (`measurement_type_metric_id`, `measurement_type_id`, `metric_id`, `is_main`) VALUES (29, 18, 11, 1)")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); // sensor handler $this->flushNotification('<br/>...Going to add new column "awos_station_uses" to `sensor_handler` table...'); $res = Yii::app()->db->createCommand("SHOW COLUMNS FROM `sensor_handler` LIKE 'awos_station_uses'")->queryAll(); if (!$res) { $res = Yii::app()->db->createCommand("ALTER TABLE `sensor_handler` ADD `awos_station_uses` TINYINT( 1 ) NOT NULL DEFAULT '0'")->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); } else { $this->flushNotification(' ... already exists'); } $this->flushNotification('<br/>...Going to update `sensor_handler` table...'); $sql = "UPDATE `sensor_handler` SET \n `handler_id_code` = 'SeaLevelAWS',\n `display_name` = 'Sea Level and Tide Data',\n `description` = 'Handler \"Sea Level and Tide Data\" : Processes string like \"SL1XXXXYYYYZZZZ\", where <br/>SL1 - device Id; <br/>XXXX - Mean value;<br/>YYYY - Sigma value; <br/>ZZZZ - Wave Height <br/>Example: SL1179017900140 = SL1 sensor sent data: Mean value = 1.79, Sigma value = 1.79, Wave height = 140m.',\n `default_prefix` = 'SL',\n `aws_station_uses` = 1,\n `rain_station_uses` = 0,\n `awos_station_uses` = 0,\n `aws_single_group` = 'sea_level'\n WHERE `handler_id` = 13"; Yii::app()->db->createCommand($sql)->query(); Yii::app()->db->createCommand("COMMIT")->query(); $sql = "UPDATE `sensor_handler` SET \n `handler_id_code` = 'VisibilityAWS',\n `display_name` = 'Visibility',\n `description` = 'Handler \"Visibility\"',\n `default_prefix` = 'VI',\n `aws_station_uses` = 1,\n `rain_station_uses` = 0,\n `awos_station_uses` = 0,\n `aws_single_group` = 'visibility'\n WHERE `handler_id` = 14"; Yii::app()->db->createCommand($sql)->query(); Yii::app()->db->createCommand("COMMIT")->query(); $sql = "UPDATE `sensor_handler` SET `handler_id_code` = 'CloudHeightAWS',\n `display_name` = 'Cloud Height',\n `description` = 'Handler \"Cloud Height\"',\n `default_prefix` = 'CH',\n `aws_station_uses` = 1,\n `rain_station_uses` = 0,\n `awos_station_uses` = 0,\n `aws_single_group` = 'clouds'\n WHERE `handler_id` = 15"; Yii::app()->db->createCommand($sql)->query(); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $this->flushNotification('<br/>...Going to update calculation_handler table...'); $res = Yii::app()->db->createCommand("UPDATE `calculation_handler` SET `display_name` = 'Pressure Adjusted to MSL' WHERE `handler_id` = 2"); Yii::app()->db->createCommand("COMMIT")->query(); $this->flushNotification(' ... done'); $bat_path = dirname(Yii::app()->request->scriptFile) . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR . 'at' . DIRECTORY_SEPARATOR . 'schedule.bat'; $schedule_bat_content = getConfigValue('php_exe_path') . " -f " . dirname(Yii::app()->request->scriptFile) . DIRECTORY_SEPARATOR . "console.php schedule"; file_put_contents($bat_path, $schedule_bat_content); exec('schtasks /create /sc minute /mo 1 /F /ru "SYSTEM" /tn delaircoScheduleScript /tr ' . $bat_path, $output); $values = getConfigValue('schedule'); $values['each_minute_process_id'] = 'delaircoScheduleScript'; InstallConfig::setConfigSection('schedule', $values); $values = getConfigValue('path'); $values['site_url_for_console'] = It::baseUrl(); InstallConfig::setConfigSection('path', $values); It::memStatus('update__success'); $this->flushNotification('<script type="text/javascript"> setTimeout(function(){document.location.href="' . Yii::app()->controller->createUrl('update/index') . '"}, 10000)</script>'); }
/** * * Backup process: * - initiates connection with backup datatbase * - if backup database is empty - creates whole backup * - else updates backup database and moves old data * * @return type */ public function makeBackup() { It::debug("start", 'backup_database'); try { $res = $this->initDbConnection(); } catch (Exception $e) { $this->addBackupLog("cannot init DB Connection, " . $e->getMessage()); It::debug($e->getMessage(), 'backup_database'); return; } // for backup database: set the same timezone as we have at actual database $this->db_conn->createCommand("SET time_zone='" . TimezoneWork::getOffsetFromUTC('UTC', 1) . "'")->query(); $limit_timestamp = $this->current_backup->data_timestamp_limit; // check if database doesn't exist $version = $this->backupDBVersion(); // $this->addBackupLog("Backup database version: ".$version."; Actual database version: ".getConfigValue('version_name')); $this->addBackupLog("Backup database version: ; Actual database version: "); if ($version === false) { $this->addBackupLog("There are no tables yet. Going to copy current whole DB"); It::debug("backup database structure is not ready. Going to copy current whole DB", 'backup_database'); // create whole backup $cmd = Yii::app()->params['applications']['mysqldump_exe_path'] . ' --host="' . Yii::app()->params['db_params']['host'] . '" --quick ' . ' --port="' . Yii::app()->params['db_params']['port'] . '"' . ' --user="******"' . ' --password="******" ' . Yii::app()->params['db_params']['dbname'] . " | " . Yii::app()->params['applications']['mysqldump_exe_path'] . ' --host="' . $this->settings->db_exp_sql_host . '"' . ' --port="' . $this->settings->db_exp_sql_port . '"' . ' --user="******"' . ' --password="******" ' . $this->settings->db_exp_sql_dbname; try { $this->addBackupLog("Command to execute: " . $cmd); exec($cmd, $output, $return); $this->addBackupLog("Command has been executed. Whole db was copied to backup_db"); } catch (Exception $e) { $this->addBackupLog("Command has not been executed. Cannot make whole backup"); It::debug($e->getMessage(), 'backup_database'); return; } // check if database doesn't exist $version = $this->backupDBVersion(); // $this->addBackupLog("Again check Backup database version: ".$version."; Actual database version: ".getConfigValue('version_name')); $this->addBackupLog("Again check Backup database version: ; Actual database version: "); if ($version !== false) { // remove old data from actual database $res = $this->removeDataBeforeDate($limit_timestamp); // mark current backup process as completed $this->current_backup->completed = '1'; $this->current_backup->save(); } else { $this->addBackupLog("Is false again!"); } } else { // apply all previous updates to that database $res = $this->applyVersionChanges($version); if ($res === FALSE) { $this->addBackupLog("Data was not moved. Process stopped!"); return; } // copy data from actual DB to backup DB before some timestamp $this->copyDataBetweenDatabases($limit_timestamp); } $this->addBackupLog("Done"); It::debug("\n\n== COMPLETED ==", 'backup_database'); }