Skip to content

Commit

Permalink
Merge branch 'issue #3'
Browse files Browse the repository at this point in the history
  • Loading branch information
Julen Pardo committed Apr 7, 2016
2 parents 92caee0 + 450bc1a commit df06018
Show file tree
Hide file tree
Showing 10 changed files with 161 additions and 81 deletions.
36 changes: 36 additions & 0 deletions db/access.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

defined('MOODLE_INTERNAL') || die();

// Plugin for Moodle 'Multilingual content' drop down menu.
// @package atto_multilang2
// @copyright 2016 onwards Julen Pardo & Mondragon Unibertsitatea
// @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.

$capabilities = array(
'atto/multilang2:viewlanguagemenu' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_COURSE,
'archetypes' => array(
'teacher' => CAP_ALLOW,
'manager' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
'student' => CAP_PREVENT
),
),
);

2 changes: 2 additions & 0 deletions lang/en/atto_multilang2.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@
*/

$string['pluginname'] = 'Multi-Language Content (v2)';
$string['multilang2:viewlanguagemenu'] = 'View language dropdown menu in Atto toolbar.';

2 changes: 2 additions & 0 deletions lang/es/atto_multilang2.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@
*/

$string['pluginname'] = 'Contenido Multi-Idioma (v2)';
$string['multilang2:viewlanguagemenu'] = 'Ver el menú de idiomas en la barra de herramientas de Atto.';

4 changes: 4 additions & 0 deletions lang/eu/atto_multilang2.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@
*/

$string['pluginname'] = 'Eduki Eleanitza (v2)';
$string['disableforstudents'] = 'Desgaitu ikasleentzat';
$string['disableforstudents_desc'] = 'Aukeratuta badago, ikasleek ez dute ikusiko hizkuntzen zerrenda azaltzen duen botoia.';
tring['multilang2:viewlanguagemenu'] = 'Erakutsi hizkuntzen menua Atto tresna barran.';

83 changes: 51 additions & 32 deletions lib.php
Original file line number Diff line number Diff line change
@@ -1,32 +1,51 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Atto text editor multilanguage plugin lib.
*
* @package atto_multilang2
* @copyright 2015 onwards Julen Pardo & Mondragon Unibertsitatea
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Set parameters for this plugin.
*
* @return array The JSON encoding of the installed languages.
*/
function atto_multilang2_params_for_js() {
$languages = json_encode(get_string_manager()->get_list_of_translations());
return array('languages' => $languages);
}
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Atto text editor multilanguage plugin lib.
*
* @package atto_multilang2
* @copyright 2015 onwards Julen Pardo & Mondragon Unibertsitatea
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

defined('MOODLE_INTERNAL') || die();

/**
* Set parameters for this plugin.
*
* @return array The JSON encoding of the installed languages.
*/
function atto_multilang2_params_for_js() {
$languages = json_encode(get_string_manager()->get_list_of_translations());
$capability = get_capability();

return array('languages' => $languages, 'capability' => $capability);
}

