# 更新日志
[TOC=2,3]
## 5.0.190419
* 優化動態配置函數
* 優化門戶幾處where用法
* 優化門戶后臺表單提交方式
* 優化后臺菜單url生成
* 優化api跨域處理
* 修復模板設計公共配置文件有數組時報錯
* 修復模板設計公共配置文件里數組列表有數據不顯示
## 5.0.190312
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本
* 增加`app,api和插件`composer第三方庫支持
* 增加插件`@adminMenuRoot`注解
* 增加后臺模板動態設置
* 增加`WEB_ROOT`常量
* 優化url美化可能引起的安全漏洞(漏洞編號CVE-2019-6713 感謝topsec(zhan_ran)的及時反饋)
* 修復api跨域問題
* 修復子導航標簽報錯
* 計劃刪除`PLUGINS_PATH`常量,請不要再使用
* 刪除`phpoffice/phpspreadsheet`,`phpoffice/phpexcel`,`dompdf/dompdf`第三方庫,請自行安裝
* 移動`qiniu/php-sdk`庫到七牛插件
## 5.0.190111
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本
* 升級ThinkPHP到`5.0.24`(包含安全更新)
* 增加后臺模板按文件列表設計
* 修復url無法美化
* 修復頁面數據源報錯
*
## 5.0.181231
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本
* 規范所有`5.0`代碼方便升級到`5.1`
* 規范控制器`_initialize`方法為`initialize`
* 調整`cmf_theme_path,cmf_default_theme,cmf_admin_theme_path,cmf_admin_default_theme`到 `template` 配置下
* `hook,hook_one`方法取消`$extra`參數
* 增加數據庫調試模式開關
* 增加模板設計關閉功能
* 優化七牛下載文件名為上傳文件名
* 優化清除緩存,清除opcache緩存
* 修復七牛獲取水印樣式報錯
* 修復模板設計后,前臺 js 報錯
## 5.0.181212
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本(包含安全更新)
* 升級ThinkPHP到`5.0.23`(包含安全更新)
* 增加`js-bootstrap-year`前端組件
* 增加文件大小格式化函數`cmf_file_size_format`
* 修復網站在二級目錄下無法設計模板問題
* 修復模板設計公共模板設置數組無法編輯問題
* 修復模板設計公共組件數組無法編輯問題
* 修復門戶模板`page.html`報錯
* 優化圖片驗證碼生成
* 優化`Rest API`跨域問題處理
## 5.0.180901
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本
* 增強模板設計,提供可視化模板設計
* 增加模板設計界面鉤子
* 增加驗證碼圖片鉤子
* 增加后臺設置網站信息界面鉤子
* 增加后臺清除緩存界面鉤子
* 增加后臺導航管理界面鉤子
* 增加后臺友情鏈接管理界面鉤子
* 增加后臺幻燈片管理界面鉤子
* 增加后臺幻燈片頁面列表界面鉤子
* 增加后臺幻燈片頁面添加界面鉤子
* 增加后臺幻燈片頁面編輯界面鉤子
* 增加后臺管理員列表界面鉤子
* 增加后臺管理員添加界面鉤子
* 增加后臺管理員編輯界面鉤子
* 增加后臺角色管理界面鉤子
* 增加后臺角色添加界面鉤子
* 增加后臺角色編輯界面鉤子
* 增加后臺角色授權界面鉤子
* 增加用戶管理本站用戶列表界面鉤子
* 增加資源管理列表界面鉤子
* 增加用戶管理第三方用戶列表界面鉤子
* 增加后臺首頁界面鉤子
* 增加后臺回收站界面鉤子
* 增加后臺菜單管理界面鉤子
* 增加后臺自定義登錄是否開啟鉤子
* 增加admin.js`js-ajax-btn`組件
* 優化插件加載
* 優化前后臺上傳js
[門戶應用]
* 增加文章音頻,視頻功能
* 增加門戶后臺文章管理列表界面鉤子
* 增加門戶后臺文章添加界面鉤子
* 增加門戶后臺文章編輯界面鉤子
* 增加門戶后臺文章分類管理列表界面鉤子
* 增加門戶后臺文章分類添加界面鉤子
* 增加門戶后臺文章分類編輯界面鉤子
* 增加門戶后臺頁面管理列表界面鉤子
* 增加門戶后臺頁面添加界面鉤子
* 增加門戶后臺頁面編輯界面鉤子
* 增加門戶后臺文章標簽管理列表界面鉤子
* 增加門戶后臺文章添加編輯界面右側欄鉤子
* 增加門戶后臺文章添加編輯界面主要內容鉤子
* 增加后臺文章分類顯示隱藏功能
* 增加后臺文章分類列表搜索功能
* 增加后臺文章分類列表層級折疊功能
## 5.0.180626
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本
* 升級TP到`5.0.20`
* 增加插件REST api基類`PluginRestBaseController` [查看文檔](http://www.hmoore.net/thinkcmf/doc/666185)
* 增加我的喜歡功能
* 增加手機相關設備類型判斷函數 [查看文檔](http://www.hmoore.net/thinkcmf/doc/669218)
* 優化百度編輯器視頻上傳
* 優化get_client_ip()方法,默認使用高級模式
* 優化手機號檢查支持國際手機號
* 優化圖片和文件鏈接轉化函數
* Restful api基類增加apiVersion屬性
* 修復郵箱驗證碼發送失敗
* 七牛插件增加東南亞節點
* 前臺模板文件解析標準化
[門戶應用]
* 增加文章`thumbnail`字段
* 增加文章收藏數功能
## 5.0.180525
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本
* 修復ajax請求普通頁面時返回格式為json
* 優化圖片鏈接生成
* 修復插件模板常量地址問題
* 修復后臺用戶注冊驗證開關錯誤 #481
* 增加后臺刷新后保持當前頁面的功能 #475
* 取消用戶名注冊和綁定功能
* 優化無限滾動jquery插件
## 5.0.180508
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本
* 修復用戶注冊問題
* 優化緩存清理,防止刪除日志文件
## 5.0.180501
>[warning] 所有ThinkCMF5用戶都推薦升級到此版本,包含安全性升級
[核心]
* 升級TP到5.0.19,增強安全性
* 修復模板設計數組編輯驗證規則不生效 #440
* 修復后臺登錄失效后iframe里加載首頁
* 修復七牛插件上傳云存儲文件沒有后綴名問題#437
* 修復刪除評論時的錯誤文案提示 #443
* 修復ueditor漏洞#431
* 修復PHP7.2下后臺清除報錯
* 修復前臺賬號綁定無法獲取mobile、email驗證碼 #418
* 修復百度編輯器大附件上傳問題
* 修復百度編輯器大視頻文件上傳問題
* 升級font awesome到4.7.0
[門戶應用]
* 修復文章分類修改層級后子分類層級不更新問題
* 優化 portal:articles 標簽field,order 屬性支持 php 變量
* 修復文章分類別名設置為純數字,路由生成錯誤,無法訪問。 #438
* 增加頁面相冊和附件功能 #449
## 5.0.180123
> 建議所有用戶都升級到此版本
[核心]
* 增加小程序管理插件
* 增加插件后臺首頁左側菜單顯示 [查看文檔](http://www.hmoore.net/thinkcmf/doc/510038)
* 增加 themes 根命名空間
* 增加模板設計圖片模板變量取消功能
* 增加插件自定義處理配置功能 [查看文檔](http://www.hmoore.net/thinkcmf/doc/266544)
* 增加插件后臺權限管理功能
* 增加后臺模板切換
* 增加直傳云存儲功能
* 增強導航和子導航標簽,自定義更隨意
* 增加before_content,fetch_upload_view,log_write_done,switch_admin_theme鉤子 [查看文檔](http://www.hmoore.net/thinkcmf/doc/480352)
* 增加PluginAdminBaseController基類 [查看文檔](http://www.hmoore.net/thinkcmf/doc/266548)
* 增加系統鉤子同步
* 增加插件中可使用$site_info變量
* 增加 xml 生成函數
* 增加插件設置上傳文件組件
* 優化數字驗證碼日志寫入增加過期時間配置
* 優化數字驗證碼邏輯,增加數字驗證碼發送圖片驗證碼,【升級時注意界面邏輯】
* 優化驗證碼生成功能,可增加驗證碼插件管理驗證碼生成
* 優化鉤子插件管理
* 優化插件注冊機制
* 優化后臺首頁菜單加載
* 修復模板管理變量數據為array時刪除出錯 #392
* 修復后臺管理搜索翻頁時條件丟失問題 #366
* 修復刪除第三方用戶時報錯 #368
* 修復在使用cdn加速js時后臺文章編輯器時無法加載編輯器配置
* 修復模板設計模板變量file類型不支持上傳 #136
* 修復用戶行為周期設置無效 #382
* 修復個人信息編輯簽名驗證問題
* 修復用戶生日早于1970年報錯
* 修復地址坐標選擇搜索后無法確定坐標問題
* 優化IE8,9下的兼容問題
* 優化前臺未登錄時跳轉方式
[安裝程序]
* 增加安裝時管理員密碼長度限制 #334
* 增加安裝時檢查 rewrite設置
* 增加安裝時 innodb 檢測
* 更正PHP版本要求
[門戶應用]
* 優化portal:articles標簽可在模板里設置分頁參數和樣式 [查看文檔](http://www.hmoore.net/thinkcmf/doc/289814)
* 優化portal:articles標簽所有屬性都支持PHP變量 [查看文檔](http://www.hmoore.net/thinkcmf/doc/289814)
* 優化標簽控制器支持標簽名 [查看文檔](http://www.hmoore.net/thinkcmf/doc/266567#_97)
* 增加portal:tagArticles標簽 [查看文檔](http://www.hmoore.net/thinkcmf/doc/510039)
* 取消文章列表用戶關聯查詢
* 修復文章多分類進文章列表文章重復問題
**文檔已經同步到5.0.180123版本,請大家仔細閱讀**
## 5.0.170927
[核心]
* 增加是否開放注冊設置
* 增加已經安裝模板文件檢測是否已經刪除功能
* 增加模板卸載風險提示
* 增加鉤子同步功能
* 增加用戶操作同步功能 #291
* 增加網站信息【$site_info】變量,可以在插件中使用 #310
* 修復添加管理員不能登錄 #110
* 優化 admin.js
* 優化后臺模板設計排版
* 優化后臺加密碼設置
* 返回按鈕統一優化
* 優化 url 美化時規劃選擇
* 修復`api`模塊缺少函數報錯
* 修復回收站還原提示錯誤 #111
* 修復原始網址和顯示網址同時有參數的情況下,兩個參數值相同的時候不能解析URL
* 修復模板設計數組編輯功能缺失
* 修復后臺登錄在雙核瀏覽器下會使用 IE 內核問題#168
* 修復模板widget只有數組時,后臺設計保存時報錯
* 修復日期選擇在windows firefox下報錯
* 修復模板設計數據源頁面清空鏈接錯誤
* 修復后臺模板設計,json文件中的數組數據,不能正常顯示 #222
* 修復`cmf\lib\Auth\check`方法邏輯問題 #252
* 修復后臺用戶登錄自動退出后iframe頁跳轉到首頁的問題
* 修復用戶個人資料修改問題
* 修復綁定手機號和綁定郵箱號惟一性提示信息錯
[安裝程序]
* 更改安裝時數據庫默認為127.0.0.1
* 優化安裝時鏈接生成
[門戶應用]
* 增加前臺文章控制器默認分類指定
* 增加后臺文章列表所在分類列
* 增加后臺文章分類必須指定分類驗證
* 增加 portal:articles 標簽 limit可以設置變量
* 增加模板設計頁面數據源
* 完善 ApiService獲取指定分類下的所有子分類方法
* 增加portal:categories,portal:subCategories,portal:allSubCategories標簽
* 增加文章、頁面、分類模板選擇時模板文件名稱查看
* 增加文章保存鉤子
* 優化指定分類下所有子分類獲取方法
* 修復文章分類管理中不保存選擇的模板 #107
* 修復面包屑標簽 self屬性無法識別 false
* 修復后臺編輯文件會覆蓋原作者ID #175
* 修復后臺文章保存后排序變化問題
* 修復添加文章分類時 path 沒數據問題
## 5.0.170607
[核心]
* 刪除 app/common.php
* 規范 admin.js frontend.js函數名
* 更改后臺模板設計的模板文件列表排序規則為從小到大排序
* 增加模板切換鉤子,方便開發者實現復雜的模板切換功能
* 增加插件作者和演示信息
* 增加數字驗證碼模板編輯功能
* 增加模板變量編輯控件color
* 增加插件配置組件時間,圖片,地理位置,顏色
* 優化模板配置更新
* 優化文件上傳,檢查已經上傳文件是否存在,不存在重新上傳
* 修復插件增加新配置時報錯
* 修復模板變量 rule 規則存在,但沒有規則時模板設計保存會報錯
* 修復后臺清除緩存后url生成不美化
* 修復模板設計一個頁面有多個數組編輯問題
* 修復cdn設置不生效
* 修復后臺菜單添加子菜單不選擇上級問題
* 修復后臺可能多個滾動條
* 修復后臺添加、編輯角色一處文字錯誤
* 修復插件更新時不更新新增的鉤子
[門戶應用]
* 完善前臺模板鉤子
* 完善文章標簽功能
* 增加前臺模板手機注冊關閉開關
* 優化文章后臺文章分類鏈接生成
* 修復ff下文章相冊圖片替換和刪除問題
* 修復文章分類排序功能
## 5.0.170520
[核心]
* 完善插件后臺管理
* 后臺登錄插件化
* 后臺首頁插件化
* 文件存儲插件化
* 增加 URL 美化功能
* 增加后臺加密碼功能
* 增加用戶修改頭像
* 增加插件設置表單驗證
* 增加前臺后臺通用語言包
* 增加編輯器里上傳文件鏈接替換
* 增加應用 command.php 配置文件
* 增加后臺管理員添加編輯用戶名,郵箱惟一性驗證
* 優化安裝程序
* 優化上傳文件
* 優化后臺首頁
* 優化回收站
* 優化插件啟用禁用
* 優化小屏下后臺首頁不兼容問題
* 優化后臺圖片查看
* 修復后臺菜單編輯不生效
* 修復幻燈片添加不顯示問題
* 修復導航數據源數據返回為空時報錯
* 修復 pathinfo 模式下后臺本站用戶默認頭像不顯示問題
* 修復后臺 cdn 不能設置
* 合并asset應用到 user
[門戶應用]
* 增加文章收藏功能
* 增加文章點贊限制,一個用戶只能點贊一次
* 增加文章分類縮略圖
* 優化文章分類管理刪除
* 優化文章頁和頁面頁內容圖片樣式問題
* 修復文章添加編輯默認圖片錯誤
* 修復分類下沒有文章時報錯
* 修復頁面模板設置無效
* 修復頁面刪除后仍可以訪問
## 5.0.170505
[核心]
* 完善用戶注冊流程
* 完善插件功能
* 增加手機驗證碼發送鉤子
* 增加手機驗證碼發送演示插件
* 增加用戶郵箱綁定
* 增加用戶手機綁定
* 增加常用模板鉤子
* 增加模板設計圖片上傳
* 增加用戶密碼修改
* 增加用戶收藏功能
* 增加導航標簽,子導航標簽增加 `max-level` 設置
* 修復郵箱驗證碼發送
* 修復windows下獲取模板數據時模板文件路徑問題
* 修復單文件,多文件上傳
* 修復后臺首頁用戶昵稱一直顯示admin
* 修復 `navigation`,`subNavigation` 標簽兩個以上不能同時使用問題
* 修復 console 模式報錯
* 取消前臺有錯誤時界面刷新
[門戶應用]
* 增加文章附件功能
* 優化文章相冊
## 5.0.170422
[核心]
* 完善幻燈片
* 完善后臺控制器方法注釋
* 增加調試模式下實時更新模板配置
* 增加友情鏈接圖片上傳
* 增加應用公共語言包功能
* 增加資源管理
* 增加模板設計數據源層級關系
* 更新jQuery Form版本
* 增加后臺菜單類型是否有界面區分
* 增加權限驗證時權限規則里沒有的規則不用驗證
* 增加前臺網站信息獲取
* 優化后臺菜單導入
* 統一排序規則,按從小到大排序
* 修復后臺模板管理點更新提示卸載
* 修復標簽`NavigationMenu`
* 修復菜單導入時未添加權限規則
* 修復`navigationFolder`設置多個子菜單后會多循環數據
* 修復部分代碼php5.4下不兼容
* 修復后臺菜單不能添加編輯
[門戶應用]
* 完全獨立門戶應用
* 完善后臺頁面管理
* 完善面包屑標簽`breadcrumb`
* 完善文章分類管理
* 完善文章管理
* 修復文章分類`path`更新
* 優化文章列表標簽`articles`
* 優化后臺文章分類選擇
* 增加前臺文章點贊功能
* 增加前臺文章搜索功能
* 增加文章列表分頁總數獲取
## 5.0.170401
* 完善文件上傳
* 增加回收站功能
* 完善友情鏈接
* 優化網站設置
* 增加后臺登陸驗證碼
* 修復后臺用戶密碼修改
* 修復用戶管理-本站用戶頭像不顯示
* 完善前臺用戶登錄注冊
* 增加后臺菜單導入
* 修復后臺菜單列表排序
* 完善導航
* 增加插件鉤子管理
* 完善前臺模板
- 序言
- 基礎
- 主要特性
- 安裝ThinkCMF
- 為了更爽
- 目錄結構
- 入口文件
- 第三方庫
- 開發規范
- 數據庫規范
- 調試模式
- URL訪問
- 應用
- 配置
- 路由
- 控制器
- 控制器定義
- 控制器模板賦值
- 控制器模板渲染
- 前臺控制器
- 前臺用戶控制器
- 后臺控制器
- 跳轉,AJAX返回和重定向
- URL生成
- 請求
- 請求信息
- 輸入變量
- 請求類型
- 獲取請求頭信息
- 偽靜態
- 更多
- 系統函數
- cmf_auth_check 用戶權限檢查
- cmf_check_user_action 用戶訪問控制
- cmf_check_verification_code 數字驗證碼檢查
- cmf_clear_verification_code 清除數字驗證碼
- cmf_compare_password 用戶密碼比較
- cmf_current_lang 判斷當前語言包
- cmf_get_admin_style 獲取后臺風格
- cmf_get_content_images 獲取HTML圖片
- cmf_get_current_admin_id 登錄管理員ID
- cmf_get_current_user 獲取登錄用戶信息
- cmf_get_current_user_id 登錄用戶ID
- cmf_get_file_download_url 獲取文件下載鏈接
- cmf_get_file_extension 獲取文件擴展名
- cmf_get_image_url 獲取圖片 URL
- cmf_get_option 獲取系統配置
- cmf_get_plugin_class 獲取插件類名
- cmf_get_root 網站根目錄
- cmf_get_site_info 獲取網站信息
- cmf_get_user_avatar_url 獲取用戶頭像URL
- cmf_get_verification_code 生成數字驗證碼
- cmf_is_mobile 判斷是否為手機
- cmf_is_user_login 判斷用戶是否登錄
- cmf_is_wechat 判斷是否為微信
- cmf_password 密碼加密
- cmf_plugin_url 插件URL生成
- cmf_replace_content_file_url 替換編輯器文件地址
- cmf_send_email 發送郵件
- cmf_set_dynamic_config 設置動態配置
- cmf_set_option 設置系統配置
- cmf_split_sql 切分SQL文件
- cmf_update_current_user 更新當前用戶信息
- cmf_url_encode 生成base64的url
- cmf_verification_code_log 驗證碼發送日志
- get_client_ip 獲取客戶端IP地址
- hook 添加鉤子
- cmf_check_mobile 檢查手機號
- cmf_is_android 判斷是否為安卓手機
- cmf_is_ios 判斷是否為ios訪問
- cmf_is_iphone 判斷是否為iphone訪問
- cmf_is_ipad 判斷是否為ipad訪問
- 數據庫
- 數據庫配置
- 添加數據
- 更新數據
- 查詢數據
- 刪除數據
- 事務操作
- 更多數據庫操作
- 模型
- 模型定義
- 添加數據
- 更新數據
- 查詢數據
- 刪除數據
- 數據驗證
- 應用
- 應用的概念
- 應用開發流程
- 導航共享
- 幾個重要基類
- 后臺菜單注解
- 用戶操作配置
- URL 規則配置
- 模板
- 模板常量
- 模板標簽
- 變量輸出
- 系統變量
- 請求參數
- 使用函數
- 使用默認值
- 使用運算符
- 三元運算
- 原樣輸出
- 模板注釋
- 模板目錄
- 包含文件
- 模板布局
- 模板繼承
- 網站信息
- 內置標簽
- 循環輸出標簽
- 比較標簽
- 條件判斷
- 標簽嵌套
- 原生PHP
- 定義標簽
- CMF標簽
- 導航標簽
- 子導航標簽
- 驗證碼標簽
- 幻燈片標簽
- 鉤子標簽
- 友情鏈接標簽
- 分頁標簽
- 傻瓜式模板
- 什么是傻瓜式模板
- 模板描述文件
- 模板文件配置
- 模板變量類型
- 模板變量數據源
- 導航模板數據源
- 導航菜單模板數據源
- 幻燈片模板數據源
- 模板切換
- 插件
- 插件鉤子
- 前臺模板鉤子
- 核心鉤子
- send_mobile_verification_code
- comment
- guestbook
- admin_dashboard
- switch_theme
- admin_login
- admin_init
- home_init
- 插件類主文件
- 插件開發流程
- 插件配置
- 插件控制器
- 插件后臺管理控制器
- 插件后臺菜單
- 插件視圖
- 插件數據庫模型
- 插件多語言
- 插件API控制器
- 前端
- Wind.js
- 前端組件
- js-ajax-form
- js-ajax-delete
- js-ajax-dialog-btn
- js-count-btn
- js-date
- js-datetime
- js-bootstrap-date
- js-bootstrap-datetime
- 專題
- 緩存
- Session
- Cookie
- 分頁
- 驗證碼
- 文件上傳
- 第三方擴展
- 門戶應用
- 模板目錄結構
- 模板開發
- 模板標簽
- 加載標簽庫
- 文章列表標簽
- 面包屑標簽
- 文章分類標簽
- 所有子分類標簽
- 子分類標簽
- 標簽文章列表標簽
- 門戶模板數據源
- 文章分類模板數據源
- 頁面模板數據源
- 附錄
- 升級日志
- 升級指導