コード例 #1
0
 /**
  * 获取外键数据来源
  * @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;
 }
コード例 #2
0
 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');
 }
コード例 #3
0
 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()));
 }