<?php
/**
 * Copyright (C) 2009  Honghao Geng (genghonghao@gmail.com)
 * $Id: upload.php 254 2009-10-10 16:23:32Z genghonghao $
 */

define('IN_ADMIN', TRUE);

require_once  './../includes/init.php';
require_once GEN_ROOT . '/languages/' . $_CONF['lang'] . '/admin/common.lang.php';
require_once GEN_ROOT . '/languages/' . $_CONF['lang'] . '/admin/content.lang.php';
$image = new image();

// 验证用户是否登录
if (false === verify_user()) {;
    header("Location: ../login.php");
}

$base_url = substr($base_root_url, 0, strpos($base_root_url, 'admin'));

$default_dir_pic = array('yes'=>"images/folder.png", 'no'=>"images/folderEmpty.png");
// 上传图片
if (empty($_FILES) === false) {
// 默认的上传图片的目录ID
    $cate_id = '99999';

    // 默认的上传图片名称
    $img_name = $_FILES['imgFile']['name'];

    // 如果是安全模式，检查目录是否存在
    if (ini_get('safe_mode') == 1 && (!file_exists('../' . IMAGE_DIR . '/'.date('Ym')) || !is_dir('../' . IMAGE_DIR . '/'.date('Ym')))) {
        if (@!mkdir('../' . IMAGE_DIR . '/'.date('Ym'), 0777)) {
            $warning = sprintf($lang['safe_mode_warning'], '../' . IMAGE_DIR . '/'.date('Ym'));
            alert($warning);
        }
    }
    // 如果目录存在但不可写，提示用户
    elseif (file_exists('../' . IMAGE_DIR . '/'.date('Ym')) && file_mode_info('../' . IMAGE_DIR . '/'.date('Ym')) < 2) {
        $warning = sprintf($lang['not_writable_warning'], '../' . IMAGE_DIR . '/'.date('Ym'));
        alert($warning);
    }

    // 是否处理缩略图
    $proc_thumb = true;

        /* 检查图片：如果有错误，检查尺寸是否超过最大值；否则，检查文件类型 */
    if (isset($_FILES['imgFile']['error'])) {
    // 最大上传文件大小
        $php_maxsize = ini_get('upload_max_filesize');
        $htm_maxsize = '2M';

        // 上传的图片
        if ($_FILES['imgFile']['error'] == 0) {
            if (!$image->check_img_type($_FILES['imgFile']['type'])) {
                alert($lang['notice_invalid_img']);
            }
        }
        elseif ($_FILES['imgFile']['error'] == 1) {
            alert($lang['upfile_img_too_big'], $php_maxsize);
        }
        elseif ($_FILES['imgFile']['error'] == 2) {
            alert($lang['upfile_img_too_big'], $htm_maxsize);
        }
        
        // 如果上传了图片，相应处理
        if ($_FILES['imgFile']['tmp_name'] != '' && $_FILES['imgFile']['tmp_name'] != 'none') {
            $original_img   = $image->upload_image($_FILES['imgFile']); // 原始图片
            if ($original_img === false) {
                alert($lang['js_notice_upfile_failure']);
            }
            
            $upfile      = $original_img;   // 图片
        }

        $cur_time = time();

        $sql = "INSERT INTO " . $db->get_table(TB_IMAGE) .
            "(`pic_id`,`pic_name`, `small_pic`, `middle_pic`, `original_pic`, `pic_cate_id`, `pic_cate_name`,  `upload_time`)" .
            " VALUE(NULL, '$img_name', '$upfile', '$upfile', '$upfile', '$cate_id', '{$cate_dir[0]}', $cur_time)";
        // 数片写入数据库中
        $query = $db->query($sql);
        // 更新当前目录中的图片数量
        $db->query("UPDATE " . $db->get_table(TB_IMAGE_CATEGORY) . " SET image_total=image_total+1, default_pic='{$default_dir_pic['yes']}' WHERE cate_id = '$cate_id'");
        if (false !== $query) {
            //插入图片，关闭层
            echo '<html>';
            echo '<head>';
            echo '<title>Insert Image</title>';
            echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
            echo '</head>';
            echo '<body>';
            echo '<script type="text/javascript">parent.KE.plugin["image"].insert("' . $_POST['id'] . '", "' . $base_url.$upfile  . '","' . $_POST['imgTitle'] . '","' . $_POST['imgWidth'] . '","' . $_POST['imgHeight'] . '","' . $_POST['imgBorder'] . '");</script>';
            echo '</body>';
            echo '</html>';
        } else {
            alert($lang['pic_upload_failure']);
        }
    }
}

//提示，关闭层
function alert($msg) {
    echo '<html>';
    echo '<head>';
    echo '<title>error</title>';
    echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
    echo '</head>';
    echo '<body>';
    echo '<script type="text/javascript">alert("'.$msg.'");history.back();</script>';
    echo '</body>';
    echo '</html>';
    exit;
}
?>
