public function hostdeploy() { $Host = new Host($this->REQUEST['id']); $taskTypeID = $this->REQUEST['type']; $TaskType = new TaskType($_REQUEST['type']); $snapin = '-1'; $enableShutdown = false; $enableSnapins = $_REQUEST['type'] == 17 ? false : -1; $taskName = 'Quick Deploy'; try { if ($TaskType->isUpload() && $Host->getImage()->isValid() && $Host->getImage()->get('protected')) { throw new Exception(sprintf('%s: %s %s: %s %s', _('Hostname'), $Host->get('name'), _('Image'), $Host->getImage()->get('name'), _('is protected'))); } $Host->createImagePackage($taskTypeID, $taskName, false, false, $enableSnapins, false, $this->FOGUser->get('name')); $this->FOGCore->setMessage('Successfully created tasking!'); $this->FOGCore->redirect('?node=task&sub=active'); } catch (Exception $e) { printf('<div class="task-start-failed"><p>%s</p><p>%s</p></div>', _('Failed to create deploy task'), $e->getMessage()); } }
public function deploy() { try { $Host = new Host($_REQUEST['id']); // Title $this->title = $this->foglang['QuickImageMenu']; unset($this->headerData); $this->attributes = array(array()); $this->templates = array('${task_started}'); if (!$Host->getImageMemberFromHostID($_REQUEST['id'])) { throw new Exception($this->foglang['ErrorImageAssoc']); } if (!$Host->createImagePackage('1', "Mobile: " . $ImageMembers->getHost()->get('name'), false, false, true, false, $_SESSION['FOG_USERNAME'])) { throw new Exception($this->foglang['FailedTask']); } $this->data[] = array($this->foglang['TaskStarted']); } catch (Exception $e) { $this->data[] = array($e->getMessage()); } $this->render(); $this->FOGCore->redirect('?node=tasks'); }
$FOGCore->setSetting('FOG_QUICKREG_SYS_NUMBER', $autoregSysNumber + 1); } else { $realhost = strtoupper($autoregSysName) == 'MAC' ? $macsimple : $autoregSysName; } if (!$Host || !$Host->isValid()) { $Host = new Host(array('name' => $realhost, 'description' => sprintf('%s %s', _('Created by FOG Reg on'), date('F j, Y, g:i a')), 'imageID' => $realimageid, 'createdTime' => $FOGCore->formatTime('now', 'Y-m-d H:i:s'), 'createdBy' => 'FOGREG')); } $Host->addModule($ids); $Host->addGroup($groupid); $Host->addPriMAC($PriMAC); $Host->addAddMAC($MACs); if (!$Host->save()) { throw new Exception(_('Failed to save new Host!')); } if ($Image->isValid() && $Host->getImageMemberFromHostID()) { if ($Host->createImagePackage(1, 'AutoRegTask')) { print _('Done, with imaging!'); } else { print _('Done, but unable to create task!'); } } else { print _('Done!'); } } else { $realhost = $macsimple; if (!$Host || !$Host->isValid()) { $Host = new Host(array('name' => $realhost, 'description' => sprintf('%s %s', _('Created by FOG Reg on'), date('F j, Y, g:i a')), 'createdTime' => $FOGCore->formatTime('now', 'Y-m-d H:i:s'), 'createdBy' => 'FOGREG')); $Host->addPriMAC($PriMAC); $Host->addAddMAC($MACs); $Host->addModule($ids); if (!$Host->save()) {
private function commonOutput() { try { $DateInterval = $this->nice_date('-30 minutes'); foreach ($this->getClass('HostManager')->find() as $Host) { if ($Host && $Host->isValid()) { if ($this->validDate($Host->get('sec_time'))) { $DateTime = $this->nice_date($Host->get('sec_time')); if ($DateTime->format('Y-m-d H:i:s') >= $DateInterval->format('Y-m-d H:i:s')) { $Host->set('pub_key', null)->set('sec_time', null)->save(); } } } } $Tasks = $this->getClass('TaskManager')->find(array('stateID' => 1, 'typeID' => array(1, 15, 17))); if ($Tasks) { $this->outall(sprintf(" * %s active task(s) awaiting check-in sending WOL request(s).", $this->getClass('TaskManager')->count(array('stateID' => 1, 'typeID' => array(1, 15, 17))))); foreach ($Tasks as $Task) { $Host = new Host($Task->get('hostID')); $this->FOGCore->wakeOnLan($Host->get('mac')); $this->outall(sprintf("\t\t- Host: %s WOL sent using MAC: %s", $Host->get('name'), $Host->get('mac'))); usleep(500000); } } else { $this->outall(" * 0 active task(s) awaiting check-in."); } $Tasks = $this->getClass('ScheduledTaskManager')->find(array('isActive' => 1)); if ($Tasks) { $this->outall(sprintf(" * %s task(s) found.", count($Tasks))); foreach ($Tasks as $Task) { $deploySnapin = ($Task->get('taskType') == 12 || $Task->get('taskType') == 13) && $Task->get('taskType') != 17 ? $Task->get('other2') : false; $Timer = $Task->getTimer(); $this->outall(sprintf(" * Task run time: %s", $Timer->toString())); if ($Timer->shouldRunNow()) { $this->outall(" * Found a task that should run..."); if ($Task->isGroupBased()) { $this->outall(sprintf("\t\t - Is a group based task.")); $Group = $Task->getGroup(); if ($Task->get('taskType') == 8) { $this->outall("\t\t - Multicast task found!"); $this->outall(sprintf("\t\t - Group %s", $Group->get('name'))); $i = 0; foreach ((array) $Group->get('hosts') as $Host) { $Host->createImagePackage($Task->get('taskType'), $Task->get('name'), $Task->get('shutdown'), false, true, 'FOG_SCHED'); $this->outall(sprintf("\t\t - Task Started for host %s!", $Host->get('name'))); } if ($Timer->isSingleRun()) { if ($this->FOGCore->stopScheduledTask($Task)) { $this->outall("\t\t - Scheduled Task cleaned."); } else { $this->outall("\t\t - failed to clean task."); } } else { $this->outall("\t\t - Cron style - No cleaning!"); } } else { $this->outall("\t\t - Regular task found!"); $this->outall(sprintf("\t\t - Group %s", $Group->get('name'))); foreach ((array) $Group->get('hosts') as $Host) { $Host->createImagePackage($Task->get('taskType'), $Task->get('name'), $Task->get('shutdown'), false, $deploySnapin, true, $Task->get('other3')); $this->outall(sprintf("\t\t - Task Started for host %s!", $Host->get('name'))); } if ($Timer->isSingleRun()) { if ($this->FOGCore->stopScheduledTask($Task)) { $this->outall("\t\t - Scheduled Task cleaned."); } else { $this->outall("\t\t - failed to clean task."); } } else { $this->outall("\t\t - Cron style - No cleaning!"); } } } else { $this->outall("\t\t - Is a host based task."); $Host = $Task->getHost(); $Host->createImagePackage($Task->get('taskType'), $Task->get('name'), $Task->get('shutdown'), false, $deploySnapin, false, $Task->get('other3')); $this->outall(sprintf("\t\t - Task Started for host %s!", $Host->get('name'))); if ($Timer->isSingleRun()) { if ($this->FOGCore->stopScheduledTask($Task)) { $this->outall("\t\t - Scheduled Task cleaned."); } else { $this->outall("\t\t - failed to clean task."); } } else { $this->outall("\t\t - Cron style - No cleaning!"); } } } else { $this->outall(" * Task doesn't run now."); } } } else { $this->outall(" * No tasks found!"); } } catch (Exception $e) { $this->outall("\t\t - " . $e->getMessage()); } }