public function update() { $data['sitetitle'] = trim($_POST['sitetitle']); $data['sitetitle2'] = trim($_POST['sitetitle2']); $data['siteurl'] = trim($_POST['siteurl']); $data['updown'] = trim($_POST['updown']); $data['xgwz'] = trim($_POST['xgwz']); $data['sitedescription'] = trim($_POST['sitedescription']); $data['sitekeywords'] = trim($_POST['sitekeywords']); $data['sitelx'] = trim($_POST['sitelx']); $data['sitetcp'] = trim($_POST['sitetcp']); $data['sitelang'] = trim($_POST['sitelang']); $data['watermark'] = trim($_POST['watermark']); $data['watermarkimg'] = trim($_POST['watermarkimg']); $data['sitetpl'] = trim($_POST['sitetpl']); $data['indexrec'] = trim($_POST['indexrec']); $data['indexhot'] = trim($_POST['indexhot']); $data['indexlink'] = trim($_POST['indexlink']); $data['indexpic'] = trim($_POST['indexpic']); $data['noticeid'] = trim($_POST['noticeid']); $data['noticenum'] = trim($_POST['noticenum']); $data['isping'] = trim($_POST['isping']); $data['pingoff'] = trim($_POST['pingoff']); $data['bookoff'] = trim($_POST['bookoff']); $data['mood'] = trim($_POST['mood']); $data['sitelogo'] = trim($_POST['sitelogo']); $data['ishits'] = trim($_POST['ishits']); $data['iscopyfrom'] = trim($_POST['iscopyfrom']); $data['isauthor'] = trim($_POST['isauthor']); $data['indexvote'] = trim($_POST['indexvote']); $data['ishomeimg'] = trim($_POST['ishomeimg']); $data['mouseimg'] = trim($_POST['mouseimg']); $data['iszy'] = trim($_POST['iszy']); $data['id'] = trim($_POST['id']); $data['artlistnum'] = trim($_POST['artlistnum']); $data['artlisthot'] = trim($_POST['artlisthot']); $data['artlistrec'] = trim($_POST['artlistrec']); $data['articlerec'] = trim($_POST['articlerec']); $data['articlehot'] = trim($_POST['articlehot']); $data['rollnum'] = trim($_POST['rollnum']); $data['postovertime'] = trim($_POST['postovertime']); $data['urlmode'] = trim($_POST['urlmode']); $data['flashmode'] = trim($_POST['flashmode']); $data['indexnoticetitle'] = trim($_POST['indexnoticetitle']); $data['indexrectitle'] = trim($_POST['indexrectitle']); $data['indexhottitle'] = trim($_POST['indexhottitle']); $data['indexvotetitle'] = trim($_POST['indexvotetitle']); $data['indexpictitle'] = trim($_POST['indexpictitle']); $data['indexpicnum'] = trim($_POST['indexpicnum']); $data['indexpicscroll'] = trim($_POST['indexpicscroll']); $data['indexlinktitle'] = trim($_POST['indexlinktitle']); $data['indexlinkimg'] = trim($_POST['indexlinkimg']); $data['indexdiylink'] = trim($_POST['indexdiylink']); $data['listrectitle'] = trim($_POST['listrectitle']); $data['listhottitle'] = trim($_POST['listhottitle']); $data['listshowmode'] = trim($_POST['listshowmode']); $data['artrectitle'] = trim($_POST['artrectitle']); $data['arthottitle'] = trim($_POST['arthottitle']); $data['suffix'] = trim($_POST['suffix']); $data['is_build_html'] = intval($_POST['is_build_html']); $data['istrade'] = intval($_POST['istrade']); switch ($data['suffix']) { case 0: $resuffix = '.html'; break; case 1: $resuffix = '.htm'; break; case 2: $resuffix = '.shtml'; break; case 3: $resuffix = '.php'; break; case 4: $resuffix = '.asp'; break; case 5: $resuffix = '.aspx'; break; case 6: $resuffix = '.jsp'; break; } $type = M('config'); $config = F('basic', '', './Web/Conf/'); switch ($config['suffix']) { case 0: $suffix = '.html'; break; case 1: $suffix = '.htm'; break; case 2: $suffix = '.shtml'; break; case 3: $suffix = '.php'; break; case 4: $suffix = '.asp'; break; case 5: $suffix = '.aspx'; break; case 6: $suffix = '.jsp'; break; } $old_tpl = $config['sitetpl']; unset($config); $result = $type->data($data)->save(); //重写缓存 F('basic', $data, './Web/Conf/'); //url模式处理 $path = './Web/Conf'; if ($data['urlmode'] == 0) { $fp = fopen($path . "/config.php", "r"); $configStr = fread($fp, filesize($path . "/config.php")); fclose($fp); $configStr = preg_replace("/'URL_MODEL'=>[0-9]/", "'URL_MODEL'=>1", $configStr); $configStr = preg_replace("/'IS_BUILD_HTML'=>[0-9]/", "'IS_BUILD_HTML'=>" . intval($_POST['is_build_html']), $configStr); $configStr = str_replace("'" . $old_tpl . "'", "'" . $data['sitetpl'] . "'", $configStr); $configStr = str_replace("=>'" . $suffix . "'", "=>'" . $resuffix . "'", $configStr); $configStr = str_replace('index.php?s=', 'index.php/', $configStr); @chmod($path, 0777); $fp = fopen($path . "/config.php", "w") or die("<script>alert('写入配置失败,请检查../Web/Conf目录是否可写入!');history.go(-1);</script>"); fwrite($fp, $configStr); fclose($fp); } elseif ($data['urlmode'] == 1) { $fp = fopen($path . "/config.php", "r"); $configStr = fread($fp, filesize($path . "/config.php")); fclose($fp); $configStr = preg_replace("/'URL_MODEL'=>[0-9]/", "'URL_MODEL'=>2", $configStr); $configStr = preg_replace("/'IS_BUILD_HTML'=>[0-9]/", "'IS_BUILD_HTML'=>" . intval($_POST['is_build_html']), $configStr); $configStr = str_replace("'" . $old_tpl . "'", "'" . $data['sitetpl'] . "'", $configStr); $configStr = str_replace("=>'" . $suffix . "'", "=>'" . $resuffix . "'", $configStr); $configStr = str_replace('index.php?s=', 'index.php/', $configStr); @chmod($path, 0777); $fp = fopen($path . "/config.php", "w") or die("<script>alert('写入配置失败,请检查../Web/Conf目录是否可写入!');history.go(-1);</script>"); fwrite($fp, $configStr); fclose($fp); } else { $fp = fopen($path . "/config.php", "r"); $configStr = fread($fp, filesize($path . "/config.php")); fclose($fp); $configStr = preg_replace("/'URL_MODEL'=>[0-9]/", "'URL_MODEL'=>3", $configStr); $configStr = preg_replace("/'IS_BUILD_HTML'=>[0-9]/", "'IS_BUILD_HTML'=>" . intval($_POST['is_build_html']), $configStr); $configStr = str_replace("'" . $old_tpl . "'", "'" . $data['sitetpl'] . "'", $configStr); $configStr = str_replace("=>'" . $suffix . "'", "=>'" . $resuffix . "'", $configStr); $configStr = str_replace('index.php/', 'index.php?s=', $configStr); @chmod($path, 0777); $fp = fopen($path . "/config.php", "w") or die("<script>alert('写入配置失败,请检查../Web/Conf目录是否可写入!');history.go(-1);</script>"); fwrite($fp, $configStr); fclose($fp); } //网站语言 if ($data['sitelang'] == 0) { $path = './Web/Tpl/' . $data['sitetpl'] . '/js/'; $fp = fopen($path . "/language.js", "r"); $configStr = fread($fp, filesize($path . "/language.js")); fclose($fp); $configStr = str_replace('Default_isFT=1', 'Default_isFT=0', $configStr); @chmod($path, 0777); $fp = fopen($path . "/language.js", "w") or die("<script>alert('写入配置失败,请检查" . $path . "目录是否可写入!');history.go(-1);</script>"); fwrite($fp, $configStr); fclose($fp); } if ($data['sitelang'] == 1) { $path = './Web/Tpl/' . $data['sitetpl'] . '/js/'; $fp = fopen($path . "/language.js", "r"); $configStr = fread($fp, filesize($path . "/language.js")); fclose($fp); $configStr = str_replace('Default_isFT=0', 'Default_isFT=1', $configStr); @chmod($path, 0777); $fp = fopen($path . "/language.js", "w") or die("<script>alert('写入配置失败,请检查" . $path . "目录是否可写入!');history.go(-1);</script>"); fwrite($fp, $configStr); fclose($fp); } //保存邮件配置 $config_file = "./Public/Config/config.ini.php"; $fp = fopen($config_file, "r"); $configStr = fread($fp, filesize($config_file)); fclose($fp); $configStr = preg_replace("/'MAIL_TRADE'=>.*.,/", "'MAIL_TRADE'=>" . htmlspecialchars($_POST['MAIL_TRADE']) . ",", $configStr); $configStr = preg_replace("/'MAIL_SMTP_SERVER'=>'.*'/", "'MAIL_SMTP_SERVER'=>'" . (string) $_POST['MAIL_SMTP_SERVER'] . "'", $configStr); $configStr = preg_replace("/'MAIL_FROM'=>'.*'/", "'MAIL_FROM'=>'" . htmlspecialchars($_POST['MAIL_FROM']) . "'", $configStr); if (C('MAIL_PASSSWORD') != $_POST['MAIL_PASSSWORD']) { $configStr = preg_replace("/'MAIL_PASSSWORD'=>'.*'/", "'MAIL_PASSSWORD'=>'" . dami_encrypt($_POST['MAIL_PASSSWORD']) . "'", $configStr); } $configStr = preg_replace("/'MAIL_TOADMIN'=>'.*'/", "'MAIL_TOADMIN'=>'" . htmlspecialchars($_POST['MAIL_TOADMIN']) . "'", $configStr); $configStr = preg_replace("/'MAIL_PORT'=>.*.,/", "'MAIL_PORT'=>" . htmlspecialchars($_POST['MAIL_PORT']) . ",", $configStr); $fp = fopen($config_file, "w") or die("<script>alert('写入配置失败,请检查安装目录/Public/Config/config.ini.php是否可写入!');history.go(-1);</script>"); fwrite($fp, $configStr); fclose($fp); //清理缓存 $Webpath = './Web/Runtime/'; $Adminpath = './Admin/Runtime/'; if (is_dir($Webpath)) { @deldir($Webpath); } if (is_dir($Adminpath)) { @deldir($Adminpath); } $this->assign("jumpUrl", U('Config/index')); $this->success('操作成功!'); }
function find_password() { if ($_POST) { self::check_verify(); $_POST = array_map('strval', $_POST); if (empty($_POST['username']) || empty($_POST['email']) || !preg_match("/^[\\w\\-\\.]+@[\\w\\-\\.]+(\\.\\w+)+\$/", $_POST['email'])) { $this->error('请输入用户名与注册邮件'); } $map['username'] = inject_check($_POST['username']); $map['email'] = inject_check($_POST['email']); $t = M('member')->where($map)->find(); if (!$t) { $this->error('用户名与邮件不匹配'); } else { $map['hash'] = dami_encrypt(time()); $map['addtime'] = time(); M('find_password')->add($map); $url = 'http://' . $_SERVER['HTTP_HOST'] . '/' . U('Member/reset_password', $map); $body = "您在" . date('Y-m-d H:i:s') . "提交了找回密码请求。请点击下面的链接重置密码(48小时内有效)。<br><a href=\"{$url}\" target=\"_blank\">{$url}</a>"; send_mail($t['email'], $t['email'] . '用户', '用户找回密码邮件', $body); $this->assign("waitSecond", 30); $this->assign("jumpUrl", U('Member/login')); $this->success('找回密码成功!请在48小时内登陆邮箱重置密码!'); } } else { $this->display(); } }