* 审核由博主进行审核,该页面为提交内容以及表单处理,处理结果存入数据库并返回邮件给用户 * * @author 筱锋xiao_lfeng * @since v1.0.0-Alpha * @version v1.0.0-Beta * @var array $Json_Data 最终数据编译输出 * @var array $Array_ConfigData 配置文件 */ // 引入配置 include dirname(__FILE__, 6) . "/Modules/API/header.php"; require dirname(__FILE__, 6) . "/class/Sql.php"; require dirname(__FILE__, 6) . "/class/Normal.php"; // 数据获取类型 $PostData = file_get_contents('php://input'); $PostData = json_decode($PostData, true); // 逻辑构建 if ($Array_ConfigData['Session'] == $_SERVER['SESSION']) { // 检查用户 if (empty($PostData['user']) && preg_match('/^[0-9]+$/', $PostData['user'])) { // 检查用户是否在数据库内且为管理员 $AResult_User = Sql::SELECT("SELECT * FROM `index`.xf_user WHERE `uid`='{$PostData['user']}'"); if ($AResult_User == 'Success') { if ($AResult_User['data'][0]['permission'] == 1) { // 审批是否通过(审批不通过直接删除,而非修改退回),检查数据是否存在 $AResult_Blog = Sql::SELECT("SELECT * FROM `index`.xf_blog_link WHERE `id`='{$PostData['blog_id']}'"); if ($AResult_Blog['output'] == 'Success') { if ($PostData['check']) { // 检查数据 if (!DataCheck()) { // 数据检查通过,上传数据并通过位置 if (preg_match('/^[0-9]{1,4}/', $PostData['blog_location'])) { // 修改数据 if (Sql::UPDATE("UPDATE `index`.xf_blog_link SET `owner_email`='{$PostData['user_email']}',`name`='{$PostData['blog_name']}',`url`='{$PostData['blog_url']}',`introduce`='{$PostData['blog_introduce']}',`icon`='{$PostData['blog_icon']}',`rss_judge`='{$PostData['blog_rss_judge']}',`rss`='{$PostData['blog_rss']}',`serverhost`='{$PostData['blog_host']}',`adv`='{$PostData['blog_adv_judge']}',`blog_ssl`='{$PostData['blog_ssl_judge']}',`location`='{$PostData['blog_location']}',`sel_color`={$PostData['blog_color']} WHERE `id`='{$PostData['blog_id']}'")) { Normal::Output(200); } else Normal::Output(302); } else Normal::Output(410); // 添加位置错误 } } else { // 删除数据 if (Sql::DELETE("DELETE FROM `index`.xf_blog_link WHERE `id`='{$PostData['blog_id']}'")) Normal::Output(200); else Normal::Output(303, null, "Blog"); // 数据库删除失败 } } else Normal::Output(301, null, "Blog"); // 数据库查询失败 } else Normal::Output(701); // 管理员权限拒绝 } else if ($AResult_User == 'EmptyResult') { Normal::Output(601); // 没有这个用户 } else Normal::Output(301, null, "User"); // 数据库查询失败 } else Normal::Output(402); // 用户格式不正确 } else Normal::Output(100); // 通讯密钥错误 /** * 正则表达式检查用户信息 * * @return false|void 返回结果为错误Json,否则返回false表示检查完成 * @author 筱锋xiao_lfeng * @since v1.0.0-Alpha */ function DataCheck() { global $PostData; if (preg_match('/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', $PostData['user_email'])) { if (preg_match('/^[一-龥0-9A-Za-z_\']+$/', $PostData['blog_name'])) { if (preg_match('/^[一-龥0-9A-Za-z_\']+$/', $PostData['blog_introduce'])) { if (preg_match('/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/', $PostData['blog_url'])) { if (preg_match('/^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$/', $PostData['blog_icon'])) { if ((string)$PostData['blog_ssl_judge'] == "true" || (string)$PostData['blog_ssl_judge'] == "false") { if ((string)$PostData['blog_adv_judge'] == "true" || (string)$PostData['blog_adv_judge'] == "false") { if ((string)$PostData['blog_rss_judge'] == "true" || (string)$PostData['blog_rss_judge'] == "false") { if (empty($PostData['blog_rss']) || preg_match('/^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$/', $PostData['blog_rss'])) { if (preg_match('/^[一-龥0-9A-Za-z_\']+$/', $PostData['blog_host'])) { if (empty($PostData['blog_color']) || preg_match('/^[0-9]+$/', $PostData['blog_color'])) { return false; } else Normal::Output(410); } else Normal::Output(409); // 地址格式错误(RSS地址) } else Normal::Output(407, null, 'blog_rss'); // 地址格式错误(RSS地址) } else Normal::Output(408, null, 'blog_rss_judge'); // 不符合布尔值参数 } else Normal::Output(408, null, 'blog_adv_judge'); // 不符合布尔值参数 } else Normal::Output(408, null, 'blog_ssl_judge'); // 不符合布尔值参数 } else Normal::Output(407, null, 'blog_icon'); // 地址格式错误(图标地址) } else Normal::Output(407, null, 'blog_url'); // 地址格式错误 } else Normal::Output(406); // 博客描述格式不符合 } else Normal::Output(405); // 博客名字格式不符合 } else Normal::Output(401); // 邮箱是否合法 }