コード例 #1
0
 public function update()
 {
     $moduleDB = new ModuleModelDB();
     $updateArr = array();
     $whereArr = array();
     $whereArr['id'] = $_GET['id'];
     $sql = "SELECT * FROM `" . $moduleDB->getTableName() . "` WHERE `id` = ?";
     $row = $moduleDB->getRow($sql, array_values($whereArr));
     $fieldArr = $moduleDB->getFields();
     foreach ($fieldArr as $v) {
         if (in_array($v, array('id'))) {
             continue;
         }
         //跳过主键
         if ($_POST[$v] !== null) {
             $updateArr[$v] = $_POST[$v];
         }
     }
     $updateArr['monitors'] = Common::checkboxStrEncode($_POST['monitors']);
     $rs = $moduleDB->update($updateArr, $whereArr);
     //获取被修改数据写入日志
     $changeOldRow = array_diff_assoc(array_diff_assoc($row, $updateArr), array_diff_key($row, $updateArr));
     Log::write($this->adminUserName, $this->ip, $_GET['id'], self::$state . "__" . self::$action, $rs, Log::arrayToLog($changeOldRow));
     //获取更改自动更新列表
     $changeNewRow = array_diff_assoc($updateArr, $row);
     if (isset($changeNewRow['pid'])) {
         $changeNewRow['pid'] = ModuleModel::getProject($changeNewRow['pid']);
     }
     if (isset($changeNewRow['sys_mid'])) {
         $changeNewRow['sys_mid'] = ModuleModel::getSysmodule($changeNewRow['sys_mid']);
     }
     if (isset($changeNewRow['sms_status'])) {
         $changeNewRow['sms_status'] = DictConfig::$onoffArr[$changeNewRow['sms_status']];
     }
     if (isset($changeNewRow['mail_status'])) {
         $changeNewRow['mail_status'] = DictConfig::$onoffArr[$changeNewRow['mail_status']];
     }
     $rs ? Message::showSucc('更新成功', $changeNewRow) : Message::showError('更新失败:' . implode(" ", $moduleDB->getErrorInfo()));
 }