예제 #1
0
    public function addonsList()
    {
        $sql = 'SELECT id, name, mod_monitis_addon.*
		FROM tbladdons
		LEFT JOIN mod_monitis_addon on ( tbladdons.id = mod_monitis_addon.addon_id )';
        return monitisSqlHelper::query($sql);
    }
예제 #2
0
    static function extServerMonitors($server_id)
    {
        $sql = 'SELECT id, name, ipaddress, hostname, mod_monitis_ext_monitors.*
				FROM mod_monitis_ext_monitors 
				LEFT JOIN tblservers ON tblservers.id=mod_monitis_ext_monitors.server_id  
				WHERE tblservers.disabled=0 AND tblservers.id=' . $server_id;
        return monitisSqlHelper::query($sql);
    }
예제 #3
0
 public function getFieldById($fielId)
 {
     $vals = monitisSqlHelper::query('SELECT fieldoptions FROM tblcustomfields  WHERE id=' . $fielId);
     if ($vals) {
         return $vals[0];
     } else {
         return null;
     }
 }
예제 #4
0
    public function synchronizeClients()
    {
        $all = array();
        $subUsers = MonitisApi::clients(true);
        $clntByUsr = monitisSqlHelper::query('SELECT user_id, firstname, lastname, email, LOWER(status) as status, api_key, secret_key
			FROM mod_monitis_user
			LEFT JOIN tblclients ON tblclients.id=mod_monitis_user.user_id');
        for ($i = 0; $i < count($subUsers); $i++) {
            $apikey = $subUsers[$i]['apikey'];
            $whmcsUser = MonitisHelper::in_array($clntByUsr, 'api_key', $apikey);
            $userid = 0;
            // user linked
            if ($whmcsUser) {
                $userid = $whmcsUser['user_id'];
            } else {
                // link user
                $arr = explode('_', $subUsers[$i]['account']);
                if ($arr && $arr[0]) {
                    $userid = intval(substr($arr[0], 5));
                    if ($userid > 0) {
                        $resp = monitisClientApi::linkUserByApikey($apikey, $userid);
                        if (@$resp['status'] == 'ok' && isset($resp['data'])) {
                            //$secretkey = $resp['data']['secret_key'];
                            $whmcsUser = $this->userById($userid);
                            $whmcsUser['api_key'] = $apikey;
                            $whmcsUser['secret_key'] = $resp['data']['secret_key'];
                        }
                    }
                }
            }
            $monitors = null;
            if ($userid > 0) {
                $monitors = $subUsers[$i]['monitors'];
                $monitors = $this->synchronizeMonitors($userid, $monitors);
            }
            $all[] = array('api_user' => $subUsers[$i], 'whmcs_user' => $whmcsUser, 'monitors' => $monitors);
        }
        return $all;
    }
예제 #5
0
 public function whmcsAdminList()
 {
     //return $this->adminList();
     return monitisSqlHelper::query('SELECT * FROM tbladmins');
 }
예제 #6
0
 public function clientProductMonitors($userid)
 {
     $monitors = monitisSqlHelper::query('SELECT * FROM mod_monitis_product_monitor WHERE user_id =' . $userid);
     $apiMons = monitisClientApi::externalMonitors($userid);
     if ($apiMons && isset($apiMons['testList'])) {
         $apiMons = $apiMons['testList'];
     } else {
         $apiMons = null;
     }
     $userProducts = MonitisSeviceHelper::userProducts($userid);
     $avMonitors = array();
     $ids = array();
     if ($userProducts) {
         for ($i = 0; $i < count($monitors); $i++) {
             $orderid = $monitors[$i]['order_id'];
             $serviceid = $monitors[$i]['service_id'];
             $isAvailble = false;
             if ($monitors[$i]['type'] == 'addon') {
                 $addon = $this->_addonsByServiceId($serviceid, $monitors[$i]['product_id'], $userid);
                 if ($addon) {
                     $monitors[$i]['settings'] = $addon['settings'];
                     $product = $this->productByField($userProducts, 'id', $serviceid);
                     if ($product && $product['status'] == "Active") {
                         $monitors[$i]['productname'] = $product['groupname'] . ' - ' . $product['name'] . ' <div class="addon">addon: ' . $addon['addonname'] . '</div>';
                         $isAvailble = true;
                     }
                 }
             } else {
                 $result = select_query('tblhosting', 'domainstatus', array('id' => $serviceid, 'userid' => $userid), null, null, 1);
                 $data = mysql_fetch_assoc($result);
                 if ($data && $data['domainstatus'] == "Active") {
                     $product = $this->productByField($userProducts, 'id', $serviceid);
                     if ($product && $product['status'] == "Active") {
                         if ($monitors[$i]['type'] == 'product') {
                             $monproduct = $this->isMonitisProduct($product['pid']);
                             $monitors[$i]['settings'] = $monproduct['settings'];
                         } else {
                             // hayk
                             $option_id = $monitors[$i]['option_id'];
                             $result = select_query('mod_monitis_options', 'settings', array('option_id' => $option_id), null, null, 1);
                             $data = mysql_fetch_assoc($result);
                             $monitors[$i]['settings'] = html_entity_decode($data['settings']);
                         }
                         $monitors[$i]['productname'] = $product['groupname'] . ' - ' . $product['name'];
                         $isAvailble = true;
                     }
                 }
             }
             if ($isAvailble) {
                 $monitor_id = intval($monitors[$i]['monitor_id']);
                 $monitorIndex = $this->in_array($apiMons, 'id', $monitor_id);
                 if ($monitorIndex > -1) {
                     $monitors[$i]['info'] = $apiMons[$monitorIndex];
                     $avMonitors[] = $monitors[$i];
                 } else {
                     // delete $monitor_id from mod_monitis_product
                     //monitisSqlHelper::altQuery('DELETE FROM mod_monitis_product WHERE monitor_id='.$monitor_id );
                 }
             }
         }
     } else {
         return null;
     }
     return $avMonitors;
 }
예제 #7
0
 public function editHookHandler($vars, $hook)
 {
     $serviceid = $vars['serviceid'];
     $userid = $vars['userid'];
     $result = array('status' => 'nomonitis', 'serviceid' => $serviceid, 'userid' => $userid, 'title' => 'Service: ' . $serviceid, 'hook_type' => '');
     if (isset($serviceid) && isset($userid)) {
         if (empty($hook)) {
             $rslt = monitisSqlHelper::query('SELECT tblhosting.domainstatus as status FROM tblhosting WHERE tblhosting.id=' . $serviceid);
             $hook = strtolower($rslt[0]['status']);
             if ($hook == 'cancelled') {
                 $hook = 'cancel';
             }
         }
         $result = $this->moduleHookHandler($vars, $hook);
         $result['hook_type'] = 'edit';
     }
     return $result;
 }
예제 #8
0
                    if ($notificationRuleIdsOnContact != '') {
                        $notifications->editNotificationRule($contact['contactId'], $groupName, $groupAlerts, $notificationRuleIdsOnContact);
                    } else {
                        MonitisApiHelper::addNotificationRule($contact['contactId'], $groupType, $groupId, $groupAlerts);
                    }
                }
            }
            break;
    }
}
MonitisApp::printNotifications();
$monitisContactGroups = MonitisApi::getContactsByGroupID('All');
if (!$monitisContactGroups) {
    $monitisContactGroups = $notifications->createDefaultGroup();
}
$whmcsAdmins = monitisSqlHelper::query('SELECT CONCAT(firstname, " ", lastname) as name, email FROM tbladmins');
$contactGroups = array();
for ($i = 0; $i < count($monitisContactGroups); $i++) {
    $contactGroups[$i] = array();
    $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);
