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()));
$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') {