Home > CMS Tutorial > Empire CMS > About the field processing function of imperial CMS6.0 function decryption

About the field processing function of imperial CMS6.0 function decryption

藏色散人
Release: 2020-06-12 15:07:02
forward
2789 people have browsed it

The following tutorial column of Empire cms will introduce to you the field processing function of CMS6.0 function decryption. I hope it will be helpful to friends in need!

About the field processing function of imperial CMS6.0 function decryption

Foreword:

When adding/modifying fields, you can set the "Backend Add Information Processing Function", "Backend Modify Information Processing Function", "Foreground Add Information Processing function" and "Foreground modification information processing function" can respectively set functions for processing field content. They are often used for models that have special requirements for the storage format of field content. Today we will briefly explain the processing function production format.

About the field processing function of imperial CMS6.0 function decryption

Basic setup steps:

1. Write the processing function;

2. Copy the function to e/class/userfun.php In the file content;

3. Modify the field setting processing function name.

Field processing function format:

function user_FieldFun($mid,$f,$isadd,$isq,$value,$cs){
        return $value;
}
Copy after login

Parameter description:

user_FieldFun: function name

$mid: system model ID

$ f: Field name

$isadd: When the value is 1, it is to add information; when the value is 0, it is to modify information

$isq: When the value is 0, it is background processing; when the value is 1, it is Foreground processing

$value: Original content of the field

$cs: Additional parameters of the field, parameter content set at the field processing function

Example of field processing function:

Example 1: Automatically add the words "[EmpireCMS]" in front of the title

Backend field function settings: user_AddTitle

function user_AddTitle($mid,$f,$isadd,$isq,$value,$cs){
        $value='[EmpireCMS]'.$value;
        return $value;
}
Copy after login

Example 2: The title content is a combination of writer and befrom fields

Background field function settings: user_TogTitle

Title field displays HTML code:

(Description: Because the title is required, an initial value must be given so that the content will not be empty)

function user_TogTitle($mid,$f,$isadd,$isq,$value,$cs){
        $value=$_POST['writer'].$_POST['befrom'];
        return $value;
}
Copy after login

Example 3: Upload images and automatically generate thumbnails

Background field function settings: user_TranImgAuto## 170,120

(Note: The background parameter 170 represents the thumbnail width, and 120 is the thumbnail height)

The upload image field displays the HTML code:

(Note: The variable name uses "field name" imgrs, which corresponds to the "$filetf" variable in the function)

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;
}
Copy after login

The processing function can achieve a lot The above are just a few simple examples of very complex field content storage format requirements, and more need to be practiced by users.

For more Empire cms technical articles, please visit the Empire cms secondary development column!

The above is the detailed content of About the field processing function of imperial CMS6.0 function decryption. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template