您现在的位置是:首页 > IT分类 > 帝国CMS网站首页帝国CMS帝国CMS后台处理函数

帝国CMS后台处理函数

  • 蓝天
  • 帝国CMS
  • 2020-05-28 16:30:58
简介前言:说是函数,简单点说就是方法,比如在发布商品时,要给商品随机产生一个编号,这个编号可以方便后台数据查找,这时候可能这个后台处理函数就有用了,如图:可以看到,这个函数可以给我处
前言:说是函数,简单点说就是方法,比如在发布商品时,要给商品随机产生一个编号,这个编号可以方便后台数据查找,这时候可能这个后台处理函数就有用了,如图:

uVI蓝天个人博客-一个自学的好博客

可以看到,这个函数可以给我处理好随机生成的这个数字,这是个方法名,自定义的,只要把这个方法放到指定的文件内,就OK了,个人感觉没太大的难度,不过要写一个方法还得对PHP有一点了解才行,不然也没用,在这里我只是完成了一个简单的功能,但是按照这个方式,是可以自由发挥的,你可以做成你想要的任何功能,只要具备相应的代码水平即可。uVI蓝天个人博客-一个自学的好博客
uVI蓝天个人博客-一个自学的好博客
首先,所有自定义的方法都放在e/class/userfun.php,很明显,这个命名就是用户函数,所以里面放着的都是用户自定义函数。
function user_BannerBH($mid,$f,$isadd,$isq,$value,$cs){
    return $value;
}
这个里面这些传参是固定的,照着写就行了,大概意思如下:
user_FieldFun:函数名
$mid:系统模型ID
$f:字段名
$isadd:值为1时是增加信息;值为0时是修改信息
$isq:值为0时是后台处理;值为1时是前台处理
$value:字段原内容
$cs:字段附加参数,字段处理函数处设置的参数内容
以上参数也是我在网上找的,其中$value指的就是input中value所取到的值,刚好用这个就可以解决随机问题,最后实现如下:
function user_BannerBH($mid,$f,$isadd,$isq,$value,$cs){
    $value = $value.'-'.rand(0,10).rand(10,99).rand(100,999);
    return $value;
}
以上便会拿原有的值拼接上3个随机数就是最后要的编号,如原有值是:AC00JJAI拼接完后即是:AC00JJAI-910145当然这个是随机产生的,只有原有值是固定的,这只是最简单的,更多的还得自己扩展才行...uVI蓝天个人博客-一个自学的好博客
uVI蓝天个人博客-一个自学的好博客
以下是来自别人的”一个上传图片自动生成缩略图函数“,代码可供参考:
function user_TranImgAuto($mid,$f,$isadd,$isq,$value,$cs){
    global $empire,$dbtbpre,$public_r,$emod_r,$class_r,$tranpicturetype,$musername;
    $filetf=$f.'imgrs';//变量名
    if(!$_FILES[$filetf]['name'])
    {
            return $value;
    }
    $classid=(int)$_POST['classid'];
    $id=(int)$_POST['id'];
    $filepass=(int)$_POST['filepass'];
    $filetype=GetFiletype($_FILES[$filetf]['name']);
    $pr=$empire->fetch1("select qaddtran,qaddtransize,qaddtranimgtype from {$dbtbpre}enewspublic limit 1");
    if(!$pr['qaddtran'])
    {
            printerror("CloseQTranPic","",1);
    }
    if(!strstr($pr['qaddtranimgtype'],"|".$filetype."|"))
    {
            printerror("NotQTranFiletype","",1);
    }
    if($_FILES[$filetf]['size']>$pr['qaddtransize']*1024)
    {
            printerror("TooBigQTranFile","",1);
    }
    if(!strstr($tranpicturetype,','.$filetype.','))
    {
            printerror("NotQTranFiletype","",1);
    }
    $tfr=DoTranFile($_FILES[$filetf]['tmp_name'],$_FILES[$filetf]['name'],$_FILES[$filetf]['type'],$_FILES[$filetf]['size'],$classid);
    if($tfr['tran'])
    {
            $csr=explode(',',$cs);
            $maxwidth=$csr[0];
            $maxheight=$csr[1];
            $yname=$tfr['yname'];
            $name=$tfr['name'];
            include_once(ECMS_PATH.'e/class/gd.php');
            //生成缩图
            $filer=ResizeImage($yname,$name,$maxwidth,$maxheight,$public_r['spickill']);
            DelFiletext($yname);
            if($filer['file'])
            {
                    //写入数据库
                    $type=1;
                    $filetime=date("Y-m-d H:i:s");
                    $filesize=@filesize($filer['file']);
                    $filename=GetFilename(str_replace(ECMS_PATH,'',$filer['file']));
                    $adduser='[Member]'.$musername;
                    $infoid=$isadd==1?0:$id;
                    $empire->query("insert into {$dbtbpre}enewsfile(filename,filesize,adduser,path,filetime,classid,no,type,id,cjid,fpath) values('$filename','$filesize','$adduser','$tfr[filepath]','$filetime','$classid','[".$f."]".addslashes(RepPostStr($_POST[title]))."','$type','$infoid','$filepass','$public_r[fpath]');");
                    if($isadd==0)
                    {
                            $tbname=$emod_r[$mid]['tbname'];
                            if(strstr($emod_r[$mid]['tbdataf'],','.$f.','))
                            {
                                    $ir=$empire->fetch1("select stb from {$dbtbpre}ecms_".$tbname." where id='$id'");
                                    $ifr=$empire->fetch1("select ".$f." from {$dbtbpre}ecms_".$tbname."_data_".$ir[stb]." where id='$id'");
                                    $ifval=$ifr[$f];
                            }
                            else
                            {
                                    $ir=$empire->fetch1("select ".$f." from {$dbtbpre}ecms_".$tbname." where id='$id'");
                                    $ifval=$ir[$f];
                            }
                            if($ifval)
                            {
                                    DelYQTranFile($classid,$id,$ifval,$f);
                            }
                    }
                    $value=str_replace($tfr['filename'],$filename,$tfr['url']);
            }
    }
    else
    {
            $value='';
    }
    return $value;
}
最后:其实这些方法只处理单个字段的,比如:作者、标签、信息来源等等,你用在那它就在那生效。

转载: 感谢您对蓝天个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源蓝天个人博客 http://www.along168.cn”。

文章评论

联系方式