


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:
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The mobile settings of Empire CMS are located in the "Mobile Template" of the "Template Management" module. The specific steps include: enabling the template, selecting the application channel, editing the template content, and saving the settings.

The Empire CMS sitemap can be found by accessing the config.inc.php file and checking the dositemap settings. If set to "on", sitemap is enabled. The sitemap path is located in the sitemapurl setting and can be accessed via a browser or downloaded via FTP.

The ideal location for the Empire CMS template file is /e/template/default/skin/default/. Secondly, it can also be placed in /e/data/skins/ and /e/skin/. You need to pay attention to maintaining the folder structure and setting file permissions. and regular backups.

The automatic publishing interface of Empire CMS is located at /e/api/web/postinfo.php. The usage steps are as follows: visit /e/api/web/postinfo.php address and use HTTP POST to submit the article title, column ID, category ID, author and article The content and other data interfaces will return a response in JSON format, which contains the publishing results and article ID.

The imperial cms Baidu active push plug-in is located in the root directory /e/api/baidu/push.php. The specific configuration steps are as follows: 1. Upload the plug-in file to the specified path. 2. Configure the "Baidu Active Push" option in the Imperial CMS background, including push address, API Key and push interval. 3. Get Baidu push information: Push address: https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY, API Key: log in to Baidu search resource platform to obtain. 4. Update the API Key regularly and set a reasonable push interval.

The Imperial CMS database configuration file is located in the website root directory e/config/db.inc.php. It contains the following configuration information: $dbhost: database server address $dbuser: database user name $dbpass: database password $dbname: database name $dbport :Database port $dbcharset: Database character set

Yes, Empire CMS is a free and open source content management system (CMS). It is a lightweight CMS that is feature-rich and easy to use. Empire CMS is licensed under the GNU General Public License (GPL), which means it is free to download, install and use. For commercial use, it offers a paid version that offers additional features and support such as ad management, online payments, and premium technical support.

Empire CMS template download location: Official template download: https://www.phome.net/template/ Third-party template website: https://www.dedecms.com/diy/https://www.0978.com.cn /https://www.jiaocheng.com/Installation method: Download template Unzip template Upload template Select template