예제 #9
0
파일: hook.php 프로젝트: carriercomm/WHMCS
                monitisAddonHookHandler($vars, $hook);
                break;
            case 'multiple':
                $type = $_POST["producttype"];
                if ($type == 'addon') {
                    $resp = MonitisHookClass::applyCreateAddonMonitor($_POST['addonserviceid'], $_POST['serviceid'], $_POST['userid']);
                } else {
                    $resp = MonitisHookClass::applyCreateConfigOptionMonitor($_POST['option_id'], $_POST['productid'], $_POST['serviceid']);
                }
                break;
        }
    } elseif ($action == 'clean') {
        monitisSqlHelper::altQuery('DELETE FROM ' . MONITIS_HOOK_REPORT_TABLE);
    }
}
$list = monitisSqlHelper::query('SELECT * FROM ' . MONITIS_HOOK_REPORT_TABLE . ' ORDER BY `date` DESC');
?>
<div style="text-align: left;padding: 0px 0px 5px;">
	<form method="post" action="">
		<input type="submit" value="Clean" name="act" class="btn" />
	</form>
</div>
<table class="datatable" width="100%" border="0" cellspacing="1" cellpadding="3" style="text-align: left;">
	<tr>
		<th>Date</th>
		<th>Title</th>
		<th>Client</th>
		<th>Product type</th>
		<th>URL / IP</th>
		<th>Monitor type</th>
		<th>Response</th>
예제 #10
0
 static function dump()
 {
     return monitisSqlHelper::query('SELECT * FROM ' . MONITIS_LOG_TABLE . ' ORDER BY `date` DESC');
 }
예제 #11
0
 static function linksMonitors($userid)
 {
     return monitisSqlHelper::query('SELECT * FROM mod_monitis_product_monitor WHERE user_id=' . $userid);
 }
예제 #12
0
 public function all()
 {
     //mysql_query('DELETE FROM mod_monitis_int_monitors WHERE server_id=0');
     $this->whmcsAllServers = monitisSqlHelper::query('SELECT id, name, ipaddress, hostname FROM tblservers WHERE disabled=0');
     if ($this->whmcsAllServers) {
         $this->initServers();
     }
     return $this->result;
 }