ECMS7.0 for UEditor1.4.0 develop

<?php
/*
 * ECMS7.0 for UEditor1.4.0 develop
 * controller.php
 * UEditor1.4.0未發佈正試版本,我會持續更新
 * pkkgu 910111100@qq.com 2014年5月9日 15:46:27
 */
require('../../../class/connect.php'); //引入數據庫配置文件和公共函數文件
require('../../../class/db_sql.php'); //引入數據庫操做文件
require("../../../data/dbcache/class.php");

$link=db_connect(); //鏈接MYSQL
$empire=new mysqlquery(); //聲明數據庫操做類
$editor=1; //聲明目錄層次

// 必須參數
$action      = $_GET['action'];
$classid     = (int)$_POST['classid'];
$filepass    = (int)$_POST['filepass'];
$isadmin     = (int)$_POST['isadmin']; // 0前臺 1後臺
$userid      = (int)$_POST['userid'];
$username    = RepPostVar($_POST['username']);
$loginin     = $isadmin?$username:'[Member]'.$username;

// 配置
$CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("config.json")), true);


$isadmin     = (int)$_POST['isadmin']; // 0前臺 1後臺
if(empty($action))
{
    Ue_Print('請求類型不能明確');
}
else if(empty($classid)||empty($filepass)||empty($userid)||empty($username))
{
    Ue_Print("上傳參數不正確!欄目ID:$classid,信息ID:$filepass,會員ID:$userid,會員名稱:$username");
}
$pr=$empire->fetch1("select * from {$dbtbpre}enewspublic");
if(empty($isadmin)) // 前臺
{
    if($pr['addnews_ok']==1)
    {
        Ue_Print("管理員關閉了投稿功能");
    }
    else if(($action=='uploadimage'||$action=='uploadscrawl'||$action=='catchimage')&&empty($pr['qaddtran']))
    {
        Ue_Print("管理員關閉了會員上傳圖片功能");
    }
    else if(($action=='uploadvideo'||$action=='uploadfile')&&empty($pr['qaddtranfile']))
    {
        Ue_Print("管理員關閉了會員上傳圖片功能");
    }
    $qaddtransize = $pr['qaddtransize']*1024;
    $CONFIG['imageMaxSize'] = $qaddtransize;
    $CONFIG['scrawlMaxSize'] = $qaddtransize;
    $CONFIG['catcherMaxSize'] = $qaddtransize;
    $qaddtranimgtype = substr($pr['qaddtranimgtype'],1,strlen($pr['qaddtranimgtype'])-2);
    $qaddtranimgtype = explode('|',$qaddtranimgtype);
    $CONFIG['imageAllowFiles'] = $qaddtranimgtype;
    $CONFIG['imageManagerAllowFiles'] = $qaddtranimgtype;
    $CONFIG['catcherAllowFiles'] = $qaddtranimgtype;
    
    $qaddtranfilesize = $pr['qaddtranfilesize']*1024;
    $CONFIG['fileMaxSize'] = $qaddtranfilesize;
    $CONFIG['videoMaxSize'] = $qaddtranfilesize;
    $qaddtranfiletype = substr($pr['qaddtranfiletype'],1,strlen($pr['qaddtranfiletype'])-2);
    $qaddtranfiletype = explode('|',$qaddtranfiletype);
    $CONFIG['fileAllowFiles'] = $qaddtranfiletype;
    $CONFIG['fileManagerAllowFiles'] = $qaddtranfiletype;
    $CONFIG['videoAllowFiles'] = array(".flv",".swf",".mkv",".avi",".rm",".rmvb",".mpeg",".mpg",".ogg",".ogv",".mov",".wmv",".mp4",".webm",".mp3",".wav",".mid");
}
else if($isadmin==1) // 後臺
{
    $filesize = $pr['filesize']*1024;
    $CONFIG['imageMaxSize'] = $filesize;
    $CONFIG['scrawlMaxSize'] = $filesize;
    $CONFIG['catcherMaxSize'] = $filesize;
    $CONFIG['fileMaxSize'] = $filesize;
    $CONFIG['videoMaxSize'] = $filesize;
}

    //目錄
    $classpath   = ReturnFileSavePath($classid); //欄目附件目錄
    $timepath    = "/".$classpath['filepath']."{yyyy}-{mm}-{dd}/{time}{rand:6}"; //日期欄目目錄
    // 重定義存放目錄
    $CONFIG['imagePathFormat']      = $timepath;
    $CONFIG['scrawlPathFormat']     = $timepath;
    $CONFIG['videoPathFormat']      = $timepath;
    $CONFIG['filePathFormat']       = $timepath;
    $CONFIG['imageManagerListPath'] = "/".$classpath['filepath'];
    $CONFIG['fileManagerListPath']  = "/".$classpath['filepath'];
    $CONFIG['catcherPathFormat']    = $timepath;
    
    switch ($action) {
        case 'config':
            $result = json_encode($CONFIG);
            break;
    
        /* 上傳圖片 */
        case 'uploadimage':
            $type=1;
            $result = include("action_upload.php");
            break;
    
        /* 上傳塗鴉 */
        case 'uploadscrawl':
            $type=1;
            $result = include("action_upload.php");
            break;
    
        /* 上傳視頻 */
        case 'uploadvideo':
            $type=3;
            $result = include("action_upload.php");
            break;
    
        /* 上傳文件 */
        case 'uploadfile':
            $type=0;
            $result = include("action_upload.php");
            break;
    
        /* 列出圖片 */
        case 'listimage':
            $result = include("action_list.php");
            break;
        /* 列出文件 */
        case 'listfile':
            $result = include("action_list.php");
            break;
    
        /* 抓取遠程文件 */
        case 'catchimage':
            $type=1;
            $result = include("action_crawler.php");
            break;
    
        default:
            $result = json_encode(array(
                'state'=> '請求地址出錯'
            ));
            break;
    }

    // 文件名、文件大小,存放日期目錄,上傳者,欄目id,文件編號,文件類型,信息ID,文件臨時識別編號(原文件名稱),文件存放目錄方式,信息公共ID,歸屬類型,附件副表ID
    // 文件類型:1爲圖片,2爲Flash文件,3爲多媒體文件,0爲附件
    // 歸屬類型:0信息,4反饋,5公共,6會員,其餘
    // 文件臨時識別編號:0非垃圾信息
    // 文件存放目錄方式:0爲欄目目錄,1爲/d/file/p目錄,2爲/d/file目錄
    
    //寫入數據庫
    $file_r   = json_decode($result,true);
    if(($action=="uploadimage"||$action=="uploadscrawl"||$action=="uploadvideo"||$action=="uploadfile")&&$file_r['state']=="SUCCESS")
    {
        
        $title    = RepPostStr(trim($file_r[title]));
        $filesize = (int)$file_r[size];
        $filepath = date("Y-m-d");
        $username = RepPostStr(trim($username));
        $loginin  = $isadmin?$username:'[Member]'.$username;        
        $classid  = (int)$classid;
        $original = RepPostStr(trim($file_r[original]));
        $type     = (int)$type;
        $filepass = (int)$filepass;
        eInsertFileTable($title,$filesize,$filepath,$username,$classid,$original,$type,$filepass,$filepass,$public_r[fpath],0,0,0);

        // 反饋附件入庫
        //eInsertFileTable($tfr[filename],$filesize,$filepath,'[Member]'.$username,$classid,'[FB]'.addslashes(RepPostStr($add[title])),$type,$filepass,$filepass,$public_r[fpath],0,4,0);
    }

/* 輸出結果 */
if (isset($_GET["callback"])) {
    header("Content-Type: text/plain; charset=utf-8");
    echo $_GET["callback"] . '(' . $result . ')';
} else {
    header("Content-Type: application/x-javascript; charset=utf-8");
    echo $result;
}


db_close(); //關閉MYSQL連接
$empire=null; //注消操做類變量

// 提示
function Ue_Print($msg="SUCCESS"){
    echo '{"state": "'.$msg.'"}';
    db_close(); //關閉MYSQL連接
    $empire=null; //注消操做類變量
    exit();
}
相關文章
相關標籤/搜索