public function finalize()
 {
     $subcontatcts = $this->contact->getChilds();
     foreach ($subcontatcts as $subcontatctID => $subcontatctInfo) {
         $this->addItem(new EaseTWBButtonDropdown($subcontatctInfo['type'] . ' ' . $subcontatctInfo['contact'], 'success', 'xs', array(new EaseHtmlATag('contact.php?parent_id=' . $this->contact->getId() . '&contact_id=' . $subcontatctID, EaseTWBPart::GlyphIcon('wrench') . ' ' . _('Vlastnosti')), new EaseHtmlATag('?contact_id=' . $this->contact->getId() . '&delsubcont_id=' . $subcontatctID, EaseTWBPart::GlyphIcon('minus') . ' ' . _('smazat') . ' ' . $subcontatctInfo['type']))));
         unset($this->subcontactTypes[$subcontatctInfo['type']]);
         $this->addItem('<br/>');
     }
     if (count($this->subcontactTypes)) {
         $form = new EaseTWBForm('ContatctTweak', 'contacttweak.php');
         $form->addItem(new EaseHtmlSelect('contact', $this->subcontactTypes));
         $form->addItem(new EaseHtmlInputHiddenTag('contact_id', $this->contact->getId()));
         $form->addItem(new EaseTWBFormGroup(_('Kontakt'), new EaseHtmlInputTextTag('cnt', $this->cnt), EaseShared::webPage()->getRequestValue('cnt'), _('telefonní číslo, email či jabberová adresa dle druhu kontaktu')));
         $form->addItem(new EaseTWSubmitButton(_('Uložit'), 'success'));
         $this->addItem(new EaseTWBPanel(_('Přidat kontaktní údaj'), 'default', $form));
     } else {
         $this->addItem(new EaseHtmlDivTag('plno', _('K tomuto kontaktu již není možné přidávat další údaje.'), array('class' => 'well warning', 'style' => 'margin: 10px')));
     }
 }
 * @author     Vitex <*****@*****.**>
 * @copyright  2012 Vitex@hippy.cz (G)
 */
