検索
ホームページCMS チュートリアルエンパイアCMSインペリアルCMS6.0機能復号化のフィールド処理機能について

Empirecms の次のチュートリアル コラムでは、CMS6.0 関数復号化のフィールド処理機能を紹介します。

インペリアルCMS6.0機能復号化のフィールド処理機能について

前書き:

フィールドを追加/変更する場合、「バックエンド情報処理機能追加」、「バックエンド情報処理機能変更」、「」を設定できます。 「フォアグラウンド追加情報処理機能」と「フォアグラウンド変更情報処理機能」は、それぞれフィールド内容を処理するための関数を設定することができ、フィールド内容の格納形式に特殊な要件がある機種によく使用されます。今回は処理関数の生成形式について簡単に説明します。

インペリアルCMS6.0機能復号化のフィールド処理機能について

基本的なセットアップ手順:

1. 処理関数を作成します;

2. 関数を e/class/userfun にコピーします。 php ファイル内容;

3. フィールド設定処理関数名を変更します。

フィールド処理関数の形式:

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

パラメータの説明:

user_FieldFun: 関数名

$mid: システム モデル ID

$ f: フィールド名

$isadd: 値が 1 の場合は情報追加、値が 0 の場合は情報変更

$isq: 値が 0 の場合の場合はバックグラウンド処理、値が 1 の場合はフォアグラウンド処理です。

$value: フィールドの元の内容

$cs: フィールドの追加パラメーター、フィールドで設定されたパラメーターの内容フィールド処理関数

フィールド処理関数の例:

例 1: タイトルの前に「[EmpireCMS]」という単語を自動的に追加します

バックグラウンド フィールド関数の設定: user_AddTitle

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

例 2: タイトル コンテンツは Writer フィールドと befrom フィールドの組み合わせです

バックグラウンド フィールド関数の設定: user_TogTitle

タイトル フィールドには HTML コードが表示されます:

(説明: タイトルは必須なので、内容が空にならないように初期値を指定する必要があります)

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

例 3: 画像をアップロードし、サムネイルを自動生成する

背景フィールド関数の設定: user_TranImgAuto## 170,120

(注: 背景パラメータ 170 はサムネイルの幅を表し、120 はサムネイルの高さを表します)

アップロード画像フィールドには、HTML コードが表示されます:

(注: 変数名には " が使用されます)フィールド名" imgrs (これは関数の "$filetf" 変数に対応します)

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

処理関数は多くのことを実現できます。上記は、非常に複雑なフィールド コンテンツのストレージ形式要件の簡単な例のほんの一部です。ユーザーはさらに実践する必要があります。

Empire cms の技術記事の詳細については、

Empire cms 二次開発 列をご覧ください。

以上がインペリアルCMS6.0機能復号化のフィールド処理機能についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はcsdnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません