国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

laravel5.1 -- Integrate FileManager and CKeditor i

VPointer / 739人閱讀

摘要:中文名叫文件管理器,也叫文件瀏覽器,它給我們提供了一個可視化的界面來管理文件和文件夾。利用,我們可以對文件進(jìn)行瀏覽增加打印修改文件屬性重命名搜索等等一大堆非常有用的操作。相信朋友們都非常熟悉了,它是一種富文本編輯器,不再贅述。

FileManager中文名叫文件管理器,也叫文件瀏覽器,它給我們提供了一個可視化的界面來管理文件和文件夾。利用FileManager,我們可以對文件進(jìn)行瀏覽、增加、打印、修改(文件屬性)、重命名、搜索等等一大堆非常有用的操作。
CKeditor相信朋友們都非常熟悉了,它是一種富文本編輯器,不再贅述。
現(xiàn)在我們來演示如何將FileManagerCKeditor整合到laravel中去。

Install FileManager Require filemanater

filemanager加入到composer.json中我們用bestmomo/filemanager

require : {
        "laravel/framework": "5.2.*",
        "bestmomo/filemanager": "1.1.*"
    }
Update Composer
$ composer update

更新完成后,將service provider加入到config/app.php

 /**
 * App/Config/App.php
 */

BestmomoFilemanagerFilemanagerServiceProvider::class,
發(fā)布
$ php artisan vendor:publish --provider="BestmomoFilemanagerFilemanagerServiceProvider"
User模型中添加2個權(quán)限方法
/**
* App/Http/Models/User.php
*/

    /**
    * Check media all access
    *
    * @return bool
    */
    public function accessMediasAll(){
    
        return $this->role->slug == "admin";
    }

    /**
     * Check media access one folder
     *
     * @return bool
     */
    public function accessMediasFolder()
    {
        return $this->role->slug != "user";
    }
添加路由與方法

模型配置完了,就需要添加路由和控制器的方法了

路由
// route.php

Route::get("medias", ["as"=>"medias", "uses"=>"AdminAdminController@filemanager"]);
配置文件

新建配置文件medias.php來配置引入的filemanager目錄

// Config/medias.php

 "filemanager/index.html",
    "url-files" =>"/public/filemanager/userfiles/"

];
方法

在控制器AdminController中我們添加filemanager方法

    /**
    * Show the media panel
    *
    * @return Response
    */
    public function filemanager(){
        $url = config("medias.url") . "?langCode=" . config("app.locale");

        return view("backend.filemanager")->with(compact("url"));
    }
filemanager.blade.php模板
@extends("backend.layout.master")

@section("head")

    

@stop

@section("main")

    @include("backend.partials.entete", ["heading" => trans("backend/medias.dashboard"), "operation"=>"", "symbol" => "file-image-o", "superior" => trans("backend/medias.medias")])

    
@stop

到了這里,整個FileManager就整合到了laravel中,但我在實際運行中,報了一個小錯誤:
call_user_func_array() expects parameter 1 to be a valid callback, class "KbwebsMultiAuthGuard" does not have a method "accessMediasAll"
說是"KbwebsMultiAuthGuard"沒有accessMediasAll方法。
原因是我在laravel5.1中做了多用戶驗證功能,安裝了"KbwebsMultiAuthGuard"插件,所以在所有要獲取User模型的時候都要加上一個user(), 比如 Auth::user->user(), auth()->user()->user()

解決方法:

找到有accessMediaAllaccessMediasFolder的文件/filemanager/connectors/php/default.config.php


 *  @copyright  Authors
 */

// Laravel init
require getcwd() . "/../../../../bootstrap/autoload.php";
$app = require_once getcwd() . "/../../../../bootstrap/app.php";

$kernel = $app->make("IlluminateContractsHttpKernel");

$response = $kernel->handle(
  $request = IlluminateHttpRequest::capture()
);

$id = $app["encrypter"]->decrypt($_COOKIE[$app["config"]["session.cookie"]]);
$app["session"]->driver()->setId($id);
$app["session"]->driver()->start();

// Folder path
$folderPath = config("filemanager.folder_path");   

