Dotclear

Changeset 3897:61304e9616a6


Ignore:
Timestamp:
10/01/18 11:24:07 (5 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Set correct lang attribute (useful for browser/editor spelling) for content (post/page) depending on entry setting, and CK editor UI in user language

Files:
10 edited

Legend:

Unmodified
Added
Removed
  • admin/comment.php

    r3874 r3897  
    230230 
    231231    '<p class="area"><label for="comment_content">' . __('Comment:') . '</label> ' . 
    232     form::textarea('comment_content', 50, 10, html::escapeHTML($comment_content)) . 
     232    form::textarea('comment_content', 50, 10, 
     233        [ 
     234            'default'    => html::escapeHTML($comment_content), 
     235            'extra_html' => 'lang="' . $core->auth->getInfo('user_lang') . '"' 
     236        ]) . 
    233237    '</p>' . 
    234238 
  • admin/js/jsUpload/load-image.js

    r1144 r3897  
    1414 
    1515/*jslint nomen: true, bitwise: true */ 
    16 /*global window, document, URL, webkitURL, Blob, File, FileReader, define */ 
     16/*global window, document, URL, webkitURL, FileReader, define */ 
    1717 
    1818(function ($) { 
  • admin/js/jsUpload/template-download.js

    r3706 r3897  
    33'use strict'; 
    44 
    5 var template_download = tmpl('{% for (var i=0, file; file=o.files[i]; i++) { %}<li class="template-download fade"><div class="upload-file"><div class="upload-fileinfo"><span class="upload-filename">{%=file.name%}</span><span class="upload-filesize">({%=o.formatFileSize(file.size)%})</span><span class="upload-filemsg{% if (file.error) { %} upload-error{% } %}">{% if (file.error) { %}' + dotclear.jsUpload.msg.error + ' {%=file.error%}{% } else { %}' + dotclear.jsUpload.msg.file_successfully_uploaded + '{% } %}</span></div><div class="upload-progress">{% if (!file.error) { %}<div class="bar" style="width:100%;">100%</div>{% } %}</div></li>{% } %}'); 
     5const template_download = tmpl('{% for (var i=0, file; file=o.files[i]; i++) { %}<li class="template-download fade"><div class="upload-file"><div class="upload-fileinfo"><span class="upload-filename">{%=file.name%}</span><span class="upload-filesize">({%=o.formatFileSize(file.size)%})</span><span class="upload-filemsg{% if (file.error) { %} upload-error{% } %}">{% if (file.error) { %}' + dotclear.jsUpload.msg.error + ' {%=file.error%}{% } else { %}' + dotclear.jsUpload.msg.file_successfully_uploaded + '{% } %}</span></div><div class="upload-progress">{% if (!file.error) { %}<div class="bar" style="width:100%;">100%</div>{% } %}</div></li>{% } %}'); 
  • admin/js/jsUpload/template-upload.js

    r3706 r3897  
    33'use strict'; 
    44 
    5 var template_upload = tmpl('{% for (var i=0, file; file=o.files[i]; i++) { %}<li class="template-upload fade"><div class="upload-file"><div class="upload-fileinfo"><span class="upload-filename">{%=file.name%}</span><span class="upload-filesize">({%=o.formatFileSize(file.size)%})</span><span class="upload-filecancel cancel">' + dotclear.jsUpload.msg.cancel + '</span>{% if (!o.files.error && !i && !o.options.autoUpload) { %}<input type="submit" class="button start"  value="' + dotclear.jsUpload.msg.send + '"/>{% } %}<span class="upload-filemsg"></span></div>{% if (!o.files.error) { %}<div class="upload-progress progress progress-success progress-striped active"><div class="bar" style="width:0%;"></div></div>{% } %}</li>{% } %}'); 
     5const template_upload = tmpl('{% for (var i=0, file; file=o.files[i]; i++) { %}<li class="template-upload fade"><div class="upload-file"><div class="upload-fileinfo"><span class="upload-filename">{%=file.name%}</span><span class="upload-filesize">({%=o.formatFileSize(file.size)%})</span><span class="upload-filecancel cancel">' + dotclear.jsUpload.msg.cancel + '</span>{% if (!o.files.error && !i && !o.options.autoUpload) { %}<input type="submit" class="button start"  value="' + dotclear.jsUpload.msg.send + '"/>{% } %}<span class="upload-filemsg"></span></div>{% if (!o.files.error) { %}<div class="upload-progress progress progress-success progress-striped active"><div class="bar" style="width:0%;"></div></div>{% } %}</li>{% } %}'); 
  • admin/media.php

    r3874 r3897  
    383383if ($dir && !empty($_FILES['upfile'])) { 
    384384    // only one file per request : @see option singleFileUploads in admin/js/jsUpload/jquery.fileupload 
    385     $upfile = ['name' => $_FILES['upfile']['name'][0], 
    386         'type'                 => $_FILES['upfile']['type'][0], 
    387         'tmp_name'             => $_FILES['upfile']['tmp_name'][0], 
    388         'error'                => $_FILES['upfile']['error'][0], 
    389         'size'                 => $_FILES['upfile']['size'][0], 
    390         'title'                => html::escapeHTML($_FILES['upfile']['name'][0]) 
     385    $upfile = [ 
     386        'name'     => $_FILES['upfile']['name'][0], 
     387        'type'     => $_FILES['upfile']['type'][0], 
     388        'tmp_name' => $_FILES['upfile']['tmp_name'][0], 
     389        'error'    => $_FILES['upfile']['error'][0], 
     390        'size'     => $_FILES['upfile']['size'][0], 
     391        'title'    => html::escapeHTML($_FILES['upfile']['name'][0]) 
    391392    ]; 
    392393 
     
    405406            ]; 
    406407        } catch (Exception $e) { 
    407             $message['files'][] = ['name' => $upfile['name'], 
    408                 'size'                             => $upfile['size'], 
    409                 'error'                            => $e->getMessage() 
     408            $message['files'][] = [ 
     409                'name'  => $upfile['name'], 
     410                'size'  => $upfile['size'], 
     411                'error' => $e->getMessage() 
    410412            ]; 
    411413        } 
  • admin/post.php

    r3878 r3897  
    659659        '<p class="area" id="excerpt-area"><label for="post_excerpt" class="bold">' . __('Excerpt:') . ' <span class="form-note">' . 
    660660        __('Introduction to the post.') . '</span></label> ' . 
    661         form::textarea('post_excerpt', 50, 5, html::escapeHTML($post_excerpt)) . 
     661        form::textarea('post_excerpt', 50, 5, 
     662            [ 
     663                'default'    => html::escapeHTML($post_excerpt), 
     664                'extra_html' => 'lang="' . $post_lang . '"' 
     665            ]) . 
    662666        '</p>', 
    663667 
     
    668672            [ 
    669673                'default'    => html::escapeHTML($post_content), 
    670                 'extra_html' => 'required placeholder="' . __('Content') . '"' 
     674                'extra_html' => 'required placeholder="' . __('Content') . '" lang="' . $post_lang . '"' 
    671675            ]) . 
    672676        '</p>', 
     
    811815    '<p class="area"><label for="comment_content" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . 
    812816    __('Comment:') . '</label> ' . 
    813     form::textarea('comment_content', 50, 8, ['extra_html' => 'required placeholder="' . __('Comment') . '"']) . 
     817    form::textarea('comment_content', 50, 8, 
     818        [ 
     819            'extra_html' => 'required placeholder="' . __('Comment') . '" lang="' . $core->auth->getInfo('user_lang') . '"' 
     820        ]) . 
    814821    '</p>' . 
    815822 
  • plugins/dcCKEditor/_post_config.php

    r3769 r3897  
    108108<?php endif;?> 
    109109 
     110    CKEDITOR.config.defaultLanguage = dotclear.user_language; 
     111    CKEDITOR.config.language = dotclear.user_language; 
     112    CKEDITOR.config.contentsLanguage = dotclear.user_language; 
     113 
    110114<?php 
    111115if (!empty($extraPlugins) && count($extraPlugins) > 0) { 
     
    237241 
    238242    CKEDITOR.on('instanceLoaded',function(e) { 
    239  
    240243        // Retrieve textarea element of the instance, then its line-height (in px) and rows values, 
    241244        // then apply line-height * rows (min = 6) to the inner height of the instance. 
     
    250253            } 
    251254        } 
    252  
    253255    }); 
    254256 
     
    268270        }); 
    269271 
     272        const ta = document.getElementById(e.editor.name); 
     273        if (ta !== undefined) { 
     274            if (ta.lang && e.editor.config.contentsLanguage !== ta.lang) { 
     275                let config = e.editor.config; 
     276                config.contentsLanguage = ta.lang; 
     277                e.editor.destroy(); 
     278                CKEDITOR.replace(e.editor.name, config); 
     279            } 
     280        } 
    270281    }); 
    271282 
  • plugins/dcCKEditor/inc/dc.ckeditor.behaviors.php

    r3874 r3897  
    4040        dcPage::jsVar('dotclear.base_url', $GLOBALS['core']->blog->host) . 
    4141        dcPage::jsVar('dotclear.dcckeditor_plugin_url', DC_ADMIN_URL . self::$p_url) . 
     42        dcPage::jsVar('dotclear.user_language', $GLOBALS['core']->auth->getInfo('user_lang')) . 
    4243        'CKEDITOR_GETURL = function(resource) { 
    4344                // If this is not a full or absolute path. 
  • plugins/dcLegacyEditor/js/jsToolBar/jsToolBar.wysiwyg.js

    r3880 r3897  
    188188    } 
    189189 
     190    // Set lang if set for the textarea 
     191    if (This.textarea.lang) { 
     192      doc.documentElement.setAttribute('lang', This.textarea.lang); 
     193    } 
     194 
    190195    This.iwin = This.iframe.contentWindow; 
    191196 
  • plugins/pages/page.php

    r3878 r3897  
    487487        '<p class="area" id="excerpt-area"><label for="post_excerpt" class="bold">' . __('Excerpt:') . ' <span class="form-note">' . 
    488488        __('Introduction to the page.') . '</span></label> ' . 
    489         form::textarea('post_excerpt', 50, 5, html::escapeHTML($post_excerpt)) . 
     489        form::textarea('post_excerpt', 50, 5, 
     490            [ 
     491                'default'    => html::escapeHTML($post_excerpt), 
     492                'extra_html' => 'lang="' . $post_lang . '"' 
     493            ]) . 
    490494        '</p>', 
    491495 
     
    496500            [ 
    497501                'default'    => html::escapeHTML($post_content), 
    498                 'extra_html' => 'required placeholder="' . __('Content') . '"' 
     502                'extra_html' => 'required placeholder="' . __('Content') . '" lang="' . $post_lang . '"' 
    499503            ]) . 
    500504        '</p>', 
Note: See TracChangeset for help on using the changeset viewer.

Sites map