Exemple #1
0
function TranTruePathFile($level, $path, $file, $file_name, $file_type, $file_size, $add, $userid, $username)
{
    global $empire, $dbtbpre, $public_r;
    if (!$file_name) {
        printerror("EmptyTranFile", "history.go(-1)");
    }
    $r['filetype'] = GetFiletype($file_name);
    //取得文件类型
    //如果是.php文件
    if (CheckSaveTranFiletype($r['filetype'])) {
        printerror("TranPHP", "history.go(-1)");
    }
    $type_r = explode("|" . $r['filetype'] . "|", $public_r['filetype']);
    if (count($type_r) < 2) {
        printerror("TranFiletypeFail", "history.go(-1)");
    }
    if ($file_size > $public_r['filesize'] * 1024) {
        printerror("TranFilesizeFail", "history.go(-1)");
    }
    //文件名
    $r['insertfile'] = ReturnDoTranFilename($file_name, $classid);
    $r['filename'] = $r['insertfile'] . $r['filetype'];
    $r['name'] = ECMS_PATH . $path . '/' . $r['filename'];
    $r['tran'] = 1;
    //上传文件
    $cp = @move_uploaded_file($file, $r['name']);
    if (empty($cp)) {
        $r['tran'] = 0;
        printerror('TranFail', '');
    }
    DoChmodFile($r['name']);
    //操作日志
    insert_dolog("path={$path}<br>filename=" . $r['filename']);
    echo '<meta http-equiv="refresh" content="0;url=' . $_SERVER['HTTP_REFERER'] . '">';
    db_close();
    $empire = null;
}
Exemple #2
0
function LoadInCj($add, $file, $file_name, $file_type, $file_size, $userid, $username)
{
    global $empire, $dbtbpre;
    $lineexp = '<!-#-|-line-|-#-!>';
    $recordexp = '<!-#-|-record-|-#-!>';
    $fieldexp = '<!-#-|-field-|-#-!>';
    $sfieldexp = '<!-#-|-smallfield-|-#-!>';
    //验证权限
    CheckLevel($userid, $username, $classid, "loadcj");
    $classid = (int) $add['classid'];
    if (!$classid) {
        printerror("EmptyLoadInCjFile", "history.go(-1)");
    }
    $cr = $empire->fetch1("select classid,islast,tid,tbname from {$dbtbpre}enewsclass where classid='{$classid}' and islast=1");
    if (!$cr['classid']) {
        printerror("LoadInCjMustLastClass", "history.go(-1)");
    }
    if (!$file_name || !$file_size) {
        printerror("EmptyLoadInCjFile", "history.go(-1)");
    }
    //扩展名
    $filetype = GetFiletype($file_name);
    if ($filetype != ".cj") {
        printerror("LoadInCjErrorfiletype", "history.go(-1)");
    }
    $path = ECMS_PATH . DASHBOARD . '/data/tmp/cj/uploadcj' . time() . '.cj';
    //上传文件
    $cp = @move_uploaded_file($file, $path);
    DoChmodFile($path);
    $data = ReadFiletext($path);
    DelFiletext($path);
    $r = explode($recordexp, $data);
    $empirecmsver = $r[0];
    $mainstr = $r[1];
    $datafield = $r[2];
    $datastr = $r[3];
    if (empty($mainstr)) {
        printerror("EmptyLoadInCjFile", "history.go(-1)");
    }
    //主表
    $infoclassid = LoadInCjInsertMainstr($classid, $cr['tid'], $cr['tbname'], $mainstr, $fieldexp, $sfieldexp);
    //副表
    LoadInCjInsertDatastr($classid, $cr['tid'], $cr['tbname'], $infoclassid, $datafield, $datastr, $fieldexp, $sfieldexp);
    $cjr = $empire->fetch1("select classname from {$dbtbpre}enewsinfoclass where classid='{$infoclassid}'");
    //操作日志
    insert_dolog("classid=" . $infoclassid . "<br>classname=" . $cjr[classname]);
    printerror("LoadInCjSuccess", "cj/LoadInCj.php?from=" . ehtmlspecialchars($_POST[from]) . hReturnEcmsHashStrHref2(0));
}
Exemple #3
0
function LoadInTempGroup($add, $file, $file_name, $file_type, $file_size, $userid, $username)
{
    global $empire, $dbtbpre;
    //验证权限
    CheckLevel($userid, $username, $classid, "tempgroup");
    if (!$file_name || !$file_size) {
        printerror("EmptyLoadInTempGroup", "");
    }
    $gid = (int) $add['gid'];
    //扩展名
    $filetype = GetFiletype($file_name);
    if ($filetype != ".temp") {
        printerror("LoadInTempGroupMusttemp", "");
    }
    //上传文件
    $path = ECMS_PATH . DASHBOARD . '/data/tmp/temp/uploadtg' . time() . make_password(10) . '.temp';
    $cp = @move_uploaded_file($file, $path);
    DoChmodFile($path);
    $data = ReadFiletext($path);
    DelFiletext($path);
    //转码
    if ($add['ChangeChar']) {
        $data = LoadInTempChangeChar($add['tempchar'], $data);
    }
    if (empty($data)) {
        printerror("EmptyLoadInTempGroup", "");
    }
    //返回版本
    $pageexp = "<!---ecms.temp--->";
    $checkpr = explode($pageexp, $data);
    $tempverr = LoadInTGReturnVer($checkpr[0]);
    $gname = $tempverr['gname'];
    $thistempver = $tempverr['ver'];
    $thistempchar = $tempverr['tempchar'];
    //替换旧地址
    $GLOBALS['loadtempver'] = $thistempver;
    if (empty($thistempver)) {
        $data = LoadInTGReptext_pubvar($data);
    }
    //入库
    $pageexp = "<!---ecms.temp--->";
    $record = "<!---ecms.record--->";
    $field = "<!---ecms.field--->";
    $pr = explode($pageexp, $data);
    if (empty($gid)) {
        $sql = $empire->query("insert into {$dbtbpre}enewstempgroup(gname,isdefault) values('" . addslashes($gname) . "',0);");
        $gid = $empire->lastid();
        $gname = $pr[0];
        $en = "_" . $gid;
        CreateTempTb($gid, $en);
        //复制表
    } else {
        $r = $empire->fetch1("select gid,gname from {$dbtbpre}enewstempgroup where gid={$gid}");
        if (!$r['gid']) {
            printerror("LoadInTempGroupMusttemp", "");
        }
        if ($gid == 1) {
            $en = "";
        } else {
            $en = "_" . $gid;
        }
        $gname = $r['gname'];
        ClearTempTb($gid, $en);
        //清空表
    }
    //版本
    $isold = 0;
    $ckcount = count($pr);
    if ($ckcount <= 10) {
        $isold = 1;
    } elseif ($ckcount <= 11) {
        $isold = 2;
    }
    LoadInTGBqtemp($gid, $en, $record, $field, $pr[1]);
    //标签模板
    LoadInTGJstemp($gid, $en, $record, $field, $pr[2]);
    //JS模板
    LoadInTGListtemp($gid, $en, $record, $field, $pr[3]);
    //列表模板
    LoadInTGNewstemp($gid, $en, $record, $field, $pr[4]);
    //内容模板
    LoadInTGPubtemp($gid, $en, $record, $field, $pr[5], $isold);
    //公共模板
    LoadInTGSearchtemp($gid, $en, $record, $field, $pr[6]);
    //搜索模板
    LoadInTGTempvar($gid, $en, $record, $field, $pr[7]);
    //模板变量
    LoadInTGVotetemp($gid, $en, $record, $field, $pr[8]);
    //投票模板
    LoadInTGClasstemp($gid, $en, $record, $field, $pr[9]);
    //栏目模板
    if ($isold != 1) {
        LoadInTGPltemp($gid, $en, $record, $field, $pr[10]);
        //评论模板
    }
    if ($isold == 0) {
        LoadInTGPrinttemp($gid, $en, $record, $field, $pr[11]);
        //打印模板
    }
    LoadInTGPagetemp($gid, $en, $record, $field, $pr[12]);
    //自定义页面模板
    //操作日志
    insert_dolog("gid={$gid}&gname={$gname}");
    printerror("LoadInTempGroupSuccess", "TempGroup.php" . hReturnEcmsHashStrHref2(1));
}
function LoadInMod($add, $file, $file_name, $file_type, $file_size, $userid, $username)
{
    global $empire, $dbtbpre, $phome_db_dbchar;
    //验证权限
    CheckLevel($userid, $username, $classid, "table");
    $tbname = RepPostVar(trim($add['tbname']));
    if (!$file_name || !$file_size || !$tbname) {
        printerror("EmptyLoadInMod", "");
    }
    //扩展名
    $filetype = GetFiletype($file_name);
    if ($filetype != ".mod") {
        printerror("LoadInModMustmod", "");
    }
    //表名是否已存在
    $num = $empire->gettotal("select count(*) as total from {$dbtbpre}enewstable where tbname='{$tbname}' limit 1");
    if ($num) {
        printerror("HaveLoadInTb", "");
    }
    //上传文件
    $path = ECMS_PATH . "e/data/tmp/mod/uploadm" . time() . make_password(10) . ".php";
    $cp = @move_uploaded_file($file, $path);
    if (!$cp) {
        printerror("EmptyLoadInMod", "");
    }
    DoChmodFile($path);
    @(include $path);
    UpdateTbDefMod($tid, $tbname, $mid);
    //公共变量
    TogSaveTxtF(1);
    GetConfig(1);
    //更新缓存
    //生成模型表单文件
    $modr = $empire->fetch1("select mtemp,qmtemp,cj from {$dbtbpre}enewsmod where mid='{$mid}'");
    ChangeMForm($mid, $tid, $modr[mtemp]);
    //更新表单
    ChangeQmForm($mid, $tid, $modr[qmtemp]);
    //更新前台表单
    ChangeMCj($mid, $tid, $modr[cj]);
    //采集表单
    //删除文件
    DelFiletext($path);
    //操作日志
    insert_dolog("tid={$tid}&tb={$tbname}<br>mid={$mid}");
    printerror("LoadInModSuccess", "db/ListTable.php");
}
Exemple #5
0
function DoTranFile($file, $file_name, $file_type, $file_size, $classid, $ecms = 0)
{
    global $public_r, $class_r, $doetran, $efileftp_fr;
    $classid = (int) $classid;
    //文件类型
    $r[filetype] = GetFiletype($file_name);
    //文件名
    $r[insertfile] = ReturnDoTranFilename($file_name, $classid);
    $r[filename] = $r[insertfile] . $r[filetype];
    //日期目录
    $r[filepath] = FormatFilePath($classid, $mynewspath, 0);
    $filepath = $r[filepath] ? $r[filepath] . '/' : $r[filepath];
    //存放目录
    $fspath = ReturnFileSavePath($classid);
    $r[savepath] = eReturnEcmsMainPortPath() . $fspath['filepath'] . $filepath;
    //moreport
    //附件地址
    $r[url] = $fspath['fileurl'] . $filepath . $r[filename];
    //缩图文件
    $r[name] = $r[savepath] . "small" . $r[insertfile];
    //附件文件
    $r[yname] = $r[savepath] . $r[filename];
    $r[tran] = 1;
    //验证类型
    if (CheckSaveTranFiletype($r[filetype])) {
        if ($doetran) {
            $r[tran] = 0;
            return $r;
        } else {
            printerror('TranFail', '', $ecms);
        }
    }
    //上传文件
    $cp = @move_uploaded_file($file, $r[yname]);
    if (empty($cp)) {
        if ($doetran) {
            $r[tran] = 0;
            return $r;
        } else {
            printerror('TranFail', '', $ecms);
        }
    }
    DoChmodFile($r[yname]);
    $r[filesize] = (int) $file_size;
    //FileServer
    if ($public_r['openfileserver']) {
        $efileftp_fr[] = $r['yname'];
    }
    return $r;
}