Example #1
0
function __estrict($code, $msg, $file, $line)
{
    if (0 == error_reporting()) {
        return;
    }
    switch ($msg) {
        case 1 == preg_match('/^Undefined (offset|variable|index)/', $msg):
        case 1 == preg_match('/^Use of undefined constant/', $msg):
        case 1 == preg_match('/to string conversion$/', $msg):
        case 1 == preg_match('/^Missing argument/', $msg):
        case 1 == preg_match('/^Illegal string offset/', $msg):
        case 1 == preg_match('/^Illegal offset type/', $msg):
            xp::error(xp::stringOf(new Error('[strict] "' . $msg . '" at ' . $file . ':' . $line)));
            // Bails
        // Bails
        default:
            __error($code, $msg, $file, $line);
    }
}
Example #2
0
/**
 * ์ž…๋ ฅ ๋ณ€์ˆ˜ ์ฒดํฌ - ํšŒ์›
 * @class admin.member 
 * @param
		$data: ์ž๋ฃŒ
*/
function checkFieldMember(&$data)
{
    global $mini;
    if (!is_array($data)) {
        __error("์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค");
    }
    // DB ์ปฌ๋Ÿผ ๋กœ๋“œ
    iss($col);
    $col = getColumns($mini['name']['member']);
    foreach ($data as $key => $val) {
        switch ($key) {
            // ์ˆซ์ž ์ฒดํฌ
            case 'site':
            case 'level':
            case 'confirm_jumin':
            case 'permit_mail':
            case 'confirm_mail':
            case 'permit_cp':
            case 'confirm_cp':
            case 'age':
            case 'icon':
            case 'icon_name':
            case 'photo':
            case 'point':
            case 'point_sum':
            case 'money':
            case 'lock_login':
            case 'admit':
                check($val, "type:num, name:{$key}, is_not:1");
                break;
                // ์‚ญ์ œ ์„ค์ •
            // ์‚ญ์ œ ์„ค์ •
            case 'date':
            case 'no':
                unset($data[$key]);
                break;
                // ๊ทธ๋ฃน์—ฐ๊ฒฐ
            // ๊ทธ๋ฃน์—ฐ๊ฒฐ
            case 'site_link':
                if (is_array($val)) {
                    $data[$key] = "[" . implode("][", $val) . "]";
                }
                break;
                // ๋น„๋ฐ€๋ฒˆํ˜ธ
            // ๋น„๋ฐ€๋ฒˆํ˜ธ
            case 'pass_encode':
            case 'pass':
                if (isset($data['pass_encode']) && $data['pass_encode']) {
                    switch ($mini['site']['secure_pass']) {
                        case 'md5':
                        case 'sha1':
                        case 'mixed':
                            check($data['pass_encode'], "type:id, name:์•”ํ˜ธํ™”๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ, min:16, max:40");
                            break;
                        case 'mysql':
                            $data['pass_encode'] = mysql_escape_string($data['pass_encode']);
                            $tmp = array();
                            $tmp = sql("SELECT password('{$data['pass_encode']}') as pass");
                            $data['pass'] = $tmp['pass'];
                            break;
                        case 'mysql_old':
                            $data['pass_encode'] = mysql_escape_string($data['pass_encode']);
                            $tmp = array();
                            $tmp = sql("SELECT old_password('{$data['pass_encode']}') as pass");
                            $data['pass'] = $tmp['pass'];
                            break;
                    }
                    $data['pass'] = $data['pass_encode'];
                    unset($data['pass_encode']);
                } else {
                    unset($data[$key]);
                }
                break;
                // ํ™ˆํŽ˜์ด์ง€
            // ํ™ˆํŽ˜์ด์ง€
            case 'homepage':
                check($data[$key], "type:homepage, name:ํ™ˆํŽ˜์ด์ง€, is_not:1");
                break;
                // ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ
            // ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ
            case 'jumin':
                check($val, "type:jumin, name:์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ, is_not:1");
                break;
                // ์‚ฌ์—…์ž๋ฒˆํ˜ธ
            // ์‚ฌ์—…์ž๋ฒˆํ˜ธ
            case 'co_num':
                check($val, "type:co_num, name:์‚ฌ์—…์ž๋“ฑ๋ก๋ฒˆํ˜ธ, is_not:1");
                // ๋ฉ”์ผ
            // ๋ฉ”์ผ
            case 'mail':
                check($val, "type:mail, name:๋ฉ”์ผ, is_not:1");
                // ๊ฐ€์ž…์ œํ•œ ๋ฉ”์ผ ์ฒดํฌ
                if (!empty($mini['site']['filter_mail'])) {
                    if (inStr(a(explode('@', $val), '1'), $mini['site']['filter_mail'])) {
                        __error("๊ฐ€์ž…์ด ์ œํ•œ๋œ ๋ฉ”์ผ ๋„๋ฉ”์ธ ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•œ ๋ฉ”์ผ๋กœ ๊ฐ€์ž…ํ•ด์ฃผ์„ธ์š”");
                    }
                }
                break;
                // ํœด๋Œ€์ „ํ™”
            // ํœด๋Œ€์ „ํ™”
            case 'cp':
                check($val, "type:cp, name:ํœด๋Œ€์ „ํ™”, is_not:1");
                break;
                // ๋ฉ”์‹ ์ ธ
            // ๋ฉ”์‹ ์ ธ
            case 'chat':
                if (!empty($val)) {
                    $data[$key] = "[" . implode("][", array_unique(getStr($val))) . "]";
                }
                break;
                // ์ถ”๊ฐ€ํ•„๋“œ
            // ์ถ”๊ฐ€ํ•„๋“œ
            case 'field':
                if (is_array($val)) {
                    str($data[$key], 'encode');
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('์ถ”๊ฐ€ํ•„๋“œ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ๋‚ด์šฉ ํ•„ํ„ฐ
            // ๋‚ด์šฉ ํ•„ํ„ฐ
            case 'sign':
            case 'ment':
                if (!empty($val)) {
                    filter($data[$key], 'encode');
                }
                break;
                // strํ˜•์‹
            // strํ˜•์‹
            case 'open':
                $data[$key] = "[" . implode("][", $val) . "]";
                break;
                // ๊ธฐ๋ณธ(๋‹จ์ผํ•„๋“œ)
            // ๊ธฐ๋ณธ(๋‹จ์ผํ•„๋“œ)
            default:
                // tmp ๊ฐ’ ์ œ์™ธ
                if (preg_match("/^tmp_/i", $key)) {
                    unset($data[$key]);
                }
                // ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ•„๋“œ์ผ ๋•Œ ๋นผ๊ธฐ
                if (!inStr($key, $col)) {
                    unset($data[$key]);
                }
                // ๋ฐฐ์—ด ๊ฐ’ ์ œ์™ธ
                if (is_array($val)) {
                    __error("[{$key}] ๊ฐ’์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค");
                }
        }
    }
}
Example #3
0
     # If we have a session we launch it now
     try {
         if (!$core->auth->checkSession()) {
             # Avoid loop caused by old cookie
             $p = $core->session->getCookieParameters(false, -600);
             $p[3] = '/';
             call_user_func_array('setcookie', $p);
             http::redirect(BP_PLANET_URL . '/auth.php');
             //http::redirect('auth.php');
         } else {
             $user_settings = new bpSettings($core, $core->auth->userID());
             $rs_lang = $core->con->select("SELECT user_lang FROM " . $core->prefix . "user\n\t\t\t\t\tWHERE user_id='" . $core->auth->userID() . "'");
             $locale = $rs_lang->f('user_lang');
         }
     } catch (Exception $e) {
         __error(T_('Database error'), T_('There seems to be no Session table in your database. Is Bilboplanet completly installed?'), 20);
     }
 }
 # Logout
 if (isset($_GET['logout'])) {
     $core->session->destroy();
     if (isset($_COOKIE['bp_admin'])) {
         unset($_COOKIE['bp_admin']);
         setcookie('bp_admin', false, -600, '', '');
     }
     if (!empty($_GET['logout'])) {
         http::redirect($_GET['logout']);
     } else {
         http::redirect(BP_PLANET_URL);
     }
     exit;
Example #4
0
# Loading translations for selected theme
if ($__parent_theme) {
    $core->themes->loadModuleL10N($__parent_theme, $_lang, 'main');
}
$core->themes->loadModuleL10N($__theme, $_lang, 'main');
# --BEHAVIOR-- publicPrepend
$core->callBehavior('publicPrepend', $core);
# Prepare the HTTP cache thing
$mod_files = get_included_files();
$mod_ts = array();
$mod_ts[] = $core->blog->upddt;
$__theme_tpl_path = array($core->blog->themes_path . '/' . $__theme . '/tpl');
if ($__parent_theme) {
    $__theme_tpl_path[] = $core->blog->themes_path . '/' . $__parent_theme . '/tpl';
}
$tplset = $core->themes->moduleInfo($core->blog->settings->system->theme, 'tplset');
if (!empty($tplset) && is_dir(dirname(__FILE__) . '/default-templates/' . $tplset)) {
    $core->tpl->setPath($__theme_tpl_path, dirname(__FILE__) . '/default-templates/' . $tplset, $core->tpl->getPath());
} else {
    $core->tpl->setPath($__theme_tpl_path, $core->tpl->getPath());
}
$core->url->mode = $core->blog->settings->system->url_scan;
try {
    # --BEHAVIOR-- publicBeforeDocument
    $core->callBehavior('publicBeforeDocument', $core);
    $core->url->getDocument();
    # --BEHAVIOR-- publicAfterDocument
    $core->callBehavior('publicAfterDocument', $core);
} catch (Exception $e) {
    __error($e->getMessage(), __('Something went wrong while loading template file for your blog.'), 660);
}
Example #5
0
/**
* ๊ด€๋ฆฌ์ž ๊ถŒํ•œ ์ฒดํฌ
* @class admin
* @param
		-site: ์‚ฌ์ดํŠธ ๋ฒˆํ˜ธ
		-board: ๊ฒŒ์‹œํŒ ๋ฒˆํ˜ธ
		-mode: ํ—ˆ์šฉ ๋ชจ๋“œ(ํ•ด๋‹น ๋ฒˆํ˜ธ์™€ ๊ด€๊ณ„ ์—†๋‹ค) [site|board|admin|god]
		-type: script ๋ชจ๋“œ
*/
function checkAdmin($param = '')
{
    global $mini;
    $param = param($param);
    iss($param['site']);
    iss($param['board']);
    iss($param['mode']);
    def($param['type'], 'move');
    iss($mini['member']);
    iss($mini['member']['board_admin']);
    iss($mini['member']['site_admin']);
    $check = 1;
    if (empty($mini['log'])) {
        $check = 0;
    } else {
        // ํ—ˆ์šฉ ๋ชจ๋“œ
        if ($param['mode']) {
            switch ($param['mode']) {
                case 'god':
                    if (empty($mini['member']['level_admin']) || $mini['member']['level_admin'] < 4) {
                        $check = 0;
                    }
                    break;
                case 'admin':
                    if (empty($mini['member']['level_admin']) || $mini['member']['level_admin'] < 3) {
                        $check = 0;
                    }
                    break;
                case 'site':
                    if (empty($mini['member']['is_god']) && empty($mini['member']['is_admin']) && !count($mini['member']['site_admin'])) {
                        $check = 0;
                    }
                    break;
                case 'board':
                    if (empty($mini['member']['is_god']) && empty($mini['member']['is_admin']) && !count($mini['member']['site_admin']) && !count($mini['member']['board_admin'])) {
                        $check = 0;
                    }
                    break;
            }
        } else {
            $check = 0;
            if (!empty($mini['member']['is_god']) || !empty($mini['member']['is_admin'])) {
                $check = 1;
            }
            if ($param['site'] && in_array($param['site'], $mini['member']['site_admin'])) {
                $check = 1;
            }
            if ($param['board'] && in_array($param['board'], $mini['member']['board_admin'])) {
                $check = 1;
            }
        }
    }
    // ์ฒ˜๋ฆฌ
    if (!$check) {
        __error(array('msg' => '๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค', 'mode' => $param['type'], 'url' => "{$mini['dir']}login.php?url=" . url('', '', 'reload=1')));
    }
}
Example #6
0
/** ๋กœ๊ทธ ๊ธฐ๋ก
 * @class 
 * @param
		-mode: ๋ชจ๋“œ
		-field1: ํ•„๋“œ1
		-field2: ํ•„๋“œ2
		-field3: ํ•„๋“œ3
		-field4: ํ•„๋“œ4
		-field5: ํ•„๋“œ5
		-ment: ๋‚ด์šฉ
		-result: ๊ฒฐ๊ณผ๊ฐ’ [1|0]
		-target_member: ๋Œ€์ƒํšŒ์›
  */
function addLog($param = '')
{
    global $mini;
    $param = param($param);
    $check = 1;
    if (empty($param['mode'])) {
        __error('๊ธฐ๋ก mode๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค');
    }
    if ($param['mode'] == 'point' && empty($mini['set']['use_log_point'])) {
        $check = 0;
    }
    if ($check) {
        iss($param['field1']);
        iss($param['field2']);
        iss($param['field3']);
        iss($param['field4']);
        iss($param['field5']);
        iss($param['ment']);
        iss($mini['member']);
        iss($mini['member']['no']);
        def($param['result'], 1);
        def($param['target_member'], $mini['member']['no']);
        def($param['date'], $mini['date']);
        def($param['ip'], $mini['ip']);
        if (is_array($param['ment'])) {
            $param['ment'] = serialize($param['ment']);
        }
        sql("INSERT INTO {$mini['name']['log']} SET " . query($param, 'update'));
    }
}
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*
***** END LICENSE BLOCK *****/
require_once dirname(__FILE__) . '/../inc/admin/prepend.php';
if ($core->auth->sessionExists()) {
    if (!$core->auth->superUser()) {
        __error(T_("Permission denied"), T_('You are not allowed to see this page.') . ' ' . T_('You can delete your session if you logout : ') . '<a href="?logout">Logout</a>');
        exit;
    }
    include_once dirname(__FILE__) . '/head.php';
    include_once dirname(__FILE__) . '/sidebar.php';
    ?>

<div id="BP_page" class="page">
	<div class="inpage">

<div id="flash-log" style="display:none;">
	<div id="flash-msg"><!-- spanner --></div>
</div>


<fieldset><legend><?php 
Example #8
0
if (defined('DC_FORCE_SCHEME_443') && DC_FORCE_SCHEME_443) {
    http::$https_scheme_on_443 = true;
}
if (!defined('DC_DBPERSIST')) {
    define('DC_DBPERSIST', false);
}
if (!defined('DC_UPDATE_URL')) {
    define('DC_UPDATE_URL', 'http://download.dotclear.net/versions.xml');
}
if (!defined('DC_UPDATE_VERSION')) {
    define('DC_UPDATE_VERSION', 'stable');
}
try {
    $core = new dcCore(DC_DBDRIVER, DC_DBHOST, DC_DBNAME, DC_DBUSER, DC_DBPASSWORD, DC_DBPREFIX, DC_DBPERSIST);
} catch (Exception $e) {
    __error($e->getMessage(), $e->getCode() == 0 ? '<p>This either means that the username and password information in ' . 'your <strong>config.php</strong> file is incorrect or we can\'t contact ' . 'the database server at "<em>' . DC_DBHOST . '</em>". This could mean your ' . 'host\'s database server is down.</p> ' . '<ul><li>Are you sure you have the correct username and password?</li>' . '<li>Are you sure that you have typed the correct hostname?</li>' . '<li>Are you sure that the database server is running?</li></ul>' . '<p>If you\'re unsure what these terms mean you should probably contact ' . 'your host. If you still need help you can always visit the ' . '<a href="http://forum.dotclear.net/">Dotclear Support Forums</a>.</p>' : '', 20);
}
# If we have some __top_behaviors, we load them
if (isset($__top_behaviors) && is_array($__top_behaviors)) {
    foreach ($__top_behaviors as $b) {
        $core->addBehavior($b[0], $b[1]);
    }
    unset($b);
}
http::trimRequest();
try {
    http::unsetGlobals();
} catch (Exception $e) {
    header('Content-Type: text/plain');
    echo $e->getMessage();
    exit;
Example #9
0
/**
 * ์Šคํ‚จ๋ณ€ํ™˜
 * @class skin.convert
 * @param
		$url: ์Šคํ‚จ ๊ฒฝ๋กœ
		$mode: str์ผ ๊ฒฝ์šฐ url์„ ์Šคํ‚จ ๋ณ€์ˆ˜๋กœ ๋ณธ๋‹ค
*/
function skinConv($url, $mode = 'url')
{
    global $mini;
    $str_left = array();
    $str_right = array();
    $preg_left = array();
    $preg_right = array();
    if ($mode == 'url') {
        if (!file_exists($url) || !is_writable($url)) {
            if (empty($mini['error_msg'])) {
                $mini['error_msg'] = '';
            }
            $mini['error_msg'] .= "[{$url}] ํŒŒ์ผ์ด ์—†๊ฑฐ๋‚˜ ์“ฐ๊ธฐ ํผ๋ฏธ์…˜์ด ์—†์Šต๋‹ˆ๋‹ค.<br />";
            return false;
        }
        //// ํŒŒ์ผ ์—ด๊ธฐ
        if (!preg_match("/\\.mini\$/i", basename($url))) {
            __error('.mini ๋งŒ ์Šคํ‚จ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค');
        }
        if (file_exists($url)) {
            $fp = fopen($url, 'r');
            if (!$fp) {
                __error("[{$url}] ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค");
            } else {
                $size = filesize($url);
                if ($size) {
                    $output = fread($fp, filesize($url));
                }
                fclose($fp);
            }
        } else {
            __error("[{$url}] ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค.");
        }
    } else {
        $output = $url;
    }
    if (!empty($output)) {
        //// ์„ธํŒ…(๋จผ์ € ์น˜ํ™˜)
        $output = preg_replace("/\\[set\\:([a-z0-9_]+)\\=(.*)\\]/i", "<?php \$mini['setting']['\\1'] = \"\\2\"; ?>", $output);
        //// ํ•จ์ˆ˜(๋จผ์ € ์น˜ํ™˜)
        $output = preg_replace("/\\[\\%([a-z0-9_]+):([^\\%]*)\\%\\]/is", "<?php echo \\1(\\2); ?>", $output);
        //// ๊ตฌ๊ฐ„
        switch ($mini['filename']) {
            # ๋ชฉ๋ก๋ณด๊ธฐ, ๊ธ€์ฝ๊ธฐ, ๋Œ“๊ธ€
            case 'mini.php':
            case 'cmt.php':
            case 'write.php':
            case 'head.php':
            case 'foot.php':
            case 'widget.php':
                // ๋ชฉ๋ก ์‹œ์ž‘(ํผ)
                $str_left[] = "[LIST]";
                $str_right[] = "\n\t<!-- [LIST] -->\n\t<?php if (!empty(\$mini['member']['level_admin'])) { ?>\n\t<form id='form_list' name='form_list' action='' method='get'>\n\t<input type='hidden' name='mode' />\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<input type='hidden' name='pageKey' value='<?php echo \$_SESSION['pageKey']; ?>' />\n\t<input type='hidden' name='completeMode' value='ajax,reload.parent' />\n\t<?php } ?>\n\t";
                $str_left[] = "[/LIST]";
                $str_right[] = "\n\t<?php if (!empty(\$mini['member']['level_admin'])) { ?>\n\t</form>\n\t<?php } ?>\n\t<!-- [/LIST] -->";
                // ๋ชฉ๋ก ๋ฃจํ”„
                $str_left[] = "[LIST_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$data, \$view, \$is_first, \$notice;\n\n\tif (!empty(\$data) && is_array(\$data) && count(\$data) >= 1)\n\t\tforeach (\$data as \$key=>\$val):\n\t\t\tparsePost(\$val);\n\t\t\t\$mini['skin']['data'] = &\$val;\n\t\t\t\n\t\t\t// ์ด์ „, ๋‹ค์Œ๊ธ€ ์ง€์ •\n\t\t\tif (!empty(\$_REQUEST['no'])) {\n\t\t\t\tif (\$key-1 >= 0 && \$view['no'] == \$val['no'] && !empty(\$data[\$key-1])) {\n\t\t\t\t\t\$mini['skin']['url_view_prev'] = \"mini.php?no={\$data[\$key-1]['no']}\".getURI('no', '&');\n\t\t\t\t\t\$mini['skin']['prev'] = \$data[\$key-1];\n\t\t\t\t}\n\t\t\t\telse if (\$key-1 < 0 && \$view['no'] == \$val['no'] && !empty(\$notice)) {\n\t\t\t\t\t\$mini['skin']['url_view_prev'] = \"mini.php?no={\$notice[count(\$notice)-1]['no']}\".getURI('no', '&');\n\t\t\t\t\t\$mini['skin']['prev'] = end(\$notice);\n\t\t\t\t}\n\n\t\t\t\tif (\$view['no'] == \$val['no'] && !empty(\$data[\$key+1])) {\n\t\t\t\t\t\$mini['skin']['url_view_next'] = \"mini.php?no={\$data[\$key+1]['no']}\".getURI('no', '&');\n\t\t\t\t\t\$mini['skin']['next'] = \$data[\$key+1];\n\t\t\t\t}\n\t\t\t}\n\t?>";
                $str_left[] = "[/LIST_LOOP]";
                $str_right[] = "\n\t<?php\n\t\tendforeach;\n\t?>";
                // ๋ชฉ๋ก ๊ณต์ง€์‚ฌํ•ญ ๋ฃจํ”„
                $str_left[] = "[NOTICE_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$data, \$view, \$is_first, \$notice;\n\tif (!empty(\$notice) && is_array(\$notice) && count(\$notice) >= 1)\n\t\tforeach (\$notice as \$key=>\$val):\n\t\t\tparsePost(\$val);\n\t\t\t\$mini['skin']['notice'] = &\$val;\n\n\t\t\t// ์ด์ „, ๋‹ค์Œ๊ธ€ ์ง€์ •\n\t\t\t\tif (!empty(\$_REQUEST['no'])) {\n\t\t\t\t\tif (\$key-1 >= 0 && \$view['no'] == \$val['no'] && !empty(\$notice[\$key-1])) {\n\t\t\t\t\t\t\$mini['skin']['url_view_prev'] = \"mini.php?no={\$notice[\$key-1]['no']}\".getURI('no', '&');\n\t\t\t\t\t\t\$mini['skin']['prev'] = \$notice[\$key-1];\n\t\t\t\t\t}\n\t\t\t\t\tif (\$view['no'] == \$val['no'] && !empty(\$notice[\$key+1])) {\n\t\t\t\t\t\t\$mini['skin']['url_view_next'] = \"mini.php?no={\$notice[\$key+1]['no']}\".getURI('no', '&');\n\t\t\t\t\t\t\$mini['skin']['next'] = \$notice[\$key+1];\n\t\t\t\t\t}\n\t\t\t\t\tif (\$view['no'] == \$val['no'] && empty(\$notice[\$key+1]) && !empty(\$data)) {\n\t\t\t\t\t\t\$i = 0;\n\t\t\t\t\t\twhile (\$i < \$mini['board']['list_count']):\n\t\t\t\t\t\t\tif (!empty(\$data[\$i]) && empty(\$data[\$i]['notice'])) {\n\t\t\t\t\t\t\t\t\$mini['skin']['url_view_next'] = \"mini.php?no={\$data[\$i]['no']}\".getURI('no', '&');\n\t\t\t\t\t\t\t\t\$mini['skin']['next'] = \$data[\$i];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\$i++;\n\t\t\t\t\t\tendwhile;\n\t\t\t\t\t}\n\t\t\t\t}\n\t?>";
                $str_left[] = "[/NOTICE_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ธ๊ธฐ๊ธ€ ๋ฝ‘๊ธฐ
                $str_left[] = "[ISSUE]";
                $str_right[] = "\n\t<?php\n\tglobal \$issue, \$mini;\n\tdef(\$mini['setting']['issue_interval'], 48);\n\tdef(\$mini['setting']['cache_count'], 5);\n\t\$issue = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\tmode: issue\n\t\tcount: {\$mini['setting']['cache_count']}\n\t\");\n\n\t\$mini['skin']['issue'] = !empty(\$issue);\n\t?>";
                $str_left[] = "[/ISSUE]";
                $str_right[] = "";
                // ์ธ๊ธฐ๊ธ€ ๋ฃจํ”„
                $str_left[] = "[ISSUE_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$issue;\n\tif (!empty(\$issue) && is_array(\$issue) && count(\$issue) >= 1)\n\t\tforeach (\$issue as \$key=>\$val):\n\t\t\t\$mini['skin']['issue'] = &\$val;\n\t?>";
                $str_left[] = "[/ISSUE_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ž‘์„ฑ์ž๊ธ€ ๋ฝ‘๊ธฐ
                $str_left[] = "[WRITER]";
                $str_right[] = "\n\t<?php\n\tglobal \$writer;\n\tif (!empty(\$mini['skin']['view']['target_member'])) \$mini['setting']['writer_no'] = \$mini['skin']['view']['target_member'];\n\tdef(\$mini['setting']['cache_count'], 5);\n\t\$writer = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\tmode: writer\n\t\tcount: {\$mini['setting']['cache_count']}\n\t\");\n\n\t\$mini['skin']['writer'] = !empty(\$writer);\n\t?>";
                $str_left[] = "[/WRITER]";
                $str_right[] = "";
                // ์ž‘์„ฑ์ž๊ธ€ ๋ฃจํ”„
                $str_left[] = "[WRITER_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$writer;\n\tif (!empty(\$writer) && is_array(\$writer) && count(\$writer) >= 1)\n\t\tforeach (\$writer as \$key=>\$val):\n\t\t\t\$mini['skin']['writer'] = &\$val;\n\t?>";
                $str_left[] = "[/WRITER_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๊ด€๋ จ๊ธ€ ๋ฝ‘๊ธฐ
                $str_left[] = "[RELATE]";
                $str_right[] = "\n\t<?php\n\tglobal \$relate;\n\tdef(\$mini['setting']['cache_count'], 5);\n\tdef(\$mini['setting']['relate'], \$mini['skin']['view']['relate']);\n\t\$relate = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\tmode: relate\n\t\tcount: {\$mini['setting']['cache_count']}\n\t\");\n\n\t\$mini['skin']['relate'] = !empty(\$relate);\n\t?>";
                $str_left[] = "[/RELATE]";
                $str_right[] = "";
                // ๊ด€๋ จ๊ธ€ ๋ฃจํ”„
                $str_left[] = "[RELATE_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$relate;\n\tif (!empty(\$relate) && is_array(\$relate) && count(\$relate) >= 1)\n\t\tforeach (\$relate as \$key=>\$val):\n\t\t\t\$mini['skin']['relate'] = &\$val;\n\t?>";
                $str_left[] = "[/RELATE_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ตœ๊ทผ ๋Œ“๊ธ€ ๋ฝ‘๊ธฐ
                $str_left[] = "[RECENT_CMT]";
                $str_right[] = "\n\t<?php\n\tglobal \$recent_cmt;\n\tdef(\$mini['setting']['recent_cmt_only'], '');\n\tdef(\$mini['setting']['recent_cmt_count'], 5);\n\tdef(\$mini['setting']['recent_cmt_cut'], 60);\n\t\$recent_cmt = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\ttype: cmt\n\t\twhere: \".(!empty(\$mini['setting']['recent_cmt_only']) ? \"trackback=''\" : \"\").\"\n\t\tcount: {\$mini['setting']['recent_cmt_count']}\n\t\");\n\n\t\$mini['skin']['recent_cmt'] = !empty(\$recent_cmt);\n\t?>";
                $str_left[] = "[/RECENT_CMT]";
                $str_right[] = "";
                // ์ตœ๊ทผ ๋Œ“๊ธ€ ๋ฃจํ”„
                $str_left[] = "[RECENT_CMT_LOOP]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$recent_cmt) && is_array(\$recent_cmt) && count(\$recent_cmt) >= 1)\n\t\tforeach (\$recent_cmt as \$key=>\$val):\n\t\t\tif (!empty(\$mini['setting']['recent_cmt_cut_ment'])) {\n\t\t\t\t\$val['ment'] = strCut(\$val['ment'], \$mini['setting']['recent_cmt_cut_ment']);\n\t\t\t\t\$val['ment_notag'] = strCut(\$val['ment_notag'], \$mini['setting']['recent_cmt_cut_ment']);\n\t\t\t}\n\t\t\t\$mini['skin']['recent'] = &\$val;\n\t?>";
                $str_left[] = "[/RECENT_CMT_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ตœ๊ทผ ํŠธ๋ž™๋ฐฑ ๋ฝ‘๊ธฐ
                $str_left[] = "[RECENT_TRACKBACK]";
                $str_right[] = "\n\t<?php\n\tglobal \$recent_trackback;\n\tdef(\$mini['setting']['recent_trackback_count'], 5);\n\t\$recent_trackback = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\ttype: cmt\n\t\tcount: {\$mini['setting']['recent_trackback_count']}\n\t\twhere: trackback!=''\n\t\");\n\n\t\$mini['skin']['recent_trackback'] = !empty(\$recent_trackback);\n\t?>";
                $str_left[] = "[/RECENT_TRACKBACK]";
                $str_right[] = "";
                // ์ตœ๊ทผ ํŠธ๋ž™๋ฐฑ ๋ฃจํ”„
                $str_left[] = "[RECENT_TRACKBACK_LOOP]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$recent_trackback) && is_array(\$recent_trackback) && count(\$recent_trackback) >= 1)\n\t\tforeach (\$recent_trackback as \$key=>\$val):\n\t\t\tif (!empty(\$mini['setting']['recent_trackback_cut_ment'])) {\n\t\t\t\t\$val['ment'] = strCut(\$val['ment'], \$mini['setting']['recent_trackback_cut_ment']);\n\t\t\t\t\$val['ment_notag'] = strCut(\$val['ment_notag'], \$mini['setting']['recent_trackback_cut_ment']);\n\t\t\t}\n\t\t\t\$mini['skin']['recent'] = &\$val;\n\t?>";
                $str_left[] = "[/RECENT_TRACKBACK_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ตœ๊ทผ ๊ธ€ ๋ฝ‘๊ธฐ
                $str_left[] = "[RECENT_POST]";
                $str_right[] = "\n\t<?php\n\tglobal \$recent_post;\n\tdef(\$mini['setting']['recent_post_count'], 5);\n\t\$recent_post = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\ttype: post\n\t\tcount: {\$mini['setting']['recent_post_count']}\n\t\");\n\n\t\$mini['skin']['recent_post'] = !empty(\$recent_post);\n\t?>";
                $str_left[] = "[/RECENT_POST]";
                $str_right[] = "";
                // ์ตœ๊ทผ ๊ธ€ ๋ฃจํ”„
                $str_left[] = "[RECENT_POST_LOOP]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$recent_post) && is_array(\$recent_post) && count(\$recent_post) >= 1)\n\t\tforeach (\$recent_post as \$key=>\$val):\n\t\t\tif (!empty(\$mini['setting']['recent_post_cut_title'])) {\n\t\t\t\t\$val['title'] = strCut(\$val['title'], \$mini['setting']['recent_post_cut_title']);\n\t\t\t}\n\t\t\tif (!empty(\$mini['setting']['recent_post_cut_ment'])) {\n\t\t\t\t\$val['ment'] = strCut(\$val['ment'], \$mini['setting']['recent_post_cut_ment']);\n\t\t\t\t\$val['ment_notag'] = strCut(\$val['ment_notag'], \$mini['setting']['recent_post_cut_ment']);\n\t\t\t}\n\t\t\t\$mini['skin']['recent'] = &\$val;\n\t?>";
                $str_left[] = "[/RECENT_POST_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ํ”„๋กœํ•„ ๋ฝ‘๊ธฐ
                $str_left[] = "[PROFILE]";
                $str_right[] = "\n\t<?php\n\t\$mini['skin']['profile'] = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\ttype: post\n\t\tis_key: 1\n\t\twhere: mode='tag' and ment='@profile'\n\t\tcount: 1\n\t\");\n\t?>";
                $str_left[] = "[/PROFILE]";
                $str_right[] = "";
                // ์œ ์ € ์„ค์ • - ๋ฉ”๋‰ด
                $str_left[] = "[CONFIG_MENU]";
                $str_right[] = "\n\t<?php\n\t\tif (!empty(\$mini['skin']['user']['menu'])) {\n\t\t\tforeach (getStr(\$mini['skin']['user']['menu']) as \$key=>\$val):\n\t\t\t\t\$mini['skin']['config_menu'] = explode('&#124;', trim(\$val));\n\n\t\t\t\t\$mini['skin']['config_menu']['title'] = \$mini['skin']['config_menu'][0];\n\t\t\t\t\$mini['skin']['config_menu']['url'] = amp(\$mini['skin']['config_menu'][1], 'encode');\n\t\t\t\t\$mini['skin']['config_menu']['link'] = \"href='{\$mini['skin']['config_menu']['url']}'\".(!empty(\$mini['skin']['config_menu'][2]) ? \" target='_blank'\" : \"\");\n\t?>";
                $str_left[] = "[/CONFIG_MENU]";
                $str_right[] = "\n\t<?php endforeach; } ?>";
                // ํŒ์—…๊ธ€ ๋ฝ‘๊ธฐ
                $str_left[] = "[POPUP]";
                $str_right[] = "\n\t<?php\n\tglobal \$popup;\n\tdef(\$mini['setting']['cache_count'], 5);\n\t\$popup = mhot(\"\n\t\tid: {\$mini['board']['id']}\n\t\tmode: popup\n\t\tcount: {\$mini['setting']['cache_count']}\n\t\torder: no asc\n\t\");\n\n\t\$mini['skin']['popup'] = !empty(\$popup);\n\t?>";
                $str_left[] = "[/POPUP]";
                $str_right[] = "";
                // ํŒ์—…๊ธ€ ๋ฃจํ”„
                $str_left[] = "[POPUP_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$popup;\n\tif (!empty(\$popup) && is_array(\$popup) && count(\$popup) >= 1)\n\t\tforeach (\$popup as \$key=>\$val):\n\t\t\t\$val['depth'] = \$key+1;\n\t\t\t\$val['is_cookie'] = !empty(\$_COOKIE[\"popup_{\$_REQUEST['id']}_{\$val['no']}\"]);\n\t\t\tif (!\$val['is_cookie']) \$mini['skin']['is_popup'] = 1;\n\t\t\t\$mini['skin']['popup'] = &\$val;\n\t\t\t\n\t?>";
                $str_left[] = "[/POPUP_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ํŒ์—…๊ธ€ ์Šคํฌ๋ฆฝํŠธ
                $str_left[] = "[POPUP_SCRIPT]";
                $str_right[] = "\n\t<?php if (!empty(\$mini['skin']['is_popup'])) { ?>\n\t<script type='text/javascript'>\n\t//<![CDATA[\n\t\t\$\$('div[id^=popup]').each(function (item) {\n\t\t\titem.addEvent('dblclick', function () {\n\t\t\t\tpopupClose(this);\n\t\t\t});\n\t\t});\n\n\t\t// ๋ฐฐ๊ฒฝ ์ƒ์„ฑ\n\t\tvar wcWidth = window.getScrollWidth();\n\t\tvar wcHeight = window.getScrollHeight();\n\t\t\n\t\tif (window.ie6) {\n\t\t\twcWidth -= 20;\n\t\t\twcHeight -= 4;\n\t\t}\n\n\t\tnew Element('div', {\n\t\t\t'id': 'backPopup',\n\t\t\t'styles': {\n\t\t\t\twidth: wcWidth.px(),\n\t\t\t\theight: wcHeight.px(),\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\topacity: 0.25,\n\t\t\t\tzindex: '1',\n\t\t\t\tbackgroundColor: '#000000'\n\t\t\t}\n\t\t}).inject(document.body);\n\t//]]>\n\t</script>\n\t<?php } ?>";
                $str_left[] = "[/POPUP_SCRIPT]";
                $str_right[] = "";
                // ์ชฝ์ง€ ๋ฝ‘๊ธฐ
                $str_left[] = "[MEMO]";
                $str_right[] = "\n\t<?php\n\tglobal \$memo;\n\tdef(\$mini['setting']['cache_count'], 5);\n\tdef(\$mini['setting']['cut_ment'], 0);\n\t\$memo = mhot(\"\n\t\tmode: memo\n\t\");\n\n\t\$mini['skin']['memo'] = !empty(\$memo);\n\t?>";
                $str_left[] = "[/MEMO]";
                $str_right[] = "";
                // ์ชฝ์ง€ ๋ฃจํ”„
                $str_left[] = "[MEMO_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$memo;\n\tif (!empty(\$memo) && is_array(\$memo) && count(\$memo) >= 1)\n\t\tforeach (\$memo as \$key=>\$val):\n\t\t\t\$val['depth'] = \$key+1;\n\t\t\t\$val['js_friend'] = \"onclick='view_member.action(\\\"friend\\\", { target_member: \\\"{\$val['from_member']}\\\" });'\";\n\t\t\t\$val['js_memo_block'] = \"onclick='view_member.action(\\\"memo_block\\\", { target_member: \\\"{\$val['from_member']}\\\" });'\";\n\t\t\t\$val['js_memo_save'] = \"onclick='view_member.action(\\\"memo_save\\\", { memo_no: \\\"{\$val['no']}\\\" }); memoAction(\\\"read\\\", \\\"{\$val['no']}\\\");'\";\n\t\t\t\$val['js_memo_del'] = \"onclick='view_member.action(\\\"memo_del\\\", { memo_no: \\\"{\$val['no']}\\\" }); memoAction(\\\"next\\\", \\\"{\$val['no']}\\\");'\";\n\t\t\t\$mini['skin']['memo'] = &\$val;\n\t\t\n\t\techo \"<div id='memoDiv{\$mini['skin']['memo']['no']}' class='iiMemo' style='z-index:{\$mini['skin']['memo']['depth']}; position:absolute; left:50px; top:50px; width:200px; height:300px; border:10px solid #545454; padding:10px 15px; line-height:1.5; background:#fff url(\\\"{\$mini['skin']['dir']}image/title_back.gif\\\") repeat-x 0 -2px;' title='๋”๋ธ”ํด๋ฆญํ•˜๋ฉด ๋‹ซํž™๋‹ˆ๋‹ค.'>\";\n\t?>";
                $str_left[] = "[/MEMO_LOOP]";
                $str_right[] = "\n\t</div>\n\t<?php endforeach; ?>";
                // ์ชฝ์ง€ ์Šคํฌ๋ฆฝํŠธ
                $str_left[] = "[MEMO_SCRIPT]";
                $str_right[] = "\n\t<script type='text/javascript'>\n\t//<![CDATA[\n\t\t\$\$('.iiMemo').each(function (item) {\n\t\t\tvar no = item.id.toString().replace(/^memoDiv/i, '');\n\n\t\t\titem.addEvent('dblclick', function () {\n\t\t\t\tthis.remove();\n\t\t\t});\n\n\t\t\tvar tool = \$('memoMove' + no);\n\t\t\tif (\$chk(tool)) {\n\t\t\t\titem.makeDraggable({\n\t\t\t\t\thandle: tool\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tfunction memoAction(mode, no) {\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'read':\n\t\t\t\t\tnew Ajax(miniDir + 'ajax.php', {\n\t\t\t\t\t\tonComplete: function (item) {\n\t\t\t\t\t\t\tif (\$chk(item)) {\n\t\t\t\t\t\t\t\tdata = setJSON(item);\n\n\t\t\t\t\t\t\t\tif (data['error'] == 1) {\n\t\t\t\t\t\t\t\t\terror(data['msg']);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\$('memoDiv' + no).remove();\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\terror('๋ฐ์ดํ„ฐ ์ „์†ก์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');\n\t\t\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonfailure: function () {\n\t\t\t\t\t\t\terror('๋ฐ์ดํ„ฐ ์ „์†ก์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');\n\t\t\t\t\t\t}\n\t\t\t\t\t}).send(miniDir + 'ajax.php', Object.toQueryString({\n\t\t\t\t\t\t'mode': 'memo_read',\n\t\t\t\t\t\t'no': no\n\t\t\t\t\t}));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'read_all':\n\t\t\t\t\tnew Ajax(miniDir + 'ajax.php', {\n\t\t\t\t\t\tonComplete: function (item) {\n\t\t\t\t\t\t\tif (\$chk(item)) {\n\t\t\t\t\t\t\t\tdata = setJSON(item);\n\n\t\t\t\t\t\t\t\tif (data['error'] == 1) {\n\t\t\t\t\t\t\t\t\terror(data['msg']);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\$\$('div[id^=memoDiv]').each(function(item) {\n\t\t\t\t\t\t\t\t\t\titem.remove();\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\terror('๋ฐ์ดํ„ฐ ์ „์†ก์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');\n\t\t\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonfailure: function () {\n\t\t\t\t\t\t\terror('๋ฐ์ดํ„ฐ ์ „์†ก์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค');\n\t\t\t\t\t\t}\n\t\t\t\t\t}).send(miniDir + 'ajax.php', Object.toQueryString({\n\t\t\t\t\t\t'mode': 'memo_read'\n\t\t\t\t\t}));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'next':\n\t\t\t\t\t\$('memoDiv' + no).remove();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'close':\n\t\t\t\t\t\$\$('div[id^=memoDiv]').each(function(item) {\n\t\t\t\t\t\titem.remove();\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\terror('์ •์˜๋˜์ง€ ์•Š์€ ๋ชจ๋“œ ์ž…๋‹ˆ๋‹ค');\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t//]]>\n\t</script>";
                $str_left[] = "[/MEMO_SCRIPT]";
                $str_right[] = "";
                // ์นดํ…Œ๊ณ ๋ฆฌ ๋ณด๊ธฐ
                $str_left[] = "[VIEW_CATEGORY]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['skin']['view']['category']) && is_array(\$mini['skin']['view']['category']))\n\t\tforeach(\$mini['skin']['view']['category'] as \$key => \$val):\n\t\t\t\$mini['skin']['category']['no'] = \$val;\n\t\t\t\$mini['skin']['category']['name'] = \$mini['board']['category_name'][\$val];\n\t\t\t\$mini['skin']['category']['is_first'] = (!\$key);\n\t\t\t\$mini['skin']['category']['url_view'] = \"mini.php?id={\$_REQUEST['id']}&amp;category=\".urlencode(\$val);\n\t\t\t\$mini['skin']['category']['link_view'] = \"href='{\$mini['skin']['category']['url_view']}'\";\n\t?>";
                $str_left[] = "[/VIEW_CATEGORY]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก ๋ฝ‘๊ธฐ
                $str_left[] = "[CATEGORY_LIST]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['category']))\n\t\tforeach(\$mini['board']['category'] as \$key => \$val):\n\t\t\t\$mini['skin']['category'] = \$val;\n\t\t\t\$mini['skin']['category']['is_now'] = !empty(\$_REQUEST['category']) && \$_REQUEST['category'] == \$val['no'];\n\t\t\t\$mini['skin']['category']['url_view'] = \"{\$mini['dir']}mini.php?id={\$_REQUEST['id']}&amp;category={\$val['no']}\".getURI(\"category,id,div,start,page\");\n\t\t\turlToLink(\$mini['skin']['category']);\n\t?>";
                $str_left[] = "[/CATEGORY_LIST]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ํƒœ๊ทธ
                $str_left[] = "[VIEW_TAG]";
                $str_right[] = "\n\t<?php \n\tif (!empty(\$mini['skin']['view']['tag']) && is_array(\$mini['skin']['view']['tag'])) {\n\t\tforeach(\$mini['skin']['view']['tag'] as \$key => \$val):\n\t\t\t\$mini['skin']['tag']['name'] = \$val;\n\t\t\t\$mini['skin']['tag']['is_first'] = (!\$key);\n\t\t\t\$mini['skin']['tag']['url_view'] = \"mini.php?id={\$_REQUEST['id']}&amp;s[tag]=\".urlencode(\$val);\n\t\t\t\$mini['skin']['tag']['link_view'] = \"href='{\$mini['skin']['tag']['url_view']}'\";\n\t?>";
                $str_left[] = "[/VIEW_TAG]";
                $str_right[] = "\n\t<?php endforeach; } ?>";
                // ํŒŒ์ผ
                $str_left[] = "[VIEW_FILE]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['skin']['view']['file_data']) && !empty(\$mini['board']['file_value']))\n\t\tforeach (\$mini['skin']['view']['file_data'] as \$key=>\$val):\n\t\t\tparseFile(\$val);\n\t\t\t\$mini['skin']['file'] = \$val;\n\t\t\t\$mini['skin']['file']['num'] = \$key + 1;\n\t?>";
                $str_left[] = "[/VIEW_FILE]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๋งํฌ
                $str_left[] = "[VIEW_LINK]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['skin']['view']['link']) && !empty(\$mini['board']['link_value']))\n\t\tforeach (\$mini['skin']['view']['link'] as \$key=>\$val):\n\t\t\t\$mini['skin']['link']['no'] = \$key;\n\t\t\t\$mini['skin']['link']['value'] = \$val;\n\t?>";
                $str_left[] = "[/VIEW_LINK]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ถ”๊ฐ€ํ•„๋“œ
                $str_left[] = "[VIEW_FIELD]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['field']) && !empty(\$mini['skin']['view']['field']))\n\t\tforeach (\$mini['skin']['view']['field'] as \$key=>\$val):\n\t\t\t\$mini['skin']['field']['name'] = empty(\$mini['board']['field'][\$key]['name']) ? \$key : \$mini['board']['field'][\$key]['name'];\n\t\t\t\$mini['skin']['field']['value'] = \$val;\n\t\t\t\$mini['skin']['field']['is_array'] = is_array(\$val);\n\t?>";
                $str_left[] = "[/VIEW_FIELD]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ถ”๊ธฐํ•„๋“œ ๋ฉ€ํ‹ฐ
                $str_left[] = "[VIEW_FIELD_ARRAY]";
                $str_right[] = "\n\t<?php\n\tif (is_array(\$val)) {\n\t\tforeach (\$val as \$key2=>\$val2):\n\t\t\t\$mini['skin']['field']['value'] = \$val2;\n\t?>";
                $str_left[] = "[/VIEW_FIELD_ARRAY]";
                $str_right[] = "\n\t<?php endforeach; } ?>";
                // ๊ฒ€์ƒ‰
                $str_left[] = "[SEARCH]";
                $str_right[] = "\n\t<!-- [SEARCH] -->\n\t<?php if (getPermit(\"name:search\") && !empty(\$mini['board']['use_search'])) { ?>\n\t<form id='form_search' name='form_search' action='mini.php' method='get'>\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<?php if (!empty(\$_REQUEST['skinmake'])) { ?><input type='hidden' name='skinmake' value='<?php echo \$_REQUEST['skinmake']; ?>' /><?php } ?>";
                $str_left[] = "[/SEARCH]";
                $str_right[] = "\n\t</form>\n\t<?php } ?>\n\t<!-- [/SEARCH] -->";
                //+ ๋Œ“๊ธ€์ž„์‹œ
                $str_left[] = "[CMT2]";
                $str_right[] = "\n\t<?php \n\tif (\$mini['board']['use_comment']) {\n\t\techo \"<iframe id='comment' name='comment' src='{\$mini['dir']}cmt.php?id={\$_REQUEST['id']}&amp;no={\$_REQUEST['no']}\".(!empty(\$_REQUEST['pass_encode']) ? \"&amp;pass_encode={\$_REQUEST['pass_encode']}\" : \"\").getURI(\"id, no, start, div, sort, s, quick, and, is_cmt, page\").\"' frameborder='0' style='border:0; width:100%;'></iframe>\";\n\t?>";
                $str_left[] = "[/CMT2]";
                $str_right[] = "\n\t<?php } ?>";
                // ๋Œ“๊ธ€ ๋ชฉ๋ก ํผ
                $str_left[] = "[CMT_LIST_FORM]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['use_comment'])) { \n\t?>\n\t<div id='commentDiv'>\n\t<form id='form_cmt' name='form_cmt' action='cmt.x.php<?php echo getURI(\"id, no, mode, reply, target_post, script, formMode\", \"?\"); ?>' method='post'>\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<input type='hidden' name='target_post' value='<?php echo \$_REQUEST['no']; ?>' />\n\t<input type='hidden' name='reply' />\n\t<input type='hidden' name='mode' />\n\t<input type='hidden' name='pageCmtKey' value='<?php if (!empty(\$_SESSION['pageCmtKey'])) echo \$_SESSION['pageCmtKey']; ?>' />\n\t<input type='hidden' name='sel' />";
                $str_left[] = "[/CMT_LIST_FORM]";
                $str_right[] = "\n\t</form>\n\t</div>\n\t<?php } ?>";
                // ๋Œ“๊ธ€ ๋ฃจํ”„
                $str_left[] = "[CMT_LOOP]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['skin']['cmt']['data']) && is_array(\$mini['skin']['cmt']['data']))\n\t\tforeach (\$mini['skin']['cmt']['data'] as \$key=>\$val):\n\t\t\tparseComment(\$val);\n\t\t\t\$mini['skin']['data'] = &\$val;\n\t?>";
                $str_left[] = "[/CMT_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๋Œ“๊ธ€ ๋ฃจํ”„
                $str_left[] = "[CMT_ALL_LOOP]";
                $str_right[] = "\n\t<?php\n\t\$tmp_data = array();\n\tif (!empty(\$mini['skin']['cmt']['notice'])) \$tmp_data = array_merge(\$tmp_data, \$mini['skin']['cmt']['notice']);\n\tif (!empty(\$mini['skin']['cmt']['trackback'])) \$tmp_data = array_merge(\$tmp_data, \$mini['skin']['cmt']['trackback']);\n\tif (!empty(\$mini['skin']['cmt']['data'])) \$tmp_data = array_merge(\$tmp_data, \$mini['skin']['cmt']['data']);\n\n\tif (!empty(\$tmp_data))\n\t\tforeach (\$tmp_data as \$key=>\$val):\n\t\t\tparseComment(\$val);\n\t\t\t\$mini['skin']['data'] = &\$val;\n\t?>";
                $str_left[] = "[/CMT_ALL_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๋Œ“๊ธ€ ๊ณต์ง€์‚ฌํ•ญ ๋ฃจํ”„
                $str_left[] = "[CMT_NOTICE_LOOP]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['skin']['cmt']['notice']) && is_array(\$mini['skin']['cmt']['notice']))\n\t\tforeach (\$mini['skin']['cmt']['notice'] as \$key=>\$val):\n\t\t\tparseComment(\$val);\n\t\t\t\$mini['skin']['data'] = &\$val;\n\t?>";
                $str_left[] = "[/CMT_NOTICE_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๋Œ“๊ธ€ ์—ฎ์ธ๊ธ€ ๋ฃจํ”„
                $str_left[] = "[CMT_TRACKBACK_LOOP]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['skin']['cmt']['trackback']) && is_array(\$mini['skin']['cmt']['trackback']))\n\t\tforeach (\$mini['skin']['cmt']['trackback'] as \$key=>\$val):\n\t\t\tparseComment(\$val);\n\t\t\t\$mini['skin']['data'] = &\$val;\n\t?>";
                $str_left[] = "[/CMT_TRACKBACK_LOOP]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๋Œ“๊ธ€ ์ž…๋ ฅ ํผ
                $str_left[] = "[CMT_FORM]";
                $str_right[] = "\n\t<?php if (getPermit(\"name:comment\")) { ?><div id='write_comment_div'>";
                $str_left[] = "[/CMT_FORM]";
                $str_right[] = "\n\t</div><?php } ?>";
                // ๋Œ“๊ธ€ ๋งํฌ
                $str_left[] = "[CMT_LINK]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$val['link']) && !empty(\$mini['board']['link_value']))\n\t\tforeach (\$val['link'] as \$key2=>\$val2):\n\t\t\t\$mini['skin']['link']['no'] = \$key2;\n\t\t\t\$mini['skin']['link']['value'] = \$val2;\n\t?>";
                $str_left[] = "[/CMT_LINK]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๋Œ“๊ธ€ ์ถ”๊ฐ€ํ•„๋“œ
                $str_left[] = "[CMT_FIELD]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['field']) && !empty(\$val['field']) && !empty(\$mini['board']['use_cmt_field']))\n\t\tforeach (\$val['field'] as \$key2=>\$val2):\n\t\t\t\$mini['skin']['field']['name'] = empty(\$mini['board']['field'][\$key2]['name']) ? \$key2 : \$mini['board']['field'][\$key2]['name'];\n\t\t\t\$mini['skin']['field']['value'] = \$val2;\n\t?>";
                $str_left[] = "[/CMT_FIELD]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ํƒœ๊ทธ
                $str_left[] = "[CMT_TAG]";
                $str_right[] = "\n\t<?php\n\tif (is_array(\$val['tag']))\n\t\tforeach(\$val['tag'] as \$key2 => \$val2):\n\t\t\t\$mini['skin']['tag']['name'] = \$val2;\n\t\t\t\$mini['skin']['tag']['is_first'] = (!\$key2);\n\t\t\t\$mini['skin']['tag']['url_view'] = \"mini.php?id={\$_REQUEST['id']}&amp;is_cmt=1&amp;s[tag]=\".urlencode(\$val2);\n\t\t\t\$mini['skin']['tag']['link_view'] = \"href='{\$mini['skin']['tag']['url_view']}' target='_parent'\";\n\t?>";
                $str_left[] = "[/CMT_TAG]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ์ถ”๊ฐ€ํ•„๋“œ ์ž…๋ ฅ
                $str_left[] = "[CMT_FORM_FIELD]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['field']) && !empty(\$mini['board']['use_cmt_field']))\n\t\tforeach (\$mini['board']['field'] as \$key=>\$val):\n\t\t\tswitch (\$val['mode']):\n\t\t\t\tcase 'text':\n\t\t\t\t\t\$val['form'] = \"<input type='text' name='field[{\$key}]' class='fieldText' />\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select':\n\t\t\t\t\t\$val['form'] = \"<select name='field[{\$key}]' class='fieldSelect'>\".getOption(\"str:{\$val['items']}\").\"</select>\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'checkbox':\n\t\t\t\t\t\$val['form'] = getOption(\"\n\t\t\t\t\t\tstr: {\$val['items']}\n\t\t\t\t\t\tskin: <input id='field{\$key}[:rand:]' type='checkbox' name='field[{\$key}]' value='[:value:]' /><label for='field{\$key}[:rand:]'>[:key:]</label>\n\t\t\t\t\t\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'radio':\n\t\t\t\t\t\$val['form'] = getOption(\"\n\t\t\t\t\t\tstr: {\$val['items']}\n\t\t\t\t\t\tskin: <input id='field{\$key}[:rand:]' type='radio' name='field[{\$key}]' value='[:value:]' /> <label for='field{\$key}[:rand:]'>[:key:]</label>\n\t\t\t\t\t\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'textarea':\n\t\t\t\t\t\$val['form'] = \"<textarea name='field[{\$key}]' class='fieldTextarea' cols='60' rows='5'></textarea>\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select-multiple':\n\t\t\t\t\t\$val['form'] = \"<select name='field[{\$key}]' multiple='multiple' class='fieldSelectMulti'>\".getOption(\"str:{\$val['items']}\").\"</select>\";\n\t\t\t\t\tbreak;\n\t\t\tendswitch;\n\n\t\t\t\$mini['skin']['field'] = \$val;\n\t?>";
                $str_left[] = "[/CMT_FORM_FIELD]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๋งํฌ
                $str_left[] = "[CMT_FORM_LINK]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['link_value']))\n\t\tfor (\$i=1; \$i<=\$mini['board']['link_value']; \$i++):\n\t\t\t\$mini['skin']['link']['no'] = \$i;\n\t\t\t\$mini['skin']['link']['name'] = \"link[{\$i}]\";\n\t?>";
                $str_left[] = "[/CMT_FORM_LINK]";
                $str_right[] = "\n\t<?php endfor; ?>";
                // ํŠธ๋ž™๋ฐฑ ๋ณด๋‚ด๊ธฐ
                $str_left[] = "[TRACKBACK_FORM]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['use_trackback'])) { \n\t?>\n\t<form id='form_trackback' name='form_trackback' action='<?php echo \$mini['dir']; ?>ajax.php?url=<?php echo url(); ?>' method='post'>\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<input type='hidden' name='no' value='<?php echo \$_REQUEST['no']; ?>' />\n\t<input type='hidden' name='mode' value='trackback' />\n\t<input type='hidden' name='pageKey' value='<?php if (!empty(\$_SESSION['pageKey'])) echo \$_SESSION['pageKey']; ?>' />";
                $str_left[] = "[/TRACKBACK_FORM]";
                $str_right[] = "\n\t</form>\n\t<div id='comment_end' style='clear:both;'></div>\n\t<?php } ?>";
                // ๊ธ€์“ฐ๊ธฐ ํผ
                $str_left[] = "[WRITE_FORM]";
                $str_right[] = "\n\t<form id='form_write' name='form_write' action='write.x.php<?php echo getURI(\"id, no, mode\", \"?\"); ?>' method='post' enctype='multipart/form-data'>\n\t<input type='hidden' name='mode' value='<?php echo \$_REQUEST['mode']; ?>' />\n\t<input type='hidden' name='pageKey' value='<?php echo \$_SESSION['pageKey']; ?>' />\n\t<input type='hidden' name='no' value='<?php echo \$_REQUEST['no']; ?>' />\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />";
                $str_left[] = "[/WRITE_FORM]";
                $str_right[] = "\n\t</form>";
                // ๊ธ€์“ฐ๊ธฐ ์ถ”๊ฐ€ํ•„๋“œ
                $str_left[] = "[WRITE_FIELD]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['field']))\n\t\tforeach (\$mini['board']['field'] as \$key=>\$val):\n\t\t\tif (\$val['is_admin'] && empty(\$mini['member']['level_admin'])) continue;\n\n\t\t\tswitch (\$val['mode']):\n\t\t\t\tcase 'text':\n\t\t\t\t\t\$val['form'] = \"<input type='text' name='field[{\$key}]' class='formText' />\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select':\n\t\t\t\t\t\$val['form'] = \"<select name='field[{\$key}]' class='formSelect'>\".getOption(\"str:{\$val['items']}\").\"</select>\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'checkbox':\n\t\t\t\t\t\$val['form'] = getOption(\"\n\t\t\t\t\t\tstr: {\$val['items']}\n\t\t\t\t\t\tskin: <input id='field{\$key}[:rand:]' type='checkbox' name='field[{\$key}]' value='[:value:]' /><label for='field{\$key}[:rand:]'>[:key:]</label>\n\t\t\t\t\t\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'radio':\n\t\t\t\t\t\$val['form'] = getOption(\"\n\t\t\t\t\t\tstr: {\$val['items']}\n\t\t\t\t\t\tskin: <input id='field{\$key}[:rand:]' type='radio' name='field[{\$key}]' value='[:value:]' /> <label for='field{\$key}[:rand:]'>[:key:]</label>\n\t\t\t\t\t\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'textarea':\n\t\t\t\t\t\$val['form'] = \"<textarea name='field[{\$key}]' class='formTextarea' style='width:80%;' cols='60' rows='5'></textarea>\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select-multiple':\n\t\t\t\t\t\$val['form'] = \"<select name='field[{\$key}][]' multiple='multiple' class='formSelect'>\".getOption(\"str:{\$val['items']}\").\"</select>\";\n\t\t\t\t\tbreak;\n\t\t\tendswitch;\n\n\t\t\t\$mini['skin']['field'] = \$val;\n\t?>";
                $str_left[] = "[/WRITE_FIELD]";
                $str_right[] = "\n\t<?php endforeach; ?>";
                // ๊ธ€์“ฐ๊ธฐ ๋งํฌ
                $str_left[] = "[WRITE_LINK]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['board']['link_value']))\n\t\tfor (\$i=1; \$i<=\$mini['board']['link_value']; \$i++):\n\t\t\t\$mini['skin']['link']['no'] = \$i;\n\t\t\t\$mini['skin']['link']['name'] = \"link[{\$i}]\";\n\t?>";
                $str_left[] = "[/WRITE_LINK]";
                $str_right[] = "\n\t<?php endfor; ?>";
                // ๊ธ€์“ฐ๊ธฐ ํ•‘๋ฐฑ
                $str_left[] = "[WRITE_PINGBACK]";
                $str_right[] = "\n\t<?php \n\tif (!empty(\$mini['skin']['data']['pingback_arr']) && is_array(\$mini['skin']['data']['pingback_arr'])) {\n\t\tforeach(\$mini['skin']['data']['pingback_arr'] as \$key => \$val):\n\t\t\t\$mini['skin']['pingback']['url'] = \$val;\n\t\t\t\$mini['skin']['pingback']['is_first'] = (!\$key);\n\t?>";
                $str_left[] = "[/WRITE_PINGBACK]";
                $str_right[] = "\n\t<?php endforeach; } ?>";
                // ๊ธ€์“ฐ๊ธฐ ํŒŒ์ผ์—…๋กœ๋“œ
                $str_left[] = "[FILE_SWF]";
                $str_right[] = '
		<?php
			def($mini[\'setting\'][\'file_name\'], \'iiFile\');
			def($mini[\'setting\'][\'file_button_width\'], \'60\');
			def($mini[\'setting\'][\'file_button_height\'], \'20\');
			def($mini[\'setting\'][\'file_button_bgcolor\'], \'#d1d1d1\');
		?>

		<?php if (!empty($mini[\'skin\'][\'data\'][\'is_file\'])) { ?>
		<script type=\'text/javascript\'>
		//<![CDATA[
		window.addEvent(\'load\', function () {
			toggleMenu("bottomContent_file", "", $("bottomMenu_file"));
			$(\'bottomContent_tag\').toggle(\'hide\');
		});
		//]]>
		</script>
		<?php } ?>

		<!-- swfupload ์„ค์ • -->
		<script type=\'text/javascript\' src=\'<?php echo $mini[\'skin\'][\'rdir\']; ?>addon/iiUpload/iiUpload.js\'></script>
		<script type=\'text/javascript\' src=\'<?php echo $mini[\'skin\'][\'rdir\']; ?>js/mini.file.js\'></script>
		<script type=\'text/javascript\'>
		//<![CDATA[
		<?php
		$limitsize = getByte(get_cfg_var("upload_max_filesize"), \'decode\');
		?>

		var <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload = new MiniFileUpload({
			name: \'<?php echo $mini[\'setting\'][\'file_name\']; ?>\',
			target: $(\'fileUpload\'),
			form: $(\'<?php echo $mini[\'setting\'][\'file_name\'] == \'iiFile\' ? \'form_write\' : \'form_cmt\'; ?>\'),

			flash_url: \'<?php echo $mini[\'skin\'][\'rdir\']; ?>addon/iiUpload/iiUpload.swf\',
			use_swfupload: \'<?php echo !empty($mini[\'set\'][\'use_swfupload\']) ? 1 : 0; ?>\',
			button_url: \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/button_upload.png\',
			upload_url: \'<?php echo dirname($_SERVER[\'PHP_SELF\']); ?>/upload.php\',
			exec_url: \'<?php echo $mini[\'skin\'][\'rdir\']; ?>file.x.php?id=<?php echo $_REQUEST[\'id\']; ?>&no=<?php echo $_REQUEST[\'no\']; ?>\',
			width: <?php echo $mini[\'setting\'][\'file_button_width\']; ?>,
			height: <?php echo $mini[\'setting\'][\'file_button_height\']; ?>,
			bgcolor: \'<?php echo $mini[\'setting\'][\'file_button_bgcolor\']; ?>\',

			params: {
				"sid": "<?php echo session_id(); ?>",
				"id" : "<?php echo $_REQUEST[\'id\']; ?>",
				"mode" : "<?php echo $mini[\'setting\'][\'file_name\'] == \'iiFile\' ? \'post\' : \'comment\'; ?>",
				"swf" : "1",
				"pageURL" : "<?php echo url(); ?>",
				"no" : "<?php echo $mini[\'setting\'][\'file_name\'] == \'iiFile\' ? $_REQUEST[\'no\'] : \'\'; ?>",
				<?php echo $mini[\'setting\'][\'file_name\'] == \'iiFile\' ? \'\' : "\\"target_post\\" : \\"{$_REQUEST[\'no\']}\\","; ?>
				"pass_encode" : "<?php if (!empty($_REQUEST[\'pass_encode\'])) echo $_REQUEST[\'pass_encode\']; ?>"
			},
			onSelectEach: function (no, name, size) {
				var limit = <?php echo !empty($mini[\'board\'][\'file_limit_each\']) ? $mini[\'board\'][\'file_limit_each\'] : "0"; ?>;
				if (limit && limit * 1048576 < size) {
					error(\'ํŒŒ์ผ ์šฉ๋Ÿ‰์ด \' + (limit * 1048576) + \'bytes๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค\');
					return false;
				}

				return true;
			},
			onSelect: function (count, size) {
				var limit = <?php echo !empty($mini[\'board\'][\'file_limit\']) ? min($mini[\'board\'][\'file_limit\'], $limitsize) : $limitsize; ?>;
				if (count + parseInt($(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Count\').innerHTML) > <?php echo $mini[\'board\'][\'file_value\']; ?>) {
					error(\'ํŒŒ์ผ์€ <?php echo $mini[\'board\'][\'file_value\']; ?>๊ฐœ๊นŒ์ง€๋งŒ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค\');
					return false;
				}
				if (size + parseInt($(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Size\').innerHTML) > limit * 1048576) {
					error(\'์ด ์—…๋กœ๋“œ ์šฉ๋Ÿ‰์ด <?php echo $mini[\'board\'][\'file_limit\']; ?>M๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค\');
					return false;
				}

				return true;
			},
			onEnd: function (no, item) {
				if ($chk(item)) {
					var data = setJSON(item);
					if ($chk(data[\'error\']) && (data[\'error\'] == \'1\' || data[\'error\'] == 1)) {
						if (data[\'mode\'].toString().match(/goto/)) {
							__script(data);
						}
						else {
							error(data[\'msg\']);
						}
					}
					else {
						<?php echo $mini[\'setting\'][\'file_name\']; ?>AddItem(data[\'data\']);
					}
				}
			},
			onError: function (msg) { alert(\'ํŒŒ์ผ ์—…๋กœ๋“œ ์‹คํŒจ: \' + msg); }
		});
		//]]>
		</script>

		<script type=\'text/javascript\'>
		//<![CDATA[
		// ํŒŒ์ผ์ถ”๊ฐ€
		function <?php echo $mini[\'setting\'][\'file_name\']; ?>AddItem(data) {
			// ๊ฐ’ ์ˆ˜์ •
			if (!$chk(data["point"])) data["point"] = 0;
			if (!$chk(data["hit"])) data["hit"] = 0;
			if (!$chk(data["download"])) data["download"] = 0;
			
			var output = \'\';

			// ํŒŒ์ผ ์ข…๋ฅ˜์— ๋”ฐ๋ฅธ ์ธ๋„ค์ผ ์„ ํƒ
				var thumb = \'\';
				switch (data[\'type\']) {
					case \'image\':
						thumb = \'download.php?mode=view&no=\' + data["no"];
						break;
					case \'music\':
						thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/music.gif\';
						break;
					case \'movie\':
						thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/movie.gif\';
						break;
					case \'swf\':
					case \'flv\':
						thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/flv.gif\';
						break;
					default:
						// ์ถ”๊ฐ€ ํƒ€์ž…
						switch (data[\'ext\']) {
							case \'rar\':
							case \'zip\':
							case \'alz\':
							case \'tar\':
							case \'gz\':
							case \'bz\':
							case \'7z\':
								thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/zip.gif\';
								break;
							case \'doc\':
							case \'docx\':
							case \'xls\':
							case \'xlsx\':
							case \'ppt\':
							case \'pptx\':
								thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/office.gif\';
								break;
							case \'hwp\':
								thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/hwp.gif\';
								break;
							case \'txt\':
								thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/word.gif\';
								break;
							case \'psd\':
								thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/psd.gif\';
								break;
							default:
								thumb = \'<?php echo $mini[\'skin\'][\'dir\']; ?>image/ext/other.gif\';
						}
				}

			// html ์‚ฝ์ž…
			output =
			"<li id=\'<?php echo $mini[\'setting\'][\'file_name\']; ?>_" + data["no"] + "\' style=\'list-style-type:none; margin-bottom:5px;\'>"
			+ "<table border=\'0\' cellpadding=\'0\' cellspacing=\'0\' style=\'width:95%;\'><tr>"
			+ "<td width=\'30\' rowspan=\'2\'><input type=\'checkbox\' name=\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Sel[]\' value=\'" + data["no"] + "\' /></td>"
			+ "<td width=\'70\' rowspan=\'2\'><img src=\'" + thumb + "\' style=\'width:50px; height:35px; border:5px solid #ccc; cursor:pointer;\' alt=\'๋ฏธ๋ฆฌ๋ณด๊ธฐ\' onclick=\'window.open(\\""+(data["type"] == "image" ? miniDir + "addon/phpthumb/preview.php?no=" + data["no"] : miniDir + "download.php?mode=view&no=" + data["no"]) + "\\",\\"ie_preview\\",\\"width=640, height=480, resizable=1\\");\' /></td>"
			+ "<td>"
				+ "<span style=\'font-size:10px; font-family:verdana;\'>" + data["no"] + "</span> <span style=\'font-size:11px; font-weight:bold; color:#333; font-family:dotum;\'>" + data["name"] + "</span> <span style=\'font-size:10px; font-family:tahoma;\'>(" + data["size_out"] + ")</span> "
			+ "</td>"
			+ "</tr>"
			+ "<tr>"
				+ "<td><span class=\'word kor_s\'>์„ค๋ช…&nbsp;&nbsp;<input type=\'text\' name=\'" + <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting["name"] + "Title[" + data["no"] + "]\' value=\'" + data["title"] + "\' class=\'formText\' style=\'width:50%;\' /></span><span class=\'kor_s\'>ํฌ์ธํŠธ&nbsp;&nbsp; <input type=\'text\' name=\'" + <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting["name"] + "Point[" + data["no"] + "]\' value=\'" + data["point"] + "\' class=\'formText\' style=\'width:50px; text-align:right;\' /></span>"
				+ "&nbsp;&nbsp;&nbsp;<img src=\'<?php echo $mini[\'skin\'][\'dir\']; ?>image/icon/edit.gif\' border=\'0\' style=\'vertical-align:middle; cursor:pointer;\' alt=\'์ˆ˜์ •\' onclick=\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Edit(" + data["no"] + ");\' />"
				+ " <img src=\'<?php echo $mini[\'skin\'][\'dir\']; ?>image/icon/x_gray.gif\' border=\'0\' style=\'vertical-align:middle; cursor:pointer;\' alt=\'์‚ญ์ œ\' onclick=\'<?php echo $mini[\'setting\'][\'file_name\']; ?>DelItem(" + data["no"] + ");\' />"
				+ "</td>"
			+ "</tr></table>"
			+ "</li>";

			$(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>\').innerHTML += output;
			
			<?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.addFile(data);
			$(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Count\').innerHTML = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.count;
			$(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Size\').innerHTML = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.size;
			<?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.addMent(data[\'no\']);
		};

		// ํŒŒ์ผ์‚ญ์ œ
		function <?php echo $mini[\'setting\'][\'file_name\']; ?>DelItem(no, mode) {
			if (mode || confirm("ํŒŒ์ผ์„ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?")) {
				if ($chk($(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>_\' + no))) $(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>_\' + no).remove();
			
				ajaxForm({
					url: <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'exec_url\'] + \'&mode=del&target=\' + no,
					onComplete: function (data) {
						<?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.delFile(no);
						$(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Count\').innerHTML = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.count;
						$(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Size\').innerHTML = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.size;
					}
				});
			}
		};

		// ์„ ํƒํŒŒ์ผ ์‚ญ์ œ
		function <?php echo $mini[\'setting\'][\'file_name\']; ?>DelItems() {
			var data = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.getQueryString(\'del\');
			
			if (data) {
				if (confirm("์„ ํƒํ•œ ํŒŒ์ผ๋“ค์„ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?")) {
					ajaxForm({
						url: <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'exec_url\'] + \'&mode=del\',
						values: data,
						onComplete: function (item) {
							var matches = data.toString().match(/sel\\[\\]=([0-9]+)/g);
							for (var i=0; i < matches.length; i++) {
								<?php echo $mini[\'setting\'][\'file_name\']; ?>DelItem(parseInt(matches[i].toString().replace(/[^0-9]+/g, \'\')), 1);
							}
							$(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Count\').innerHTML = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.count;
							$(\'<?php echo $mini[\'setting\'][\'file_name\']; ?>Size\').innerHTML = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.size;
						}
					});
				}
			}
			else {
				error(\'ํŒŒ์ผ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”\');
			}
		};

		// ์„ค๋ช…์ˆ˜์ •
		function <?php echo $mini[\'setting\'][\'file_name\']; ?>Edit(no) {
			var ins = {
				title: <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'form\'].elements[<?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'name\'] + \'Title[\' + no + \']\'].value,
				point: <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'form\'].elements[<?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'name\'] + \'Point[\' + no + \']\'].value
			};				

			ajaxForm({
				url: <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'exec_url\'] + \'&mode=text&target=\' + no,
				values: ins,
				onComplete: function (data) {
					__script(data);
				}
			});
		};

		// ์„ ํƒ ์„ค๋ช…์ˆ˜์ •
		function <?php echo $mini[\'setting\'][\'file_name\']; ?>Edits() {
			var data = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.getQueryString();
			var sel = {};
			var no = 0;

			var obj = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.getCheckbox();
			for (var i = 0; i < obj.length; i++) {
				no = obj[i].value;
				sel[\'sel[\' + no + \']\'] = no;
				sel[\'title[\' + no + \']\'] = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'form\'].elements[<?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'name\'] + \'Title[\' + no + \']\'].value;
				sel[\'point[\' + no + \']\'] = <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'form\'].elements[<?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'name\'] + \'Point[\' + no + \']\'].value;
			}
			
			if (data) {
				ajaxForm({
					url: <?php echo $mini[\'setting\'][\'file_name\']; ?>Upload.setting[\'exec_url\'] + \'&mode=text\',
					values: sel,
					onComplete: function (item) {
						__script(item);
					}
				});
			}
			else {
				error(\'ํŒŒ์ผ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”\');
			}
		};

		// ๊ธฐ์กด๊ฐ’ ์ ์šฉ
		<?php
		if ($mini[\'setting\'][\'file_name\'] == \'iiFile\' && !empty($mini[\'skin\'][\'data\'][\'files\'])) {
			foreach ($mini[\'skin\'][\'data\'][\'files\'] as $key=>$val):
				unset($val[\'history_hit\']);
				parseFile($val);
				echo "{$mini[\'setting\'][\'file_name\']}AddItem(".setJSON($val).");\\n";
			endforeach;
		}
		?>
		//]]>
		</script>';
                $str_left[] = "[/FILE_SWF]";
                $str_right[] = "";
                break;
                #ํšŒ์›๊ฐ€์ž…
            #ํšŒ์›๊ฐ€์ž…
            case 'member.php':
            case 'agree.php':
                // ํผ
                $str_left[] = "[FORM]";
                $str_right[] = "\n\t<form id='form_join' name='form_join' action='member.x.php<?php echo getURI(\"mode, no\", \"?\"); ?>' method='post' enctype='multipart/form-data'>\n\t<input type='hidden' name='mode' value='<?php echo \$_REQUEST['mode']; ?>' />\n\t<input type='hidden' name='no' value='<?php echo \$_REQUEST['no']; ?>' />\n\t<input type='hidden' name='completeMode' value='ajax,alert,reload.parent' />";
                $str_left[] = "[/FORM]";
                $str_right[] = "\n\t</form>";
                // ์ถ”๊ฐ€ํ•„๋“œ
                $str_left[] = "[FIELD]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['site']['field']))\n\t\tforeach (\$mini['site']['field'] as \$key=>\$val):\n\t\t\tswitch (\$val['mode']):\n\t\t\t\tcase 'text':\n\t\t\t\t\t\$val['form'] = \"<input type='text' name='field[{\$key}]' class='formText' />\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select':\n\t\t\t\t\t\$val['form'] = \"<select name='field[{\$key}]' class='formSelect'>\".getOption(\"str:{\$val['items']}\").\"</select>\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'checkbox':\n\t\t\t\t\t\$val['form'] = getOption(\"\n\t\t\t\t\t\tstr: {\$val['items']}\n\t\t\t\t\t\tskin: <input id='field{\$key}[:rand:]' type='checkbox' name='field[{\$key}]' value='[:value:]' /><label for='field{\$key}[:rand:]'>[:key:]</label>\n\t\t\t\t\t\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'radio':\n\t\t\t\t\t\$val['form'] = getOption(\"\n\t\t\t\t\t\tstr: {\$val['items']}\n\t\t\t\t\t\tskin: <input id='field{\$key}[:rand:]' type='radio' name='field[{\$key}]' value='[:value:]' /> <label for='field{\$key}[:rand:]'>[:key:]</label>\n\t\t\t\t\t\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'textarea':\n\t\t\t\t\t\$val['form'] = \"<textarea name='field[{\$key}]' class='formTextarea' cols='60' rows='5'></textarea>\";\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select-multiple':\n\t\t\t\t\t\$val['form'] = \"<select name='field[{\$key}]' multiple='multiple' class='formSelect'>\".getOption(\"str:{\$val['items']}\").\"</select>\";\n\t\t\t\t\tbreak;\n\t\t\tendswitch;\n\n\t\t\t\$mini['skin']['field'] = \$val;\n\t\t\t\$mini['skin']['field']['join_setting'] = !empty(\$mini['site']['join_setting'][\"field_{\$key}\"]);\n\t\t\t\$mini['skin']['field']['join_check'] = !empty(\$mini['site']['join_check'][\"field[{\$key}]\"]);\n\n\t\t\tif (\$mini['skin']['field']['join_setting']) {\n\t?>";
                $str_left[] = "[/FIELD]";
                $str_right[] = "\n\t<?php } endforeach; ?>";
                // ์•ฝ๊ด€ ํผ
                $str_left[] = "[AGREE]";
                $str_right[] = "\n\t<form id='form_agree' name='form_agree' action='<?php echo str_replace(\"&\", \"&amp;\", urldecode(url())); ?>' method='post'>";
                $str_left[] = "[/AGREE]";
                $str_right[] = "\n\t</form>";
                break;
                #ํŒŒ์ผ
            #ํŒŒ์ผ
            case 'file.php':
                // ์—…๋กœ๋“œ ํผ
                $str_left[] = "[UPLOAD]";
                $str_right[] = "\n\t<form id='form_upload' name='form_upload' action='upload.php' method='post' enctype='multipart/form-data'>\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<input type='hidden' name='no' value='<?php echo \$_REQUEST['no']; ?>' />\n\t<input type='hidden' name='mode' value='<?php echo \$_REQUEST['mode']; ?>' />\n\t<input type='hidden' name='swf' value='<?php echo !empty(\$mini['set']['use_swfupload']) ? 1 : 0; ?>' />\n\t<input type='hidden' name='pass_encode' value='<?php if (!empty(\$_REQUEST['pass_encode'])) echo \$_REQUEST['pass_encode']; ?>' />";
                $str_left[] = "[/UPLOAD]";
                $str_right[] = "\n\t</form>";
                // ํŒŒ์ผ๋ชฉ๋ก ํผ
                $str_left[] = "[FORM]";
                $str_right[] = "\n\t<form id='form_file' name='form_file' action='file.x.php' method='post'>\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<input type='hidden' name='no' value='<?php echo \$_REQUEST['no']; ?>' />\n\t<input type='hidden' name='mode' value='<?php echo \$_REQUEST['mode']; ?>' />";
                $str_left[] = "[/FORM]";
                $str_right[] = "\n\t</form>";
                // ํˆด ํผ
                $str_left[] = "[FORM_TOOL]";
                $str_right[] = "\n\t<form id='form_tool' name='form_tool' method='post'>\n\t<input type='hidden' name='target' />";
                $str_left[] = "[/FORM_TOOL]";
                $str_right[] = "\n\t</form>";
                break;
                #๋งˆ์ด๋ฉ”๋‰ด
            #๋งˆ์ด๋ฉ”๋‰ด
            case 'mymenu.php':
                // ๋ฉ”์‹ ์ ธ
                $str_left[] = "[VIEW_CHAT]";
                $str_right[] = "\n\t<?php\n\tif (!empty(\$mini['skin']['data']['chat'])) {\n\t\tforeach (\$mini['skin']['data']['chat'] as \$key => \$val):\n\t\t\t\$mini['skin']['chat']['mode'] = \$val['mode'];\n\t\t\t\$mini['skin']['chat']['value'] = \$val['value'];\n\t?>";
                $str_left[] = "[/VIEW_CHAT]";
                $str_right[] = "\n\t<?php endforeach; } ?>";
                // ์ชฝ์ง€
                $str_left[] = "[MEMO_FORM]";
                $str_right[] = "\n\t<form id='form_memo_list' name='form_memo_list' action='mymenu.x.php' method='post'>\n\t<input type='hidden' name='mode' />\n\t<input type='hidden' name='mode2' value='<?php echo \$_REQUEST['mode']; ?>' />\n\t<input type='hidden' name='url' value='<?php echo url(); ?>' />\n\t<input type='hidden' name='completeMode' value='ajax,reload' />";
                $str_left[] = "[/MEMO_FORM]";
                $str_right[] = "\n\t</form>";
                // ์ชฝ์ง€ ๋ชฉ๋ก
                $str_left[] = "[MEMO_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$data;\n\tif (!empty(\$data) && is_array(\$data) && count(\$data) >= 1)\n\t\tforeach (\$data as \$key=>\$val):\n\t\t\tparseMemo(\$val);\n\t\t\t\$val['ment_notag'] = strCut(\$val['ment_notag'], 30, '...');\n\t\t\tif (\$val['target_member'] == \$mini['member']['no']) {\n\t\t\t\t\$val['name_him'] = \$val['name_from'];\n\t\t\t\t\$val['js_send_him'] = \$val['js_send_from'];\n\t\t\t}\n\t\t\tif (\$val['from_member'] == \$mini['member']['no']) {\n\t\t\t\t\$val['name_him'] = \$val['name_target'];\n\t\t\t\t\$val['js_send_him'] = \$val['js_send_target'];\n\t\t\t}\n\t\t\t\$mini['skin']['data'] = &\$val;\n\n\t?>";
                $str_left[] = "[/MEMO_LOOP]";
                $str_right[] = "\n\t<?php\n\t\tendforeach;\n\t?>";
                // ์นœ๊ตฌ๋ชฉ๋ก
                $str_left[] = "[MEMO_FRIEND_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$data;\n\tif (!empty(\$data) && is_array(\$data) && count(\$data) >= 1)\n\t\tforeach (\$data as \$key=>\$val):\n\t\t\t\$mini['skin']['data'] = &\$val;\n\n\t?>";
                $str_left[] = "[/MEMO_FRIEND_LOOP]";
                $str_right[] = "\n\t<?php\n\t\tendforeach;\n\t?>";
                // ํฌ์ธํŠธ๊ธฐ๋ก ๋ชฉ๋ก
                $str_left[] = "[LOG_POINT_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$data;\n\tif (!empty(\$data) && is_array(\$data) && count(\$data) >= 1)\n\t\tforeach (\$data as \$key=>\$val):\n\t\t\t\$mini['skin']['data'] = &\$val;\n\n\t?>";
                $str_left[] = "[/LOG_POINT_LOOP]";
                $str_right[] = "\n\t<?php\n\t\tendforeach;\n\t?>";
                break;
                #์ชฝ์ง€์“ฐ๊ธฐ
            #์ชฝ์ง€์“ฐ๊ธฐ
            case 'memo.write.php':
                // ์ชฝ์ง€๋ณด๋‚ด๊ธฐ
                $str_left[] = "[MEMO_WRITE_FORM]";
                $str_right[] = "\n\t<form id='form_memo_write' name='form_memo_write' action='ajax.php' method='post'>\n\t<input type='hidden' name='mode' value='send_memo' />\n\t<input type='hidden' name='target_member' value='<?php echo \$_REQUEST['no']; ?>' />";
                $str_left[] = "[/MEMO_WRITE_FORM]";
                $str_right[] = "\n\t</form>";
                break;
                #์‹ ๊ณ 
            #์‹ ๊ณ 
            case 'report.php':
                // ํผ
                $str_left[] = "[FORM]";
                $str_right[] = "\n\t<form id='form_report' name='form_report' action='report.x.php' method='post'>\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<input type='hidden' name='mode' value='<?php echo \$_REQUEST['mode']; ?>' />\n\t<input type='hidden' name='no' value='<?php echo \$_REQUEST['no']; ?>' />";
                $str_left[] = "[/FORM]";
                $str_right[] = "\n\t</form>";
                break;
                #๋น„๋ฐ€๋ฒˆํ˜ธ
            #๋น„๋ฐ€๋ฒˆํ˜ธ
            case 'pass.php':
                // ํผ
                $str_left[] = "[FORM]";
                $str_right[] = "\n\t<form id='form_pass' name='form_pass' action='<?php echo \$data['path']; ?>' method='get'<?php if (!empty(\$_REQUEST['target'])) echo \" target='{\$_REQUEST['target']}'\"; ?>>\n\t<?php if (!empty(\$data['form'])) echo \$data['form']; ?>";
                $str_left[] = "[/FORM]";
                $str_right[] = "\n\t</form>";
                break;
                #์ž๋ฃŒ๊ด€๋ฆฌ
            #์ž๋ฃŒ๊ด€๋ฆฌ
            case 'manage.php':
                // ํผ
                $str_left[] = "[FORM]";
                $str_right[] = "\n\t<form id='form_manage' name='form_manage' action='manage.x.php' method='post'>\n\t<input type='hidden' name='id' value='<?php echo \$_REQUEST['id']; ?>' />\n\t<input type='hidden' name='mode' value='<?php echo \$_REQUEST['mode']; ?>' />\n\t<input type='hidden' name='report' value='<?php echo (!empty(\$_REQUEST['report']) ? 1 : 0); ?>' />\n\t<?php\n\t\tforeach (\$_REQUEST['no'] as \$val):\n\t\t\techo \"<input type='hidden' name='no[]' value='{\$val}' />\n\";\n\t\tendforeach;\n\t?>";
                $str_left[] = "[/FORM]";
                $str_right[] = "\n\t</form>";
                // ์‹ ๊ณ ์ž ๋ชฉ๋ก
                $str_left[] = "[REPORTER_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$target_name, \$report;\n\t\n\t\$tmp_ment = getStr(\$report['ment']);\n\n\tif (!empty(\$target_name) && is_array(\$target_name) && count(\$target_name) >= 1)\n\t\tforeach (\$target_name as \$key=>\$val):\n\t\t\t\$mini['skin']['name'] = \$val;\n\t\t\t\$mini['skin']['ment'] = \$tmp_ment[\$key];\n\t?>";
                $str_left[] = "[/REPORTER_LOOP]";
                $str_right[] = "\n\t<?php\n\t\tendforeach;\n\t?>";
                // ์‹ ๊ณ ์‚ฌ์œ  ๋ชฉ๋ก
                $str_left[] = "[REPORTER_MENT_LOOP]";
                $str_right[] = "\n\t<?php\n\tglobal \$report;\n\n\tif (!empty(\$report['ment'])) {\n\t\tforeach ( as \$key=>\$val):\n\t\t\t\$mini['skin']['ment'] = \$val;\n\t?>";
                $str_left[] = "[/REPORTER_MENT_LOOP]";
                $str_right[] = "\n\t<?php\n\t\tendforeach;\n\t}\n\t?>";
                break;
                #์•„์ด๋””/๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
            #์•„์ด๋””/๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
            case 'login.find.php':
                // ์ฐพ๊ธฐ
                $str_left[] = "[FIND]";
                $str_right[] = "\n\t<form id='form_find' name='form_find' action='login.find.php<?php echo getURI(\"mode\", \"?\"); ?>' method='post'>\n\t<input type='hidden' name='mode' />\n\t<input type='hidden' name='site' value='<?php echo \$mini['site']['no']; ?>' />\n\t";
                $str_left[] = "[/FIND]";
                $str_right[] = "\n\t</form>";
                // ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ
                $str_left[] = "[FIND_PASS]";
                $str_right[] = "\n\t<form id='form_find_pass' name='form_find_pass' action='login.find.php<?php echo getURI(\"mode\", \"?\"); ?>' method='post'>\n\t<input type='hidden' name='mode' value='pass_ok' />\n\t<input type='hidden' name='no' value='<?php echo \$_REQUEST['no']; ?>' />\n\t<input type='hidden' name='site' value='<?php echo \$mini['site']['no']; ?>' />\n\t<input type='hidden' name='answer' value='<?php if (!empty(\$_REQUEST['qna_answer'])) echo \$_REQUEST['qna_answer']; ?>' />\n\t";
                $str_left[] = "[/FIND_PASS]";
                $str_right[] = "\n\t</form>";
                break;
        }
        #๋ชจ๋“ ๊ณณ
        // ๋กœ๊ทธ์ธ
        $str_left[] = "[LOGIN]";
        $str_right[] = "\n\t<form id='form_login' name='form_login' action='login.php<?php echo getURI(\"mode\", \"?\"); ?>' method='post'>\n\t<input type='hidden' name='mode' value='login' />\n\t<input type='hidden' name='completeMode' value='ajax,reload.parent' />\n\t<input type='hidden' name='completeScript' value='login_autosave' />";
        $str_left[] = "[LOGIN_NORMAL]";
        $str_right[] = "\n\t<form id='form_login' name='form_login' action='login.php<?php echo getURI(\"mode\", \"?\"); ?>' method='post'>\n\t<input type='hidden' name='mode' value='login' />";
        $str_left[] = "[/LOGIN]";
        $str_right[] = "\n\t</form>";
        // ํˆด ๋ ˆ์ด์–ด
        $str_left[] = "[TOOL /]";
        $str_right[] = "\n\t<div id='tool' style='display:none;' class='tool'>\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/x_gray.gif' border='0' class='hand' style='vertical-align:middle;' alt='์‚ญ์ œ' title='์‚ญ์ œ' <?php echo \$mini['skin']['js_post_del']; ?> />\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/alert.gif' border='0' class='hand' style='vertical-align:middle;' alt='๊ด€๋ฆฌ' title='๊ด€๋ฆฌ' <?php echo \$mini['skin']['js_pop_post_manage']; ?> />\n\t</div>\n\t";
        // ํˆด ๋Œ“๊ธ€ ๋ ˆ์ด์–ด
        $str_left[] = "[TOOL_CMT /]";
        $str_right[] = "\n\t<div id='tool_cmt' style='display:none;' class='tool'>\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/x_gray.gif' border='0' class='hand' style='vertical-align:middle;' alt='์‚ญ์ œ' title='์‚ญ์ œ' <?php echo \$mini['skin']['js_cmt_del']; ?> />\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/alert.gif' border='0' class='hand' style='vertical-align:middle;' alt='๊ด€๋ฆฌ' title='๊ด€๋ฆฌ' <?php echo \$mini['skin']['js_pop_cmt_manage']; ?> />\n\t</div>";
        // ํˆด ์ชฝ์ง€ ์นœ๊ตฌ๋ชฉ๋ก ๋ ˆ์ด์–ด
        $str_left[] = "[TOOL_MEMO /]";
        $str_right[] = "\n\t<div id='tool' style='display:none;' class='tool'>\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/against.gif' border='0' class='hand' style='vertical-align:middle;' alt='์ฐจ๋‹จ'1 title='์ฐจ๋‹จ' <?php echo \$mini['skin']['js_memo_block']; ?> />\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/x_gray.gif' border='0' class='hand' style='vertical-align:middle;' alt='์‚ญ์ œ' title='์‚ญ์ œ' <?php echo \$mini['skin']['js_friend']; ?> />\n\t</div>";
        // ํˆด ์ชฝ์ง€ ๋ชฉ๋ก ๋ ˆ์ด์–ด
        $str_left[] = "[TOOL_MEMO_LIST /]";
        $str_right[] = "\n\t<div id='tool' style='display:none;' class='tool'>\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/paper-clip.gif' border='0' class='hand' style='vertical-align:middle;' alt='๋ณด๊ด€' title='๋ณด๊ด€' <?php echo \$mini['skin']['js_memo_save_action']; ?> />\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/x_gray.gif' border='0' class='hand' style='vertical-align:middle;' alt='์‚ญ์ œ' title='์‚ญ์ œ' <?php echo \$mini['skin']['js_del']; ?> />\n\t</div>";
        // ํˆด ์ชฝ์ง€ ๋ณด๊ด€ํ•จ ๋ ˆ์ด์–ด
        $str_left[] = "[TOOL_MEMO_SAVE /]";
        $str_right[] = "\n\t<div id='tool' style='display:none;' class='tool'>\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/paper-clip.gif' border='0' class='hand' style='vertical-align:middle;' alt='๋ณด๊ด€' title='๋ณด๊ด€' <?php echo \$mini['skin']['js_memo_save_action']; ?> />\n\t\t<img src='<?php echo \$mini['skin']['dir']; ?>image/icon/x_gray.gif' border='0' class='hand' style='vertical-align:middle;' alt='์‚ญ์ œ' title='์‚ญ์ œ' <?php echo \$mini['skin']['js_del']; ?> />\n\t</div>";
        //// ๋ชฉ๋ก ํ˜ธ์ถœ
        if (strpos($output, "[LIST_INC]") !== false) {
            $fp = fopen("{$mini['sdir']}list.php", "r");
            $tmp_include_data = '';
            while (!feof($fp)) {
                $tmp_include_data .= fgets($fp, 4096);
            }
            fclose($fp);
            unset($mat);
            preg_match("/\\<\\!\\-\\- \\[LIST\\] \\-\\-\\>(.+)\\<\\!\\-\\- \\[\\/LIST\\] \\-\\-\\>/sU", $tmp_include_data, $mat);
            $str_left[] = "[LIST_INC]";
            $str_right[] = $mat[1];
            $str_left[] = "[/LIST_INC]";
            $str_right[] = "";
            unset($tmp_include_data);
            unset($mat);
        }
        //// ๊ฒ€์ƒ‰ ํ˜ธ์ถœ
        if (strpos($output, "[SEARCH_INC]") !== false) {
            $fp = fopen("{$mini['sdir']}list.php", "r");
            $tmp_include_data = '';
            while (!feof($fp)) {
                $tmp_include_data .= fgets($fp, 4096);
            }
            fclose($fp);
            unset($mat);
            preg_match("/\\<\\!\\-\\- \\[SEARCH\\] \\-\\-\\>(.+)\\<\\!\\-\\- \\[\\/SEARCH\\] \\-\\-\\>/sU", $tmp_include_data, $mat);
            $str_left[] = "[SEARCH_INC]";
            $str_right[] = $mat[1];
            $str_left[] = "[/SEARCH_INC]";
            $str_right[] = "";
            unset($tmp_include_data);
            unset($mat);
        }
        //// ๋Œ“๊ธ€ ๋ชฉ๋ก ํ˜ธ์ถœ
        if (strpos($output, "[CMT_INC /]") !== false) {
            $str_left[] = "[CMT_INC /]";
            $str_right[] = "\n\t\t\t\t<?php \n\t\t\t\tif (!empty(\$mini['board']['use_comment'])) {\n\t\t\t\t\tinclude \"{$mini['sdir']}cmt.php\";\n\t\t\t\t}\n\t\t\t\t?>";
        }
        //// ์น˜ํ™˜
        $output = str_replace($str_left, $str_right, $output);
        $str_left = $str_right = array();
        //// PHP ๊ตฌ๋ฌธ์€ ๋จผ์ € ๋บ€๋‹ค
        preg_match_all("/\\<\\?(.+)\\?\\>/isU", $output, $mat);
        foreach ($mat[0] as $key => $val) {
            $output = str_replace($val, "<!--exchange-miniboard-{$key}-->", $output);
        }
        //// ํŠน๋ณ„
        // depth ์ฆ๊ฐ€
        $preg_left[] = "/\\[depth:([^\\]]*)\\]/i";
        $preg_right[] = "<?php echo !preg_match(\"/[^0-9]/\", \"\\1\") ? (int)(\"\\1\" * \$val['depth']) : str_repeat(\"\\1\", \$val['depth']); ?>";
        $preg_left[] = "/\\[depth0:([^\\]]*)\\]/i";
        $preg_right[] = "<?php echo !preg_match(\"/[^0-9]/\", \"\\1\") ? (int)(\"\\1\" * \$val['depth']-1) : str_repeat(\"\\1\", \$val['depth']-1); ?>";
        // include
        $preg_left[] = "/\\[include:([^\\]]+)\\]/i";
        $preg_right[] = "<?php include \"{$mini['dir']}\\1\"; ?>";
        // ์Šคํ‚จ๊ฒฝ๋กœ๊ฐ€ ํฌํ•จ๋œ include
        if (!empty($mini['sdir'])) {
            $preg_left[] = "/\\[sinclude:([^\\]]+)\\]/i";
            $preg_right[] = "<?php include \"{$mini['sdir']}\\1\"; ?>";
        }
        // ์ฃผ์„
        $preg_left[] = "/^\\s*?\\#\\#.+\$/m";
        $preg_right[] = "";
        //// ๋…ผ๋ฆฌ๋ฌธ
        $preg_left[] = "/\\[if:([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+)\\]/i";
        $preg_right[] = "<?php if (!empty(\$mini['skin']['\\1']['\\2']['\\3']['\\4'])) { ?>";
        $preg_left[] = "/\\[if:([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+)\\]/i";
        $preg_right[] = "<?php if (!empty(\$mini['skin']['\\1']['\\2']['\\3'])) { ?>";
        $preg_left[] = "/\\[\\!if:([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+)\\]/i";
        $preg_right[] = "<?php if (empty(\$mini['skin']['\\1']['\\2']['\\3'])) { ?>";
        $preg_left[] = "/\\[if:([a-z0-9_]+)\\.([a-z0-9_]+)\\]/i";
        $preg_right[] = "<?php if (!empty(\$mini['skin']['\\1']['\\2'])) { ?>";
        $preg_left[] = "/\\[\\!if:([a-z0-9_]+)\\.([a-z0-9_]+)\\]/i";
        $preg_right[] = "<?php if (empty(\$mini['skin']['\\1']['\\2'])) { ?>";
        $preg_left[] = "/\\[if:([a-z0-9_]+)\\]/i";
        $preg_right[] = "<?php if (!empty(\$mini['skin']['\\1'])) { ?>";
        $preg_left[] = "/\\[\\!if:([a-z0-9_]+)\\]/i";
        $preg_right[] = "<?php if (empty(\$mini['skin']['\\1'])) { ?>";
        $str_left[] = "[endif]";
        $str_right[] = "<?php } ?>";
        //// ๋ณ€์ˆ˜
        $preg_left[] = "/\\[:([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+):\\]/i";
        $preg_right[] = "<?php echo \$mini['skin']['\\1']['\\2']['\\3']['\\4']; ?>";
        $preg_left[] = "/\\[:([a-z0-9_]+)\\.([a-z0-9_]+)\\.([a-z0-9_]+):\\]/i";
        $preg_right[] = "<?php echo \$mini['skin']['\\1']['\\2']['\\3']; ?>";
        $preg_left[] = "/\\[:([a-z0-9_]+)\\.([a-z0-9_]+):\\]/i";
        $preg_right[] = "<?php echo \$mini['skin']['\\1']['\\2']; ?>";
        $preg_left[] = "/\\[:([a-z0-9_]+):\\]/i";
        $preg_right[] = "<?php echo \$mini['skin']['\\1']; ?>";
        //// ๋ณ€ํ™˜
        $output = str_replace($str_left, $str_right, $output);
        $output = preg_replace($preg_left, $preg_right, $output);
        //// PHP ๊ตฌ๋ฌธ์„ ๋ถ™์ธ๋‹ค
        $output = preg_replace("/\\<\\!\\-\\-exchange\\-miniboard\\-([0-9]+)\\-\\-\\>/e", '$mat[0][\\1]', $output);
        if ($mode == 'url') {
            //// ์“ฐ๊ธฐ
            $fp = fopen(preg_replace("/\\.mini\$/i", ".php", $url), "w+");
            flock($fp, LOCK_EX);
            if (!$fp || !fwrite($fp, $output)) {
                __error("[{$url}] ํŒŒ์ผ ์“ฐ๊ธฐ๋ฅผ ์‹คํŒจ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ๊ถŒํ•œ์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”");
            }
            flock($fp, LOCK_UN);
            fclose($fp);
        } else {
            $output = preg_replace_callback("/\\<\\?(php)? echo ([^;]+)\\; \\?\\>/i", create_function('$matches', "global \$mini; return eval(\"return \".stripslashes(\$matches[2]).\";\");"), $output);
            return $output;
        }
    }
}
Example #10
0
/**
 * ์ž…๋ ฅ ๋ณ€์ˆ˜ ์ฒดํฌ - ๊ทธ๋ฃน
 * @class admin.site 
 * @param
		$data: ์ž๋ฃŒ
*/
function checkFieldSite(&$data)
{
    global $mini;
    if (!is_array($data)) {
        __error("์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค");
    }
    // DB ์ปฌ๋Ÿผ ๋กœ๋“œ
    iss($col);
    $col = getColumns($mini['name']['site']);
    foreach ($data as $key => $val) {
        switch ($key) {
            // ์‚ญ์ œ ์„ค์ •
            case 'date':
            case 'no':
                unset($data[$key]);
                break;
                // ๊ทธ๋ฃน์—ฐ๊ฒฐ
            // ๊ทธ๋ฃน์—ฐ๊ฒฐ
            case 'site_link':
                if (is_array($val)) {
                    $data[$key] = "[" . implode("][", $val) . "]";
                }
                break;
                // ์ถ”๊ฐ€ํ•„๋“œ
            // ์ถ”๊ฐ€ํ•„๋“œ
            case 'field':
                if (is_array($val)) {
                    str($data[$key], 'encode');
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('์ถ”๊ฐ€ํ•„๋“œ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ๊ฐ€์ž…ํ•ญ๋ชฉ์„ค์ •
            // ๊ฐ€์ž…ํ•ญ๋ชฉ์„ค์ •
            case 'join_setting':
                if (is_array($val)) {
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('๊ฐ€์ž…ํ•ญ๋ชฉ์„ค์ • ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ํ…œํ”Œ๋ฆฟ
            // ํ…œํ”Œ๋ฆฟ
            case 'template':
                if (is_array($val)) {
                    str($data[$key], 'encode');
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('ํ…œํ”Œ๋ฆฟ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ๋ฉ”์ผ
            // ๋ฉ”์ผ
            case 'mail':
                check($val, "type:mail, name:๋Œ€ํ‘œ ๋ฉ”์ผ");
                break;
                // ํœด๋Œ€์ „ํ™”
            // ํœด๋Œ€์ „ํ™”
            case 'cp':
                check($val, "type:cp, name:๋Œ€ํ‘œ ํœด๋Œ€์ „ํ™”, is_not:1");
                break;
                // ํšŒ์›์ƒํƒœ๋ชฉ๋ก
            // ํšŒ์›์ƒํƒœ๋ชฉ๋ก
            case 'status':
                if (!empty($val)) {
                    $tmp = array_unique(getStr($val));
                    if (is_array($tmp)) {
                        $data[$key] = "[" . implode("][", $tmp) . "]";
                    }
                }
                break;
                // ๊ทธ๋ฃน์ด๋ฆ„ ํƒœ๊ทธ์ฒ˜๋ฆฌ
            // ๊ทธ๋ฃน์ด๋ฆ„ ํƒœ๊ทธ์ฒ˜๋ฆฌ
            case 'name':
                // str($data[$key], 'encode');
                break;
                // ๊ธฐ๋ณธ(๋‹จ์ผํ•„๋“œ)
            // ๊ธฐ๋ณธ(๋‹จ์ผํ•„๋“œ)
            default:
                // tmp ๊ฐ’ ์ œ์™ธ
                if (preg_match("/^tmp_/i", $key)) {
                    unset($data[$key]);
                }
                // ๋ฐฐ์—ด ๊ฐ’ ์ œ์™ธ
                if (is_array($val)) {
                    __error("[{$key}] ๊ฐ’์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค");
                }
                // ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ•„๋“œ์ผ ๋•Œ ๋นผ๊ธฐ
                if (!inStr($key, $col)) {
                    unset($data[$key]);
                }
                // ๊ถŒํ•œ
                if (preg_match("/permit_/i", $key) && $val && count(getStr($val)) > 1) {
                    $data[$key] = "[" . implode("][", array_unique(getStr($val))) . "]";
                }
        }
    }
}
Example #11
0
/** ์ž๋ฃŒ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ผ์น˜์—ฌ๋ถ€ ํ™•์ธ
 * @class io
 * @param
		$data: ์ž๋ฃŒ ๋ฐ์ดํ„ฐ
		$move: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์ด๋™ ์—ฌ๋ถ€
		$error: ๋ชจ๋“œ ์ง€์ •
 * @return Boolean
 */
function checkPass($data, $move = 0, $error = '')
{
    global $mini;
    iss($_REQUEST['id']);
    iss($_REQUEST['group']);
    iss($_REQUEST['no']);
    iss($_REQUEST['pass_encode']);
    if (!empty($mini['member']['level_admin'])) {
        return true;
    }
    if (!empty($data['target_member']) && empty($mini['log'])) {
        __error('๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค');
    }
    if (!empty($data['target_member']) && !empty($mini['log']) && $data['target_member'] != $mini['member']['no']) {
        __error('๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค');
    }
    if (empty($data['target_member'])) {
        if (empty($_REQUEST['pass_encode'])) {
            if ($move) {
                $url = preg_match("/^upload\\./i", $mini['filename']) && !empty($_REQUEST['pageURL']) ? $_REQUEST['pageURL'] : url();
                if (!empty($_REQUEST['iframe'])) {
                    $url = '';
                }
                __error(array('mode' => !empty($error) ? $error : 'goto' . (!empty($_REQUEST['iframe']) ? '.parent' : ''), 'url' => "pass.php?id={$_REQUEST['id']}&group={$_REQUEST['group']}&url={$url}"));
            } else {
                __error('๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค');
            }
        } else {
            if ($_REQUEST['pass_encode'] != md5("{$data['pass']}|{$mini['ip']}|" . session_id())) {
                __error("๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค");
            }
        }
    }
    return false;
}
Example #12
0
/** ๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ
 * @class notification
 * @param
		-mode: ๋ฉ”์ผ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• (auto)
			#auto ์ž๋™์ธ์‹
			#text
			#html
			#both
		-file: ์ฒจ๋ถ€ํŒŒ์ผ, array ๊ฐ€๋Šฅ, _FILES array ๋ฅผ ๋„˜๊ฒจ์•ผ ํ•จ
		-ment: ๋‚ด์šฉ
		-title: ์ œ๋ชฉ
		-from_name: ๋ณด๋‚ด๋Š”์‚ฌ๋žŒ ์ด๋ฆ„
		-from_mail: ๋ณด๋‚ด๋Š”์‚ฌ๋žŒ ๋ฉ”์ผ
		-to_name: ๋ฐ›๋Š”์‚ฌ๋žŒ ์ด๋ฆ„
		-to_mail: ๋ฐ›๋Š”์‚ฌ๋žŒ ๋ฉ”์ผ
		-error_mail: ์—๋Ÿฌ๋‚ฌ์„๋•Œ ๋ฐ›์„๋ฉ”์ผ
		-is_base: base64์‚ฌ์šฉ
		-is_socket: socket ์ „์†ก ์‚ฌ์šฉ
		-socket_host:
		-socket_port:
 * @return 
 */
function send_mail($param)
{
    global $mini;
    $param = param($param);
    def($param['mode'], 'auto');
    def($param['is_base'], '1');
    def($param['is_socket'], '1');
    $header = $type = $ment_file = '';
    $eof = "\r\n";
    $param['ment'] = trim($param['ment']);
    $param['title'] = trim($param['title']);
    $title = $param['title'];
    // ์ธ์ฝ”๋”ฉ
    if ($param['is_base']) {
        if ($param['to_name']) {
            $param['to_name'] = "=?{$mini['set']['lang']}?B?" . base64_encode($param['to_name']) . "?= ";
        }
        if ($param['from_name']) {
            $param['from_name'] = "=?{$mini['set']['lang']}?B?" . base64_encode($param['from_name']) . "?= ";
        }
        if ($param['title']) {
            $param['title'] = "=?{$mini['set']['lang']}?B?" . base64_encode($param['title']) . "?=";
        } else {
            $param['title'] = 'No.title';
        }
    }
    if (!empty($param['file'])) {
        foreach ($param['file'] as $key => $val) {
            if ($val['size']) {
                $fp = fopen($val['tmp_name'], "rb");
                if ($fp) {
                    $ment_file .= "{$eof}--------------010504050703010207050203{$eof}";
                    $ment_file .= "Content-Type: application/octet-stream; charset={$mini['set']['lang']}{$eof}";
                    $ment_file .= "Content-Transfer-Encoding: base64{$eof}";
                    if ($param['is_base']) {
                        $ment_file .= "Content-Disposition: attachment; filename=\"=?{$mini['set']['lang']}?B?" . base64_encode($val['name']) . "?=\"{$eof}{$eof}";
                    } else {
                        $ment_file .= "Content-Disposition: attachment; filename=\"{$val['name']}\"{$eof}{$eof}";
                    }
                    $ment_file .= trim(chunk_split(base64_encode(fread($fp, $val['size']))));
                    fclose($fp);
                    $param['mode'] = 'both';
                }
            }
        }
    }
    // ์ž๋™ ์„ ํƒ
    if ($param['mode'] == 'auto') {
        if (eregi("^\\<", $param['ment'])) {
            $param['mode'] = 'html';
        } elseif (strpos($param['ment'], '<') !== false) {
            $param['mode'] = 'both';
        } else {
            $param['mode'] = 'text';
        }
    }
    switch ($param['mode']) {
        case 'text':
            $type = "text/plain";
            break;
        case 'html':
            $type = "text/html";
            break;
        case 'both':
            $type = "multipart/mixed";
            //$param['ment'] = nl2br($param['ment']);
            //$param['ment'] = chunk_split(trim($param['ment']));
            break;
        default:
            __error('send_mail ํ•จ์ˆ˜ mode ๊ฐ’ ์—๋Ÿฌ');
    }
    //// ํ—ค๋” ์ •๋ณด ์ƒ์„ฑ
    $header .= "Return-Path: {$param['from_mail']}{$eof}";
    // ๋ฆฌํ„ด
    if (!empty($param['is_notice'])) {
        $header .= "Disposition-Notification-To: <{$param['from_mail']}>{$eof}";
    }
    // ์ˆ˜์‹ ํ™•์ธ
    $header .= "Date: " . date("D, j M Y H:i:s O") . "{$eof}";
    // ์‹œ๊ฐ„
    $header .= "From: {$param['from_name']}<{$param['from_mail']}>{$eof}";
    // ๋ณด๋‚ด๋Š”์‚ฌ๋žŒ
    $header .= "MIME-Version: 1.0{$eof}";
    $header .= "X-Mailer: the M Mailer beta{$eof}";
    if (!empty($param['error_mail'])) {
        $header .= "Errors-To: <{$param['error_mail']}>{$eof}";
    }
    $header .= "Content-Type: {$type}";
    //$header .= "To: {$param['to_name']}<{$param['to_mail']}>{$eof}"; // ๋ณด๋‚ด๋Š”์‚ฌ๋žŒ
    //$header .= "Subject: {$param['title']}{$eof}";
    if ($param['mode'] == 'both') {
        $header .= ";{$eof} boundary=\"------------010504050703010207050203\"{$eof}";
    } else {
        $header .= "; charset={$mini['set']['lang']}{$eof}";
        $header .= "Content-Transfer-Encoding: 8bit{$eof}";
    }
    $header .= "Status:";
    $ment_tmp = '';
    if ($param['mode'] == 'both') {
        $ment_tmp .= "This is a multi-part message in MIME format.{$eof}";
    } else {
        $ment_tmp .= $param['ment'] . $eof;
    }
    // ๋ณตํ•ฉ ์ถœ๋ ฅ
    if ($param['mode'] == 'both') {
        $ment_tmp .= "--------------010504050703010207050203{$eof}";
        $ment_tmp .= "Content-Type: text/html; charset={$mini['set']['lang']}{$eof}";
        $ment_tmp .= "Content-Transfer-Encoding: 8bit{$eof}{$eof}";
        if ($param['ment']) {
            $ment_tmp .= $param['ment'] . $eof . $eof;
        }
        if ($ment_file) {
            $ment_tmp .= $ment_file;
        }
        //$ment_tmp .= "--------------20070101--{$eof}";
    }
    if (!$param['is_socket']) {
        return mail($param['to_mail'], $param['title'], $ment_tmp, $header);
    } else {
        if (!empty($mini['set']['socket_host'])) {
            def($param['socket_host'], $mini['set']['socket_host']);
        }
        if (!empty($mini['set']['socket_port'])) {
            def($param['socket_port'], $mini['set']['socket_port']);
        }
        def($param['socket_host'], ini_get("SMTP"));
        def($param['socket_port'], ini_get("smtp_port"));
        $fp = @fsockopen($param['socket_host'], $param['socket_port'], $errno, $errstr, 5);
        if ($fp) {
            $rcv = fgets($fp, 1024);
            fputs($fp, "HELO {$_SERVER['SERVER_NAME']}{$eof}");
            $rcv = fgets($fp, 1024);
            fputs($fp, "MAIL FROM:{$param['from_mail']}{$eof}");
            $rcv = fgets($fp, 1024);
            fputs($fp, "RCPT TO:{$param['to_mail']}{$eof}");
            $rcv = fgets($fp, 1024);
            fputs($fp, "DATA{$eof}");
            fputs($fp, "Subject: {$param['title']}{$eof}");
            fputs($fp, "{$header}{$eof}{$eof}");
            fputs($fp, "{$ment_tmp}{$eof}");
            fputs($fp, ".{$eof}");
            $rcv = fgets($fp, 1024);
            fputs($fp, "QUIT{$eof}");
            fclose($fp);
            return 1;
        } else {
            return 0;
        }
    }
}
Example #13
0
/**
 * ์ž…๋ ฅ ๋ณ€์ˆ˜ ์ฒดํฌ - ๊ฒŒ์‹œํŒ
 * @class admin.board 
 * @param
		$data: ์ž๋ฃŒ
*/
function checkFieldBoard(&$data)
{
    global $mini;
    if (!is_array($data)) {
        __error("์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค");
    }
    // DB ์ปฌ๋Ÿผ ๋กœ๋“œ
    iss($col);
    $col = getColumns($mini['name']['admin']);
    foreach ($data as $key => $val) {
        switch ($key) {
            // ์‚ญ์ œ ์„ค์ •
            case 'date':
            case 'no':
            case 'dir':
                unset($data[$key]);
                break;
                // ๊ทธ๋ฃน์—ฐ๊ฒฐ
            // ๊ทธ๋ฃน์—ฐ๊ฒฐ
            case 'site_link':
                if (is_array($val)) {
                    $data[$key] = "[" . implode("][", $val) . "]";
                }
                break;
                // ์นดํ…Œ๊ณ ๋ฆฌ
            // ์นดํ…Œ๊ณ ๋ฆฌ
            case 'category':
                if (is_array($val)) {
                    foreach ($val as $key2 => $val2) {
                        check($val2['no'], 'type:num, name: ์นดํ…Œ๊ณ ๋ฆฌ๋ฒˆํ˜ธ');
                        check($val2['depth'], 'type:num, name: ์นดํ…Œ๊ณ ๋ฆฌ๋‹จ๊ณ„, is_not:1');
                        check($val2['name'], 'name: ์นดํ…Œ๊ณ ๋ฆฌ์ด๋ฆ„');
                        str($data[$key][$key2]['name'], 'encode');
                    }
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('์นดํ…Œ๊ณ ๋ฆฌ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ์ถ”๊ฐ€ํ•„๋“œ
            // ์ถ”๊ฐ€ํ•„๋“œ
            case 'field':
                if (is_array($val)) {
                    str($data[$key], 'encode');
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('์ถ”๊ฐ€ํ•„๋“œ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ์˜ต์…˜
            // ์˜ต์…˜
            case 'options':
                if (is_array($val)) {
                    str($data[$key], 'encode');
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('์Šคํ‚จ์˜ต์…˜ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ๋‹จ์ถ•ํ‚ค
            // ๋‹จ์ถ•ํ‚ค
            case 'key_map':
                if (is_array($val)) {
                    str($data[$key], 'encode');
                    $data[$key] = serialize($data[$key]);
                } else {
                    __error('๋‹จ์ถ•ํ‚ค ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค');
                }
                break;
                // ๊ธฐ๋ณธ(๋‹จ์ผํ•„๋“œ)
            // ๊ธฐ๋ณธ(๋‹จ์ผํ•„๋“œ)
            default:
                // tmp ๊ฐ’ ์ œ์™ธ
                if (preg_match("/^tmp_/i", $key)) {
                    unset($data[$key]);
                }
                // ๋ฐฐ์—ด ๊ฐ’ ์ œ์™ธ
                if (is_array($val) && !preg_match("/^(config)\$/", $key)) {
                    __error("[{$key}] ๊ฐ’์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค");
                }
                // ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ•„๋“œ์ผ ๋•Œ ๋นผ๊ธฐ
                if (!inStr($key, $col)) {
                    unset($data[$key]);
                }
                // ๊ถŒํ•œ
                if (preg_match("/permit_/i", $key) && $val && count(getStr($val)) > 1) {
                    $data[$key] = "[" . implode("][", array_unique(getStr($val))) . "]";
                    //__error($data[$key]);
                }
                break;
        }
    }
}
Example #14
0
    $core->setBlog($_SESSION['sess_blog_id']);
    if (!$core->blog->id) {
        throw new Exception('Permission denied.');
    }
} elseif ($core->auth->sessionExists()) {
    # If we have a session we launch it now
    try {
        if (!$core->auth->checkSession()) {
            # Avoid loop caused by old cookie
            $p = $core->session->getCookieParameters(false, -600);
            $p[3] = '/';
            call_user_func_array('setcookie', $p);
            http::redirect('auth.php');
        }
    } catch (Exception $e) {
        __error(__('Database error'), __('There seems to be no Session table in your database. Is Dotclear completly installed?'), 20);
    }
    # Check nonce from POST requests
    if (!empty($_POST)) {
        if (empty($_POST['xd_check']) || !$core->checkNonce($_POST['xd_check'])) {
            http::head(412);
            header('Content-Type: text/plain');
            echo 'Precondition Failed';
            exit;
        }
    }
    if (!empty($_REQUEST['switchblog']) && $core->auth->getPermissions($_REQUEST['switchblog']) !== false) {
        $_SESSION['sess_blog_id'] = $_REQUEST['switchblog'];
        if (isset($_SESSION['media_manager_dir'])) {
            unset($_SESSION['media_manager_dir']);
        }
Example #15
0
    __error("target folder {$targetfolder} does not exist");
    return 1;
}
_debug("target folder is {$targetFolder}");
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetFile = rtrim($targetFolder, '/') . "/" . $_FILES['Filedata']['name'];
// you may want to do some additional checks on the uploaded files
// here.
if (file_exists($targetFile)) {
    __error("target file {$targetFile} already exists!");
    return 1;
}
// We do not allow to upload files matching the
// global $no_access pattern. See _config/conf.php for details.
if (matches_noaccess_pattern($targetFile)) {
    __error("file {$targetFile} matches \$no_access pattern ({$no_access})");
    return 1;
}
move_uploaded_file($tempFile, $targetFile);
echo '1';
/**
TODO:
    - currently, the implementation only works if the user has configured the same home
      directory like given in the global configuration as "home_dir", since we have
      no access to the session for authenticating the user.

Notes:
    -  We don't want to pass the absolute directory to the home directory
       by a post variable. This enables everybody to move a file
       from a random location on the server to any other
       location.
Example #16
0
/** ์ฝ”๋ฉ˜ํŠธ ๋ชฉ๋ก ๋ฝ‘๊ธฐ
 * @class io
 * @param
		-name: ๊ฒ€์ƒ‰๋ฐฐ์—ด์ด๋ฆ„ (list_cmt)
		-id: ๊ฒŒ์‹œํŒ์•„์ด๋””, board_data๊ฐ€ ์žˆ์œผ๋ฉด ์—†์–ด๋„ ๋œ๋‹ค
		-page: ํŽ˜์ด์ง€ (๋งˆ์ง€๋ง‰ํŽ˜์ด์ง€)
		-target_post: ๋Œ€์ƒ๊ฒŒ์‹œ๋ฌผ๋ฒˆํ˜ธ. view๊ฐ€ ์žˆ์œผ๋ฉด ์—†์–ด๋„ ๋œ๋‹ค
		$board_data: ๊ฒŒ์‹œํŒ์ •๋ณด
		$view: ๊ฒŒ์‹œ๋ฌผ์ •๋ณด
 * @return Array
 */
function getListCmt($param, $board_data = '', $view = '')
{
    global $mini;
    $param = param($param);
    $output = array();
    iss($param['page']);
    def($param['name'], 'list_cmt');
    def($_REQUEST['cPage'], $param['page']);
    def($_REQUEST['cPage'], 999999999999);
    //// ๊ฒŒ์‹œํŒ์ •๋ณด
    if (empty($board_data) && !empty($param['id'])) {
        getBoard($param['id']);
        if (empty($mini['site']) || $mini['site']['no'] != $mini['board']['site']) {
            getSite($mini['board']['site']);
        }
    } else {
        if (empty($board_data) && !empty($mini['board'])) {
            $board_data = $mini['board'];
        }
    }
    //// ๊ฒŒ์‹œ๋ฌผ์ •๋ณด
    if (empty($view)) {
        $view = sql("SELECT * FROM {$board_data['table']} WHERE no={$param['target_post']}");
        if (!is_array($view)) {
            __error('๊ฒŒ์‹œ๋ฌผ์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค' . ' (' . __FILE__ . ' line ' . __LINE__ . ' in ' . __FUNCTION__ . ')');
        }
        parsePost($view);
        $output['view'] = $view;
    } else {
        $param['target_post'] = $view['no'];
    }
    $is_comment_page = !empty($board_data['use_comment_page']) && !empty($board_data['list_count_comment']) ? 1 : 0;
    if (!$is_comment_page) {
        $board_data['list_count_comment'] = 9999999;
    }
    //// ๊ณต์ง€์‚ฌํ•ญ ์ œ์™ธ
    $is_first = 0;
    if ($is_comment_page || empty($_REQUEST['cQuick']) && empty($_REQUEST['cS']) && empty($_REQUEST['cSort'])) {
        $_REQUEST['cS']['notice!'] = 0;
        $is_first = 1;
    }
    $_REQUEST['cAnd'] = 1;
    //// ๊ฒ€์ƒ‰ ์ฒ˜๋ฆฌ
    setSearch("\n\t\t\tname: {$param['name']}\n\t\t\tquickName: cQuick\n\t\t\tsName: cS\n\t\t\tandName: cAnd\n\t\t\tis_simple: 1\n\t\t");
    //// ๊ธฐ๋ณธ ๊ฒ€์ƒ‰์ฟผ๋ฆฌ ์ง€์ •
    check($param['target_post'], 'type:num, name:๊ฒŒ์‹œ๋ฌผ๋ฒˆํ˜ธ');
    $tmp_trackback = !empty($board_data['use_trackback_cmt']) ? '' : " and trackback=''";
    $mini['list'][$param['name']]['where'] = !empty($mini['list'][$param['name']]['where']) ? $mini['list'][$param['name']]['where'] . " and target_post={$param['target_post']}{$tmp_trackback}" : "WHERE target_post={$param['target_post']}{$tmp_trackback}";
    //// ๊ณต์ง€์‚ฌํ•ญ ๋กœ๋“œ
    if ($is_first) {
        $notice = sql("q:SELECT * FROM {$board_data['table_cmt']} WHERE notice=1 and target_post={$param['target_post']} ORDER BY num, mode:array");
        $output['notice'] = $notice;
    }
    //// ์ •๋ ฌ ์ฒ˜๋ฆฌ
    setSort("\n\t\t\tname: {$param['name']}\n\t\t\tsortName: cSort\n\t\t\ttable: {$board_data['table_cmt']}\n\t\t\torder: ORDER BY num, reply\n\t\t\torder_desc: ORDER BY num DESC, reply ASC\n\t\t");
    //// ๋ฆฌ์ŠคํŠธ
    $data = getList("\n\t\t\tname: {$param['name']}\n\t\t\tlist: {$board_data['list_count_comment']}\n\t\t\ttable: {$board_data['table_cmt']}\n\t\t\tpageName: cPage\n\t\t\tdivName: cDiv\n\t\t\tstartName: cStart\n\t\t");
    $output['data'] = $data;
    //		pr($mini['list'][$param['name']]);
    //// ํŠธ๋ž™๋ฐฑ ๊ฐ™์ด ๋ฝ‘๊ธฐ
    /*
    	$t_data = array();
    	if (!empty($board_data['use_trackback_cmt'])) {
    		$t_data = sql("q:SELECT * FROM {$board_data['table_cmt']} WHERE target_post={$view['no']} and trackback!='' ORDER BY num, mode:array");
    		$output['data'] = array_merge($t_data, $output['data']);
    		unset($t_data);
    	}
    */
    //// ํŠธ๋ž™๋ฐฑ ๋”ฐ๋กœ ๋ฝ‘๊ธฐ
    if ($is_first && empty($board_data['use_trackback_cmt'])) {
        $t_data = sql("q:SELECT * FROM {$board_data['table_cmt']} WHERE target_post={$view['no']} and trackback!='' ORDER BY num, mode:array");
        $output['trackback'] = $t_data;
    }
    return $output;
}
Example #17
0
/** ํŒŒ์ผ ์—…๋กœ๋“œ
 * @class file
 * @param
		-target: $_FILES ์ค‘์—์„œ ํ•˜๋‚˜๋งŒ ์ง€์ •ํ•œ key๊ฐ’
		-filename: ํŒŒ์ผ๋ช… ๊ฐ•์ œ์ง€์ •
		-is_copy: copy๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
 * @return Array ์„ฑ๊ณตํ•œ _FILES ๋ฐฐ์—ด
 */
function uploadFile($param = '')
{
    global $mini, $_FILES;
    iss($param);
    $param = param($param);
    iss($param['target']);
    iss($success);
    def($param['is_copy'], 0);
    foreach ($_FILES as $key => $val) {
        //// ํƒ€๊ฒŸ ์ฒดํฌ
        if ($param['target'] && $param['target'] != $key) {
            continue;
        }
        //// ํŒŒ์ผ๋ช… ๊ฐ•์ œ์ง€์ •
        if (!empty($param['filename']) && !empty($val['path'])) {
            $val['path'] = dirname($val['path']) . '/' . $param['filename'];
            $val['name_insert'] = $param['filename'];
        }
        //// ํŒŒ์ผ ์—…๋กœ๋“œ
        if (!empty($val['path'])) {
            if ($param['is_copy']) {
                $result = copy($val['tmp_name'], $val['path']);
            } else {
                $result = move_uploaded_file($val['tmp_name'], $val['path']);
            }
            if ($result) {
                $success[] = $val;
            } else {
                foreach ($success as $val2) {
                    @unlink($val2['path']);
                }
                __error("[{$val['tmp_name']}] ํŒŒ์ผ ์—…๋กœ๋“œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค");
            }
        }
    }
    return $success;
}
Example #18
0
/**
 * ๋กœ๊ทธ์ธ
 * @class login
 * @param
		$data: POST array
		-site: ๊ทธ๋ฃน๋ฒˆํ˜ธ
		-board: ๊ฒŒ์‹œํŒ๋ฒˆํ˜ธ
		-is_passed: ๋ฌด์กฐ๊ฑด๋กœ๊ทธ์ธ[0!|1]
*/
function setLogin(&$data, $param)
{
    global $mini;
    $param = param($param);
    iss($data['uid']);
    iss($data['pass']);
    iss($data['pass_encode']);
    iss($data['autologin']);
    iss($mini['set']['use_login_session']);
    iss($pass_after);
    iss($key_login);
    iss($autologin_after);
    def($mini['this']['script'], $_REQUEST['script']);
    def($mini['this']['script'], 'back');
    def($mini['set']['lock_login'], 5);
    def($param['is_passed'], 0);
    $site_data = $board_data = array();
    $site = '';
    if (empty($param['site'])) {
        __error('์„ ํƒ๋œ ๊ทธ๋ฃน์ด ์—†์Šต๋‹ˆ๋‹ค.' . ' (' . __FILE__ . ' line ' . __LINE__ . ' in ' . __FUNCTION__ . ')');
    }
    //// ๊ทธ๋ฃน ๋กœ๋“œ
    if (!empty($mini['site']) && $mini['site']['no'] == $param['site']) {
        $site_data = $mini['site'];
    } else {
        $site_data = getSite($param['site'], 1);
    }
    //// ๊ฒŒ์‹œํŒ ๋กœ๋“œ
    if (!empty($param['board'])) {
        if (!empty($mini['board']) && $mini['board']['no'] == $param['board']) {
            $board_data = $mini['board'];
        } else {
            $board_data = getBoard($param['board'], 1);
        }
    } else {
        if (!empty($mini['board']['site']) && $mini['board']['site'] == $site_data['no']) {
            $board_data = $mini['board'];
        }
    }
    //// ๋ณ€์ˆ˜ ๊ฒ€์‚ฌ
    check($data['uid'], "name: ์•„์ด๋””");
    if (!$param['is_passed']) {
        check($data['pass_encode'], "type:id, name:์•”ํ˜ธํ™”๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ, min:16, max:40");
    }
    if (!isset($site_data)) {
        __error('์„ ํƒ๋œ ๊ทธ๋ฃน์ด ์—†์Šต๋‹ˆ๋‹ค.');
    }
    $data['uid'] = mysql_escape_string($data['uid']);
    //// ๋ฏธ๋‹ˆ์•„์ด ๋กœ๊ทธ์ธ
    if (preg_match("/^\\@/", $data['uid'])) {
        __error('์ค€๋น„์ค‘ ์ž…๋‹ˆ๋‹ค.');
    } else {
        $site = "[{$site_data['no']}]";
        // ๊ทธ๋ฃน์˜ ๊ทธ๋ฃน์—ฐ๊ฒฐ
        if (!empty($site_data['site_link'])) {
            $site .= $site_data['site_link'];
        }
        // ๊ฒŒ์‹œํŒ์˜ ๊ทธ๋ฃน์—ฐ๊ฒฐ
        if (!empty($board_data['site_link'])) {
            $site .= $board_data['site_link'];
        }
    }
    //// ๋ฐ์ดํ„ฐ ๋กœ๋“œ
    $tmp_data = sql("q:SELECT * FROM {$mini['name']['member']} WHERE uid='{$data['uid']}', mode:array");
    //// ์•„์ด๋”” ํ™•์ธ
    if (!is_array($tmp_data)) {
        __error('์ผ์น˜ํ•˜๋Š” ํšŒ์›์ด ์—†์Šต๋‹ˆ๋‹ค');
    }
    //// ๊ทธ๋ฃน ํ™•์ธ
    $check = 0;
    foreach ($tmp_data as $key => $val) {
        if (inStr($val['site'], $site) || count(array_intersect(getStr($site), getStr($val['site_link']))) || inStr('god', $val['admin']) || inStr('admin', $val['admin'])) {
            $check = 1;
            $data_ex = $val;
        }
    }
    if (!$check) {
        __error('์ผ์น˜ํ•˜๋Š” ํšŒ์›์ด ์—†์Šต๋‹ˆ๋‹ค');
    }
    //// ์ปจ๋ฒ„ํŒ… ํšŒ์› ํ™•์ธ
    if (preg_match("/^\\!/", $data_ex['pass'])) {
        if (!empty($mini['complete']['ajax'])) {
            __complete(array('mode' => 'ajax,reload.parent', 'script' => "window.open(\"{$mini['dir']}login.conv.php?no={$data_ex['no']}\", \"conv\", \"width=400, height=400, scrollbars=2\");"));
        } else {
            __complete(array('mode' => 'move', 'url' => "{$mini['dir']}login.conv.php?no={$data_ex['no']}"));
        }
    }
    //// ์‹คํŒจ ํšŒ์ˆ˜ ํ™•์ธ
    if ($data_ex['lock_login'] >= $mini['set']['lock_login'] && $data_ex['no'] != 1) {
        __error("๋กœ๊ทธ์ธ์„ {$mini['set']['lock_login']}ํšŒ ์ด์ƒ ์‹คํŒจํ•˜์—ฌ ์•„์ด๋””๊ฐ€ ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ฌธ์˜ํ•˜์„ธ์š”");
    }
    //// ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ
    if (!$param['is_passed'] && $data['pass_encode'] != md5("{$data_ex['pass']}|{$mini['ip']}|" . session_id())) {
        if ($data_ex['pass'] == 'reset!') {
            __error('๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ดˆ๊ธฐํ™” ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•„์ด๋””/๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ๋ฅผ ํ†ตํ•ด ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์„ค์ •ํ•ด ์ฃผ์„ธ์š”');
        }
        sql("UPDATE {$mini['name']['member']} SET lock_login = lock_login + 1 WHERE no={$data_ex['no']}");
        addLog("\n\t\t\t\tmode: login_lock_login\n\t\t\t\ttarget_member: {$data_ex['no']}\n\t\t\t\tfield1: {$data_ex['lock_login']}\n\t\t\t");
        __error("๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (" . ($data_ex['lock_login'] + 1) . "ํšŒ ์˜ค๋ฅ˜)");
    }
    //// ์•”ํ˜ธํ™”
    // ์ž๋™ ๋กœ๊ทธ์ธ
    if ($data['autologin']) {
        $pass_after = '';
        $key_login = md5($mini['date']);
        $autologin_after = md5("{$data_ex['pass']}|{$mini['ip']}|{$key_login}");
        $interval = time() + 2592000;
        // 30 days after
    } else {
        $pass_after = md5("{$data_ex['pass']}|{$mini['ip']}");
        $key_login = $autologin_after = '';
        $interval = 0;
    }
    //// ๊ตฝ๊ธฐ
    // ์„ธ์…˜
    if ($mini['set']['use_login_session']) {
        $_SESSION['m_no'] = $data_ex['no'];
        $_SESSION['m_pass'] = $pass_after;
    } else {
        setcookie("m_no", $data_ex['no'], $interval, '/');
        setcookie("m_pass", $pass_after, $interval, '/');
    }
    // ์ž๋™๋กœ๊ทธ์ธ
    if ($data['autologin']) {
        setcookie("m_no", $data_ex['no'], $interval, '/');
        setcookie("m_autologin", $autologin_after, $interval, '/');
    } else {
        setcookie("m_autologin", '', 0, '/');
    }
    //// ๋กœ๊ทธ์ธ ๊ธฐ๋ก ์ถ”๊ฐ€
    def($mini['set']['login_history_count'], 10);
    $data_ex['history_login'] .= "{$mini['ip']}|{$mini['date']}\n";
    $tmp = explode("\n", $data_ex['history_login']);
    if (count($tmp) > $mini['set']['login_history_count']) {
        unset($tmp[0]);
    }
    $data_ex['history_login'] = is_array($tmp) ? implode("\n", $tmp) : "";
    //// ๋กœ๊ทธ์ธ ํฌ์ธํŠธ ์„ค์ •
    if (!empty($site_data['point_login'])) {
        if (!sql("SELECT COUNT(*) FROM {$mini['name']['log']} WHERE mode='point' and target_member={$data_ex['no']} and field3='๋กœ๊ทธ์ธ' and date >= '" . date("Y/m/d 00:00:00", $mini['time']) . "'")) {
            setPoint("\n\t\t\t\t\ttarget: {$data_ex['no']}\n\t\t\t\t\tmsg: ๋กœ๊ทธ์ธ\n\t\t\t\t\tpoint: {$site_data['point_login']}\n\t\t\t\t");
        }
    }
    //// ๋‹ค์ค‘ ์ž๋™๋กœ๊ทธ์ธ ์„ค์ •
    //+ ์ •์‹๋ฒ„์ ผ์—์„œ ์ง€์šธ ๊ตฌ๋ฌธ์ž„
    if (!empty($data_ex['ip']) && strpos($data_ex['ip'], '[') === false) {
        $data_ex['ip'] = "[{$data_ex['ip']}]";
    }
    if (!empty($data_ex['key_login']) && strpos($data_ex['key_login'], '[') === false) {
        $data_ex['key_login'] = "******";
    }
    if (empty($key_login)) {
        $key_login = '******';
    }
    // ์ž…๋ ฅ
    $data_ex['ip'] .= "[{$mini['ip']}]";
    $data_ex['key_login'] .= "[{$key_login}]";
    // 3๊ฐœ ํ•œ์ •
    $arr_ip = getStr($data_ex['ip']);
    if (count($arr_ip) > 5) {
        unset($arr_ip[0]);
        $data_ex['ip'] = "[" . implode("][", $arr_ip) . "]";
    }
    $arr_key_login = getStr($data_ex['key_login']);
    if (count($arr_key_login) > 5) {
        unset($arr_key_login[0]);
        $data_ex['key_login'] = "******" . implode("][", $arr_key_login) . "]";
    }
    //// DB์ˆ˜์ •
    sql("UPDATE {$mini['name']['member']} SET ip='{$data_ex['ip']}', date_login='******'date']}', key_login='******'key_login']}', lock_login=0, count_login=count_login+1, history_login='******'history_login']}' WHERE no={$data_ex['no']}");
}
Example #19
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'];
            }
        }
    }
}
Example #20
0
}
if (!defined('DC_UPDATE_VERSION')) {
    define('DC_UPDATE_VERSION', 'stable');
}
if (!defined('DC_ALLOW_MULTI_MODULES')) {
    define('DC_ALLOW_MULTI_MODULES', false);
}
l10n::init();
try {
    $core = new dcCore(DC_DBDRIVER, DC_DBHOST, DC_DBNAME, DC_DBUSER, DC_DBPASSWORD, DC_DBPREFIX, DC_DBPERSIST);
} catch (Exception $e) {
    init_prepend_l10n();
    if (!defined('DC_CONTEXT_ADMIN')) {
        __error(__('Site temporarily unavailable'), __('<p>We apologize for this temporary unavailability.<br />' . 'Thank you for your understanding.</p>'), 20);
    } else {
        __error(__('Unable to connect to database'), $e->getCode() == 0 ? sprintf(__('<p>This either means that the username and password information in ' . 'your <strong>config.php</strong> file is incorrect or we can\'t contact ' . 'the database server at "<em>%s</em>". This could mean your ' . 'host\'s database server is down.</p> ' . '<ul><li>Are you sure you have the correct username and password?</li>' . '<li>Are you sure that you have typed the correct hostname?</li>' . '<li>Are you sure that the database server is running?</li></ul>' . '<p>If you\'re unsure what these terms mean you should probably contact ' . 'your host. If you still need help you can always visit the ' . '<a href="http://forum.dotclear.net/">Dotclear Support Forums</a>.</p>') . (DC_DEBUG ? __('The following error was encountered while trying to read the database:') . '</p><ul><li>' . $e->getMessage() . '</li></ul>' : ''), DC_DBHOST != '' ? DC_DBHOST : 'localhost') : '', 20);
    }
}
# If we have some __top_behaviors, we load them
if (isset($__top_behaviors) && is_array($__top_behaviors)) {
    foreach ($__top_behaviors as $b) {
        $core->addBehavior($b[0], $b[1]);
    }
    unset($b);
}
http::trimRequest();
try {
    http::unsetGlobals();
} catch (Exception $e) {
    header('Content-Type: text/plain');
    echo $e->getMessage();