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'); }