php - TinyMCEとResponsiveFilemanagerを使用して画像を挿入できない

原文 php tinymce file-manager

ドキュメント(tinymce)の編集中に、[挿入]-> [画像の挿入/編集]を選択します。これはソースのダイアログを示しています。ソースの右側にはカメラアイコンがあり、クリックして挿入したい画像を選択しても何も起こりません。

Webサイトはwww.dallasdowntownassociation.com(ベースURL)です。私は実際にwww.dallasdowntownassociation.com/newsiteで新しいサイトを開発しています。新しいサイトでAround TownをポイントしてBlue Gardenを選択すると、コンテンツを編集するためのボタンが表示された画面が表示されます。

バージョン情報:TinyMCE 4.2.7; Responsive Filemanager 9.9.6。

<script>
    tinymce.init({
    mode : "specific_textareas",
    editor_selector : "mceEditor", width: "100%", height: "400",
    theme: "modern",
   font_formats: "Aller=aller,san-serif;" +
        "Aller Bold=aller bold,san-serif;" +
        "Aller Display=aller display,san-serif;"+
        "Aller Light=aller light,san-serif;" +
        "Andale Mono=andale mono,times;"+
        "Arial=arial,helvetica,sans-serif;"+
        "Arial Black=arial black,avant garde;"+
        "Book Antiqua=book antiqua,palatino;"+
        "Comic Sans MS=comic sans ms,sans-serif;"+
        "Courier New=courier new,courier;"+
        "Georgia=georgia,palatino;"+
        "Helvetica=helvetica;"+
        "Impact=impact,chicago;"+
        "Symbol=symbol;"+
        "Tahoma=tahoma,arial,helvetica,sans-serif;"+
        "Terminal=terminal,monaco;"+
        "Times New Roman=times new roman,times;"+
        "Trebuchet MS=trebuchet ms,geneva;"+
        "Verdana=verdana,geneva;"+
        "Webdings=webdings;"+
        "Wingdings=wingdings,zapf dingbats",
    browser_spellcheck : true,
    gecko_spellcheck: true,
    plugins: [
            "advlist autolink lists link image charmap print preview hr anchor pagebreak",
            "searchreplace wordcount visualblocks visualchars code fullscreen",
            "insertdatetime media nonbreaking save table contextmenu directionality",
            "emoticons template paste textcolor colorpicker textpattern"
    ],
    toolbar1: "newdocument | insertfile undo redo | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | cut copy paste | bullist numlist outdent indent | link image",
    toolbar2: "styleselect formatselect fontselect fontsizeselect | responsivefilemanager | blockqote | removeformat | forecolor backcolor | subscript superscript",
    image_advtab: true ,

    filemanager_title:"Responsive Filemanager",
    external_filemanager_path:"/newsite/filemanager/",
    external_plugins: { "filemanager" : "/newsite/filemanager/plugin.min.js"},
    });
</script>


filemanager config.phpは次のとおりです。

<?php
    session_start();
    mb_internal_encoding('UTF-8');
    date_default_timezone_set('Europe/Rome');

    /*
    |--------------------------------------------------------------------------
    | Optional security
    |--------------------------------------------------------------------------
    |
    | if set to true only those will access RF whose url contains the access key(akey) like:
    | <input type="button" href="../filemanager/dialog.php?field_id=imgField&lang=en_EN&akey=myPrivateKey" value="Files">
    | in tinymce a new parameter added: filemanager_access_key:"myPrivateKey"
    | example tinymce config:
    |
    | tiny init ...
    | external_filemanager_path:"../filemanager/",
    | filemanager_title:"Filemanager" ,
    | filemanager_access_key:"myPrivateKey" ,
    | ...
    |
    */

    define('USE_ACCESS_KEYS', false); // TRUE or FALSE

    /*
    |--------------------------------------------------------------------------
    | DON'T COPY THIS VARIABLES IN FOLDERS config.php FILES
    |--------------------------------------------------------------------------
    */

    /*
    |--------------------------------------------------------------------------
    | Path configuration
    |--------------------------------------------------------------------------
    | In this configuration the folder tree is
    | root
    |    |- source <- upload folder
    |    |- thumbs <- thumbnail folder [must have write permission (755)]
    |    |- filemanager
    |    |- js
    |    |   |- tinymce
    |    |   |   |- plugins
    |    |   |   |   |- responsivefilemanager
    |    |   |   |   |   |- plugin.min.js
    */

    $config = array(

        /*
        |--------------------------------------------------------------------------
        | DON'T TOUCH (base url (only domain) of site).
        |--------------------------------------------------------------------------
        |
        | without final /
        |
        */

            'base_url' => ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && ! in_array(strtolower($_SERVER['HTTPS']), array( 'off', 'no' ))) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'],

        /*
        |--------------------------------------------------------------------------
        | path from base_url to base of upload folder
        |--------------------------------------------------------------------------
        |
        | with start and final /
        |
        |           'upload_dir' => '/source/',
        */
            'upload_dir' => '/newsite/source/',

        /*
        |--------------------------------------------------------------------------
        | relative path from filemanager folder to upload folder
        |--------------------------------------------------------------------------
        |
        | with final /
        |
        |           'current_path' => '../source/',
        */
            'current_path' => '../source/',

        /*
        |--------------------------------------------------------------------------
        | relative path from filemanager folder to thumbs folder
        |--------------------------------------------------------------------------
        |
        | with final /
        | DO NOT put inside upload folder
        |
        |           'thumbs_base_path' => '../thumbs/',
        */
            'thumbs_base_path' => '../thumbs/',

        /*
        |--------------------------------------------------------------------------
        | Access keys
        |--------------------------------------------------------------------------
        |
        | add access keys eg: array('myPrivateKey', 'someoneElseKey');
        | keys should only containt (a-z A-Z 0-9 \ . _ -) characters
        | if you are integrating lets say to a cms for admins, i recommend making keys randomized something like this:
        | $username = 'Admin';
        | $salt = 'dsflFWR9u2xQa' (a hard coded string)
        | $akey = md5($username.$salt);
        | DO NOT use 'key' as access key!
        | Keys are CASE SENSITIVE!
        |
        */

            'access_keys' => array(),

        //--------------------------------------------------------------------------------------------------------
        // YOU CAN COPY AND CHANGE THESE VARIABLES INTO FOLDERS config.php FILES TO CUSTOMIZE EACH FOLDER OPTIONS
        //--------------------------------------------------------------------------------------------------------

        /*
        |--------------------------------------------------------------------------
        | Maximum upload size
        |--------------------------------------------------------------------------
        |
        | in Megabytes
        |
        */
            'MaxSizeUpload' => 100,


        /*
        |--------------------------------------------------------------------------
        | default language file name
        |--------------------------------------------------------------------------
        */
            'default_language' => "en_EN",

        /*
        |--------------------------------------------------------------------------
        | Icon theme
        |--------------------------------------------------------------------------
        |
        | Default available: ico and ico_dark
        | Can be set to custom icon inside filemanager/img
        |
        */
            'icon_theme' => "ico",


        //Show or not show folder size in list view feature in filemanager (is possible, if there is a large folder, to greatly increase the calculations)
            'show_folder_size'                        => true,
        //Show or not show sorting feature in filemanager
            'show_sorting_bar'                        => true,
        //active or deactive the transliteration (mean convert all strange characters in A..Za..z0..9 characters)
            'transliteration'                         => false,
        //convert all spaces on files name and folders name with $replace_with variable
            'convert_spaces'                          => false,
        //convert all spaces on files name and folders name this value
            'replace_with'                            => "_",

        // -1: There is no lazy loading at all, 0: Always lazy-load images, 0+: The minimum number of the files in a directory
        // when lazy loading should be turned on.
            'lazy_loading_file_number_threshold'      => 0,


        //*******************************************
        //Images limit and resizing configuration
        //*******************************************

        // set maximum pixel width and/or maximum pixel height for all images
        // If you set a maximum width or height, oversized images are converted to those limits. Images smaller than the limit(s) are unaffected
        // if you don't need a limit set both to 0
            'image_max_width'                         => 0,
            'image_max_height'                        => 0,
            'image_max_mode'                          => 'auto',
        /*
        #  $option:  0 / exact = defined size;
        #            1 / portrait = keep aspect set height;
        #            2 / landscape = keep aspect set width;
        #            3 / auto = auto;
        #            4 / crop= resize and crop;
         */

        //Automatic resizing //
        // If you set $image_resizing to TRUE the script converts all uploaded images exactly to image_resizing_width x image_resizing_height dimension
        // If you set width or height to 0 the script automatically calculates the other dimension
        // Is possible that if you upload very big images the script not work to overcome this increase the php configuration of memory and time limit
            'image_resizing'                          => false,
            'image_resizing_width'                    => 0,
            'image_resizing_height'                   => 0,
            'image_resizing_mode'                     => 'auto', // same as $image_max_mode
            'image_resizing_override'                 => false,
        // If set to TRUE then you can specify bigger images than $image_max_width & height otherwise if image_resizing is
        // bigger than $image_max_width or height then it will be converted to those values

        //******************
        // Default layout setting
        //
        // 0 => boxes
        // 1 => detailed list (1 column)
        // 2 => columns list (multiple columns depending on the width of the page)
        // YOU CAN ALSO PASS THIS PARAMETERS USING SESSION VAR => $_SESSION['RF']["VIEW"]=
        //
        //******************
            'default_view'                            => 0,

        //set if the filename is truncated when overflow first row
            'ellipsis_title_after_first_row'          => true,

        //*************************
        //Permissions configuration
        //******************
            'delete_files'                            => true,
            'create_folders'                          => true,
            'delete_folders'                          => true,
            'upload_files'                            => true,
            'rename_files'                            => true,
            'rename_folders'                          => true,
            'duplicate_files'                         => true,
            'copy_cut_files'                          => true, // for copy/cut files
            'copy_cut_dirs'                           => true, // for copy/cut directories
            'chmod_files'                             => false, // change file permissions
            'chmod_dirs'                              => false, // change folder permissions
            'preview_text_files'                      => true, // eg.: txt, log etc.
            'edit_text_files'                         => true, // eg.: txt, log etc.
            'create_text_files'                       => true, // only create files with exts. defined in $editable_text_file_exts

        // you can preview these type of files if $preview_text_files is true
            'previewable_text_file_exts'              => array( 'txt', 'log', 'xml', 'html', 'css', 'htm', 'js' ),
            'previewable_text_file_exts_no_prettify'  => array( 'txt', 'log' ),

        // you can edit these type of files if $edit_text_files is true (only text based files)
        // you can create these type of files if $create_text_files is true (only text based files)
        // if you want you can add html,css etc.
        // but for security reasons it's NOT RECOMMENDED!
            'editable_text_file_exts'                 => array( 'txt', 'log', 'xml', 'html', 'css', 'htm', 'js' ),

        // Preview with Google Documents
            'googledoc_enabled'                       => true,
            'googledoc_file_exts'                     => array( 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx' ),

        // Preview with Viewer.js
            'viewerjs_enabled'                        => true,
            'viewerjs_file_exts'                      => array( 'pdf', 'odt', 'odp', 'ods' ),

        // defines size limit for paste in MB / operation
        // set 'FALSE' for no limit
            'copy_cut_max_size'                       => 100,
        // defines file count limit for paste / operation
        // set 'FALSE' for no limit
            'copy_cut_max_count'                      => 200,
        //IF any of these limits reached, operation won't start and generate warning

        //**********************
        //Allowed extensions (lowercase insert)
        //**********************
            'ext_img'                                 => array( 'jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg' ), //Images
            'ext_file'                                => array( 'doc', 'docx', 'rtf', 'pdf', 'xls', 'xlsx', 'txt', 'csv', 'html', 'xhtml', 'psd', 'sql', 'log', 'fla', 'xml', 'ade', 'adp', 'mdb', 'accdb', 'ppt', 'pptx', 'odt', 'ots', 'ott', 'odb', 'odg', 'otp', 'otg', 'odf', 'ods', 'odp', 'css', 'ai' ), //Files
            'ext_video'                               => array( 'mov', 'mpeg', 'm4v', 'mp4', 'avi', 'mpg', 'wma', "flv", "webm" ), //Video
            'ext_music'                               => array( 'mp3', 'm4a', 'ac3', 'aiff', 'mid', 'ogg', 'wav' ), //Audio
            'ext_misc'                                => array( 'zip', 'rar', 'gz', 'tar', 'iso', 'dmg' ), //Archives

        /******************
         * AVIARY config
         *******************/
            'aviary_active'                           => true,
            'aviary_apiKey'                           => "2444282ef4344e3dacdedc7a78f8877d",
            'aviary_language'                         => "en",
            'aviary_theme'                            => "light",
            'aviary_tools'                            => "all",
            'aviary_maxSize'                          => "1400",
        // Add or modify the Aviary options below as needed - they will be json encoded when added to the configuration so arrays can be utilized as needed

        //The filter and sorter are managed through both javascript and php scripts because if you have a lot of
        //file in a folder the javascript script can't sort all or filter all, so the filemanager switch to php script.
        //The plugin automatic swich javascript to php when the current folder exceeds the below limit of files number
            'file_number_limit_js'                    => 500,

        //**********************
        // Hidden files and folders
        //**********************
        // set the names of any folders you want hidden (eg "hidden_folder1", "hidden_folder2" ) Remember all folders with these names will be hidden (you can set any exceptions in config.php files on folders)
            'hidden_folders'                          => array(),
        // set the names of any files you want hidden. Remember these names will be hidden in all folders (eg "this_document.pdf", "that_image.jpg" )
            'hidden_files'                            => array( 'config.php' ),

        /*******************
         * JAVA upload
         *******************/
            'java_upload'                             => true,
            'JAVAMaxSizeUpload'                       => 200, //Gb


        //************************************
        //Thumbnail for external use creation
        //************************************


        // New image resized creation with fixed path from filemanager folder after uploading (thumbnails in fixed mode)
        // If you want create images resized out of upload folder for use with external script you can choose this method,
        // You can create also more than one image at a time just simply add a value in the array
        // Remember than the image creation respect the folder hierarchy so if you are inside source/test/test1/ the new image will create at
        // path_from_filemanager/test/test1/
        // PS if there isn't write permission in your destination folder you must set it
        //
            'fixed_image_creation'                    => false, //activate or not the creation of one or more image resized with fixed path from filemanager folder
            'fixed_path_from_filemanager'             => array( '../test/', '../test1/' ), //fixed path of the image folder from the current position on upload folder
            'fixed_image_creation_name_to_prepend'    => array( '', 'test_' ), //name to prepend on filename
            'fixed_image_creation_to_append'          => array( '_test', '' ), //name to appendon filename
            'fixed_image_creation_width'              => array( 300, 400 ), //width of image (you can leave empty if you set height)
            'fixed_image_creation_height'             => array( 200, '' ), //height of image (you can leave empty if you set width)
        /*
        #             $option:     0 / exact = defined size;
        #                          1 / portrait = keep aspect set height;
        #                          2 / landscape = keep aspect set width;
        #                          3 / auto = auto;
        #                          4 / crop= resize and crop;
         */
            'fixed_image_creation_option'             => array( 'crop', 'auto' ), //set the type of the crop


        // New image resized creation with relative path inside to upload folder after uploading (thumbnails in relative mode)
        // With Responsive filemanager you can create automatically resized image inside the upload folder, also more than one at a time
        // just simply add a value in the array
        // The image creation path is always relative so if i'm inside source/test/test1 and I upload an image, the path start from here
        //
            'relative_image_creation'                 => false, //activate or not the creation of one or more image resized with relative path from upload folder
            'relative_path_from_current_pos'          => array( './', './' ), //relative path of the image folder from the current position on upload folder
            'relative_image_creation_name_to_prepend' => array( '', '' ), //name to prepend on filename
            'relative_image_creation_name_to_append'  => array( '_thumb', '_thumb1' ), //name to append on filename
            'relative_image_creation_width'           => array( 300, 400 ), //width of image (you can leave empty if you set height)
            'relative_image_creation_height'          => array( 200, '' ), //height of image (you can leave empty if you set width)
        /*
        #             $option:     0 / exact = defined size;
        #                          1 / portrait = keep aspect set height;
        #                          2 / landscape = keep aspect set width;
        #                          3 / auto = auto;
        #                          4 / crop= resize and crop;
         */
            'relative_image_creation_option'          => array( 'crop', 'crop' ), //set the type of the crop


        // Remember text filter after close filemanager for future session
            'remember_text_filter'                    => false,

    );

    return array_merge(
            $config,
            array(
                    'MaxSizeUpload' => ((int)(ini_get('post_max_size')) < $config['MaxSizeUpload'])
                            ? (int)(ini_get('post_max_size')) : $config['MaxSizeUpload'],
                    'ext'=> array_merge(
                            $config['ext_img'],
                            $config['ext_file'],
                            $config['ext_misc'],
                            $config['ext_video'],
                            $config['ext_music']
                    ),
                // For a list of options see: https://developers.aviary.com/docs/web/setup-guide#constructor-config
                    'aviary_defaults_config' => array(
                            'apiKey'     => $config['aviary_apiKey'],
                            'language'   => $config['aviary_language'],
                            'theme'      => $config['aviary_theme'],
                            'tools'      => $config['aviary_tools'],
                            'maxSize'    => $config['aviary_maxSize']
                    ),
            )
    );


sourceとthumbsフォルダーには権限755が設定されていることに注意してください。

私が何か間違ったことをしているのはわかっています。私を正しい方向に向けていただければ幸いです。

ところで、私はすべてのドキュメントを見てきましたが、それは私が見落としたり、誤って解釈した可能性があるという意味ではありません。

よろしく、
リッチ
答え
私は解決策を見つけました。 TinyMCEスクリプトでは、次のようにコーディングされています。

    external_filemanager_path:"/newsite/filemanager/",


次のように変更しました。

    external_filemanager_path:"filemanager/",


どうやら、私の場合、external_filemanagerは完全なURLを使用しました

    http://www.dallasdowntownassociation.com/newsite/


'external_filemanager_path'の値の前に付加します。

私はドキュメントで見逃したものを見つけました、そしてそれはsensitivefilemanagerのtinymceプラグインをコピーすることでした。これを実行すると、今度はツールバーにsensitivefilemanagerのアイコンがあります。
関連記事

php - symfony 2リポジトリのカウントを取得

javascript - javascript-event(テーブルコンテンツは編集可能)とphpファイルに送信してデータベースを更新-機能しません

php - MySQLクエリを作成する前にいくつかの配列要素を削除します

php - SQL検索結果、ID番号でグループ化

php - フォームルールが機能しない

php - 最近PHPMAILERがメールの送信を停止します

php - Outlookのphpmailerでフラグを設定する方法

php - Laravel 5.1でAjaxを使用するときのwithInput()メソッドの問題

php - PHP-要素が消えないようにするSoapClientとタイプマップ

php - Nginx Symfony2ステージング構成