// Check if user in authentified
if(!$app["auth"]->check()) 
{
  $laravelAuth = false;
} 
else 
{ //print_r($app["auth"]->user()->user()->accessMediasAll());exit;
  // Check if user has all access
  if($app["auth"]->user()->accessMediasAll())
  {
    $laravelAuth = true; 
  } 
  elseif(method_exists($app["auth"]->user(), "accessMediasFolder"))
  {  
    // Check if user has access to one folder
    if($app["auth"]->user()->accessMediasFolder())
    { 
      // Folder name with user id
      $folderPath .= "user" . $app["auth"]->id();
      $laravelAuth = true;  
    } 
    else
    {
      $laravelAuth = false;
    }    
  }
  else
  {
    $laravelAuth = false;
  } 
}

分別將
$app["auth"]->user()->accessMediasAll()
$app["auth"]->user()
$app["auth"]->user()->accessMediasFolder()
$app["auth"]->id()
改為
$app["auth"]->user()->user()->accessMediasAll()
$app["auth"]->user()->user()
$app["auth"]->user()->user()->accessMediasFolder()
$app["auth"]->user()->id()

FileManager界面

上面的代碼更新完成后,已經(jīng)可以看到FileManager的文件管理界面

引入CKeditor

下載CKeditor并解壓到public文件夾后,在頁面中引入ckeditor/ckeditor.js



CKEDITOR.replace( "summary");   

config["height"] = 400;        

CKEDITOR.replace( "content");

如果要實現(xiàn)ckeditorFileManager中導(dǎo)入文件,則需要修改filebrowserBrowseUrl選項

    var config = {
    filebrowserBrowseUrl : "/filemanager/index.html"
    }
    
    CKEDITOR.replace( "summary", config);

    config["height"] = 400;        

    CKEDITOR.replace( "content", config);

ckeditor上傳圖片的效果圖

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/22642.html

相關(guān)文章

  • CKEditor4.7怎樣實現(xiàn)上傳圖片,瀏覽服務(wù)器(無需ckfinder),nodejs圖片管理,字

    首先是下載CKEditor,下載地址:http://ckeditor.com/download 選擇里面的Customize自定義,如圖 showImg(https://segmentfault.com/img/bVRlFy?w=1406&h=858); 然后進(jìn)入配置界面,第一個choose preset一般就選standard標(biāo)準(zhǔn)的 第二個需要添加兩個東西進(jìn)去 第一個是Justify showI...

    mengera88 評論0 收藏0
  • CKEditor4.7怎樣實現(xiàn)上傳圖片,瀏覽服務(wù)器(無需ckfinder),nodejs圖片管理,字

    首先是下載CKEditor,下載地址:http://ckeditor.com/download 選擇里面的Customize自定義,如圖 showImg(https://segmentfault.com/img/bVRlFy?w=1406&h=858); 然后進(jìn)入配置界面,第一個choose preset一般就選standard標(biāo)準(zhǔn)的 第二個需要添加兩個東西進(jìn)去 第一個是Justify showI...

    lowett 評論0 收藏0
  • ??ASP.NET 使用 Dispose 釋放資源的四種方法?

    Dispose 和 Finalize 是運行的 .NET 和 .NET Core 應(yīng)用程序釋放占用的資源的兩種方法。通常,如果應(yīng)用程序中有非托管資源,應(yīng)該顯式地釋放這些資源占用的資源。由于 Finalize 的非確定性,以及在性能方面的成本很高,因此 Dispose 方法的使用頻率遠(yuǎn)高于 Finalize。其實,我們可以在一個實現(xiàn)了 IDisposable 接口的類型上使用 Dispose 方法。...

    bovenson 評論0 收藏0
  • Django搭建個人博客:用django-mptt實現(xiàn)多級評論功能

    摘要:現(xiàn)在我們的博客已經(jīng)具有評論功能了。處理請求處理其他請求僅接受請求。前面寫視圖的時候,二級評論提交成功后會返回,回調(diào)函數(shù)接收到這個信號后,就會調(diào)用方法,刷新當(dāng)前的父頁面即文章所在的頁面,實現(xiàn)了數(shù)據(jù)的更新。 現(xiàn)在我們的博客已經(jīng)具有評論功能了。隨著文章的評論者越來越多,有的時候評論者之間也需要交流,甚至部分評論還能合并成一個小的整體。因此最好是有某種方法可以將相關(guān)的評論聚集到一起,這時候多級...

    adie 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<