>  기사  >  CMS 튜토리얼  >  Imperial CMS6.0 기능 복호화의 현장 처리 기능에 대하여

Imperial CMS6.0 기능 복호화의 현장 처리 기능에 대하여

藏色散人
藏色散人앞으로
2020-06-12 15:07:022686검색

다음 튜토리얼 칼럼인 Empire cms에서는 CMS6.0 함수 복호화의 현장 처리 기능을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Imperial CMS6.0 기능 복호화의 현장 처리 기능에 대하여

서문:

필드 추가/수정 시 "백엔드 추가 정보처리 기능", "백그라운드 수정 정보 처리 기능", "프런트엔드 추가 정보 처리 기능", "프런트엔드 수정 정보 처리 기능", 이는 각각 설정할 수 있습니다. 필드 콘텐츠 처리를 위한 기능을 설정합니다. 이는 필드 콘텐츠의 저장 형식에 대한 특별한 요구 사항이 있는 모델에 자주 사용됩니다. 오늘은 처리기능 제작 포맷에 대해 간략하게 설명드리겠습니다.

Imperial 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: 제목 콘텐츠는 작성자 및 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;
}

처리 함수는 매우 복잡한 필드 내용을 많이 실현할 수 있습니다. 저장 형식 요구 사항 위의 내용은 몇 가지 간단한 예일 뿐이며 사용자가 더 많이 연습해야 합니다.

더 많은 Imperial cms 기술 기사를 보려면 imperial cms 2차 개발 칼럼을 방문하세요!

위 내용은 Imperial CMS6.0 기능 복호화의 현장 처리 기능에 대하여의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제