private function generateAllcronjobs() { $model = Scheduler::model()->findAll(); $cronjob = new Ssh2_crontab_manager(Yii::app()->params['sshServer'], Yii::app()->params['sshPort'], Yii::app()->params['sshUser'], Yii::app()->params['sshPass']); $cronjob->remove_crontab(); foreach ($model as $event) { $jobs = $this->getEventDetails($event->idtbl_schedule, 'on'); //create cronjob foreach ($jobs as $job) { $cronjob->append_cronjob($job); $cronjob->write_to_file(); } $jobs = $this->getEventDetails($event->idtbl_schedule, 'off'); //create cronjob foreach ($jobs as $job) { $cronjob->append_cronjob($job); $cronjob->write_to_file(); } $cronjob->remove_file(); } }
if (isset($_POST["repeat"])) { $repeat = implode(",", $_POST["repeat"]); } else { $repeat = ""; } $dayOfWeek = "*"; $jobOff = $tmin . ' ' . $thr . ' ' . $day . ' ' . $month . ' ' . $dayOfWeek . ' curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $deviceId . '&level=' . $state . '"'; $jobOn = $min . ' ' . $hr . ' ' . $day . ' ' . $month . ' ' . $dayOfWeek . ' curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $deviceId . '&level=' . $state . '"'; $result = $dataobject->update_Schedule($_POST["jobID"], $_POST["summary"], $jobOn, $jobOff, $repeat); //clear crontab //$crontab->remove_crontab(); break; case "Delete": $result = $dataobject->delete_Schedule($_POST["jobID"]); //clear crontab $crontab->remove_crontab(); //re create jobs in crontab $dsJobs = $dataobject->get_Schedules(); while ($job = $dsJobs->fetch()) { $repeats = explode(",", $job["schedule_repeat"]); foreach ($repeats as $dayOfWeek) { if ($job["schedule_on"] != null) { $detailsOn = parseCommand($job["schedule_on"]); $jobOn = $detailsOn["min"] . ' ' . $detailsOn["hr"] . ' ' . $detailsOn["day"] . ' ' . $detailsOn["month"] . ' ' . $dayOfWeek . ' curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $detailsOn["node"] . '&level=' . $detailsOn["level"] . '"'; $crontab->append_cronjob($jobOn); } if ($job["schedule_off"] != null) { $detailsOff = parseCommand($job["schedule_off"]); $jobOff = $detailsOff["min"] . ' ' . $detailsOff["hr"] . ' ' . $detailsOff["day"] . ' ' . $detailsOff["month"] . ' ' . $dayOfWeek . ' curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $detailsOff["node"] . '&level=' . $detailsOff["level"] . '"'; $crontab->append_cronjob($jobOff); }