亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

YII視圖整合kindeditor擴展的方法

2020-03-22 19:08:54
字體:
來源:轉載
供稿:網友
本文實例講述了YII視圖整合kindeditor擴展的方法。分享給大家供大家參考,具體如下:比較喜歡用kindeditor,YII上的版本比較舊,所以自己重新整了個擴展
先在protected/extensions下創建KEditor文件夾用來放文件,keSource里放kindeditor的源文件,然后建三個類KEditor、KEditorManage和KEditorUpload,KEditor是擴展的主文件,KEditorManage是用來瀏覽服務器文件的,KEditorUpload是用來示例接收上傳文件的,KEditor代碼html' target='_blank'>class KEditor extends CWidget{ * TEXTAREA輸入框的屬性,保證js調用KE失敗時,文本框的樣式。 public $textareaOptions=array(); * 編輯器屬性集。 public $properties=array(); * TEXTAREA輸入框的name,必須設置。 * 數據類型:String public $name; * TEXTAREA的id,可為空 public $id; public $model; public $baseUrl; public static function getUploadPath(){ $dir = dirname(__FILE__).DIRECTORY_SEPARATOR.'keSource'; if(isset(Yii::app()- params- uploadPath)){ return Yii::getPathOfAlias('webroot').str_replace( '/',DIRECTORY_SEPARATOR, Yii::app()- params- uploadPath); return Yii::app()- getAssetmanager() - getPublishedPath($dir).DIRECTORY_SEPARATOR.'upload'; public static function getUploadUrl(){ $dir = dirname(__FILE__).DIRECTORY_SEPARATOR.'keSource'; if(isset(Yii::app()- params- uploadPath)){ return Yii::app()- baseUrl.Yii::app()- params- uploadPath; return Yii::app()- getAssetManager()- publish($dir).'/upload'; public function init(){ if($this- name===null) throw new CException(Yii::t('zii','The id property cannot be empty.')); $dir = dirname(__FILE__).DIRECTORY_SEPARATOR.'keSource'; $this- baseUrl=Yii::app()- getAssetManager()- publish($dir); $cs=Yii::app()- getClientScript(); $cs- registerCssFile($this- baseUrl.'/themes/default/default.css'); if(YII_DEBUG) $cs- registerScriptFile($this- baseUrl.'/kindeditor.js'); else $cs- registerScriptFile($this- baseUrl.'/kindeditor-min.js'); public function run(){ $cs=Yii::app()- getClientScript(); $textAreaOptions=$this- gettextareaOptions(); $textAreaOptions['name']=CHtml::resolveName($this- model,$this- name); $this- id=$textAreaOptions['id']=CHtml::getIdByName($textAreaOptions['name']); echo CHtml::activeTextArea($this- model,$this- name,$textAreaOptions); $properties_string = CJavaScript::encode($this- getKeProperties()); $js= EOFKindEditor.ready(function(K) { var editor_$this- id = K.create('#$this- id',$properties_string $cs- registerScript('KE'.$this- name,$js,CClientScript::POS_HEAD); public function gettextareaOptions(){ //允許獲取的屬性 $allowParams=array('rows','cols','style'); //準備返回的屬性數組 $params=array(); foreach($allowParams as $key){ if(isset($this- textareaOptions[$key])) $params[$key]=$this- textareaOptions[$key]; $params['name']=$params['id']=$this- name; return $params; public function getKeProperties(){ $properties_key=array( 'width', 'height', 'minWidth', 'minHeight', 'items', 'noDisableItems', 'filterMode', 'htmlTags', 'wellFormatMode', 'resizeType', 'themeType', 'langType', 'designMode', 'fullscreenMode', 'basePath', 'themesPath', 'pluginsPath', 'langPath', 'minChangeSize', 'urlType', 'newlineTag', 'pasteType', 'dialogAlignType', 'shadowMode', 'useContextmenu', 'syncType', 'indentChar', 'cssPath', 'cssData', 'bodyClass', 'colorTable', 'afterCreate', 'afterChange', 'afterTab', 'afterFocus', 'afterBlur', 'afterUpload', 'uploadJson', 'fileManagerJson', 'allowPreviewEmoticons', 'allowImageUpload', 'allowFlashUpload', 'allowMediaUpload', 'allowFileUpload', 'allowFileManager', 'fontSizeTable', 'imageTabIndex', 'formatUploadUrl', 'fullscreenShortcut', 'extraFileUploadParams', //準備返回的屬性數組 $params=array(); foreach($properties_key as $key){ if(isset($this- properties[$key])) $params[$key]=$this- properties[$key]; return $params;KEditorManage代碼class KEditorManage extends CAction{ public function run(){ Yii::import('ext.KEditor.KEditor'); $root_path=KEditor::getUploadPath().'/'; $root_url=KEditor::getUploadUrl().'/'; //圖片擴展名 $ext_arr = array('gif', 'jpg', 'jpeg', 'png', 'bmp'); //目錄名 $dir_name = empty($_GET['dir']) '' : trim($_GET['dir']); if (!in_array($dir_name, array('', 'image', 'flash', 'media', 'file'))) { echo "Invalid Directory name."; exit; if ($dir_name !== '') { $root_path .= $dir_name . "/"; $root_url .= $dir_name . "/"; if (!file_exists($root_path)) { mkdir($root_path); //根據path參數,設置各路徑和URL if (empty($_GET['path'])) { $current_path = realpath($root_path) . '/'; $current_url = $root_url; $current_dir_path = ''; $moveup_dir_path = ''; } else { $current_path = realpath($root_path) . '/' . $_GET['path']; $current_url = $root_url . $_GET['path']; $current_dir_path = $_GET['path']; $moveup_dir_path = preg_replace('/(.* )[^//]+//$/', '$1', $current_dir_path); echo realpath($root_path); //排序形式,name or size or type $order = empty($_GET['order']) 'name' : strtolower($_GET['order']); //不允許使用..移動到上一級目錄 if (preg_match('//././', $current_path)) { echo 'Access is not allowed.'; exit; //最后一個字符不是/ if (!preg_match('///$/', $current_path)) { echo 'Parameter is not valid.'; exit; //目錄不存在或不是目錄 if (!file_exists($current_path) || !is_dir($current_path)) { echo 'Directory does not exist.'; exit; //遍歷目錄取得文件信息 $file_list = array(); $handle = new DirectoryIterator($current_path); $i=0; foreach($handle as $file){ if($file- isDot()) continue; if($file- isDir()){ $file_list[$i]['is_dir'] = true; //是否文件夾 $file_list[$i]['has_file'] = (count(scandir($file- getPath())) //文件夾是否包含文件 $file_list[$i]['filesize'] = 0; //文件大小 $file_list[$i]['is_photo'] = false; //是否圖片 $file_list[$i]['filetype'] = ''; //文件類別,用擴展名判斷 }else{ $file_list[$i]['is_dir'] = false; $file_list[$i]['has_file'] = false; $file_list[$i]['filesize'] = $file- getSize(); $file_list[$i]['dir_path'] = ''; $file_ext = $file- getExtension(); $file_list[$i]['is_photo'] = in_array($file_ext, $ext_arr); $file_list[$i]['filetype'] = $file_ext; $file_list[$i]['filename'] = $file- getFilename(); //文件名,包含擴展名 $file_list[$i]['datetime'] = date('Y-m-d H:i:s', $file- getMTime()); $i++; usort($file_list, array($this,'cmp_func')); $result = array(); //相對于根目錄的上一級目錄 $result['moveup_dir_path'] = $moveup_dir_path; //相對于根目錄的當前目錄 $result['current_dir_path'] = $current_dir_path; //當前目錄的URL $result['current_url'] = $current_url; //文件數 $result['total_count'] = count($file_list); //文件列表數組 $result['file_list'] = $file_list; //輸出JSON字符串 header('Content-type: application/json; charset=UTF-8'); echo CJSON::encode($result); exit; //排序 public function cmp_func($a, $b) { global $order; if ($a['is_dir'] && !$b['is_dir']) { return -1; } else if (!$a['is_dir'] && $b['is_dir']) { return 1; } else { if ($order == 'size') { if ($a['filesize'] $b['filesize']) { return 1; } else if ($a['filesize'] $b['filesize']) { return -1; } else { return 0; } else if ($order == 'type') { return strcmp($a['filetype'], $b['filetype']); } else { return strcmp($a['filename'], $b['filename']);

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品日韩在线| 亚洲人成亚洲人成在线观看| 国产精品亚洲一区二区三区| 91国产精品电影| 亚洲天堂av在线免费| 日韩高清免费观看| 国产有码在线一区二区视频| 一区二区三区视频在线| 久久99久久99精品免观看粉嫩| 成人黄色午夜影院| 国产日韩av高清| 成人激情在线观看| 久久久免费在线观看| 日韩免费观看av| 欧美日韩精品二区| 9.1国产丝袜在线观看| 这里只有精品在线观看| 国产精品美女久久久久久免费| 亚洲黄色www网站| 成人黄色片网站| 国产精品狠色婷| 福利微拍一区二区| 久久97精品久久久久久久不卡| 日韩欧美在线观看视频| 亚洲成avwww人| 国产欧美最新羞羞视频在线观看| 北条麻妃一区二区三区中文字幕| 亚洲第一区第二区| 波霸ol色综合久久| 影音先锋欧美在线资源| 欧美自拍视频在线| 国产成人极品视频| 日韩在线小视频| 国产v综合v亚洲欧美久久| 日韩激情av在线播放| 九九久久综合网站| 欧美国产日韩二区| 国产va免费精品高清在线| 欧美精品少妇videofree| 国产精品入口尤物| 亚洲国产欧美日韩精品| 成人免费高清完整版在线观看| 亚洲欧美日韩精品久久亚洲区| 国产亚洲aⅴaaaaaa毛片| 日韩成人av网址| 亚洲高清免费观看高清完整版| 国产成人精品视| 亚洲欧美一区二区三区久久| 欧美高跟鞋交xxxxxhd| 久久久999国产| 国产suv精品一区二区三区88区| 国产精品成人一区二区| 奇米成人av国产一区二区三区| 亚洲自拍另类欧美丝袜| 国产精品久久久久久久久免费| 国产精品久久久久久超碰| 欧美国产高跟鞋裸体秀xxxhd| 日韩有码在线视频| 国产在线久久久| 国产精品av在线| 亚洲精品永久免费精品| 久久久久中文字幕2018| 555www成人网| 午夜精品久久久久久久白皮肤| 亚洲欧美国产日韩中文字幕| 亚洲综合日韩在线| 亚洲欧美中文在线视频| 亚洲男人的天堂在线| 国产精品国语对白| 亚洲精美色品网站| 欧美成人网在线| 日韩在线视频线视频免费网站| 亚洲国产女人aaa毛片在线| 亚洲精品美女久久久久| 97免费视频在线播放| 91免费人成网站在线观看18| 久久精品亚洲94久久精品| 91九色在线视频| 自拍偷拍亚洲欧美| 97精品伊人久久久大香线蕉| 成人免费自拍视频| 久久精品成人欧美大片古装| 亚洲成人久久电影| 久久精品国产91精品亚洲| 国产一区二区三区网站| 国产精品十八以下禁看| 中文字幕日本欧美| 久久伊人精品一区二区三区| 久久中文字幕视频| 91久久精品美女| 日韩亚洲综合在线| 欧美在线视频观看| 欧美裸体xxxx极品少妇| 国自产精品手机在线观看视频| 亚洲欧美成人网| 欧美黑人又粗大| 日韩美女视频免费看| 日韩电影免费在线观看中文字幕| 国产精品嫩草影院一区二区| 亚洲综合在线小说| 精品久久久久久亚洲精品| 久久久久五月天| 在线中文字幕日韩| 亚洲欧美在线看| 日韩电影中文字幕| 久久高清视频免费| 91精品免费看| 色综合久久久888| 在线视频中文亚洲| 姬川优奈aav一区二区| 久久琪琪电影院| 欧美日韩久久久久| 国产精品一久久香蕉国产线看观看| 国产日韩欧美在线观看| 欧美日韩爱爱视频| 欧美日韩中文字幕在线| 欧美性猛交视频| 在线播放精品一区二区三区| 国产亚洲精品日韩| 1769国内精品视频在线播放| 欧美日韩免费一区| 欧美另类在线播放| 国产精品大片wwwwww| 精品中文字幕在线2019| 色悠久久久久综合先锋影音下载| 亚洲欧美国产日韩中文字幕| 国产成人自拍视频在线观看| 久久久久久噜噜噜久久久精品| 自拍偷拍亚洲在线| 成人免费看吃奶视频网站| 麻豆国产va免费精品高清在线| 亚洲日本欧美中文幕| 91久久久久久久久久| 国产91精品黑色丝袜高跟鞋| 91精品久久久久久久久久| 亚洲自拍偷拍色图| 日韩精品在线免费观看| 中文字幕国产亚洲2019| 成人黄色片在线| 久久香蕉国产线看观看av| 国产成人在线精品| 久久成人18免费网站| 国产香蕉97碰碰久久人人| 日韩欧美在线一区| 日本久久精品视频| 成人欧美一区二区三区在线湿哒哒| 欧美亚洲视频在线观看| 91精品啪aⅴ在线观看国产| 欧美华人在线视频| 成人免费xxxxx在线观看| 亚洲在线观看视频| 69av成年福利视频| 欧美午夜女人视频在线| 一区二区三区四区精品| 欧美中文在线字幕| 高跟丝袜一区二区三区| 欧美乱人伦中文字幕在线| 亚洲国产黄色片| 日韩电影免费在线观看中文字幕| 国产999精品视频| 成人免费视频在线观看超级碰| 91av免费观看91av精品在线| 精品久久久国产| 国产99视频在线观看|