熊猫办公系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

481 lines
11 KiB

<?php
//提示信息
function ECMS_EditorPrintError($errorNumber,$fileUrl,$fileName,$customMsg,$fileno,$filesize){
global $public_r;
if(empty($errorNumber))
{
$errorNumber=0;
$filesize=ChTheFilesize($filesize);
}
else
{
@include '../'.LoadLang("pub/message.php");
$customMsg=$message_r[$customMsg];
}
$errorNumber=(int)$errorNumber;
$typer=ECMS_EditorReturnType('');
$type=$typer['ftype'];
//附件
if($type==0)
{
$fileUrl=$fileUrl.'##'.$fileno.'##'.$filesize;
}
ECMS_PTEditorShowError($type,addslashes($customMsg),addslashes($fileUrl),$add,0);
db_close();
exit();
}
//返回表格格式
function eTranMoreTbGs($r){
if($r['tbcolor'])
{
$tbcolor=" bgcolor='".$r['tbcolor']."'";
}
if($r['tbbordercolor'])
{
$tbbordercolor=" bordercolor='".$r['tbbordercolor']."'";
}
if($r['tbsp'])
{
$tbsp=" cellspacing='".$r['tbsp']."'";
}
if($r['tbpa'])
{
$tbpa=" cellpadding='".$r['tbpa']."'";
}
if($r['tbwidth'])
{
$tbwidth=" width='".$r['tbwidth'].$r['tbwidthdw']."'";
}
$table="<table".$tbwidth." border='".$r['tbborder']."'".$tbpa.$tbsp.$tbbordercolor.$tbcolor." align='".$r['tbalign']."'>";
return $table;
}
//编辑器上传多图片
function eTranMorePic($file,$file_name,$file_type,$file_size,$add,$userid,$username){
global $empire,$public_r,$dbtbpre,$fun_r;
//导入gd处理文件
if($add['getsmall']||$add['getmark'])
{
@include(ECMS_PATH."e/class/gd.php");
}
$tranfrom=(int)$add['tranfrom'];
$j=0;
$line=(int)$add['line'];
if($line==0)
{
$line=1;
}
$add['classid']=(int)$add['classid'];
$modtype=(int)$add['modtype'];
$infoid=(int)$add['infoid'];
$fstb=0;
if(empty($modtype))
{
$fstb=GetInfoTranFstb($add['classid'],$infoid,0);
}
//远程保存
if($add['saveurl'])
{
$url_r=explode("\r\n",$add['saveurl']);
$count=count($url_r);
for($i=0;$i<$count;$i++)
{
if(empty($url_r[$i]))
{continue;}
//验证图片
$check=eTranMorePicCheck($url_r[$i],0);
if($check==0)
{continue;}
//开始上传
$r=DoTranUrl($url_r[$i],$add['classid']);
if(empty($r[tran]))
{
continue;
}
$imgurl=$r['url'];
$bimgurl=$r['url'];
//写入数据库
$r[filesize]=(int)$r[filesize];
$add[classid]=(int)$add[classid];
$add[type]=(int)$add[type];
$add[filepass]=(int)$add[filepass];
eInsertFileTable($r[filename],$r[filesize],$r[filepath],$username,$add[classid],$r[filename],$add[type],$add[filepass],$add[filepass],$public_r[fpath],0,$modtype,$fstb);
//缩略图
if($add['getsmall'])
{
$sfiler=GetMySmallImg($add['classid'],$r[filename],$r[insertfile],$r[filepath],$r[yname],$add[swidth],$add[sheight],$r[name],$add['filepass'],$add['filepass'],$userid,$username,$modtype,$fstb);
$imgurl=str_replace("/".$r[filename],"/small".$r[insertfile].$sfiler['filetype'],$r[url]);
}
//水印
if($add['getmark'])
{
GetMyMarkImg($r['yname']);
}
//开始输出字符
$j++;
//分页
if($add['exptype']==1)
{
$classtext.="<p align='".$add['align']."'>".eTranMorePicGs($bimgurl,$imgurl,$add)."</p>";
if($j%$line==0)
{
$classtext.="[!--empirenews.page--]";
}
}
//表格
else
{
if(($j-1)%$line==0||$j==1)
{$classtext.="<tr>";}
$classtext.="<td align=".$add['align'].">".eTranMorePicGs($bimgurl,$imgurl,$add)."</td>";
if($j%$line==0)
{$classtext.="</tr>";}
}
}
//表格
if($add['exptype']==0)
{
if($j<>0)
{
$table=eTranMoreTbGs($add);
$table1="</table>";
$ys=$line-$j%$line;
$p=0;
for($k=0;$k<$ys&&$ys!=$line;$k++)
{
$p=1;
$classtext.="<td></td>";
}
if($p==1)
{
$classtext.="</tr>";
}
}
$classtext=$table.$classtext.$table1;
}
//分页
else
{
if($j%$line==0)
{
$classtext=substr($classtext,0,strlen($classtext)-22);
}
}
}
//本地上传
else
{
$count=count($file_name);
if($count==0)
{
$tranfrom==0?printerror("MustChangeTranOneFile","history.go(-1)",8):ECMS_EditorPrintError(1,'','','MustChangeTranOneFile','','');
}
$GLOBALS['doetran']=1;
for($i=0;$i<$count;$i++)
{
if(empty($file_name[$i]))
{
continue;
}
//验证图片
$check=eTranMorePicCheck($file_name[$i],$file_size[$i]);
if($check==0)
{
continue;
}
//上传
$r=DoTranFile($file[$i],$file_name[$i],$file_type[$i],$file_size[$i],$add['classid']);
if(empty($r[tran]))
{
continue;
}
$imgurl=$r['url'];
$bimgurl=$r['url'];
//写入数据库
$r[filesize]=(int)$r[filesize];
$add[classid]=(int)$add[classid];
$add[type]=(int)$add[type];
$add[filepass]=(int)$add[filepass];
eInsertFileTable($r[filename],$r[filesize],$r[filepath],$username,$add[classid],$file_name[$i],$add[type],$add[filepass],$add[filepass],$public_r[fpath],0,$modtype,$fstb);
//缩略图
if($add['getsmall'])
{
$sfiler=GetMySmallImg($add['classid'],$r[filename],$r[insertfile],$r[filepath],$r[yname],$add[swidth],$add[sheight],$r[name],$add['filepass'],$add['filepass'],$userid,$username,$modtype,$fstb);
$imgurl=str_replace("/".$r[filename],"/small".$r[insertfile].$sfiler['filetype'],$r[url]);
}
//水印
if($add['getmark'])
{
GetMyMarkImg($r['yname']);
}
//开始输出字符
$j++;
//分页
if($add['exptype']==1)
{
$classtext.="<p align=".$add['align'].">".eTranMorePicGs($bimgurl,$imgurl,$add)."</p>";
if($j%$line==0)
{
$classtext.="[!--empirenews.page--]";
}
}
//表格
else
{
if(($j-1)%$line==0||$j==1)
{$classtext.="<tr>";}
$classtext.="<td align=".$add['align'].">".eTranMorePicGs($bimgurl,$imgurl,$add)."</td>";
if($j%$line==0)
{$classtext.="</tr>";}
}
}
//表格
if($add['exptype']==0)
{
if($j<>0)
{
$table=eTranMoreTbGs($add);
$table1="</table>";
$ys=$line-$j%$line;
$p=0;
for($k=0;$k<$ys&&$ys!=$line;$k++)
{
$p=1;
$classtext.="<td></td>";
}
if($p==1)
{
$classtext.="</tr>";
}
}
$classtext=$table.$classtext.$table1;
}
//分页
else
{
if($j%$line==0)
{
$classtext=substr($classtext,0,strlen($classtext)-22);
}
}
}
$typer=ECMS_EditorReturnType('');
$type=$typer['ftype'];
ECMS_PTEditorShowError($type,'',$classtext,$add,0);
db_close();
exit();
}
//返回图片格式
function eTranMorePicGs($bimgurl,$imgurl,$r){
if($r['width'])
{
$width=" width=".$r['width'];
}
if($r['height'])
{
$height=" height=".$r['height'];
}
$pic="<a href='".$bimgurl."' target='_blank'><img src='".$imgurl."' border=".$r['imgborder'].$width.$height."></a>";
return $pic;
}
//验证图片是否合法
function eTranMorePicCheck($url,$filesize){
global $public_r,$ecms_config;
$filetype=GetFiletype($url);//扩展名
//如果是.php文件
if(CheckSaveTranFiletype($filetype))
{
return 0;
}
if(!strstr($public_r['filetype'],"|".$filetype."|"))
{
return 0;
}
if($filesize>$public_r['filesize']*1024)
{
return 0;
}
//扩展名是否合法
if(!strstr($ecms_config['sets']['tranpicturetype'],','.$filetype.','))
{
return 0;
}
return 1;
}
//上传文件
function TranFile($file,$file_name,$file_type,$file_size,$tranurl,$no,$classid,$type,$post,$userid,$username){
global $empire,$public_r,$loginrnd,$dbtbpre,$ecms_config;
if(!$no)
{
$no=$file_name;
}
$tranfrom=(int)$post['tranfrom'];
$classid=(int)$classid;
$modtype=(int)$post['modtype'];
$infoid=(int)$post['infoid'];
$fstb=0;
if(empty($modtype))
{
$fstb=GetInfoTranFstb($classid,$infoid,0);
}
//是否为空
if(!$file_name)
{
if(empty($tranurl)||$tranurl=="http://")
{
$tranfrom==0?printerror("EmptyHttp","history.go(-1)",8):ECMS_EditorPrintError(1,'','','EmptyHttp','','');
}
$filetype=GetFiletype($tranurl);//取得文件类型
$file_size=0;
}
else
{
$filetype=GetFiletype($file_name);//取得文件类型
}
//如果是.php文件
if(CheckSaveTranFiletype($filetype))
{
$tranfrom==0?printerror("TranPHP","history.go(-1)",8):ECMS_EditorPrintError(1,'','','TranPHP','','');
}
$type_r=explode("|".$filetype."|",$public_r['filetype']);
if(count($type_r)<2)
{
$tranfrom==0?printerror("TranFiletypeFail","history.go(-1)",8):ECMS_EditorPrintError(1,'','','TranFiletypeFail','','');
}
if($file_size>$public_r['filesize']*1024)
{
$tranfrom==0?printerror("TranFilesizeFail","history.go(-1)",8):ECMS_EditorPrintError(1,'','','TranFilesizeFail','','');
}
if($type==1)//上传图片
{
if(!strstr($ecms_config['sets']['tranpicturetype'],','.$filetype.','))
{
$tranfrom==0?printerror("NotTranImg","history.go(-1)",8):ECMS_EditorPrintError(1,'','','NotTranImg','','');
}
}
elseif($type==2)//上传flash
{
if(!strstr($ecms_config['sets']['tranflashtype'],','.$filetype.','))
{
$tranfrom==0?printerror("NotTranFlash","history.go(-1)",8):ECMS_EditorPrintError(1,'','','NotTranFlash','','');
}
}
elseif($type==3)//上传多媒体
{}
else//上传附件
{}
//远程保存
if(empty($file_name))
{
$r=DoTranUrl($tranurl,$classid);
if(empty($r[tran]))
{
$tranfrom==0?printerror("TranHttpFail","history.go(-1)",8):ECMS_EditorPrintError(1,'','','TranHttpFail','','');
}
}
//本地上传
else
{
$r=DoTranFile($file,$file_name,$file_type,$file_size,$classid);
if(empty($r[tran]))
{
$tranfrom==0?printerror("TranFail","history.go(-1)",8):ECMS_EditorPrintError(1,'','','TranFail','','');
}
}
if(!$no)
{
$no=$r[filename];
}
//写入数据库
$r[filesize]=(int)$r[filesize];
$classid=(int)$classid;
$post[filepass]=(int)$post[filepass];
$type=(int)$type;
$sql=eInsertFileTable($r[filename],$r[filesize],$r[filepath],$username,$classid,$no,$type,$post[filepass],$post[filepass],$public_r[fpath],0,$modtype,$fstb);
$fileid=$empire->lastid();
//导入gd.php文件
if($type==1&&($post['getsmall']||$post['getmark']))
{
@include(ECMS_PATH."e/class/gd.php");
}
//缩略图
if($type==1&&$post['getsmall'])
{
GetMySmallImg($classid,$no,$r[insertfile],$r[filepath],$r[yname],$post[width],$post[height],$r[name],$post['filepass'],$post['filepass'],$userid,$username,$modtype,$fstb);
}
//水印
if($type==1&&$post['getmark'])
{
GetMyMarkImg($r['yname']);
}
if($sql)
{
if($tranfrom==1)//编辑器上传
{
//$imgstr=EditorSetTranPic($r[url],$r[url],$post);
ECMS_EditorPrintError(0,$r[url],$r[filename],'',$no,$r[filesize]);
db_close();
exit();
}
echo"<script>parent.location.reload();</script>";
db_close();
exit();
}
else
{
$tranfrom==0?printerror("InTranRecordFail","history.go(-1)",8):ECMS_EditorPrintError(1,'','','InTranRecordFail','','');
}
}
//插入图片
function EditorSetTranPic($picurl,$smallpic,$add){
$imgstr="<img src='$picurl'";
if($add[pic_autosize])
{
$imgstr.=" onload='autosimg(this);' onmousewheel='return zoomimg(this);'";
}
if($add[pic_height])
{
$imgstr.=" height='$add[pic_height]'";
}
if($add[pic_width])
{
$imgstr.=" width='$add[pic_width]'";
}
$imgstr.=" border='$add[pic_border]'";
if($add[pic_alt])
{
$imgstr.=" alt='$add[pic_alt]'";
}
if($add[pic_vspace])
{
$imgstr.=" vspace='$add[pic_vspace]'";
}
if($add[pic_hspace])
{
$imgstr.=" hspace='$add[pic_hspace]'";
}
if($add[pic_align])
{
$imgstr.=" align='$add[pic_align]'";
}
if(empty($add[pic_link]))
{
$add[pic_link]=$picurl;
}
$imgstr="<a href='$add[pic_link]' target='$add[pic_linktarget]'>".$imgstr."></a>";
if($add[pic_say])
{
$imgstr.="<br><span style='line-height=18pt'>".ehtmlspecialchars($add[pic_say])."</span>";
}
if($add[pic_align]=='center')
{
$imgstr='<center>'.$imgstr.'</center>';
}
return $imgstr;
}
?>