* @author     Vitex <*****@*****.**>
 * @copyright  2012 Vitex@hippy.cz (G)
 */
require_once 'includes/IEInit.php';
require_once 'classes/IEServiceWizardForm.php';
require_once 'classes/IEServicegroup.php';
$oPage->onlyForLogged();
$serviceId = $oPage->getRequestValue('service_id', 'int');
$serviceName = trim($oPage->getRequestValue('service_name'));
$remoteCmd = trim($oPage->getRequestValue('check_command-remote'));
$remoteCmdParam = trim($oPage->getRequestValue('check_command-params'));
$platform = trim($oPage->getRequestValue('platform'));
$service = new IEService($serviceId);
$service->owner =& $oUser;
if (isset($platform)) {
    $service->setDataValue('platform', $platform);
}
if ($serviceName) {
    $data = array($service->userColumn => $oUser->getUserID(), 'service_description' => $serviceName, 'use' => 'generic-service', 'register' => true, 'generate' => true, 'display_name' => $serviceName, 'active_checks_enabled' => 0, 'passive_checks_enabled' => 1, 'check_freshness' => 1, 'check_command' => 'return-unknown');
    if (isset($remoteCmd)) {
        $data['check_command-remote'] = $remoteCmd;
    }
    if (isset($remoteCmdParam)) {
        $data['check_command-params'] = $remoteCmdParam;
    }
    $service->setData($data);
    if ($service->saveToMysql()) {
        /*
         $serviceGroup = new IEServiceGroup;
         if ($serviceGroup->loadDefault()) {
         $serviceGroup->setDataValue($serviceGroup->nameColumn, EaseShared::user()->getUserLogin());
예제 #2
0
/**
 * Icinga Editor služby
 *
 * @package    IcingaEditor
 * @subpackage WebUI
 * @author     Vitex <*****@*****.**>
 * @copyright  2012 Vitex@hippy.cz (G)
 */
require_once 'includes/IEInit.php';
$oPage->onlyForLogged();
$service = new IEService($oPage->getRequestValue('service_id', 'int'));
$host = new IEHost($oPage->getRequestValue('host_id', 'int'));
switch ($oPage->getRequestValue('action')) {
    case 'clone':
        $service->setDataValue('parent_id', $service->getId());
        $service->unsetDataValue($service->getmyKeyColumn());
        $service->addMember('host_name', $host->getId(), $host->getName());
        $service->setDataValue('hostgroup_name', array());
        $service->setDataValue('user_id', $oUser->getID());
        $service->setDataValue($service->nameColumn, _('Klon') . ' ' . $service->getName());
        if ($service->saveToMySQL()) {
            $oUser->addStatusMessage(_('Služba byla naklonována'), 'success');
            $oPage->redirect('servicetweak.php?service_id=' . $service->getId() . '&host_id=' . $host->getId());
        } else {
            $oUser->addStatusMessage(_('Sužba nebyla naklonována'), 'warning');
        }
        break;
    case 'rename':
        $newname = $oPage->getRequestValue('newname');
        if (strlen($newname)) {
예제 #3
0
     break;
 case 'clone':
     $service->unsetDataValue($service->getmyKeyColumn());
     $service->setDataValue($service->nameColumn, $service->getName() . ' ' . _('Cloned'));
     if ($service->saveToMySQL()) {
         $oUser->addStatusMessage(_('Služba byla zklonovana'), 'success');
     } else {
         $oUser->addStatusMessage(_('Služba nebyla zklonovana'), 'error');
     }
     break;
 case 'system':
     $hosts = $service->getDataValue('host_name');
     foreach ($hosts as $host_id => $host_name) {
         $host = new IEHost($host_id);
         $newService = new IEService($service->getId());
         $newService->setDataValue($service->userColumn, 0);
         $newService->setDataValue('public', 0);
         if ($newService->fork($host, $host->getDataValue($host->userColumn))) {
             $oUser->addStatusMessage(sprintf(_('Služba %s byla odvozena'), $newService->getName()), 'success');
         } else {
             $oUser->addStatusMessage(_('Služba nebyla odvozena'), 'error');
         }
     }
     $service->loadFromMySQL($service->getId());
     break;
 case 'swap':
     $service->swapTo($oPage->getRequestValue('new_service_id', 'int'));
     break;
 case 'export':
     $service->transferDeps($oPage->getRequestValue('destination'), $oPage->getRequestValue('rels'));
     break;