Пример #1
0
/** 최근게시물
 * @class io 
 * @param
		-id: 게시판아이디
		-table: 임의지정테이블
		-mode: 최근게시물모드 [!|issue|writer|relate|popup|memo]
		-order: 임의정렬쿼리
		-where: 임의검색쿼리
		-count: 출력수
		-cut_title: 제목길이
		-cut_ment: 내용길이
		-skin: 게시물 스킨
		-skin_not: 게시물이 없을 떄 스킨
		-skin_first: 첫 게시물 스킨
		-debug: debug모드
		-is_key: 키테이블 사용여부
		-type: 종류 [post!|cmt|memo|member]
 * @return Array 스킨이 있을 경우엔 리턴 안됨
 */
function mhot($param)
{
    global $mini;
    $param = param($param);
    def($param['cut_title'], 0);
    def($param['cut_ment'], 0);
    def($param['count'], 5);
    def($param['type'], 'post');
    // 설정 기본값
    def($mini['setting']['issue_interval'], 48);
    if (preg_match("/[^0-9]/", $mini['setting']['issue_interval'])) {
        $mini['setting']['issue_interval'] = 48;
    }
    if (preg_match("/[^0-9\\,]/", $param['count'])) {
        __error('출력개수에는 숫자와 ,만 입력 가능합니다' . ' (' . __FILE__ . ' line ' . __LINE__ . ' in ' . __FUNCTION__ . ')');
    }
    if ($param['count'] > 100) {
        __error('출력개수는 100개를 초과할 수 없습니다' . ' (' . __FILE__ . ' line ' . __LINE__ . ' in ' . __FUNCTION__ . ')');
    }
    $where = $order = $board_data = $table = '';
    $data = $sel_board = array();
    // 복수 게시판 지정(keyTable 이 사용된다)
    if (!empty($param['id']) && (strpos($param['id'], '[') !== false || $param['id'] == '*')) {
        $is_multi = 1;
        // 게시판 나눠넣기
        if (strpos($param['id'], '[') !== false) {
            $sel_board = getStr($param['id']);
        }
    }
    // 테이블 임의지정
    if (!empty($param['table'])) {
        $table = $param['table'];
    }
    // 키테이블 지정
    if (!empty($param['is_key'])) {
        $table = $mini['name']['search'];
    }
    // 아이디로 테이블 지정
    if (!$table && !empty($param['id']) && $param['id'] != '*') {
        if (!empty($mini['board']) && !empty($mini['board']['id']) && $mini['board']['id'] == $param['id']) {
            $board_data =& $mini['board'];
        } else {
            $board_data = getBoard($param['id'], 1);
        }
        $table = $param['type'] == 'post' ? $board_data['table'] : $board_data['table_cmt'];
    }
    // 키테이블인데 글, 댓글이 아닐 경우 에러
    if (!empty($param['is_key']) && $param['type'] != 'post' && $param['type'] != 'cmt') {
        __error('검색테이블을 참조할 때는 글, 댓글 형식만 사용하실 수 있습니다' . ' (' . __FILE__ . ' line ' . __LINE__ . ' in ' . __FUNCTION__ . ')');
    }
    // 특별 모드
    if (!empty($param['mode'])) {
        switch ($param['mode']) {
            case 'issue':
                $where .= " and (issue=1 or (date>=DATE_ADD('{$mini['date']}', INTERVAL -{$mini['setting']['issue_interval']} HOUR) and date<=DATE_ADD('{$mini['date']}', INTERVAL 1 DAY)))";
                $order .= ",issue*999999 + hit + vote*10 desc";
                break;
            case 'writer':
                if (empty($mini['setting']['writer_no'])) {
                    return 0;
                }
                $where .= " and target_member={$mini['setting']['writer_no']}";
                $order .= ",no desc";
                break;
            case 'relate':
                if (empty($mini['setting']['relate'])) {
                    return 0;
                }
                $where .= " and " . sqlSel(explode(",", $mini['setting']['relate']));
                $order .= ",no desc";
                break;
            case 'popup':
                $where .= " and popup=1";
                $order .= ",no desc";
                break;
            case 'memo':
                $table = $mini['name']['memo'];
                $param['count'] = 20;
                $param['type'] = 'memo';
                if (!empty($mini['log'])) {
                    $where .= " and target_member={$mini['member']['no']} and date_read=0 and del_target=0";
                    $order .= ",no";
                }
                break;
        }
    }
    // 여러 테이블 검색시 게시판 정보 로드 및 쿼리 설정
    if (!empty($is_multi)) {
        $q_admin = '';
        if (!empty($param['id']) && !empty($sel_board)) {
            $q_admin .= 'WHERE ' . sqlSel($sel_board);
            //			$where .= " and ".sqlSel($sel_board, 'id');
        }
        $data_board = sql("\n\t\t\tq: SELECT * FROM {$mini['name']['admin']} {$q_admin}\n\t\t\tmode: array\n\t\t");
        $board_name = $board_data_arr = array();
        if (!empty($data_board)) {
            foreach ($data_board as $key => $val) {
                $board_name[$val['no']] = $val['name'];
                parseBoard($val);
                $board_data_arr[$val['no']] = $val;
            }
            unset($data_board);
        }
    }
    // 키 테이블 검색시 종류에 따라 쿼리 설정
    if (!empty($param['is_key'])) {
        $where .= $param['type'] == 'post' ? " and cmt_no=0" : " and cmt_no!=0";
    }
    // 테이블명이 지정되지 않았다면 에러
    if (empty($param['id']) && empty($param['table']) && empty($table)) {
        __error('게시판 아이디나 테이블명을 입력해주세요' . ' (' . __FILE__ . ' line ' . __LINE__ . ' in ' . __FUNCTION__ . ')');
    }
    // 임의 설정 추가
    if (!empty($param['where'])) {
        if (!preg_match("/^ ?(and|or)/i", $param['where'])) {
            $param['where'] = " and ({$param['where']})";
        }
        $where .= $param['where'];
    }
    if (!empty($param['order'])) {
        if (!preg_match("/^\\,/i", $param['order'])) {
            $param['order'] = ",{$param['order']}";
        }
        $order .= $param['order'];
    } else {
        if (empty($order)) {
            $order = ",date desc";
        }
    }
    // 쪽지인데 로그인이 안되어 있다면 넘김
    if (!empty($param['mode']) && $param['mode'] == 'memo' && empty($mini['log'])) {
        return false;
    } else {
        // 쿼리날림
        if ($where) {
            $where = "WHERE " . substr($where, 4);
        }
        if ($order) {
            $order = "ORDER BY " . substr($order, 1);
        }
        // 복수 게시판일 경우
        if (!empty($is_multi)) {
            // 전체 게시판일 때
            if (empty($sel_board) && $param['id'] == '*') {
                $sel_board = array_keys($board_data_arr);
            }
            if (!empty($sel_board)) {
                $tmp_data = array();
                $tmp_data_order = array();
                $order_name = $order_type = '';
                $order_data = array();
                $data = array();
                // order 분석
                if (count(explode(",", $order)) > 1) {
                    __error('정렬 기준은 한개만 가능합니다' . ' (' . __FILE__ . ' line ' . __LINE__ . ' in ' . __FUNCTION__ . ')');
                }
                $tmp_order = explode(" ", str_replace("ORDER BY ", "", $order));
                $order_name = $tmp_order[0];
                $order_type = empty($tmp_order[1]) ? 'asc' : $tmp_order[1];
                unset($tmp_order);
                foreach ($sel_board as $val) {
                    // 키테이블 사용시
                    if (!empty($param['is_key'])) {
                        $tmp_where = !empty($where) ? $where . " and id={$val}" : "WHERE id={$val}";
                        $table = $mini['name']['search'];
                    } else {
                        $tmp_where = $where;
                        $table = $param['type'] == 'post' ? $mini['name']['board'] . $val : $mini['name']['cmt'] . $val;
                    }
                    $tmp_data = array_merge($tmp_data, sql(array('q' => "SELECT * FROM {$table} {$tmp_where} " . (!empty($param['is_key']) ? "GROUP BY num" : "") . " {$order} LIMIT {$param['count']}", 'mode' => 'array', 'extra_name' => 'id', 'extra_value' => $val)));
                }
                // 정렬 기준에 따라서 나눔
                foreach ($tmp_data as $key => $val) {
                    $order_data[$key] = $val[$order_name];
                }
                // 정렬
                if ($order_type == 'asc') {
                    asort($order_data);
                } else {
                    arsort($order_data);
                }
                // 정렬한 순서대로 data 정의
                $i = 0;
                foreach ($order_data as $key => $val) {
                    if ($i >= $param['count']) {
                        break;
                    }
                    $data[$i] = $tmp_data[$key];
                    ++$i;
                }
                unset($tmp_data);
                unset($order_data);
            }
        } else {
            $data = sql(array('q' => "SELECT * FROM {$table} {$where} " . (!empty($param['is_key']) ? "GROUP BY num" : "") . " {$order} LIMIT {$param['count']}", 'mode' => 'array'));
        }
        if (!empty($data)) {
            $a = 0;
            $count_data = count($data);
            foreach ($data as $key => $val) {
                // 여러 게시판 사용시 게시판 정보 입력
                if (!empty($is_multi)) {
                    if (!empty($board_name[$data[$key]['id']])) {
                        $data[$key]['board_name'] = $board_name[$data[$key]['id']];
                    }
                    if (!empty($data[$key]['id'])) {
                        $data[$key]['url_board'] = "{$mini['dir']}mini.php?id={$data[$key]['id']}";
                    }
                    if (!empty($board_data_arr)) {
                        $mini['board_data'] = $board_data_arr[$data[$key]['id']];
                    }
                } else {
                    $mini['board_data'] = $board_data;
                }
                if (!empty($param['is_key'])) {
                    // 키 테이블 사용 시 진짜 자료 로드
                    $val2 = sql("SELECT * FROM " . (!empty($data[$key]['cmt_no']) ? $mini['name']['cmt'] : $mini['name']['board']) . "{$data[$key]['id']} WHERE " . (!empty($data[$key]['cmt_no']) ? "no={$data[$key]['cmt_no']}" : "num={$data[$key]['num']}"));
                    $data[$key] = array_merge($data[$key], $val2);
                }
                // title 은 포함된 변수가 많기 때문에 먼저 잘라준다
                if (!empty($param['cut_title']) && !empty($data[$key]['title'])) {
                    $data[$key]['title'] = strCut($data[$key]['title'], $param['cut_title']);
                }
                // 가공 함수 실행
                $tmp_func = "parse" . ($param['type'] == 'cmt' ? 'comment' : $param['type']);
                if ($count_data == 1) {
                    $tmp_func($data[$key], 'view');
                } else {
                    $tmp_func($data[$key], '');
                }
                // 내용 자르기
                if (!empty($param['cut_ment']) && !empty($data[$key]['ment'])) {
                    $data[$key]['ment'] = strCut($data[$key]['ment'], $param['cut_ment']);
                    $data[$key]['ment_notag'] = strCut($data[$key]['ment_notag'], $param['cut_ment']);
                }
                //					if (!empty($param['debug'])) {
                //						echo nl2br(print_r($data[$key], 1));
                //						exit;
                //					}
                if (!empty($param['skin'])) {
                    $skin = '';
                    if ($a == 0 && !empty($param['skin_first'])) {
                        $skin = $param['skin_first'];
                    } else {
                        $skin = $param['skin'];
                    }
                    // 논리문
                    $preg_left = $preg_right = array();
                    $preg_left[] = "/\\[:([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+):\\]/ie";
                    $preg_right[] = "\$data[{$key}]['\\1']['\\2']['\\3']";
                    $preg_left[] = "/\\[:([a-z0-9_]+)\\.([a-z0-9_]+):\\]/ie";
                    $preg_right[] = "\$data[{$key}]['\\1']['\\2']";
                    $preg_left[] = "/\\[:([a-z0-9_]+):\\]/ie";
                    $preg_right[] = "\$data[{$key}]['\\1']";
                    $skin = preg_replace($preg_left, $preg_right, $skin);
                    echo $skin;
                }
                $a++;
            }
            if (empty($param['skin'])) {
                if (count($data) == 1 && $param['count'] == 1) {
                    return current($data);
                } else {
                    return $data;
                }
            }
        } else {
            if (!empty($param['skin_not'])) {
                echo $param['skin_not'];
            }
        }
    }
}
Пример #2
0
require_once './Cai.php';
//更新网址          http://127.0.0.1/phpAccess.asp
$conn = OpenConn();
$mydbcharset = 'utf8';
//编码 gbk
$DB_PREFIX = @$_REQUEST['db_PREFIX'];
//表前面的前缀
$char = ' ENGINE=MyISAM DEFAULT CHARSET=' . $mydbcharset;
$sqlTables = array("{$DB_PREFIX}admin" => "CREATE TABLE `{$DB_PREFIX}admin` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`username` varchar(255) NOT NULL default '',\n`pwd` varchar(255) NOT NULL default '',\n`pseudonym` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`regip` varchar(255) NOT NULL default '',\n`upip` varchar(255) NOT NULL default '',\n`quanxian` mediumtext,\n`verificationmode` int(8) NOT NULL default '0',\n`adminlevel` varchar(255) NOT NULL default '',\n`channel` varchar(255) NOT NULL default '',\n`mtest` tinyint(1) NOT NULL default '0',\n`flags` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}articledetail" => "CREATE TABLE `{$DB_PREFIX}articledetail` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`parentid` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`views` int(8) NOT NULL default '0',\n`adminid` int(8) NOT NULL default '0',\n`smallimage` varchar(255) NOT NULL default '',\n`bigimage` varchar(255) NOT NULL default '',\n`bannerimage` varchar(255) NOT NULL default '',\n`downloadfile` varchar(255) NOT NULL default '',\n`smallimagealt` varchar(255) NOT NULL default '',\n`bigimagealt` varchar(255) NOT NULL default '',\n`bannerimagealt` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`titlecolor` varchar(255) NOT NULL default '',\n`titlealt` varchar(255) NOT NULL default '',\n`labletitle` varchar(255) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`occasions` varchar(255) NOT NULL default '',\n`hotline` varchar(255) NOT NULL default '',\n`model` varchar(255) NOT NULL default '',\n`author` varchar(255) NOT NULL default '',\n`articlesource` varchar(255) NOT NULL default '',\n`price` float(8) NOT NULL default '0',\n`newprice` float(8) NOT NULL default '0',\n`memberprice` float(8) NOT NULL default '0',\n`sold` int(8) NOT NULL default '0',\n`membertype` varchar(255) NOT NULL default '',\n`memberuser` varchar(255) NOT NULL default '',\n`hits` int(8) NOT NULL default '0',\n`productabout` mediumtext,\n`articledescription` mediumtext,\n`httpurl` varchar(255) NOT NULL default '',\n`recordurl` varchar(255) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`fontcolor` varchar(255) NOT NULL default '',\n`nofollow` int(8) NOT NULL default '0',\n`flags` varchar(255) NOT NULL default '',\n`ishtml` tinyint(1) NOT NULL default '0',\n`isonhtml` tinyint(1) NOT NULL default '0',\n`articleinfostyle` varchar(255) NOT NULL default '',\n`articleinfophotowidth` varchar(255) NOT NULL default '',\n`articleinfophotoheight` varchar(255) NOT NULL default '',\n`relatedtags` varchar(255) NOT NULL default '',\n`weight` int(8) NOT NULL default '0',\n`notebody` mediumtext,\n`aboutcontent` mediumtext,\n`temptxt1` mediumtext,\n`temptxt2` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}bidding" => "CREATE TABLE `{$DB_PREFIX}bidding` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`searchwords` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`showreason` varchar(255) NOT NULL default '',\n`ncomputersearch` int(8) NOT NULL default '0',\n`nmobliesearch` int(8) NOT NULL default '0',\n`ncountsearch` int(8) NOT NULL default '0',\n`nwordprice` int(8) NOT NULL default '0',\n`ndegree` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}caiconfig" => "CREATE TABLE `{$DB_PREFIX}caiconfig` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`bigclassname` varchar(255) NOT NULL default '',\n`stype` varchar(255) NOT NULL default '',\n`saction` varchar(255) NOT NULL default '',\n`startstr` varchar(255) NOT NULL default '',\n`endstr` varchar(255) NOT NULL default '',\n`startaddstr` varchar(255) NOT NULL default '',\n`endaddstr` varchar(255) NOT NULL default '',\n`fieldname` varchar(255) NOT NULL default '',\n`fieldcheck` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}caidata" => "CREATE TABLE `{$DB_PREFIX}caidata` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`bigclassname` varchar(255) NOT NULL default '',\n`columnname` varchar(255) NOT NULL default '',\n`stype` varchar(255) NOT NULL default '',\n`value1` mediumtext,\n`value2` mediumtext,\n`value3` mediumtext,\n`value4` mediumtext,\n`value5` mediumtext,\n`value6` mediumtext,\n`fieldname1` varchar(255) NOT NULL default '',\n`fieldname2` varchar(255) NOT NULL default '',\n`fieldname3` varchar(255) NOT NULL default '',\n`fieldname4` varchar(255) NOT NULL default '',\n`fieldname5` varchar(255) NOT NULL default '',\n`fieldname6` varchar(255) NOT NULL default '',\n`fieldcheck1` varchar(255) NOT NULL default '',\n`fieldcheck2` varchar(255) NOT NULL default '',\n`fieldcheck3` varchar(255) NOT NULL default '',\n`fieldcheck4` varchar(255) NOT NULL default '',\n`fieldcheck5` varchar(255) NOT NULL default '',\n`fieldcheck6` varchar(255) NOT NULL default '',\n`sortrank` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}caiweb" => "CREATE TABLE `{$DB_PREFIX}caiweb` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`bigclassname` varchar(255) NOT NULL default '',\n`columnname` varchar(255) NOT NULL default '',\n`httpurl` varchar(255) NOT NULL default '',\n`morepageurl` varchar(255) NOT NULL default '',\n`charset` varchar(255) NOT NULL default '',\n`thispage` int(8) NOT NULL default '0',\n`countpage` int(8) NOT NULL default '0',\n`stype` varchar(255) NOT NULL default '',\n`sortrank` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}feedback" => "CREATE TABLE `{$DB_PREFIX}feedback` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`columnid` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`feedbacktype` varchar(255) NOT NULL default '',\n`guestname` varchar(255) NOT NULL default '',\n`tel` varchar(255) NOT NULL default '',\n`fax` varchar(255) NOT NULL default '',\n`email` varchar(255) NOT NULL default '',\n`mobile` varchar(255) NOT NULL default '',\n`qq` varchar(255) NOT NULL default '',\n`msn` varchar(255) NOT NULL default '',\n`company` varchar(255) NOT NULL default '',\n`address` varchar(255) NOT NULL default '',\n`postcode` varchar(255) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`fontcolor` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` int(8) NOT NULL default '0',\n`reply` mediumtext,\n`replyip` mediumtext,\n`replydatetime` mediumtext,\n`notebody` mediumtext,\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}friendlink" => "CREATE TABLE `{$DB_PREFIX}friendlink` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`adminid` int(8) NOT NULL default '0',\n`title` varchar(255) NOT NULL default '',\n`titlecolor` varchar(255) NOT NULL default '',\n`labletitle` varchar(255) NOT NULL default '',\n`httpurl` varchar(255) NOT NULL default '',\n`sortrank` int(8) NOT NULL default '0',\n`titlealt` varchar(255) NOT NULL default '',\n`smallimage` varchar(255) NOT NULL default '',\n`smallimagealt` varchar(255) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`fontcolor` varchar(255) NOT NULL default '',\n`nofollow` int(8) NOT NULL default '0',\n`flags` varchar(255) NOT NULL default '',\n`ishtml` tinyint(1) NOT NULL default '0',\n`isonhtml` tinyint(1) NOT NULL default '0',\n`weight` int(8) NOT NULL default '0',\n`notebody` mediumtext,\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}guestbook" => "CREATE TABLE `{$DB_PREFIX}guestbook` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`columnid` varchar(255) NOT NULL default '',\n`parentid` int(8) NOT NULL default '0',\n`title` varchar(255) NOT NULL default '',\n`guestname` varchar(255) NOT NULL default '',\n`tel` varchar(255) NOT NULL default '',\n`fax` varchar(255) NOT NULL default '',\n`email` varchar(255) NOT NULL default '',\n`mobile` varchar(255) NOT NULL default '',\n`qq` varchar(255) NOT NULL default '',\n`msn` varchar(255) NOT NULL default '',\n`company` varchar(255) NOT NULL default '',\n`address` varchar(255) NOT NULL default '',\n`postcode` varchar(255) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`fontcolor` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` int(8) NOT NULL default '0',\n`reply` mediumtext,\n`replyip` mediumtext,\n`replydatetime` mediumtext,\n`notebody` mediumtext,\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}job" => "CREATE TABLE `{$DB_PREFIX}job` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`title` varchar(255) NOT NULL default '',\n`sex` varchar(255) NOT NULL default '',\n`age` varchar(255) NOT NULL default '',\n`education` varchar(255) NOT NULL default '',\n`workarea` varchar(255) NOT NULL default '',\n`monthly` varchar(255) NOT NULL default '',\n`startdatetime` varchar(255) NOT NULL default '',\n`enddatetime` varchar(255) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`fontcolor` varchar(255) NOT NULL default '',\n`nofollow` int(8) NOT NULL default '0',\n`flags` varchar(255) NOT NULL default '',\n`sortrank` int(8) NOT NULL default '0',\n`titlealt` varchar(255) NOT NULL default '',\n`smallimage` varchar(255) NOT NULL default '',\n`smallimagealt` varchar(255) NOT NULL default '',\n`isthrough` int(8) NOT NULL default '0',\n`ishtml` tinyint(1) NOT NULL default '0',\n`isonhtml` tinyint(1) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`notebody` mediumtext,\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}lineqq" => "CREATE TABLE `{$DB_PREFIX}lineqq` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`bigclassname` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`qq` varchar(255) NOT NULL default '',\n`isonlinechat` tinyint(1) NOT NULL default '0',\n`isaddfriend` tinyint(1) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}linevote" => "CREATE TABLE `{$DB_PREFIX}linevote` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`title` varchar(255) NOT NULL default '',\n`option1` varchar(255) NOT NULL default '',\n`option2` varchar(255) NOT NULL default '',\n`option3` varchar(255) NOT NULL default '',\n`option4` varchar(255) NOT NULL default '',\n`option5` varchar(255) NOT NULL default '',\n`option6` varchar(255) NOT NULL default '',\n`num1` int(8) NOT NULL default '0',\n`num2` int(8) NOT NULL default '0',\n`num3` int(8) NOT NULL default '0',\n`num4` int(8) NOT NULL default '0',\n`num5` int(8) NOT NULL default '0',\n`num6` int(8) NOT NULL default '0',\n`isdisplay` tinyint(1) NOT NULL default '0',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`banner` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`fontcolor` varchar(255) NOT NULL default '',\n`fontb` tinyint(1) NOT NULL default '0',\n`onhtml` tinyint(1) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`votetype` tinyint(1) NOT NULL default '0',\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}listmenu" => "CREATE TABLE `{$DB_PREFIX}listmenu` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`title` varchar(255) NOT NULL default '',\n`parentid` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`lablename` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isdisplay` tinyint(1) NOT NULL default '0',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}member" => "CREATE TABLE `{$DB_PREFIX}member` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`usertype` varchar(255) NOT NULL default '',\n`username` varchar(255) NOT NULL default '',\n`pwd` varchar(255) NOT NULL default '',\n`yunpwd` varchar(255) NOT NULL default '',\n`sex` varchar(255) NOT NULL default '',\n`age` int(8) NOT NULL default '0',\n`tel` varchar(255) NOT NULL default '',\n`phone` varchar(255) NOT NULL default '',\n`fax` varchar(255) NOT NULL default '',\n`email` varchar(255) NOT NULL default '',\n`postcode` varchar(255) NOT NULL default '',\n`address` varchar(255) NOT NULL default '',\n`company` varchar(255) NOT NULL default '',\n`regip` varchar(255) NOT NULL default '',\n`loginip` varchar(255) NOT NULL default '',\n`logincount` int(8) NOT NULL default '0',\n`logintime` varchar(250) NOT NULL default '',\n`lastlogintime` varchar(250) NOT NULL default '',\n`openid` varchar(255) NOT NULL default '',\n`accesstoken` varchar(255) NOT NULL default '',\n`nickname` varchar(255) NOT NULL default '',\n`qqphoto` varchar(255) NOT NULL default '',\n`useryear` int(8) NOT NULL default '0',\n`province` varchar(255) NOT NULL default '',\n`city` varchar(255) NOT NULL default '',\n`area` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` int(8) NOT NULL default '0',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}onepage" => "CREATE TABLE `{$DB_PREFIX}onepage` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`title` varchar(255) NOT NULL default '',\n`displaytitle` varchar(255) NOT NULL default '',\n`adminid` int(8) NOT NULL default '0',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`fontcolor` varchar(255) NOT NULL default '',\n`fontb` tinyint(1) NOT NULL default '0',\n`nofollow` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`views` int(8) NOT NULL default '0',\n`isrecommend` tinyint(1) NOT NULL default '0',\n`labletitle` varchar(255) NOT NULL default '',\n`banner` varchar(255) NOT NULL default '',\n`ishtml` tinyint(1) NOT NULL default '0',\n`isonhtml` tinyint(1) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`notebody` mediumtext,\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}payment" => "CREATE TABLE `{$DB_PREFIX}payment` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`username` varchar(255) NOT NULL default '',\n`memberid` varchar(255) NOT NULL default '',\n`sex` varchar(255) NOT NULL default '',\n`age` int(8) NOT NULL default '0',\n`tel` varchar(255) NOT NULL default '',\n`phone` varchar(255) NOT NULL default '',\n`fax` varchar(255) NOT NULL default '',\n`email` varchar(255) NOT NULL default '',\n`postcode` varchar(255) NOT NULL default '',\n`address` varchar(255) NOT NULL default '',\n`company` varchar(255) NOT NULL default '',\n`qqmsn` varchar(255) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` int(8) NOT NULL default '0',\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}previeworder" => "CREATE TABLE `{$DB_PREFIX}previeworder` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`memberid` varchar(255) NOT NULL default '',\n`orderid` varchar(255) NOT NULL default '',\n`productid` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`total` varchar(255) NOT NULL default '',\n`price` int(8) NOT NULL default '0',\n`productsum` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}productcomment" => "CREATE TABLE `{$DB_PREFIX}productcomment` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`username` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`pid` int(8) NOT NULL default '0',\n`ptitle` varchar(255) NOT NULL default '',\n`bodycontent` mediumtext,\n`sort` int(8) NOT NULL default '0',\n`ip` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}searchstat" => "CREATE TABLE `{$DB_PREFIX}searchstat` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`title` varchar(255) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`ishtml` tinyint(1) NOT NULL default '0',\n`isonhtml` tinyint(1) NOT NULL default '0',\n`views` int(8) NOT NULL default '0',\n`author` varchar(255) NOT NULL default '',\n`sortrank` int(8) NOT NULL default '0',\n`fontcolor` varchar(255) NOT NULL default '',\n`nofollow` int(8) NOT NULL default '0',\n`flags` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}systemlog" => "CREATE TABLE `{$DB_PREFIX}systemlog` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`msgstr` mediumtext,\n`tablename` varchar(255) NOT NULL default '',\n`url` mediumtext,\n`adminid` int(8) NOT NULL default '0',\n`adminname` varchar(255) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}tablecomment" => "CREATE TABLE `{$DB_PREFIX}tablecomment` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`userid` int(8) NOT NULL default '0',\n`itemid` int(8) NOT NULL default '0',\n`tablename` varchar(255) NOT NULL default '',\n`username` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`email` varchar(255) NOT NULL default '',\n`tel` varchar(255) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`reply` mediumtext,\n`notebody` mediumtext,\n`isthrough` int(8) NOT NULL default '0',\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}webcolumn" => "CREATE TABLE `{$DB_PREFIX}webcolumn` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`columnname` varchar(255) NOT NULL default '',\n`columnenname` varchar(255) NOT NULL default '',\n`columntype` varchar(255) NOT NULL default '',\n`parentid` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`views` int(8) NOT NULL default '0',\n`adminid` int(8) NOT NULL default '0',\n`isdisplay` tinyint(1) NOT NULL default '0',\n`smallimage` varchar(255) NOT NULL default '',\n`bigimage` varchar(255) NOT NULL default '',\n`bannerimage` varchar(255) NOT NULL default '',\n`flags` varchar(255) NOT NULL default '',\n`displaytitle` varchar(255) NOT NULL default '',\n`labletitle` varchar(255) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`foldername` varchar(255) NOT NULL default '',\n`filename` varchar(255) NOT NULL default '',\n`customaurl` varchar(255) NOT NULL default '',\n`templatepath` varchar(255) NOT NULL default '',\n`target` varchar(255) NOT NULL default '',\n`nofollow` int(8) NOT NULL default '0',\n`fontcolor` varchar(255) NOT NULL default '',\n`fontb` tinyint(1) NOT NULL default '0',\n`ismakehtml` tinyint(1) NOT NULL default '0',\n`npagesize` int(8) NOT NULL default '0',\n`sortsql` varchar(255) NOT NULL default '',\n`ishtml` tinyint(1) NOT NULL default '0',\n`isonhtml` tinyint(1) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`notebody` mediumtext,\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}webdomain" => "CREATE TABLE `{$DB_PREFIX}webdomain` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`bigclassname` varchar(255) NOT NULL default '',\n`website` varchar(255) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`webstate` int(8) NOT NULL default '0',\n`openspeed` int(8) NOT NULL default '0',\n`charset` varchar(255) NOT NULL default '',\n`content_type` varchar(255) NOT NULL default '',\n`server_name` varchar(255) NOT NULL default '',\n`isasp` tinyint(1) NOT NULL default '0',\n`isaspx` tinyint(1) NOT NULL default '0',\n`isphp` tinyint(1) NOT NULL default '0',\n`isjsp` tinyint(1) NOT NULL default '0',\n`ishtm` tinyint(1) NOT NULL default '0',\n`ishtml` tinyint(1) NOT NULL default '0',\n`nlinks` int(8) NOT NULL default '0',\n`links` mediumtext,\n`homepagelist` varchar(255) NOT NULL default '',\n`flags` varchar(255) NOT NULL default '',\n`websize` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isdomain` tinyint(1) NOT NULL default '0',\n`isthrough` tinyint(1) NOT NULL default '0',\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}weblayout" => "CREATE TABLE `{$DB_PREFIX}weblayout` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`layoutname` varchar(255) NOT NULL default '',\n`layoutlist` varchar(255) NOT NULL default '',\n`sourcestr` varchar(255) NOT NULL default '',\n`replacestr` varchar(255) NOT NULL default '',\n`actioncontent` mediumtext,\n`sortrank` int(8) NOT NULL default '0',\n`isdisplay` tinyint(1) NOT NULL default '0',\n`author` varchar(255) NOT NULL default '',\n`views` int(8) NOT NULL default '0',\n`adminid` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}webmodule" => "CREATE TABLE `{$DB_PREFIX}webmodule` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`moduletype` varchar(255) NOT NULL default '',\n`modulename` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`sortrank` int(8) NOT NULL default '0',\n`isdisplay` tinyint(1) NOT NULL default '0',\n`author` varchar(255) NOT NULL default '',\n`views` int(8) NOT NULL default '0',\n`adminid` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`aboutcontent` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}website" => "CREATE TABLE `{$DB_PREFIX}website` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`websiteurl` varchar(255) NOT NULL default '',\n`websitebottom` mediumtext,\n`websiteflow` int(8) NOT NULL default '0',\n`websiteflowstyle` int(8) NOT NULL default '0',\n`websiteflowmedian` int(8) NOT NULL default '0',\n`productlist` varchar(255) NOT NULL default '',\n`newslist` varchar(255) NOT NULL default '',\n`newsdid` varchar(255) NOT NULL default '',\n`tz51la` varchar(255) NOT NULL default '',\n`useremail` varchar(255) NOT NULL default '',\n`productdid` varchar(255) NOT NULL default '',\n`templateindex` mediumtext,\n`templatehome` mediumtext,\n`templatemain` mediumtext,\n`templatemain2` mediumtext,\n`templatemain3` mediumtext,\n`usenumb` mediumtext,\n`webrecord` varchar(255) NOT NULL default '',\n`contentwebrecord` mediumtext,\n`usehttpurl` varchar(255) NOT NULL default '',\n`tempusehttpurl` mediumtext,\n`webdate` varchar(250) NOT NULL default '',\n`webtitle` varchar(255) NOT NULL default '',\n`webkeywords` varchar(255) NOT NULL default '',\n`webdescription` mediumtext,\n`webtemplate` varchar(255) NOT NULL default '',\n`webskins` varchar(255) NOT NULL default '',\n`webfoldername` varchar(255) NOT NULL default '',\n`webimages` varchar(255) NOT NULL default '',\n`webcss` varchar(255) NOT NULL default '',\n`webjs` varchar(255) NOT NULL default '',\n`addwebsite` tinyint(1) NOT NULL default '0',\n`updatehtml` tinyint(1) NOT NULL default '0',\n`ishtmlformatting` tinyint(1) NOT NULL default '0',\n`isweblabelclose` tinyint(1) NOT NULL default '0',\n`iscntoen` tinyint(1) NOT NULL default '0',\n`flags` varchar(255) NOT NULL default '',\n`moduleskins` varchar(255) NOT NULL default '',\n`findtpl` varchar(255) NOT NULL default '',\n`replacetpl` varchar(255) NOT NULL default '',\n`webcodefindtpl` varchar(255) NOT NULL default '',\n`webcodereplacetpl` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`webhtml` varchar(255) NOT NULL default '',\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}websitestat" => "CREATE TABLE `{$DB_PREFIX}websitestat` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`visiturl` mediumtext,\n`viewurl` mediumtext,\n`browser` varchar(255) NOT NULL default '',\n`operatingsystem` varchar(255) NOT NULL default '',\n`screenwh` varchar(255) NOT NULL default '',\n`moreinfo` mediumtext,\n`viewdatetime` varchar(250) NOT NULL default '',\n`ip` varchar(255) NOT NULL default '',\n`dateclass` varchar(255) NOT NULL default '',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` int(8) NOT NULL default '0',\n`noteinfo` mediumtext,\n`bodycontent` mediumtext,\nPRIMARY KEY  (`Id`)\n){$char};", "{$DB_PREFIX}weburlscan" => "CREATE TABLE `{$DB_PREFIX}weburlscan` (\n`id` int(5) unsigned NOT NULL auto_increment,\n`bigclassname` varchar(255) NOT NULL default '',\n`linktype` varchar(255) NOT NULL default '',\n`website` varchar(255) NOT NULL default '',\n`title` varchar(255) NOT NULL default '',\n`httpurl` varchar(255) NOT NULL default '',\n`totitle` varchar(255) NOT NULL default '',\n`tohttpurl` varchar(255) NOT NULL default '',\n`webstate` int(8) NOT NULL default '0',\n`openspeed` int(8) NOT NULL default '0',\n`charset` varchar(255) NOT NULL default '',\n`content_type` varchar(255) NOT NULL default '',\n`link_count` int(8) NOT NULL default '0',\n`websize` int(8) NOT NULL default '0',\n`sortrank` int(8) NOT NULL default '0',\n`adddatetime` varchar(250) NOT NULL default '',\n`updatetime` varchar(250) NOT NULL default '',\n`isthrough` tinyint(1) NOT NULL default '0',\nPRIMARY KEY  (`Id`)\n){$char};");
//表前缀不为空 则修改config.php配置文件
if ($DB_PREFIX != '') {
    $configPath = handlePath("./config.php");
    if (checkfile($configPath) == true) {
        require_once './Cai.php';
        $content = getFText($configPath);
        $s = strCut($content, '; $db_PREFIX= \'', '\'', 1);
        $content = replace($content, $s, '; $db_PREFIX= \'' . $DB_PREFIX . '\'');
        createFile($configPath, $content);
        echo '修改config.php配置文件完成<hr>';
    }
}
foreach ($sqlTables as $tableName => $tableSql) {
    $conn->query("DROP TABLE IF EXISTS {$tableName}");
    //为删除表
    $conn->query($tableSql);
    //为创建表
    echo "创建数据表 {$tableName} 成功>><br>";
}
echo '<a href="../admin/index.php" target="_blank">登录后台</a>';
echo '&nbsp; | &nbsp;<a href="../admin/index.php?act=setAccess&webdataDir=/Templates2015/sharembweb/WebData&login=out" target="_blank">导入默认数据</a>';
if (@$_REQUEST['loginname'] != '' && @$_REQUEST['loginpwd'] != '') {
Пример #3
0
/** 파일 체크
 * @class file
 * @param
		-dir: 업로드할 디렉토리
		-target: $_FILES 중에서 하나만 지정한 key값
		-size: 최대용량 제한
		-width: 이미지 너비 제한
		-height: 이미지 높이 제한
		-filename: 파일이름 강제로 지정하기
		-is_overwrite: 같은 파일명이 있으면 덮어 씌움
		-is_download: 다운로드만 받을 수 있도록 파일명을 조절
		-is_exists: 같은 파일명이 있으면 중지
		-is_image: 이미지 파일만 허용
		-is_none: 파일 없음을 허용
 */
function chkFile($param = '')
{
    global $mini, $_FILES;
    iss($param);
    $param = param($param);
    iss($param['dir']);
    iss($param['target']);
    iss($param['size']);
    iss($param['width']);
    iss($param['height']);
    iss($param['filename']);
    iss($param['is_overwrite']);
    iss($param['is_download']);
    iss($param['is_exists']);
    iss($param['is_image']);
    iss($param['is_none']);
    if (!is_array($_FILES) && !$param['is_none']) {
        __error("업로드된 파일이 없습니다");
    }
    if (count($_FILES) < 1) {
        __error("업로드된 파일이 없거나, 용량을 초과 했습니다.");
    }
    if (!$param['dir']) {
        __error("업로드 디렉토리가 지정되지 않았습니다");
    }
    if (!empty($param['dir']) && !preg_match("/(\\/|\\\\)\$/", $param['dir'])) {
        $param['dir'] .= "/";
    }
    // 업로드 디렉토리 생성
    if (!is_dir($param['dir'])) {
        if (!@mkdir($param['dir'], 0707)) {
            __error("[{$param['dir']}] 업로드 디렉토리를 생성할 수 없습니다.");
        }
    }
    $limitsize = getByte(get_cfg_var("upload_max_filesize"), 'decode');
    $param['size'] = $param['size'] && $limitsize > $param['size'] ? $param['size'] : $limitsize;
    foreach ($_FILES as $key => $val) {
        iss($val['is_image']);
        //// 타겟 체크
        if ($param['target'] && $param['target'] != $key) {
            continue;
        }
        //// 파일 없음 체크
        if (!$val['name']) {
            if ($param['is_none']) {
                continue;
            } else {
                __error("[{$key}] 파일명이 없습니다");
            }
        } else {
            $filename = $filename_org = $val['name'];
            $tmp_filename = str($val['name'], 'encode', 1);
        }
        //// 기본 error 체크
        if (!empty($val['error'])) {
            switch ($val['error']) {
                // 스킵
                case 'UPLOAD_ERR_OK':
                case 0:
                case 'UPLOAD_ERR_NO_FILE':
                case 4:
                    break;
                case 'UPLOAD_ERR_INI_SIZE':
                case 1:
                    __error("[{$tmp_filename}] 파일 용량이 " . ini_get("upload_max_filesize") . "를 초과할 수 없습니다.\\n(php.ini, upload_max_filesize 설정에서 변경가능)");
                case 'UPLOAD_ERR_FORM_SIZE':
                case 2:
                    __error("[{$tmp_filename}] 파일 용량이 초과 되었습니다.\\n(해당 Form 의 MAX_FILE_SIZE 설정에서 변경 가능합니다)");
                case 'UPLOAD_ERR_PARTIAL':
                case 3:
                    __error("[{$tmp_filename}] 업로드된 파일이 올바르지 않습니다");
                case 'UPLOAD_ERR_NO_TMP_DIR':
                case 6:
                    __error("임시 폴더가 없어 파일을 업로드 할 수 없습니다. 서버 관리자에게 문의해 주세요.\\n(설정된 임시 폴더는 " . ini_get("upload_tmp_dir") . " 입니다)");
                case 'UPLOAD_ERR_CANT_WRITE':
                case 7:
                    __error("디스크에 쓰기를 실패 했습니다. 서버 관리자에게 문의해 주세요");
            }
        }
        //// 파일명 체크
        if ($param['filename']) {
            $filename = $param['filename'];
        }
        $filename = str_replace(array("|", "'", "\"", "\\"), "", $filename);
        $filename = trim($filename);
        //// 확장자 체크
        $val['ext'] = strtolower(substr(strrchr($filename, "."), 1));
        //// 이미지 관련 체크
        $is_image = getimagesize($val['tmp_name']);
        if (!empty($is_image) && is_array($is_image)) {
            $val['is_image'] = 1;
            $val['width'] = $is_image[0];
            $val['height'] = $is_image[1];
        } else {
            $val['is_image'] = 0;
        }
        //// 파일타입
        $val['type'] = getFileType($val['ext']);
        if ($val['type'] == 'image' && empty($val['is_image'])) {
            __error("[{$tmp_filename}] 이미지 파일이 아닙니다");
        }
        if (!$val['is_image'] && $param['is_image']) {
            __error("[{$tmp_filename}] 이미지 파일만 허용합니다");
        }
        if ($val['is_image']) {
            if ($param['width'] && $param['width'] < $val['width']) {
                __error("[{$tmp_filename}] 이미지 너비가 {$param['width']}px 를 초과 했습니다. (현재 {$val['width']}px)");
            }
            if ($param['height'] && $param['height'] < $val['height']) {
                __error("[{$tmp_filename}] 이미지 높이가 {$param['height']}px 를 초과 했습니다. (현재 {$val['height']}px)");
            }
        }
        //// 한글제거
        if (strCut($filename, 0, 'multi')) {
            $filename = urlencode($filename);
        }
        //// 기호제거
        $filename = preg_replace("/[^0-9a-z_\\-\\.]/i", "", $filename);
        //// 파일명 변경
        if ($param['is_download']) {
            $filename = str_replace(".", "_", $filename);
            $filename .= ".mb";
        }
        //// 중복 체크
        if (file_exists($param['dir'] . $filename) && !$param['is_overwrite']) {
            if ($param['is_exists']) {
                __error("[{$tmp_filename}] 중복된 파일명입니다.");
            }
            $a = 0;
            $tmp2_filename = $filename;
            while (file_exists($param['dir'] . $tmp2_filename)) {
                $a++;
                if (strpos($filename, ".") !== false) {
                    $tmp2_filename = preg_replace("/(\\.?[^\\.]+)\$/is", $a . "\\1", $filename);
                } else {
                    $tmp2_filename = $filename . $a;
                }
            }
            $filename = $tmp2_filename;
        }
        //// 내용 중복
        if (!empty($val['size']) && !empty($mini['board']['use_file_unique']) && !empty($mini['board']['no'])) {
            if (sql("SELECT COUNT(*) FROM {$mini['name']['file']} WHERE id={$mini['board']['no']} and hash='" . str(getHash($val), 'encode', 1) . "'")) {
                __error("[{$tmp_filename}] 이미 같은 파일이 있습니다");
            }
        }
        //// 용량 체크
        if ($param['size'] && $param['size'] < $val['size']) {
            __error("[{$tmp_filename}] 파일 용량이 " . number_format($param['size']) . " bytes를 초과할 수 없습니다\\n(현재 {$val['size']}bytes)");
        }
        if ($val['size'] <= 0) {
            __error("[{$tmp_filename}] 파일 용량은 0 byte 이상이어야 합니다");
        }
        //// 변수 입력
        $val['path'] = $param['dir'] . $filename;
        $val['path_only'] = $param['dir'];
        $val['name_insert'] = $filename;
        $_FILES[$key] = $val;
    }
}
Пример #4
0
function select()
{
    global $db;
    global $load;
    global $juli;
    global $page;
    global $sqlsex;
    global $juli;
    global $umd5;
    global $jiedao;
    if ($juli == '1') {
        //$res_user = $db->row_select_one("user","umd5 = '$umd5' "," zaina");
        //$diqu = strCut($res_user['zaina'],4);
        //echo $jiedao;
        if (empty($jiedao)) {
            //echo $umd5;
            $res_user = $db->row_select_one("user", "umd5 = '{$umd5}' ", " zaina");
            $diqu = strCut($res_user['zaina'], 4);
            //print_r($res_user);
            //echo $res_user['zaina'];
        } else {
            //echo $jiedao;
            $diqu = strCut($jiedao, 4);
        }
        //echo $diqu;
        if ($load == 'f' || $load == 'r') {
            /*{
            			time: "1412991387",
            			jiedao: "北京市海淀区复兴路",
            			umd5: "ff9e537dbea1b731de24c85116a2fff8",
            			age: "25",
            			sex: "1",
            			headurl: "http://img1.touxiang.cn/uploads/20121129/29-032851_236.jpg",
            			province: "",
            			city: "北京市",
            			name: "杨旸"
            		}*/
            $res_temp = $db->row_select_order("user", "zaina LIKE '{$diqu}%' {$sqlsex} ", 10, "name,city,province,headurl,sex,age,umd5,zaina");
            foreach ($res_temp as $item) {
                $tmparr['time'] = '';
                $tmparr['jiedao'] = $item['zaina'];
                $tmparr['umd5'] = $item['umd5'];
                $tmparr['age'] = $item['age'];
                $tmparr['sex'] = $item['sex'];
                $tmparr['headurl'] = $item['headurl'];
                $tmparr['province'] = $item['province'];
                $tmparr['city'] = $item['city'];
                $tmparr['name'] = $item['name'];
                $res[] = $tmparr;
            }
        } else {
            if ($load == 'l') {
                $pagenum = 10;
                //每一页显示的数目
                if ($page <= 0) {
                    $page = 1;
                }
                if ($page > 20) {
                    json('no', '时代已久远', '');
                }
                $start = $page * $pagenum;
                $res_temp = $db->row_select_order("user", "zaina LIKE '{$diqu}%' {$sqlsex} ", "{$start},{$pagenum}", "name,city,province,headurl,sex,age,umd5,zaina");
                foreach ($res_temp as $item) {
                    $tmparr['time'] = '';
                    $tmparr['jiedao'] = $item['zaina'];
                    $tmparr['umd5'] = $item['umd5'];
                    $tmparr['age'] = $item['age'];
                    $tmparr['sex'] = $item['sex'];
                    $tmparr['headurl'] = $item['headurl'];
                    $tmparr['province'] = $item['province'];
                    $tmparr['city'] = $item['city'];
                    $tmparr['name'] = $item['name'];
                    $res[] = $tmparr;
                }
            }
        }
    } else {
        if ($load == 'f') {
            $res = $db->row_query("SELECT zaina.time ,zaina.jiedao,zaina.umd5,`user`.age ,`user`.sex ,`user`.headurl ,`user`.province,`user`.city,`user`.`name`\n\t\t\t\t\t\t\t\t\t\t\t\tFROM zaina  LEFT JOIN `user`  ON (zaina.umd5=`user`.umd5) WHERE zaina.time > 1410878567   {$sqlsex}   ORDER BY zaina.id DESC  LIMIT  0,10 ");
        } else {
            if ($load == 'r') {
                $res = $db->row_query("SELECT zaina.time ,zaina.jiedao,zaina.umd5,`user`.age ,`user`.sex ,`user`.headurl ,`user`.province,`user`.city,`user`.`name`\n\t\t\t\t\t\t\t\t\t\t\t\tFROM zaina  LEFT JOIN `user`  ON (zaina.umd5=`user`.umd5) WHERE 1=1    {$sqlsex}   ORDER BY zaina.id DESC  LIMIT  0,10 ");
            } else {
                if ($load == 'l') {
                    $pagenum = 10;
                    //每一页显示的数目
                    if ($page <= 0) {
                        $page = 1;
                    }
                    if ($page > 20) {
                        json('no', '时代已久远', '');
                    }
                    $start = $page * $pagenum;
                    $res = $db->row_query("SELECT zaina.time ,zaina.jiedao,zaina.umd5,`user`.age ,`user`.sex ,`user`.headurl ,`user`.province,`user`.city,`user`.`name`\n\t\t\t\t\t\t\t\t\t\t\t\tFROM zaina  LEFT JOIN `user`  ON (zaina.umd5=`user`.umd5) WHERE zaina.time > 1408204280  {$sqlsex}   ORDER BY zaina.id DESC  LIMIT {$start},{$pagenum} ");
                }
            }
        }
    }
    return $res;
}
Пример #5
0
/** 문자열 인덱싱
 * @class String
 * @param
		$data: 문자열
		$mode: tag뽑기모드일때 tag, 검색모드일때 search
 * @return Array index Strings
 */
function getIndex($data, $mode = '')
{
    global $mini;
    $output = array();
    //// 패턴 입력
    if ($mini['set']['lang'] == 'UTF-8') {
        $pattern = array("와", "과", "을", "를", "은", "는", "이", "가", "도", "고", "에서", "에게", "에", "보다", "의", "이다", "니다", "다", "로서", "로써", "로부터", "부터", "으로");
    } else {
        $pattern = array("��", "��", "��", "��", "��", "��", "��", "��", "��", "��", "����", "����", "��", "����", "��", "�̴�", "�ϴ�", "��", "�μ�", "�ν�", "�κ���", "����", "����");
    }
    //// 복수공백 제거, 공백기호 적용
    $data = preg_replace("/&#34;|&#039;|&#124;|[\\x28\\x29\\x2A-\\x2F\\x5B\\x5D\\x7B\\x7D\\x7E]/s", " ", $data);
    //// 태그, 특수기호 제거
    $data = preg_replace(array("/\\<[^\\>]+\\>/s", "/&lt;|&gt;|&amp;/s", "/[\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]/s"), "", $data);
    //// 공백을 기준으로 나눔
    $mat = preg_split("/\\s+/is", $data, -1, PREG_SPLIT_NO_EMPTY);
    //// 나눠진 토큰을 기준으로 규칙 적용
    if (is_array($mat)) {
        foreach ($mat as $key => $val) {
            $val = trim($val);
            if ($val && strCut($val) >= 2 && $mode != 'search') {
                // 불필요 조사 제거(글 등록때)
                if (!$mode) {
                    $val = preg_replace("/^(" . implode("|", $pattern) . ")\$/", "", $val);
                } else {
                    $val = preg_replace("/(" . implode("|", $pattern) . ")\$/", "", $val);
                }
                if ($val) {
                    if ($mode != 1) {
                        // 1byte문자는 3글자, 2byte문자는 2글자를 기준으로 패턴 적용한다.
                        $check = array();
                        $check = strCut($val, 0, 'both');
                        if ($check['is_multi'] && $check['length'] >= 4 || !$check['is_multi'] && $check['length'] >= 3) {
                            while ($val && strCut($val, 0) >= 3) {
                                $output[] = $val;
                                $val = preg_replace("/^" . ($check['is_multi'] ? strCut($val, 2, '') : strCut($val, 1, '')) . "/s", "", $val);
                            }
                        } else {
                            $output[] = $val;
                        }
                    } else {
                        $output[] = $val;
                    }
                }
            } else {
                $output[] = $val;
            }
        }
    }
    //// 중복 제거
    $output = array_unique($output);
    return $output;
}
Пример #6
0
/** POST 파싱
 * @class view
 * @param
		$data: DB 데이터
		$mode: parse Mode [list|view|mhot 등]
		$ret: return 모드
 * @return 
 */
function parsePost(&$data, $mode = 'list', $ret = 0)
{
    global $mini;
    iss($data['prev']);
    iss($data['next']);
    // 외부 게시판 설정 적용
    $board_data = !empty($mini['board_data']) ? $mini['board_data'] : $mini['board'];
    // decode
    foreach ($data as $key => $val) {
        str($data[$key], 'decode');
    }
    // 주소설정
    //+ .htaccess 설정에 따라 다르게 해야함
    if (true) {
        $data['url_pdir'] = "{$mini['pdir']}mini.php?id={$board_data['id']}&amp;no={$data['no']}";
        $data['url_trackback'] = "{$mini['pdir']}trackback.php?id={$board_data['id']}&amp;no={$data['no']}";
    } else {
    }
    if ($mode == 'pdir') {
        return str_replace("&amp;", "&", $data['url_pdir']);
    }
    // 추가필드
    iss($data['field']);
    if ($data['field']) {
        $data['field'] = unserialize($data['field']);
        if (is_array($data['field'])) {
            ksort($data['field']);
        }
    }
    // 링크
    iss($data['link']);
    if ($data['link']) {
        $data['link'] = unserialize($data['link']);
    }
    // 권한 뽑음
    $data['permit_handle'] = !empty($mini['member']['level_admin']) || !empty($data['target_member']) && !empty($mini['log']) && $data['target_member'] == $mini['member']['no'] || empty($data['target_member']) && empty($mini['log']);
    // 링크 설정
    $data['url_view'] = getPermit("name:view") ? "{$mini['dir']}mini.php?id={$board_data['id']}&amp;no={$data['no']}" . getURI("no, id") : "";
    $data['url_del'] = $data['permit_handle'] && !empty($_SESSION['pageKey']) ? "{$mini['dir']}write.x.php?mode=del&amp;no={$data['no']}&amp;pageKey={$_SESSION['pageKey']}" . getURI("no") : "";
    $data['url_modify'] = $data['permit_handle'] || getPermit("name:edit") ? "{$mini['dir']}write.php?mode=modify&amp;no={$data['no']}" . getURI("no, mode") : "";
    $data['url_cmt'] = "{$mini['dir']}mini.php?id={$board_data['id']}&amp;no={$data['no']}&amp;new=1" . getURI("id, no, start, div, sort, s, quick, and, is_cmt");
    $data['url_report'] = "{$mini['dir']}report.php?id={$board_data['id']}&amp;mode=post&amp;no={$data['no']}";
    $data['pop_report'] = "iiPopup.init({ url: \"{$data['url_report']}\", width:iiSize[\"report\"][0], height:iiSize[\"report\"][1] });";
    $data['pop_cmt'] = "iiPopup.init({ url: \"{$data['url_cmt']}\", width:iiSize[\"cmt\"][0], height:iiSize[\"cmt\"][1] }); return false;";
    $data['js_vote'] = "onclick='votes({ mode: \"vote\", id: \"{$board_data['id']}\", no: \"{$data['no']}\" });'";
    $data['js_hate'] = "onclick='votes({ mode: \"hate\", id: \"{$board_data['id']}\", no: \"{$data['no']}\" });'";
    $data['url_manage'] = "{$mini['dir']}manage.php?id={$board_data['id']}&amp;group={$_REQUEST['group']}&amp;mode=post&amp;no[]={$data['no']}&amp;url=" . url();
    $data['pop_manage'] = "iiPopup.init({ url: \"{$data['url_manage']}\", width:iiSize[\"manage\"][0], height:iiSize[\"manage\"][1] }); return false;";
    $data['url_manage_report'] = "{$mini['dir']}manage.php?id={$board_data['id']}&amp;group={$_REQUEST['group']}&amp;mode=post&amp;report=1&amp;no[]={$data['no']}&amp;url=" . url();
    $data['pop_manage_report'] = "iiPopup.init({ url: \"{$data['url_manage_report']}\", width:iiSize[\"manage\"][0], height:iiSize[\"manage\"][1] }); return false;";
    $data['url_report_view'] = "{$mini['dir']}manage.php?id={$board_data['id']}&amp;mode=post&amp;no={$data['no']}&amp;url=" . url();
    $data['pop_report_view'] = "iiPopup.init({ url: \"{$data['url_report_view']}\", width:iiSize[\"manage\"][0], height:iiSize[\"manage\"][1] }); return false;";
    $data['js_name'] = "onclick='view_member.open(event, { target_member: \"{$data['target_member']}\", id: \"{$board_data['id']}\", post_no: \"{$data['no']}\" })'";
    $data['js_trackback_view'] = "onclick='getTrackback(\"{$data['no']}\"); return false;'";
    // 조회기록 기능
    if (!empty($board_data['use_unique_view']) && !empty($mini['member']) && inStr($mini['member']['no'], $data['history_hit'])) {
        $data['is_read'] = 1;
    }
    // 댓글수
    if (!empty($data['count_trackback']) && $mode == 'list') {
        $data['count_comment'] += $data['count_trackback'];
    }
    // 번호
    $data['view_no'] = $board_data['use_view_no'] ? 4294967296 - $data['num'] : $data['no'];
    // 이름
    parseName($data);
    // 관리자 체크박스
    $data['checkbox'] = !empty($mini['member']['level_admin']) ? "<input type='checkbox' name='no[]' value='{$data['no']}' class='middle' />" : "";
    // 현재글
    $data['is_now'] = !empty($_REQUEST['no']) && $_REQUEST['no'] == $data['no'] ? 1 : 0;
    // 반대
    $data['is_hate'] = !empty($mini['member']['level_admin']) || !empty($mini['member']['no']) && $mini['member']['no'] == $data['target_member'];
    // 글 상태 설정
    if (empty($data['status'])) {
        if (!empty($board_data['status_hit']) && $data['hit'] >= $board_data['status_hit']) {
            $data['status'] = 'hit';
        }
        if (!empty($board_data['status_hate']) && $data['hate'] >= $board_data['status_hate']) {
            $data['status'] = 'hate';
        }
        if (!empty($board_data['status_vote']) && $data['vote'] >= $board_data['status_vote']) {
            $data['status'] = 'vote';
        }
    }
    // 날짜
    if ($data['date_notice'] == '0000-00-00 00:00:00') {
        $data['date_notice'] = '';
    }
    if ($data['date_popup'] == '0000-00-00 00:00:00') {
        $data['date_popup'] = '';
    }
    if ($data['date_issue'] == '0000-00-00 00:00:00') {
        $data['date_issue'] = '';
    }
    $data['time'] = strtotime($data['date']);
    $data['date_out'] = $mode == 'view' ? date($board_data['date_view'], $data['time']) : date($board_data['date_list'], $data['time']);
    $data['date_str'] = $mini['time'] - $data['time'] < $mini['set']['date_str'] * 86400 ? dateSec($mini['time'] - $data['time']) . "전" : "";
    $data['date_simple'] = date("H:i", $data['time']);
    $data['date_notice_str'] = !empty($data['date_notice']) ? dateSec(strtotime($data['date_notice']) - $mini['time']) : "";
    $data['date_popup_str'] = !empty($data['date_popup']) ? dateSec(strtotime($data['date_popup']) - $mini['time']) : "";
    $data['date_issue_str'] = !empty($data['date_issue']) ? dateSec(strtotime($data['date_issue']) - $mini['time']) : "";
    // 마지막 댓글
    iss($data['date_comment_str']);
    iss($data['date_comment_time']);
    if (!empty($data['date_comment']) && $data['date_comment'] != '0000-00-00 00:00:00') {
        $data['date_comment_time'] = strtotime($data['date_comment']);
        $data['date_comment_str'] = $mini['time'] - $data['date_comment_time'] < $mini['set']['date_str'] * 86400 ? dateSec($mini['time'] - $data['date_comment_time']) . "전" : date("m/d H:i", $data['date_comment_time']);
    }
    // 이슈글 가중치
    $data['issue_point'] = $data['issue'] * 999999 + $data['hit'] + $data['vote'] * 10;
    // 카테고리
    if (!empty($data['category'])) {
        $data['category'] = getStr($data['category']);
        $data['category_name'] = array();
        if (!empty($data['category'])) {
            foreach ($data['category'] as $key => $val) {
                $data['category_name'][$key] = $board_data['category_name'][$val];
            }
        }
    }
    // 태그
    if ($data['tag']) {
        $data['tag'] = getStr($data['tag']);
    }
    // 내용
    if (!empty($data['ment']) && !empty($data['autobr'])) {
        $data['ment'] = nl2br($data['ment']);
    }
    $data['ment'] = str_replace("<br /><!--n-->", "\n", $data['ment']);
    if (strpos($data['ment'], "<pre title='code'") !== false) {
        $mini['is_syntax'] = 1;
    }
    // 제목
    $data['title_text'] = $data['title'];
    if (!empty($mini['setting']['title_cut'])) {
        $data['title'] = strCut($data['title'], $mini['setting']['title_cut']);
    }
    if (!empty($board_data['cut_title']) && $mode == 'list') {
        $data['title'] = strCut($data['title'], $board_data['cut_title']);
    }
    // 제목 앞에 태그가 있을 경우 태그를 이어줌
    if (strpos($data['title_text'], '<') === 0) {
        $mat = array();
        preg_match("/^\\<([^\\>]+)\\>/i", $data['title_text'], $mat);
        if (!empty($mat)) {
            $tmp_mat = explode(" ", $mat[1]);
            if (preg_match("/^(b|i|u|strike|strong|span|font|h1|h2|h3|h4|h5|h6)\$/i", $tmp_mat[0])) {
                $data['title'] = "{$mat[0]}{$data['title']}</{$tmp_mat[0]}>";
            } else {
                if (preg_match("/^img\$/i", $tmp_mat[0])) {
                    $data['title'] = "{$mat[0]}{$data['title']}";
                }
            }
        }
    }
    // 파일
    $data['is_file'] = 0;
    if (!empty($data['file'])) {
        unset($file);
        $file = sql("\n\t\t\t\tq: SELECT * FROM {$mini['name']['file']} WHERE " . sqlSel($data['file']) . " " . ($mode != 'view' ? "LIMIT 1" : "") . "\n\t\t\t\tmode: array\n\t\t\t");
        if (!empty($file)) {
            $data['is_file'] = 1;
            $data['file_data'] = array();
            // 파일 링크 만들기
            foreach ($file as $key => $val) {
                $tmp_no = $key + 1;
                $data["url_file{$tmp_no}"] = "{$mini['dir']}download.php?mode=view&amp;no={$val['no']}";
                $data["link_file{$tmp_no}"] = "href='{$mini['dir']}download.php?no={$val['no']}'";
                $data['file_data'][$tmp_no] = parseFile($val, 1);
            }
            unset($file);
        }
    }
    // XHTML 설정
    $data['ment'] = str_replace(array("&amp;lt;script", "&amp;lt;/script"), array("&lt;script", "&lt;/script"), $data['ment']);
    $data['title'] = str_replace(array("&amp;lt;script", "&amp;lt;/script"), array("&lt;script", "&lt;/script"), $data['title']);
    // 경고
    if (!empty($data['alert']) && !empty($board_data['use_alert'])) {
        $data['ment'] = "<div class='alertDiv'>경고(!) 클릭하시면 내용이 펼쳐집니다. 위험한 내용이나 스포일러성 내용이 포함되어 있을 수 있습니다.</div><span style='display:none;'>{$data['ment']}</span>";
    }
    // 댓글
    $data['cmt'] = '';
    if ($data['count_comment']) {
        $data['cmt'] = str_replace(array("[:data:]", "[:link:]"), array($data['count_comment'], ''), $mini['time'] - $data['date_comment_time'] <= $board_data['status_new_cmt'] * 3600 ? $board_data['cmt_skin_new'] : $board_data['cmt_skin']);
        str($data['cmt'], 'decode');
    }
    // 댓글 점수 없앰
    if (empty($board_data['use_cmt_point'])) {
        $data['point'] = 0;
    }
    // 핑백보낸것
    $data['pingback_arr'] = getStr($data['pingback']);
    $data['pingback_count'] = count($data['pingback_arr']);
    // 수정 시간제한
    if (!empty($board_data['limit_edit_post']) && empty($mini['member']['level_admin'])) {
        if (strtotime($data['date']) + $board_data['limit_edit_post'] * 60 >= $mini['time']) {
            $data['edit_left'] = dateSec($board_data['limit_edit_post'] * 60 - ($mini['time'] - strtotime($data['date'])));
        }
    }
    // 라이센스 처리
    if (!empty($data['license'])) {
        $data['license_out'] = getLicense($data['license']);
    }
    // 아이피
    if (!empty($data['ip'])) {
        $data['ip_hide'] = preg_replace("/([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)/", "\\1.*.\\3.*", $data['ip']);
    }
    // link 변수 생성
    urlToLink($data);
    // 비밀글 처리
    if ($data['secret'] && !getPermit("name:secret") && (empty($mini['log']) || $data['target_member'] != $mini['member']['no'])) {
        if ($mode != 'view') {
            $data['ment'] = "비밀글 입니다.";
        }
        if ($data['pass']) {
            $data['link_view'] = "href='#' onclick='iiPopup.init({ url: \"{$mini['dir']}pass.php?id={$board_data['id']}&amp;group={$_REQUEST['group']}&amp;target=_parent&amp;url=" . urlencode($data['url_view']) . "\", width:iiSize[\"pass\"][0], height:iiSize[\"pass\"][1] }); return false;'";
            if ($mode != 'view') {
                $data['ment'] .= " <a {$data['link_view']}>여기를 눌러 비밀번호를 입력하세요.</a>";
            }
        } else {
            $data['link_view'] = "href='#' onclick='alert(\"비밀글을 볼 수 있는 권한이 없습니다\"); return false;'";
        }
    }
    // 비밀번호 입력 처리
    if (!empty($data['pass']) && empty($mini['member']['level_admin'])) {
        $data['link_modify'] = "href='#' onclick='iiPopup.init({ url: \"{$mini['dir']}pass.php?id={$board_data['id']}&amp;group={$_REQUEST['group']}&amp;target=_parent&amp;url=" . urlencode($data['url_modify']) . "\", width:iiSize[\"pass\"][0], height:iiSize[\"pass\"][1] }); return false;'";
        $data['js_modify'] = "onclick='iiPopup.init({ url: \"{$mini['dir']}pass.php?id={$board_data['id']}&amp;group={$_REQUEST['group']}&amp;target=_parent&amp;url=" . urlencode($data['url_modify']) . "\", width:iiSize[\"pass\"][0], height:iiSize[\"pass\"][1] }); return false;'";
        $data['link_del'] = "href='#' onclick='iiPopup.init({ url: \"{$mini['dir']}pass.php?id={$board_data['id']}&amp;group={$_REQUEST['group']}&amp;target=_parent&amp;url=" . urlencode($data['url_del']) . "\", width:iiSize[\"pass\"][0], height:iiSize[\"pass\"][1] }); return false;'";
        $data['js_del'] = "onclick='iiPopup.init({ url: \"{$mini['dir']}pass.php?id={$board_data['id']}&amp;group={$_REQUEST['group']}&amp;target=_parent&amp;url=" . urlencode($data['url_del']) . "\", width:iiSize[\"pass\"][0], height:iiSize[\"pass\"][1] }); return false;'";
    }
    // 통합제목
    $data['title_out'] = "<a {$data['link_view']} class='postView'" . (!empty($mini['setting']['title_cut']) && $data['title_text'] != $data['title'] ? " title='" . nl2br2(addSlashes($data['title_text'])) . "'" : "") . ">{$data['title']}</a> <a href='#' onclick='{$data['pop_cmt']}'>{$data['cmt']}</a>";
    // 태그 없는 변수
    $data['ment_notag'] = strip_tags($data['ment']);
    if ($ret) {
        return $data;
    }
}
Пример #7
0
function getStrCut($content, $startStr, $endStr, $cutType)
{
    $getStrCut = strCut($content, $startStr, $endStr, $cutType);
    return @$getStrCut;
}
Пример #8
0
function zan_send()
{
    global $db;
    // echo 'empty--->11list';
    $list = QMC::output("upzan", 1);
    //读取队列
    echo '<br>zan_send--->list<br>';
    // $list = array('ff9e537dbea1b731de24c85116a2fff8#["128"]');
    print_r($list);
    if (!empty($list)) {
        $value = $list[0];
        $valuearr = explode("#", $value);
        if (!empty($valuearr[0]) || !empty($valuearr[1])) {
            $from = trim($valuearr[0]);
            $res_from = $db->row_select_one("user", "umd5 = '{$from}' ", " name , headurl , sex, age");
            $from_name = $res_from['name'];
            $from_sex = $res_from['sex'] == 1 ? '男' : '女';
            $from_age = $res_from['age'];
            $headurl = $res_from['headurl'];
            $gushi_id_json = trim($valuearr[1]);
            $itemzanarr = json_decode($gushi_id_json);
            foreach ($itemzanarr as $item) {
                $res = $db->row_select_one("gushi", " id = '{$item}'  ", " umd5 , content");
                //
                $to = $res['umd5'];
                echo $to . "--->send<br>";
                $content_gushi = $res['content'];
                $slstr = strCut($content_gushi, 31);
                $content['headurl'] = $headurl;
                $content['username'] = $from_name;
                $ext = array("attr" => "card", "content" => $from_sex . "  " . $from_age . "岁  \n\n ta  赞了您的相册 \n" . $slstr, "user" => $from);
                //echo $from_name;
                $sendlog = send_card($to, $content, $ext);
                //print_r($sendlog);
            }
        }
    } else {
        echo 'zan_send--->empty';
    }
}
Пример #9
0
';
						hostsNewOrig[<?php 
            echo $subnetHostData["id"];
            ?>
]='<?php 
            echo $subnetHostData["hostname"];
            ?>
';
					</script>
				<?php 
            echo '            	<tr class="' . $list . '">', " \n";
            echo '                  <td width="5%" class="ListColCenter"><input type="checkbox" name="cb' . $cbgroup . '[]" value="' . $subnetHostData["id"] . '"/></td>';
            echo '                  <td width="7%" class="ListColCenter" name="ip' . $subnetHostData["id"] . '">' . $subnetHostData["ip"] . '</td>';
            echo '                  <td width="15%" class="ListColCenter"><input type="text" name="hostname[' . $subnetHostData["id"] . ']" value="' . htmlspecialchars($subnetHostData["hostname"]) . '" onKeyUp="updateNameBox(\'' . $subnetHostData["id"] . '\');" />&nbsp;<a href="#"><img src="./modules/Discovery/include/images/undo_16.png" title="Rollback to detected hostname" onClick="Hostname_rollback(\'' . $subnetHostData["id"] . '\');" /></a></td>';
            echo '                  <td width="5%" class="ListColCenter">' . $subnetHostData["snmp_community"] . '</td>';
            echo '                  <td width="15%" class="ListColCenter" title="' . $subnetHostData["os"] . '">' . strCut($subnetHostData["os"]) . '</td>';
            echo '					<td width="15%" class="ListColCenter"><select name="select_template' . $subnetHostData["id"] . '" width="95%"><option value="-1">None</option>';
            $default = findOs($subnetHostData["os"]);
            foreach ($Hosts_Templates as $Hosts_TmPL) {
                ?>
							<option value="<?php 
                echo $Hosts_TmPL["host_id"];
                ?>
" <?php 
                echo $default == $Hosts_TmPL["host_name"] ? 'selected' : '';
                ?>
 ><?php 
                echo $Hosts_TmPL["host_name"];
                ?>
</option>
						<?php 
Пример #10
0
        $rs = $conn->Execute("select * from infinite where id=" . $id);
        // + 1
        $reply_count = $rs->Fields['reply_count']->Value + 1;
        //进行更新
        $rs = $conn->Execute("update infinite set reply_count='" . $reply_count . "' where id=" . $id);
        //然后创建新纪录
        $rs = $conn->Execute("insert into infinite (parents_id ,content ,reply_count) values ('{$id}' ,'{$content}' ,'0')");
        echo '<script>location.replace(document.referrer);</script>';
    }
    //end if($content=$_POST['content'])
} else {
    //$id=$_SERVER['QUERY_STRING']为假就输出10条最新
    $rs = $conn->Execute('SELECT * FROM infinite order by id desc');
    //asc
    for ($i = 1; $i <= 40; $i++) {
        echo "<div><a alt='' href='?" . $rs->Fields['id']->Value . "' >" . strCut($rs->Fields['content']->Value) . " " . $rs->Fields['reply_count']->Value . "</a></div>";
        $rs->MoveNext();
    }
    /*
    	  释放资源
    	  不完全,要在上部释放资源
    */
    $rs->Close();
    $conn->Close();
    $rs = null;
    $conn = null;
}
//end if($id=$_GET['id'])
?>
</body>
</html>