Home CMS Tutorial Empire CMS Detailed 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

Nov 25, 2019 pm 03:07 PM
Empire cms

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

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

Video Face Swap

Video Face Swap

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

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1269
29
C# Tutorial
1249
24
Where are the settings for the mobile version of Empire CMS? Where are the settings for the mobile version of Empire CMS? Apr 17, 2024 pm 12:12 PM

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.

Where is the imperial cms website map? Where is the imperial cms website map? Apr 17, 2024 am 10:48 AM

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.

Where can I put the empire cms template file for easy use? Where can I put the empire cms template file for easy use? Apr 17, 2024 am 07:22 AM

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.

Where is the automatic publishing interface of Empire CMS? Where is the automatic publishing interface of Empire CMS? Apr 17, 2024 am 09:03 AM

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.

Where is the Baidu active push plug-in for Imperial CMS? Where is the Baidu active push plug-in for Imperial CMS? Apr 17, 2024 am 11:00 AM

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.

Where to find the empire cms database configuration file Where to find the empire cms database configuration file Apr 17, 2024 am 06:42 AM

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

Is empire cms free? Is empire cms free? Apr 17, 2024 am 11:24 AM

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.

Where is the imperial cms resource network template? Where is the imperial cms resource network template? Apr 17, 2024 am 10:00 AM

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

See all articles