if ($errorValue) { Util::back("[{$errorValue}]값이 없습니다."); Goose::end(); } if (!$_POST['dbPassword'] || $_POST['dbPassword'] != $_POST['dbPassword2']) { Util::back("DB 비밀번호와 확인값이 다릅니다."); return false; } if (!$_POST['password'] || $_POST['password'] != $_POST['password2']) { Util::back("관리자 비밀번호와 확인값이 다릅니다."); return false; } return true; } // check post data if (checkPost() == true) { // create directories Util::createDirectory(__GOOSE_PWD__ . "data", 0755); // create config.php $tpl_config = $this->tpl_config(array('define' => array('url' => $_POST['goose_url'], 'root' => $_POST['goose_root']), 'db' => array('dbname' => $_POST['dbName'], 'name' => $_POST['dbId'], 'password' => $_POST['dbPassword'], 'host' => $_POST['dbHost'], 'prefix' => $_POST['dbPrefix']), 'level' => array('login' => $_POST['loginLevel'], 'admin' => $_POST['adminLevel']), 'apiKey' => $_POST['apiPrefix'], 'timezone' => $_POST['timezone'], 'basic_module' => 'intro')); if ($tpl_config != 'success') { Goose::error(999, 'Failed to create the file data/config.php'); Goose::end(); } // create modules.json if ($this->tpl_modules() != 'success') { Goose::error(999, 'Failed to create the file data/modules.json'); Goose::end(); } } else { Goose::end();
/** 댓글 수정 * @class write * @param $data: 댓글 data, 이미 check와 가공이 끝난 데이터여야 함 $board_data: 게시판 설정 data -id: 게시판 아이디. 게시판 설정 data가 없을 때 아이디를 토대로 설정을 로드한다. -no: 대상 댓글번호 지정. (댓글 번호를 지정할 수 있다. 없다면 data에 저장되어 있는 자료를 수정) -is_update: 회원정보 업데이트 여부 -is_ex: 이전정보 로드 여부 -is_check: 입력변수 체크 여부 */ function editCmt(&$data, $board_data = '', $param = '') { global $mini; $param = param($param); iss($param['id']); iss($param['no']); iss($data['no']); def($param['is_update'], 1); def($param['is_ex'], 1); def($param['is_check'], 1); $trackback = $trackback_excerpt = $trackback_charset = ''; if (!empty($data['trackback'])) { $trackback = $data['trackback']; } if (!empty($data['trackback_excerpt'])) { $trackback_excerpt = $data['trackback_excerpt']; } if (!empty($data['trackback_charset'])) { $trackback_charset = $data['trackback_charset']; } $is_saveImage = !empty($data['saveImage']) ? 1 : 0; unset($data['pass']); unset($data['target_member']); unset($data['report']); unset($data['ip']); unset($data['vote']); unset($data['hate']); unset($data['download']); unset($data['date']); unset($data['date_last']); unset($data['parent']); unset($data['history_vote']); unset($data['point_count']); unset($data['point_sum']); if (empty($mini['member']['level_admin'])) { unset($data['is_del']); unset($data['trackback']); unset($data['ment_advice']); unset($data['is_lock']); unset($data['admit_file']); unset($data['admit_post']); } //// 게시판 설정 if (!is_array($board_data)) { if ($param['id']) { $board_data = getBoard($param['id'], 1); } else { __error('게시판 설정이 없습니다'); } } //// 게시물 번호 $no = $param['no'] ? $param['no'] : $data['no']; unset($data['no']); check($no, "type:num, name:댓글번호"); //// 데이터 로드 if ($param['is_ex']) { $data_ex = sql("SELECT * FROM {$board_data['table_cmt']} WHERE no={$no}"); if (!is_array($data_ex)) { __error('해당 댓글이 존재하지 않습니다'); } } //// 잠긴댓글 if (empty($mini['member']['level_admin']) && !empty($data_ex['is_lock'])) { __error('댓글이 잠겨 있어 수정, 삭제를 할 수 없습니다'); } //// 회원정보 로드 if (!empty($data_ex['target_member'])) { $mdata = sql("SELECT * FROM {$mini['name']['member']} WHERE no={$data_ex['target_member']}"); // 회원정보 업데이트 여부 if ($param['is_update'] && $param['is_ex'] && $data_ex['target_member']) { if (is_array($mdata)) { parseMember($mdata); $data['name'] = $mdata['name']; } else { $data_ex['target_member'] = $data['target_member'] = 0; $data['pass'] = md5(); } } } //// 권한 체크 if (empty($data_ex['trackback'])) { if (!empty($data_ex['target_member'])) { if (empty($mini['log'])) { __error('권한이 없습니다. [로그인이 필요합니다]'); } if (empty($mini['member']['level_admin']) && $mdata['no'] != $mini['member']['no']) { __error('권한이 없습니다. [자신이 쓴 댓글만 수정할 수 있습니다]'); } if (!empty($mini['member']['level_admin']) && $mdata['no'] != $mini['member']['no'] && $mdata['level_admin'] >= $mini['member']['level_admin']) { __error('권한이 없습니다. [자신보다 높거나 같은 권한의 관리자가 쓴 댓글 입니다]'); } } else { if (empty($mini['member']['level_admin'])) { if (empty($data['pass_encode'])) { __error('비밀번호가 없습니다'); } if (!empty($mini['log']) && empty($mini['member']['level_admin'])) { __error('권한이 없습니다. [비회원이 쓴댓글 입니다]'); } if (empty($mini['member']['level_admin']) && $data['pass_encode'] != md5("{$data_ex['pass']}|{$mini['ip']}|" . session_id())) { __error("권한이 없습니다. [비밀번호가 일치하지 않습니다]"); } } } } //// 추가필드 권한 체크 if (!empty($board_data['field'])) { foreach ($board_data['field'] as $key => $val) { if (!empty($data['field'][$key]) && !empty($val['is_admin']) && empty($mini['member']['level_admin'])) { __error("[{$val['name']}]은 관리자만 입력하실 수 있습니다"); } if (empty($data['field'][$key]) && !empty($val['is_req'])) { __error("[{$val['name']}]을 입력해 주세요"); } } } //// 수정 시간제한 if (!empty($board_data['limit_edit_comment']) && empty($mini['member']['level_admin'])) { if (!empty($data_ex) && strtotime($data_ex['date']) + $board_data['limit_edit_comment'] * 60 < $mini['time']) { __error("작성 후 {$board_data['limit_edit_comment']}분이 지난 댓글을 수정할 수 없습니다"); } } //// 대상 게시물 정보 로드 check($data['target_post'], "type:num, name:대상게시물번호"); $data_post = sql("SELECT * FROM {$board_data['table']} WHERE no={$data['target_post']}"); //// 답변 댓글일 때 원본 댓글 정보 로드 if (!empty($data_ex['parent'])) { $data_reply = sql("SELECT * FROM {$board_data['table_cmt']} WHERE no=" . end(getStr($data_ex['parent']))); if (is_array($data_reply)) { // 원본 댓글이 비밀일 때 답변들도 비밀 유지 if (!empty($data_reply['secret'])) { $data['secret'] = 1; } // 공지댓글에 댓글 금지 if (!empty($data_reply['notice'])) { __error('공지댓글에는 댓글을 달 수 없습니다'); } } } //// 입력정보 체크 if (isset($data['name'])) { check($data['name'], "min:1, max:16, name:이름"); } if (isset($data['mail'])) { check($data['mail'], "type:mail, name:메일, is_not:1"); } //// 입력변수 체크 if ($param['is_check']) { // 입력변수 체크 checkField($data, $board_data['table_cmt'], $param); // 글 가공 checkPost($data, $board_data, 'cmt'); } //// 직접 수정이 안되는 정보는 제외시킨다 unset($data['no']); unset($data['reply']); unset($data['pass']); unset($data['vote']); unset($data['hate']); unset($data['ip']); unset($data['date']); unset($data['target_member']); //// trackback if (!empty($param['trackback'])) { $data['trackback'] = $param['trackback']; } //+ 권한별로 제외하는 필드를 지정한다. (이를테면 target_member 같은거 바꿀 수 없으니깐) //// 쿼리 sql("UPDATE {$board_data['table_cmt']} SET " . query($data, 'update') . " WHERE no={$no}"); $data['no'] = $data_ex['no']; //// 검색어 수정 if ($param['is_ex']) { if (!empty($data['ment']) && $data_ex['ment'] != $data['ment']) { $data_ex['ment'] = $data['ment']; } if (!empty($data['name']) && $data_ex['name'] != $data['name']) { $data_ex['name'] = $data['name']; } if (!empty($data['tag']) && $data_ex['tag'] != $data['tag']) { $data_ex['tag'] = $data['tag']; } delIndex($data_post['num'], $data_ex['no']); addIndex($data_ex, "\n\t\t\t\tid: {$board_data['no']}\n\t\t\t\tnum: {$data_post['num']}\n\t\t\t\tcmt_no: {$data_ex['no']}\n\t\t\t\tdate: {$data_ex['date']}\n\t\t\t\tip: {$data_ex['ip']}\n\t\t\t"); } //// 트랙백 댓글 주소 설정 if (!empty($data_reply) && !empty($data_reply['trackback'])) { $tmp_data = getSocket("\n\t\t\t\turl: {$data_reply['trackback']}\n\t\t\t\tskip_header: 1\n\t\t\t"); if (!empty($tmp_data) && strpos($tmp_data, "<rdf:RDF") !== false) { preg_match("/\\<rdf\\:Description.+trackback\\:ping\\=\"([^\"]+)\" \\/\\>/is", $tmp_data, $mat); if (!empty($mat[1])) { $trackback = $mat[1]; } } } //// 트랙백 보내기 if (!empty($trackback)) { $result = ''; $result = sendTrackback($trackback, $trackback_excerpt, $trackback_charset, $data, $board_data, 'cmt'); if ($result) { __error("댓글 수정에 성공했지만 트랙백을 보내지 못했습니다. ({$result})"); } } //// 이미지 치환 if (!empty($is_saveImage) && !empty($data['ment'])) { $data['ment'] = saveImage($data_ex['no'], $data['ment'], $board_data, 'cmt'); sql("UPDATE {$board_data['table_cmt']} SET ment='{$data['ment']}' WHERE no={$data_ex['no']}"); } }
* Created by PhpStorm. * User: Mr.Jadyn * Date: 15/10/4 * Time: 下午5:07 */ /** * 错误码: * * 1:没有填题目 * 2:没有填作者 * 3:没有填内容 * 100:存储成功 */ include_once "connectDB.php"; if (isset($_POST)) { if (checkPost()) { $title = $_POST['title']; $author = $_POST['author']; $content = $_POST['content']; $conn = connect_database(); $conn->query("set names utf8"); $result = $conn->query("insert into article (title,author,content) values('{$title}','{$author}','{$content}')"); if ($result) { echo 100; } } } function checkPost() { if ($_POST['title'] == "") { echo 1;
return false; } // Verify User sanitize the input if ($Login->verifyUserByToken($args['username'], $args['tokenEmail'])) { // Renew the tokenCRFS. This token will be the same inside the session for multiple forms. $Security->generateToken(); Redirect::page('admin', 'dashboard'); return true; } // Bruteforce protection, add IP to blacklist. $Security->addLoginFail(); return false; } // ============================================================================ // Main before POST // ============================================================================ // ============================================================================ // GET Method // ============================================================================ if (!empty($_GET['tokenEmail']) && !empty($_GET['username'])) { checkGet($_GET); } // ============================================================================ // POST Method // ============================================================================ if ($_SERVER['REQUEST_METHOD'] == 'POST') { checkPost($_POST); } // ============================================================================ // Main after POST // ============================================================================
$stripmetaaloud = checkPost($stripmetaaloud, $_frozen_flags['strip_meta']); $striptitlealoud = checkPost($striptitlealoud, $_frozen_flags['strip_title']); $sessioncookiesaloud = checkPost($sessioncookiesaloud, $_frozen_flags['session_cookies']); $loging = checkPost($loging, $_config['log_mode']); $title = checkPost($title, $sitetitle); $footer = checkPost($footer, $sitefooter); $ads22 = checkPost($ads22, $ads2); $ads11 = checkPost($ads11, $ads1); $notes1 = checkPost($notes, $notes1); $defulturl = checkPost($defulturl, $_url); $linkback2 = checkPost($linkback2, $linkback); $Translate = checkPost($Translate, $googlea); $analytics = checkPost($analytics, $googleap); $analyticsp = checkPost($analyticsp, $googlet); $homepagepost = checkPost($homepagepost, $homepage); $homepageimagepost = checkPost($homepageimagepost, $homepageimage); //What time did we save? $savetime = date(DATE_RFC822); //Make a new file to save $settos = <<<OUT <?php /* Original Author: Abdullah Arif Fork Author: Jeffery Schefke License : GNU General Public License phproxyimproved.com */ //Edited to work for Admin Module //Stock proxy settings \$_config = array