/** * 获取外键数据来源 * @param string $key 指定key获取 * @return array|string 获取到的数据或指定key的值 */ public function getMonitor($key = '') { $monitorDB = new MonitorModelDB(); if (empty($key)) { $sql = "SELECT `id`,`mailprefix` FROM `" . $monitorDB->getTableName() . "`"; $monitorModelDBArr = $monitorDB->getData($sql); $data = Common::createArr($monitorModelDBArr, 'id', 'mailprefix'); } else { $sql = "SELECT `mailprefix` FROM `" . $monitorDB->getTableName() . "` WHERE `id` = ?"; $data = $monitorDB->getFirst($sql, array($key)); } return $data; }
public function view() { $monitorDB = new MonitorModelDB(); //普通条件,检查GET参数 $fieldArr = $monitorDB->getFields(); $where = $whereArr = array(); foreach ($fieldArr as $v) { if (array_key_exists($v, $_GET) && $_GET[$v] !== null) { $where[] = "`{$v}` = ?"; $whereArr[] = $_GET[$v]; } } $whereStr = count($where) > 0 ? implode(" AND ", $where) : '1=1'; if (array_key_exists('_search_field', $_GET) && $_GET['_search_field'] != '' && in_array($_GET['_search_field'], $fieldArr) && array_key_exists('_search_keyword', $_GET) && $_GET['_search_keyword'] != '') { $whereStr = $whereStr == '1=1' ? $_GET['_search_field'] . " LIKE ?" : $whereStr . " AND " . $_GET['_search_field'] . " LIKE ?"; switch ($_GET['_search_field']) { case 'mailprefix': $whereArr[] = "{$_GET['_search_keyword']}%"; break; default: $whereArr[] = "%{$_GET['_search_keyword']}%"; } } //排序条件 $orderStr = '`id` DESC'; if (!empty($_POST['order'])) { foreach ($_POST['order'] as $k => $v) { $orderArr[] = "`{$k}` {$v}"; } $orderStr = implode(',', $orderArr); } //查询操作 $sql = "SELECT * FROM `" . $monitorDB->getTableName() . "` WHERE {$whereStr} ORDER BY {$orderStr}"; $data = $monitorDB->getData($sql, $whereArr, 20); $pageStr = $monitorDB->getPageStr(); $pageJump = $monitorDB->getPageJump(); //读取外键数据 $groupsFkArr = MonitorModel::getGroups(); $this->setView('groupsFkArr', $groupsFkArr); //模版显示 $this->setView('pageStr', $pageStr); $this->setView('pageJump', $pageJump); $this->setView('data', $data); $this->display('Monitor.html'); }
public function sendSms($project, $submodule, $message) { $messageSend = "{$project['name']}的{$submodule['name']}({$submodule['code']})错误"; $projectUids = Common::checkboxStrDecode($project['monitors']); $submoduleUids = Common::checkboxStrDecode($submodule['monitors']); $uids = array_merge($projectUids, $submoduleUids); $monitorDB = new MonitorModelDB(); $monitorsPhone = $monitorDB->getData('SELECT phone FROM ' . $monitorDB->getTableName() . ' WHERE id in ?', array($uids)); $phone = array(); foreach ($monitorsPhone as $monitorPhone) { $phone[] = $monitorPhone['phone']; } $str = 'user=general&password=nbaa8a2a1d5b981deacb8c1e2general&phone=' . urlencode(implode(',', $phone)) . '&msg=' . urlencode($messageSend) . '&level=' . urlencode($submodule['level']); $ret = Http::get("http://202.108.35.62/serverguard/SendV2.php?{$str}"); Common::debug($ret); if ($ret['error'] != 0) { $ret = Http::get("http://202.108.43.183/serverguard/SendV2.php?{$str}"); } Common::debug($ret, 'sms'); $warningMessageDB = new WarningMessageModelDB(); $warningMessageDB->insert(array('type' => 2, 'message' => "{$project['name']}的{$submodule['name']}({$submodule['code']})错误:{$message}", 'monitors' => Common::checkboxStrEncode($uids), 'create_time' => time())); }