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(); } }
$state = $_POST["state"]; $deviceId = $_POST["device"]; } $dataobject = new Dataclass(); try { $crontab = new Ssh2_crontab_manager('localhost', '22', 'zwave', 'password'); switch ($_POST["Operation"]) { case "Add": $jobOn = ""; if (isset($_POST["repeat"])) { foreach ($_POST["repeat"] as $dayOfWeek) { $month = "*"; $day = "*"; if ($state != "0") { $jobOn = $min . ' ' . $hr . ' ' . $day . ' ' . $month . ' ' . $dayOfWeek . ' curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $deviceId . '&level=' . $state . '"'; $crontab->append_cronjob($jobOn); } $jobOff = $tmin . ' ' . $thr . ' ' . $day . ' ' . $month . ' ' . $dayOfWeek . ' curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $deviceId . '&level=0"'; $crontab->append_cronjob($jobOff); } //save job to database $dataobject->insert_Schedule($_POST["summary"], $jobOn, $jobOff, implode(",", $_POST["repeat"])); } else { //set one time event if ($state != "0") { $jobOn = $min . ' ' . $hr . ' ' . $day . ' ' . $month . ' * curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $deviceId . '&level=' . $state . '"'; $crontab->append_cronjob($jobOn); } $jobOff = $tmin . ' ' . $thr . ' ' . $day . ' ' . $month . ' * curl "http://' . URI . '/zwave/server.php?command=control&type=binary&node=' . $deviceId . '&level=0"'; $crontab->append_cronjob($jobOff); //save job to database