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; }
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)); }
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"); }
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; }