search
HomeCMS TutorialEmpire CMSDetailed explanation of the field processing function of the Imperial CMS function decryption

Detailed explanation of the field processing function of the Imperial CMS function decryption

1. Foreword:

Empire CMS provides powerful custom field processing functions, which greatly facilitates users’ secondary development of Imperial CMS!

When adding/modifying fields, Empire CMS can set "Add information processing function in the background", "Modify information processing function in the background", "Add information processing function in the front desk", and "Modify information processing function in the front desk" respectively. Set functions for processing field content, which 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. The specific setting position of the field processing function is shown in the figure below:

Detailed explanation of the field processing function of the Imperial CMS function decryption

2. Basic setting steps:

1. Write the processing function;
2. Copy the function to the content of the e/class/userfun.php file;
3. Modify the field setting processing function name.

3. Field processing function format:

The code is as follows:

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

Parameter description:

user_FieldFun: function name
$mid: system model ID
$f: field name
$isadd: When the value is 0, it is to add information; when the value is 1, it is to modify the 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: Field additional parameters, parameter content set at the field processing function

4. Field processing function example:

Example 1: Automatically add the words "[EmpireCMS]" in front of the title
Backend field function settings: user_AddTitle

The code is as follows:

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

Example 2: Title content is set by a combination of writer and befrom fields
Background field function is set: user_TogTitle
The title field displays the HTML code:
(Note: Because the title is a required item, an initial value must be given. It will prompt that the content is empty)

The code is as follows:

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

Example 3: Upload images and automatically generate thumbnails
Background field function settings: user_TranImgAuto##170,120
(Explanation: The background parameter 170 represents the thumbnail width, 120 is the thumbnail height)
Upload image field displays HTML code:
(Note: The variable name uses "field name" imgrs, which corresponds to the "$filetf" variable in the function)

Code as follows:

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 '';
}
$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;
}

The above is the detailed content of Detailed explanation of the field processing function of the Imperial CMS function decryption. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:www.word666.com. If there is any infringement, please contact admin@php.cn delete
帝国cms管理员在哪个表帝国cms管理员在哪个表Feb 22, 2023 pm 07:00 PM

管理员表有:1、phome_enewsuser,是管理员记录表;2、phome_enewsdolog,是管理员操作记录表;3、phome_enewsgroup,是管理员用户组数据记录表;4、phome_enewslog,是管理员登陆日志;5、phome_enewsloginfail,是管理员登陆失败记录表;6、phome_enewserrorclass,是管理员错误报告记录表。

帝国cms怎么把静态改成伪静态帝国cms怎么把静态改成伪静态Jul 19, 2023 pm 04:45 PM

帝国cms把静态改成伪静态的方法:1、创建.htaccess文件;2、修改网站配置文件;3、重新生成所有页面;4、配置伪静态规则;5、保存并关闭文件即可。

帝国cms404页面怎么设置帝国cms404页面怎么设置Aug 02, 2023 am 11:54 AM

帝国cms404页面的设置步骤为:1、登录到帝国CMS的后台管理界面;2、导航到"内容"或"站点管理"等相关菜单选项;3、找到和选择"404页面"或"错误页面"选项;4、选择使用已有页面或者创建一个新页面作为404页面;5、在新页面编辑器中,编写404页面的内容;6、保存页面并将其设置为404页面;7、更新网站设置;8、保存设置并测试404页面即可。

帝国cms可以删除模块吗帝国cms可以删除模块吗Mar 13, 2023 pm 07:18 PM

帝国cms可以删除模块。删除模块的方法:1、登录帝国CMS后台,依次点击“系统”-“系统设置”-“系统参数设置”-“关闭相关功能”,根据自己网站的需求,自行勾选设置来关闭对应的模块功能;2、关闭功能后,删除对应模块的在e目录下的子目录;3、修改e目录下的php文件,在文件第二行加上代码“exit();<?php exit()”,并保存修改即可。

帝国cms留言板是哪个表帝国cms留言板是哪个表Feb 22, 2023 am 09:39 AM

帝国cms留言板是“​phome_enewsgbook”表;帝国cms留言分类表是“phome_enewsgbookclass”;帝国cms会员空间留言表是“phome_enewsmembergbook”。

帝国cms连接不上数据库怎么办帝国cms连接不上数据库怎么办Feb 27, 2023 am 09:51 AM

帝国cms连接不上数据库的解决办法:1、打开帝国CMS数据文件的根目录;2、找到并打开“/e/config/config.php”文件;3、将数据库名称以及数据库用户名即数据库密码修改保存后替换空间文件即可。

帝国cms封面模板是什么意思帝国cms封面模板是什么意思Feb 13, 2023 am 10:39 AM

在帝国cms中,封面模板是指网站频道页面使用的模板,可以制作跟首页一模一样的封面页面;封面模板共使用在两个地方:非终极栏目和专题。封面模板的使用,一般是该栏目为父级栏目(非终级栏目),封面模板的目的就是调用各个子栏目(终级栏目)文章。

帝国cms怎么修改数据库文件帝国cms怎么修改数据库文件Jul 25, 2023 pm 03:37 PM

帝国cms修改数据库文件的方法:1、打开控制面板,找到phpMyAdmin或类似的数据库管理工具;2、选择您要修改的数据库;3、点击您要修改的表格;4、点击您要修改的字段;5、根据需求,修改相应的属性和值;6、保存您所做的修改;7、重复步骤三至六,对其他字段进行相应的修改即可。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!