/**
* Gets the defined capability for the plugin for the current user, to decide later to show or not to show the plugin.
*
* @return boolean If the user has the capability to see the plugin or not.
*/
function get_capability() {
global $COURSE;

$context = context_course::instance($COURSE->id);

return has_capability('atto/multilang2:viewlanguagemenu', $context);
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ var CLASSES = {
LANG_WILDCARD = '%lang',
CONTENT_WILDCARD = '%content',
ATTR_LANGUAGES = 'languages',
ATTR_CAPABILITY = 'capability',
DEFAULT_LANGUAGE = '{"en":"English (en)"}',

TEMPLATE = '' +
Expand All @@ -50,20 +51,23 @@ var CLASSES = {
Y.namespace('M.atto_multilang2').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], {

initializer: function() {
var toolbarItems = [];

toolbarItems = this._initializeToolbarItems();

this.addToolbarMenu({
globalItemConfig: {
callback: this._addTags
},
icon: 'icon',
iconComponent: 'atto_multilang2',
items: toolbarItems
});

this.get('host').on('atto:selectionchanged', this._checkSelectionChange, this);
var hascapability = this.get(ATTR_CAPABILITY),
toolbarItems = [];

if (hascapability) {
toolbarItems = this._initializeToolbarItems();

this.addToolbarMenu({
globalItemConfig: {
callback: this._addTags
},
icon: 'icon',
iconComponent: 'atto_multilang2',
items: toolbarItems
});

this.get('host').on('atto:selectionchanged', this._checkSelectionChange, this);
}
},

/**
Expand Down Expand Up @@ -187,8 +191,10 @@ Y.namespace('M.atto_multilang2').Button = Y.Base.create('button', Y.M.editor_att
* @type array
* @default {"en":"English (en)"}
*/
languages: DEFAULT_LANGUAGE
languages: DEFAULT_LANGUAGE,
capability: true
}
});


}, '@VERSION@', {"requires": ["moodle-editor_atto-plugin"]});

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ var CLASSES = {
LANG_WILDCARD = '%lang',
CONTENT_WILDCARD = '%content',
ATTR_LANGUAGES = 'languages',
ATTR_CAPABILITY = 'capability',
DEFAULT_LANGUAGE = '{"en":"English (en)"}',

TEMPLATE = '' +
Expand All @@ -50,20 +51,23 @@ var CLASSES = {
Y.namespace('M.atto_multilang2').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], {

initializer: function() {
var toolbarItems = [];

toolbarItems = this._initializeToolbarItems();

this.addToolbarMenu({
globalItemConfig: {
callback: this._addTags
},
icon: 'icon',
iconComponent: 'atto_multilang2',
items: toolbarItems
});

this.get('host').on('atto:selectionchanged', this._checkSelectionChange, this);
var hascapability = this.get(ATTR_CAPABILITY),
toolbarItems = [];

if (hascapability) {
toolbarItems = this._initializeToolbarItems();

this.addToolbarMenu({
globalItemConfig: {
callback: this._addTags
},
icon: 'icon',
iconComponent: 'atto_multilang2',
items: toolbarItems
});

this.get('host').on('atto:selectionchanged', this._checkSelectionChange, this);
}
},

/**
Expand Down Expand Up @@ -187,8 +191,10 @@ Y.namespace('M.atto_multilang2').Button = Y.Base.create('button', Y.M.editor_att
* @type array
* @default {"en":"English (en)"}
*/
languages: DEFAULT_LANGUAGE
languages: DEFAULT_LANGUAGE,
capability: true
}
});


}, '@VERSION@', {"requires": ["moodle-editor_atto-plugin"]});
37 changes: 21 additions & 16 deletions yui/src/button/js/button.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ var CLASSES = {
LANG_WILDCARD = '%lang',
CONTENT_WILDCARD = '%content',
ATTR_LANGUAGES = 'languages',
ATTR_CAPABILITY = 'capability',
DEFAULT_LANGUAGE = '{"en":"English (en)"}',

TEMPLATE = '' +
Expand All @@ -48,20 +49,23 @@ var CLASSES = {
Y.namespace('M.atto_multilang2').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], {

initializer: function() {
var toolbarItems = [];

toolbarItems = this._initializeToolbarItems();

this.addToolbarMenu({
globalItemConfig: {
callback: this._addTags
},
icon: 'icon',
iconComponent: 'atto_multilang2',
items: toolbarItems
});

this.get('host').on('atto:selectionchanged', this._checkSelectionChange, this);
var hascapability = this.get(ATTR_CAPABILITY),
toolbarItems = [];

if (hascapability) {
toolbarItems = this._initializeToolbarItems();

this.addToolbarMenu({
globalItemConfig: {
callback: this._addTags
},
icon: 'icon',
iconComponent: 'atto_multilang2',
items: toolbarItems
});

this.get('host').on('atto:selectionchanged', this._checkSelectionChange, this);
}
},

/**
Expand Down Expand Up @@ -185,6 +189,7 @@ Y.namespace('M.atto_multilang2').Button = Y.Base.create('button', Y.M.editor_att
* @type array
* @default {"en":"English (en)"}
*/
languages: DEFAULT_LANGUAGE
languages: DEFAULT_LANGUAGE,
capability: true
}
});
});

0 comments on commit df06018

Please sign in to comment.