コード例 #1
0
ファイル: hooks.php プロジェクト: carriercomm/WHMCS
function hook_monitis_ServerAdd($vars)
{
    require_once 'monitisapp.php';
    $res = mysql_query(sprintf('SELECT id, name, ipaddress, hostname FROM tblservers WHERE disabled=0 AND id=%d', $vars['serverid']));
    $server = mysql_fetch_assoc($res);
    MonitisApiHelper::addAllDefault(MONITIS_CLIENT_ID, $server);
}
コード例 #2
0
 public function filterWhmcsAdminList($groupId)
 {
     $whmcsAdminList = $this->whmcsAdminList();
     $contactInfo = MonitisApiHelper::getContactsEmailByGroup($groupId);
     $filterContacts = array();
     if (count($whmcsAdminList) > 0) {
         for ($i = 0; $i < count($whmcsAdminList); $i++) {
             if (count($contactInfo) > 0 && !in_array($whmcsAdminList[$i]['email'], $contactInfo)) {
                 $filterContacts[] = $whmcsAdminList[$i];
             } elseif (count($contactInfo) == 0) {
                 $filterContacts[] = $whmcsAdminList[$i];
             }
         }
         return $filterContacts;
     }
     return null;
 }
コード例 #3
0
ファイル: servers.php プロジェクト: carriercomm/WHMCS
require_once '../modules/addons/monitis_addon/lib/serverslisttab.class.php';
$oSrvrs = new serversListTab();
if (isset($_POST['create_NewMonitors']) && $_POST['create_NewMonitors'] > 0) {
    if (isset($_POST['serverId'])) {
        $servers = array_map("intval", $_POST['serverId']);
        $srv_ids = MonitisHelper::idsByField($servers, '');
        $srv_ids_str = implode(",", $srv_ids);
        $srvs = monitisWhmcsServer::serverByIds($srv_ids_str);
        $ext = monitisWhmcsServer::extMonitorsByServerIds($srv_ids_str);
        $int = monitisWhmcsServer::intMonitorsByServerIds($srv_ids_str);
        $whmcs = array('ext' => $ext, 'int' => $int);
        MonitisConf::$settings['ping']['autocreate'] = 1;
        MonitisConf::$settings['cpu']['autocreate'] = 1;
        MonitisConf::$settings['memory']['autocreate'] = 1;
        for ($i = 0; $i < count($srvs); $i++) {
            $resp = MonitisApiHelper::addAllDefault(MONITIS_CLIENT_ID, $srvs[$i], $whmcs);
            $ping = $resp['ping'];
            $msg = 'Server ' . $srvs[$i][name] . ' - PING monitor: ' . $ping['msg'];
            if ($ping['status'] == 'error') {
                MonitisApp::addError($msg);
            } elseif ($ping['status'] == 'warning') {
                //MonitisApp::addWarning($msg);
            }
            if ($resp['agent']['status'] == 'ok') {
                $internalMonitors = $resp['internal_monitors'];
                foreach ($internalMonitors as $key => $val) {
                    $msg = 'Server ' . $srvs[$i][name] . ' - ' . strtoupper($key) . ' monitor: ' . $internalMonitors[$key]['msg'];
                    if ($internalMonitors[$key]['status'] == 'error') {
                        MonitisApp::addError($msg);
                    } elseif ($internalMonitors[$key]['status'] == 'warning') {
                        //MonitisApp::addWarning($msg);
コード例 #4
0
ファイル: monitisconf.php プロジェクト: carriercomm/WHMCS
    static function load()
    {
        // HOUR
        $row = monitisSqlHelper::objQuery('SELECT *, TIMESTAMPDIFF(DAY, locations_update, NOW()) as locs,
			TIMESTAMPDIFF(HOUR, authToken_update, NOW()) as token
			FROM ' . MONITIS_SETTING_TABLE);
        if ($row) {
            self::$apiKey = $row['apiKey'];
            self::$secretKey = $row['secretKey'];
            self::$authToken = $row['authToken'];
            self::$adminName = $row['admin_name'];
            self::$settings = json_decode($row['settings'], true);
            self::$locations = json_decode($row['locations'], true);
            if ($row['locs'] > self::$locationsDays) {
                self::update_locations(MonitisApiHelper::getExternalLocations());
            }
            if ($row['token'] > self::$authTokenHour) {
                self::update_token();
            }
            self::update_parentDomain();
            return true;
        }
        //
        if (empty(self::$locations) && !empty(self::$secretKey)) {
            self::update_locations(MonitisApiHelper::getExternalLocations());
        }
        if (empty(self::$authToken)) {
            self::update_token();
        }
        return false;
    }
コード例 #5
0
ファイル: syncservers.php プロジェクト: carriercomm/WHMCS
if (!MonitisConf::$settings['ping']['autocreate'] && !MonitisConf::$settings['cpu']['autocreate'] && !MonitisConf::$settings['memory']['autocreate']) {
    MonitisApp::redirect(MONITIS_APP_URL . '&monitis_page=tabadmin');
}
$servers = array();
$res = mysql_query('SELECT id, name, ipaddress, hostname FROM tblservers WHERE disabled=0');
while ($s = mysql_fetch_array($res)) {
    $servers[$s['id']] = $s;
}
if (count($servers) < 1) {
    MonitisApp::redirect(MONITIS_APP_URL . '&monitis_page=tabadmin');
    //MonitisApp::redirect(MONITIS_APP_URL . '&monitis_page=servers');
}
if (isset($_POST['sync'])) {
    if ($_POST['sync']) {
        foreach ($servers as $server) {
            MonitisApiHelper::addAllDefault(MONITIS_CLIENT_ID, $server);
        }
    }
    //MonitisApp::redirect(MONITIS_APP_URL . '&monitis_page=servers');
    MonitisApp::redirect(MONITIS_APP_URL . '&monitis_page=tabadmin');
}
$sets = MonitisConf::$settings;
$newCreateMonitorsText = array();
if ($sets['ping']['autocreate'] > 0) {
    $newCreateMonitorsText[] = 'ping';
}
if ($sets['cpu']['autocreate'] > 0) {
    $newCreateMonitorsText[] = 'cpu';
}
if ($sets['memory']['autocreate'] > 0) {
    $newCreateMonitorsText[] = 'memory';
コード例 #6
0
ファイル: monitors.php プロジェクト: carriercomm/WHMCS
<?php

require_once 'modules/addons/monitis_addon/monitisapp.php';
require_once 'modules/addons/monitis_addon/lib/clientui.php';
$locations = MonitisApiHelper::getExternalLocationsGrouped();
//$version = rand(1, 1000);
$version = MONITIS_RESOURCE_VERSION;
//$language = $this->_tpl_vars['clientsdetails']['language'];
$language = 'english';
include_once 'modules/addons/monitis_addon/lang/' . $language . '.php';
?>
<link href="http://code.jquery.com/ui/1.10.3/themes/<?php 
echo MonitisConf::$jqueryClientTheme;
?>
/jquery-ui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link href="modules/addons/monitis_addon/static/css/monitis.css?<?php 
echo $version;
?>
" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="modules/addons/monitis_addon/static/js/monitisclasses.js?<?php 
echo $version;
?>
"></script>
<script type="text/javascript" src="modules/addons/monitis_addon/static/js/clientui.js?<?php 
echo $version;
?>
"></script>
<script type="text/javascript" src="modules/addons/monitis_addon/lang/js/<?php 
echo $language;
?>
コード例 #7
0
ファイル: alerts.php プロジェクト: carriercomm/WHMCS
 $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;
コード例 #8
0
ファイル: clientapi.class.php プロジェクト: carriercomm/WHMCS
 static function editNotificationRule($params, $rule, $userid)
 {
     $user = self::userToken($userid);
     if ($user['status'] == 'ok') {
         $params = MonitisApiHelper::rulesFromJson($params, $rule);
         return self::requestPost('editNotificationRule', $params, $user);
     } else {
         return $user;
     }
 }
コード例 #9
0
ファイル: monitors.php プロジェクト: carriercomm/WHMCS
         } else {
             MonitisApp::addError($resp['error']);
         }
     } else {
         $hostname = $serverInfo['hostname'];
         $agents = MonitisApi::getAgent($hostname);
         $agentKey = $agents[0]['key'];
         $platform = $agents[0]['platform'];
         $agentInfo = array('agentKey' => $agents[0]['key'], 'agentId' => $agents[0]['id'], 'name' => $hostname, 'platform' => $platform);
         $internalMonitors = MonitisApi::getInternalMonitors();
         $cpu = MonitisConf::$settings['cpu'][$platform];
         $cpuSettings = array('platform' => array($platform => array()));
         foreach ($cpu as $key => $val) {
             $cpuSettings['platform'][$platform][$key] = isset($_POST[$key]) ? intval($_POST[$key]) : $cpu[$key];
         }
         $resp = MonitisApiHelper::addCPUMonitor($serverInfo, MONITIS_CLIENT_ID, $agentInfo, $internalMonitors['cpus'], $cpuSettings['platform']);
         if ($resp['status'] === 'ok') {
             MonitisApp::addMessage('CPU Monitor successfully created');
             $serverInfo['agent']['cpu'] = $serverMonitors->getMonitor($resp['id'], 'cpu');
         } else {
             MonitisApp::addError($resp['msg']);
         }
     }
     break;
 case 'memory':
     if (isset($_POST['id'])) {
         $monitor = MonitisApi::getMemoryInfo((int) $_POST['id']);
         $platform = $monitor['agentPlatform'];
         $monitorId = (int) $_POST['id'];
         $params = array('testId' => $monitorId, 'name' => 'memory@' . $serverInfo['hostname'], 'tag' => $serverInfo['hostname'] . '_whmcs', 'platform' => $platform);
         $memory = MonitisConf::$settings['memory'][$platform];