if ($Inventory && $Inventory->isValid()) { $SnapinJob = $Host->get('snapinjob'); //Get Snapin(s) Used/Queued if ($SnapinJob && $SnapinJob->isValid()) { $SnapinTasks = $FOGCore->getClass('SnapinTaskManager')->find(array('stateID' => array(-1, 0, 1), 'jobID' => $SnapinJob->get('id'))); foreach ($SnapinTasks as $SnapinTask) { if ($SnapinTask && $SnapinTask->isValid()) { $Snapin = new Snapin($SnapinTask->get('snapinID')); if ($Snapin && $Snapin->isValid()) { $SnapinNames[] = $Snapin->get('name'); } } } } $StorageNode = new StorageNode($Task->get('NFSMemberID')); $emailbinary = $FOGCore->getSetting('FOG_EMAIL_BINARY') ? preg_replace('#\\$\\{server-name\\}#', $StorageNode && $StorageNode->isValid() ? $StorageNode->get('name') : 'fogserver', $FOGCore->getSetting('FOG_EMAIL_BINARY')) : '/usr/sbin/sendmail -t -f noreply@fogserver.com -i'; ini_set('sendmail_path', $emailbinary); $snpusd = implode(', ', (array) $SnapinNames); //to list snapins as 1, 2, 3, etc $engineer = ucwords($Task->get('createdBy')); //ucwords purely aesthetics $puser = ucwords($Inventory->get('primaryUser')); //ucwords purely aesthetics $to = $FOGCore->getSetting('FOG_EMAIL_ADDRESS'); //Email address(es) to be used $headers = 'From: ' . $FOGCore->getSetting('FOG_FROM_EMAIL') . "\r\n" . 'X-Mailer: PHP/' . phpversion(); $headers = preg_replace('#\\$\\{server-name\\}#', $StorageNode && $StorageNode->isValid() ? $StorageNode->get('name') : 'fogserver', $headers); //$Email - is just the context of the email put in variable saves repeating $email = array("Machine Details:-\n" => '', "\nHostName: " => $Host->get('name'), "\nComputer Model: " => $Inventory->get('sysproduct'), "\nSerial Number: " => $Inventory->get('sysserial'), "\nMAC Address: " => $Host->get('mac')->__toString(), "\n" => '', "\nImage Used: " => $ImagingLog->get('image'), "\nSnapin Used: " => $snpusd, "\n" => '', "\nImaged By (Engineer): " => $engineer, $puser ? "\nImaged For (User): " : '' => $puser ? $puser : ''); $HookManager->processEvent('EMAIL_ITEMS', array('email' => &$email, 'Host' => &$Host)); $emailMe = '';
/** clientCount() Display's the current client count on the activity graph */ public function clientcount() { $ActivityActive = $ActivityQueued = $ActivityTotalClients = 0; $StorageNode = new StorageNode($_REQUEST['id']); if ($StorageNode && $StorageNode->isValid()) { foreach ($this->getClass('StorageNodeManager')->find(array('isEnabled' => 1, 'storageGroupID' => $StorageNode->get('storageGroupID'))) as $SN) { if ($SN && $SN->isValid()) { $ActivityActive += $SN->getUsedSlotCount(); $ActivityQueued += $SN->getQueuedSlotCount(); $ActivityTotalClients += $SN->get('maxClients') - $SN->getUsedSlotCount(); } } } $data = array('ActivityActive' => $ActivityActive, 'ActivityQueued' => $ActivityQueued, 'ActivitySlots' => $ActivityTotalClients); print json_encode($data); }