require_once 'includes/IEInit.php';
require_once 'classes/IEContact.php';
$oPage->onlyForLogged();
$contact = new IEContact($oPage->getRequestValue('contact_id', 'int'));
$name = $oPage->getRequestValue('name');
if ($oPage->isPosted()) {
    $contact->setData(array('contact_name' => $name, 'use' => 'generic-contact', $contact->userColumn => $oUser->getUserID(), 'generate' => true, 'host_notifications_enabled' => true, 'service_notifications_enabled' => true, 'host_notification_period' => '24x7', 'service_notification_period' => '24x7', 'service_notification_options' => ' w,u,c,r', 'host_notification_options' => 'd,u,r', 'service_notification_commands' => 'notify-service-by-email', 'host_notification_commands' => 'notify-host-by-email', 'register' => 1));
    $contactID = $contact->saveToMySQL();
    if (is_null($contactID)) {
        $oUser->addStatusMessage(_('Kontakt nebyl založen'), 'warning');
    } else {
        $oUser->addStatusMessage(_('Kontakt byl založen'), 'success');
        $oPage->redirect('contacttweak.php?contact_id=' . $contact->getId());
        exit;
    }
}
$autoCreate = $oPage->getRequestValue('autocreate');
if ($autoCreate == 'default') {
    $contact->setData(IEContact::ownContactData());
    $contactID = $contact->saveToMySQL();
}
$oPage->addItem(new IEPageTop(_('Založení kontaktu') . ' ' . $contact->getName()));
$oPage->addPageColumns();
$form = $oPage->columnII->addItem(new EaseTWBForm('Contact', 'newcontact.php'));
$form->addItem(new EaseTWBFormGroup(_('Jméno'), new EaseHtmlInputTextTag('name', $name)));
$form->setTagID($form->getTagName());
if (!is_null($contact->getMyKey())) {
    $form->addItem(new EaseHtmlInputHiddenTag($contact->getmyKeyColumn(), $contact->getMyKey()));
Exemple #3
0
        $contactEdit = new IECfgEditor($contact);
        $form = new EaseHtmlForm('Contact', 'contact.php', 'POST', $contactEdit, array('class' => 'form-horizontal'));
        $form->setTagID($form->getTagName());
        if (!is_null($contact->getMyKey())) {
            $form->addItem(new EaseHtmlInputHiddenTag($contact->getmyKeyColumn(), $contact->getMyKey()));
        }
        $form->addItem('<br>');
        $form->addItem(new EaseTWSubmitButton(_('Uložit'), 'success'));
        break;
}
$service = new IEService();
$serviceUsages = $service->getColumnsFromMySQL(array($service->getMyKeyColumn(), $service->nameColumn), array('contacts' => '%' . $contact->getName() . '%'), $service->nameColumn, $service->getMyKeyColumn());
$oPage->addItem(new IEPageBottom());
$infopanel = new IEInfoBox($contact);
$tools = new EaseTWBPanel(_('Nástroje'), 'warning');
if ($contact->getId()) {
    $tools->addItem($contact->deleteButton());
    $tools->addItem(new EaseTWBPanel(_('Transfer'), 'warning', $contact->transferForm()));
    if (count($serviceUsages)) {
        $usedBy = new EaseTWBPanel(_('Používaný službami'));
        $listing = $usedBy->addItem(new EaseHtmlUlTag(null, array('class' => 'list-group')));
        foreach ($serviceUsages as $usage) {
            $listing->addItem(new EaseHtmlLiTag(new EaseHtmlATag('service.php?service_id=' . $usage['service_id'], $usage[$service->nameColumn]), array('class' => 'list-group-item')));
        }
        $infopanel->addItem($usedBy);
    }
    $host = new IEHost();
    $hostUsages = $host->getColumnsFromMySQL(array($host->getMyKeyColumn(), $host->nameColumn), array('contacts' => '%' . $contact->getName() . '%'), $host->nameColumn, $host->getMyKeyColumn());
    if (count($hostUsages)) {
        $usedBy = new EaseTWBPanel(_('Používaný hosty'));
        $listing = $usedBy->addItem(new EaseHtmlUlTag(null, array('class' => 'list-group')));
 function fixContactIDs()
 {
     $contactsOK = array();
     $contactsErr = array();
     $contact = new IEContact();
     $service = new IEService();
     $services = $service->getColumnsFromMySQL(array($service->myKeyColumn));
     foreach ($services as $serviceId => $serviceInfo) {
         $serviceId = intval(current($serviceInfo));
         $service->loadFromMySQL($serviceId);
         $contactNames = $service->getDataValue('contacts');
         if ($contactNames) {
             foreach ($contactNames as $contactId => $contactName) {
                 $contactFound = $contact->loadFromMySQL($contactName);
                 if ($contactId != $contact->getId()) {
                     if ($service->delMember('contacts', $contactId, $contactName) && $service->addMember('contacts', $contact->getId(), $contactName)) {
                         $contactsOK[] = $contactName;
                     } else {
                         $contactsErr[] = $contactName;
                     }
                 }
             }
         }
         if (count($contactsOK)) {
             if ($service->saveToMySQL()) {
                 $this->addItemSmart(sprintf(_('<strong>%s</strong> : %s'), $service->getName(), implode(',', $contactsOK)), array('class' => 'list-group-item'));
                 $this->addStatusMessage(sprintf(_('%s : %s'), $service->getName(), implode(',', $contactsOK)), 'success');
                 $contactsOK = array();
             }
         }
     }
     $host = new IEHost();
     $hosts = $host->getColumnsFromMySQL(array($host->myKeyColumn));
     foreach ($hosts as $hostInfo) {
         $hostId = intval(current($hostInfo));
         $host->loadFromMySQL($hostId);
         $contactNames = $host->getDataValue('contacts');
         if ($contactNames) {
             foreach ($contactNames as $contactId => $contactName) {
                 $contactFound = $contact->loadFromMySQL($contactName);
                 if ($contactId != $contact->getId()) {
                     if ($host->delMember('contacts', $contactId, $contactName) && $host->addMember('contacts', $contact->getId(), $contactName)) {
                         $contactsOK[] = $contactName;
                     } else {
                         $contactsErr[] = $contactName;
                     }
                 }
             }
         }
         if (count($contactsOK)) {
             if ($host->saveToMySQL()) {
                 $this->addItemSmart(sprintf(_('<strong>%s</strong> : %s'), $host->getName(), implode(',', $contactsOK)), array('class' => 'list-group-item'));
                 $this->addStatusMessage(sprintf(_('%s : %s'), $host->getName(), implode(',', $contactsOK)), 'success');
                 $contactsOK = array();
             }
         }
     }
 }
/**
 * Icinga Editor - skupina hostů
 *
 * @package    IcingaEditor
 * @subpackage WebUI
 * @author     Vitex <*****@*****.**>
 * @copyright  2012 Vitex@hippy.cz (G)
 */
require_once 'includes/IEInit.php';
$oPage->onlyForLogged();
$hostgroup = new IEHostgroup($oPage->getRequestValue('hostgroup_id', 'int'));
switch ($oPage->getRequestValue('action')) {
    case 'contactAsign':
        $contact = new IEContact($oPage->getRequestValue('contact_id', 'int'));
        if ($contact->getId()) {
            $host = new IEHost();
            $groupMembers = $hostgroup->getMembers();
            foreach ($groupMembers as $gmID => $hostName) {
                $host->loadFromSQL((int) $gmID);
                $host->addMember('contacts', $contact->getId(), $contact->getName());
                if ($host->saveToMySQL()) {
                    $host->addStatusMessage(sprintf(_('<strong>%s</strong> byl přidán mezi kontakty <strong>%s</strong>'), $contact->getName(), $host->getName()), 'success');
                } else {
                    $host->addStatusMessage(sprintf(_('<strong>%s</strong> nebyl přidán mezi kontakty <strong>%s</strong>'), $contact->getName(), $host->getName()), 'warning');
                }
            }
        } else {
            $hostgroup->addStatusMessage(_('Chyba přiřazení kontaktu'), 'warning');
        }
        break;
<?php

/**
 * Icinga Editor služby
 *
 * @package    IcingaEditor
 * @subpackage WebUI
 * @author     Vitex <*****@*****.**>
 * @copyright  2012 Vitex@hippy.cz (G)
 */
require_once 'includes/IEInit.php';
$oPage->onlyForLogged();
$contact = new IEContact($oPage->getRequestValue('contact_id', 'int'));
if (!$contact->getId()) {
    $oPage->redirect('contacts.php');
    exit;
}
switch ($oPage->getRequestValue('action')) {
    case 'rename':
        $newname = $oPage->getRequestValue('newname');
        if (strlen($newname)) {
            if ($contact->rename($newname)) {
                $oUser->addStatusMessage(_('Kontakt byl přejmenován'), 'success');
            } else {
                $oUser->addStatusMessage(_('Kontakt nebyl přejmenován'), 'warning');
            }
        }
        break;
}
$delete = $oPage->getGetValue('delete', 'bool');
if ($delete == 'true') {