public function createDefaultGroup()
 {
     $defaultgroups = json_decode(MONITIS_ADMIN_CONTACT_GROUPS, true);
     $existedGroups = MonitisApi::getContactGroupList();
     // existed monitis groups
     foreach ($defaultgroups as $mType => $groupName) {
         $group = MonitisHelper::in_array($existedGroups, 'id', MonitisConf::$settings['groups'][$mType]['groupId']);
         $alerts = json_decode(MONITIS_NOTIFICATION_RULE, true);
         if ($mType == 'internal') {
             $alerts['minFailedLocationCount'] = null;
         }
         $groupId = $group['id'] ? $group['id'] : 0;
         $notifByTypeGroup = MonitisApiHelper::getNotificationRuleByType($mType, $groupId);
         $alertRulesDefault = $notifByTypeGroup ? $notifByTypeGroup : $alerts;
         if ($group) {
             MonitisConf::$settings['groups'][$mType]['groupId'] = $group['id'];
             MonitisConf::$settings['groups'][$mType]['groupName'] = $group['name'];
             MonitisConf::$settings['groups'][$mType]['alert'] = $alertRulesDefault;
         } else {
             $newGroupName = $groupName;
             $resp = MonitisApi::addContactGroup(1, $newGroupName);
             if ($resp['status'] == 'ok') {
                 MonitisConf::$settings['groups'][$mType]['groupId'] = $resp['data'];
                 MonitisConf::$settings['groups'][$mType]['groupName'] = $newGroupName;
                 MonitisConf::$settings['groups'][$mType]['alert'] = $alertRulesDefault;
             } else {
                 // error
                 return array('status' => 'error', 'msg' => 'Add contact group error ' . $resp['error']);
             }
         }
         // $r = $this->addContacts(ucfirst($mType), MonitisConf::$settings['groups'][$mType]['groupId']);
     }
     MonitisConf::update_settings(json_encode(MonitisConf::$settings));
     return array('status' => 'ok', 'msg' => 'External, internal groups sets success');
 }
Exemple #2
0
 $contactGroups[$i]['id'] = $monitisContactGroups[$i]['contactGroupId'];
 $contactGroups[$i]['name'] = $monitisContactGroups[$i]['contactGroupName'];
 $alertRules = '';
 if (MonitisConf::$settings['groups']['external']['groupId'] == $monitisContactGroups[$i]['contactGroupId']) {
     $monitorType = 'external';
     $externalAlerts = MonitisApiHelper::getNotificationRuleByType($monitorType, $monitisContactGroups[$i]['contactGroupId']);
     if ($externalAlerts) {
         $alertRules = json_encode($externalAlerts);
         $alertRules = str_replace('"', "~", $alertRules);
     } else {
         $alertRules = json_encode(MonitisConf::$settings['groups'][$monitorType]['alert']);
         $alertRules = str_replace('"', "~", $alertRules);
     }
 } elseif (MonitisConf::$settings['groups']['internal']['groupId'] == $monitisContactGroups[$i]['contactGroupId']) {
     $monitorType = 'internal';
     $internalAlerts = MonitisApiHelper::getNotificationRuleByType($monitorType, $monitisContactGroups[$i]['contactGroupId']);
     if ($internalAlerts) {
         $alertRules = json_encode($internalAlerts);
         $alertRules = str_replace('"', "~", $alertRules);
     } else {
         $alertRules = json_encode(MonitisConf::$settings['groups'][$monitorType]['alert']);
         $alertRules = str_replace('"', "~", $alertRules);
     }
 }
 $contactGroups[$i]['type'] = $monitorType;
 $contactGroups[$i]['alerts'] = $alertRules;
 $contactGroups[$i]['whmcsContacts'] = array();
 $contactGroups[$i]['notWhmcsContacts'] = array();
 for ($j = 0; $j < count($monitisContactGroups[$i]['contacts']); $j++) {
     $contact = array('email' => $monitisContactGroups[$i]['contacts'][$j]['account'], 'name' => $monitisContactGroups[$i]['contacts'][$j]['name'], 'isActive' => $monitisContactGroups[$i]['contacts'][$j]['activeFlag']);
     $isWhmcsContact = false;