Commit c34931e3 authored by Camille Tardy's avatar Camille Tardy
Browse files

Initial commit

parents
<?php
namespace theme_unige\output\core;
defined('MOODLE_INTERNAL') || die();
use moodle_url;
use coursecat;
use coursecat_helper;
use html_writer;
use single_select;
use lang_string;
use core_course_renderer;
use core_text;
require_once($CFG->dirroot . '/course/renderer.php');
class course_renderer extends \core_course_renderer {
public function course_search_form($value = '', $format = 'plain') {
static $count = 0;
$formid = 'coursesearch';
if ((++$count) > 1) {
$formid .= $count;
}
switch ($format) {
case 'navbar' :
$formid = 'coursesearchnavbar';
$inputid = 'navsearchbox';
$inputsize = 20;
break;
case 'short' :
$inputid = 'shortsearchbox';
$inputsize = 12;
break;
default :
$inputid = 'coursesearchbox';
$inputsize = 30;
}
$data = (object) [
'searchurl' => (new moodle_url('/course/search.php'))->out(false),
'id' => $formid,
'inputid' => $inputid,
'inputsize' => $inputsize,
'value' => $value
];
return $this->render_from_template('theme_unige/course_search_form', $data);
}
/**
* Renders HTML to display particular course category - list of it's subcategories and courses
*
* Invoked from /course/index.php
*
* @param int|stdClass|coursecat $category
*/
public function course_category($category) {
global $CFG;
require_once($CFG->libdir. '/coursecatlib.php');
$coursecat = coursecat::get(is_object($category) ? $category->id : $category);
$site = get_site();
$output = '';
if (can_edit_in_category($coursecat->id)) {
// Add 'Manage' button if user has permissions to edit this category.
$managebutton = $this->single_button(new moodle_url('/course/management.php',
array('categoryid' => $coursecat->id)), get_string('managecourses'), 'get');
$this->page->set_button($managebutton);
}
// Print current category description
$chelper = new coursecat_helper();
if ($description = $chelper->get_category_formatted_description($coursecat)) {
$output .= $this->box($description, array('class' => 'generalbox info'));
}
// Prepare parameters for courses and categories lists in the tree
$chelper->set_show_courses(self::COURSECAT_SHOW_COURSES_AUTO)
->set_attributes(array('class' => 'category-browse category-browse-'.$coursecat->id));
$coursedisplayoptions = array();
$catdisplayoptions = array();
$browse = optional_param('browse', null, PARAM_ALPHA);
$perpage = optional_param('perpage', $CFG->coursesperpage, PARAM_INT);
$page = optional_param('page', 0, PARAM_INT);
$baseurl = new moodle_url('/course/index.php');
if ($coursecat->id) {
$baseurl->param('categoryid', $coursecat->id);
}
if ($perpage != $CFG->coursesperpage) {
$baseurl->param('perpage', $perpage);
}
$coursedisplayoptions['limit'] = $perpage;
$catdisplayoptions['limit'] = $perpage;
if ($browse === 'courses' || !$coursecat->has_children()) {
$coursedisplayoptions['offset'] = $page * $perpage;
$coursedisplayoptions['paginationurl'] = new moodle_url($baseurl, array('browse' => 'courses'));
$catdisplayoptions['nodisplay'] = true;
$catdisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'categories'));
$catdisplayoptions['viewmoretext'] = new lang_string('viewallsubcategories');
} else if ($browse === 'categories' || !$coursecat->has_courses()) {
$coursedisplayoptions['nodisplay'] = true;
$catdisplayoptions['offset'] = $page * $perpage;
$catdisplayoptions['paginationurl'] = new moodle_url($baseurl, array('browse' => 'categories'));
$coursedisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'courses'));
$coursedisplayoptions['viewmoretext'] = new lang_string('viewallcourses');
} else {
// we have a category that has both subcategories and courses, display pagination separately
$coursedisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'courses', 'page' => 1));
$catdisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'categories', 'page' => 1));
}
$chelper->set_courses_display_options($coursedisplayoptions)->set_categories_display_options($catdisplayoptions);
// Add course search form.
$output .= $this->course_search_form();
if (!$coursecat->id) {
if (coursecat::count_all() == 1) {
// There exists only one category in the system, do not display link to it
$coursecat = coursecat::get_default();
$strfulllistofcourses = get_string('fulllistofcourses');
$this->page->set_title("$site->shortname: $strfulllistofcourses");
} else {
$strcategories = get_string('categories');
$this->page->set_title("$site->shortname: $strcategories");
}
} else {
$title = $site->shortname;
if (coursecat::count_all() > 1) {
$title .= ": ". $coursecat->get_formatted_name();
}
$this->page->set_title($title);
// Print the category selector
if (coursecat::count_all() > 1) {
$output .= html_writer::start_tag('div', array('class' => 'categorypicker'));
$select = new single_select(new moodle_url('/course/index.php'), 'categoryid',
coursecat::make_categories_list(), $coursecat->id, null, 'switchcategory');
$select->set_label(get_string('categories').':');
$output .= $this->render($select);
$output .= html_writer::end_tag('div'); // .categorypicker
}
}
// Display course category tree.
$output .= $this->coursecat_tree($chelper, $coursecat);
return $output;
}
/**
* Returns HTML to display a tree of subcategories and courses in the given category
*
* @param coursecat_helper $chelper various display options
* @param coursecat $coursecat top category (this category's name and description will NOT be added to the tree)
* @return string
*/
protected function coursecat_tree(coursecat_helper $chelper, $coursecat) {
// Reset the category expanded flag for this course category tree first.
$this->categoryexpandedonload = false;
$categorycontent = $this->coursecat_category_content($chelper, $coursecat, 0);
if (empty($categorycontent)) {
return '';
}
// Start content generation
$content = '';
$attributes = $chelper->get_and_erase_attributes('course_category_tree clearfix');
$content .= html_writer::start_tag('div', $attributes);
$content .= html_writer::tag('div', $categorycontent, array('class' => 'content'));
$content .= html_writer::end_tag('div'); // .course_category_tree
return $content;
}
/**
* Returns HTML to display a course category as a part of a tree
*
* This is an internal function, to display a particular category and all its contents
* use {@link core_course_renderer::course_category()}
*
* @param coursecat_helper $chelper various display options
* @param coursecat $coursecat
* @param int $depth depth of this category in the current tree
* @return string
*/
protected function coursecat_category(coursecat_helper $chelper, $coursecat, $depth) {
$categorycontent = '';
// open category tag
$classes = array('category');
if (empty($coursecat->visible)) {
$classes[] = 'dimmed_category';
}
// Make sure JS file to expand category content is included.
$this->coursecat_include_js();
$content = html_writer::start_tag('div', array(
'class' => join(' ', $classes),
'data-categoryid' => $coursecat->id,
'data-depth' => $depth,
'data-showcourses' => $chelper->get_show_courses(),
'data-type' => self::COURSECAT_TYPE_CATEGORY,
));
// category id
$id_category = '0';
if ($this->page->pagetype == "course-index") {
$id_category = $coursecat->id;
} elseif ($this->page->pagetype == "course-index-category") {
$id_category = $_GET['categoryid'];
}
// category name
$categoryname = $coursecat->get_formatted_name();
$categoryname = html_writer::link(new moodle_url('/course/index.php',
array('categoryid' => $coursecat->id)),
$categoryname, array('class' => $this->color_fac_category($id_category)));
if ($chelper->get_show_courses() == self::COURSECAT_SHOW_COURSES_COUNT
&& ($coursescount = $coursecat->get_courses_count())) {
$categoryname .= html_writer::tag('span', ' ('. $coursescount.')',
array('title' => get_string('numberofcourses'), 'class' => 'numberofcourse'));
}
$content .= html_writer::start_tag('div', array('class' => 'info'));
$content .= html_writer::tag(($depth > 1) ? 'h4' : 'h3', $categoryname, array('class' => 'categoryname'));
$content .= html_writer::end_tag('div'); // .info
// add category content to the output
$content .= html_writer::tag('div', $categorycontent, array('class' => 'content'));
$content .= html_writer::end_tag('div'); // .category
// Return the course category tree HTML
return $content;
}
/**
* Returns HTML to display the subcategories and courses in the given category
*
* This method is re-used by AJAX to expand content of not loaded category
*
* @param coursecat_helper $chelper various display options
* @param coursecat $coursecat
* @param int $depth depth of the category in the current tree
* @return string
*/
protected function coursecat_category_content(coursecat_helper $chelper, $coursecat, $depth) {
$content = '';
$content_course = '';
$content_category = '';
// Subcategories
$content_category .= $this->coursecat_subcategories($chelper, $coursecat, $depth);
// AUTO show courses: Courses will be shown expanded if this is not nested category,
// and number of courses no bigger than $CFG->courseswithsummarieslimit.
$showcoursesauto = $chelper->get_show_courses() == self::COURSECAT_SHOW_COURSES_AUTO;
if ($showcoursesauto && $depth) {
// this is definitely collapsed mode
$chelper->set_show_courses(self::COURSECAT_SHOW_COURSES_COLLAPSED);
}
// Courses
if ($chelper->get_show_courses() > core_course_renderer::COURSECAT_SHOW_COURSES_COUNT) {
$courses = array();
if (!$chelper->get_courses_display_option('nodisplay')) {
$courses = $coursecat->get_courses($chelper->get_courses_display_options());
}
if ($viewmoreurl = $chelper->get_courses_display_option('viewmoreurl')) {
// the option for 'View more' link was specified, display more link (if it is link to category view page, add category id)
if ($viewmoreurl->compare(new moodle_url('/course/index.php'), URL_MATCH_BASE)) {
$chelper->set_courses_display_option('viewmoreurl', new moodle_url($viewmoreurl, array('categoryid' => $coursecat->id)));
}
}
$content_course .= $this->coursecat_courses($chelper, $courses, $coursecat->get_courses_count());
}
// If the category is empty
if ($content_category == "" AND $content_course == "") {
$content .= html_writer::start_tag('div', array('class' => 'empty-category-alert'));
$content .= html_writer::start_tag('i', array('class' => 'icon fa fa-info-circle fa-fw '));
$content .= html_writer::end_tag('i');
$content .= html_writer::start_tag('span');
$content .= get_string('empty-category-alert', 'theme_unige');
$content .= html_writer::end_tag('span');
$content .= html_writer::end_tag('div');
} else {
$content .= $content_category . $content_course;
}
if ($showcoursesauto) {
// restore the show_courses back to AUTO
$chelper->set_show_courses(self::COURSECAT_SHOW_COURSES_AUTO);
}
return $content;
}
/**
* Takes the category ID as parameter.
* Returns the color_fac of the category
*
* @return string
*/
public function color_fac_category($id_category) {
global $DB;
// Course category parent
do {
$id_category_parent = $DB->get_field('course_categories', 'parent', array('id' => $id_category));
if ($id_category_parent != '0') {
$id_category = $id_category_parent;
}
} while ($id_category_parent != '0');
// Category name
$category_name = $DB->get_field('course_categories', 'name', array('id' => $id_category));
// Category color
$color_fac = '';
switch ($category_name) {
case 'Sciences':
$color_fac = 'color-fac-sciences';
break;
case 'Médecine':
$color_fac = 'color-fac-medecine';
break;
case 'Lettres':
$color_fac = 'color-fac-lettres';
break;
case 'Sciences de la société':
$color_fac = 'color-fac-societe';
break;
case 'Economie et Management (GSEM)':
$color_fac = 'color-fac-economie';
break;
case 'Droit':
$color_fac = 'color-fac-droit';
break;
case 'Théologie':
$color_fac = 'color-fac-theologie';
break;
case 'Psychologie et Sciences de l\'Éducation':
$color_fac = 'color-fac-psychologie';
break;
case 'Traduction et Interprétation':
$color_fac = 'color-fac-traduction';
break;
default:
$color_fac = 'color-fac-default';
break;
}
return $color_fac;
}
}
This diff is collapsed.
<?php
// This line protects the file from being accessed by a URL directly
defined('MOODLE_INTERNAL') || die();
// Theme name
$THEME->name = 'unige';
// Inherit from parent theme
$THEME->parents = ['boost'];
// Show theme in theme selector
$THEME->hidefromselector = false;
// CSS sheets
$THEME->sheets = [];
// TinyMCE editor stylesheet
$THEME->editor_sheets = [];
// Pre and extra SCSS
$THEME->prescsscallback = 'theme_unige_get_pre_scss';
$THEME->extrascsscallback = 'theme_unige_scss_get_extra_scss';
// A dock is a way to take blocks out of the page and put them in a persistent floating area on the side of the page
$THEME->enable_dock = false;
// Setting used to load specific CSS for some YUI JS
$THEME->yuicssmodules = array();
// The renderer factory, allows the theme to override any other renderer
$THEME->rendererfactory = 'theme_overridden_renderer_factory';
// List of blocks that are required to exist on all pages for this theme to function correctly
$THEME->requiredblocks = '';
// This is a feature that tells the blocks library not to use the "Add a block" block
$THEME->addblockposition = BLOCK_ADDBLOCK_POSITION_FLATNAV;
<?php
defined('MOODLE_INTERNAL') || die();
// ---------------------------------------------------------------------------
// ----- General
// ---------------------------------------------------------------------------
$string['pluginname'] = 'UNIGE';
$string['choosereadme'] = 'University of Geneva Moodle theme';
$string['region-side-pre'] = 'Right';
$string['my-courses'] = "My courses";
$string['course-catalogue'] = "Course catalogue";
$string['empty-category-alert'] = "There are no courses in this category yet";
$string['course-topics'] = "Course topics";
// ---------------------------------------------------------------------------
// ----- Settings
// ---------------------------------------------------------------------------
$string['settingstitle'] = 'UNIGE';
$string['generalsettings'] = 'General settings';
$string['brandcolor'] = 'Brand colour';
$string['brandcolor_desc'] = 'The accent colour.';
$string['navbar'] = 'Navbar';
$string['navigationmenu'] = 'Menu de navigation';
$string['navigationmenu_desc'] = "Le menu de navigation est le menu accessible depuis l'en-tête permettant de naviguer entre les pages importantes de Moodle.
Entrez ci-dessus la liste des URLs internes à Moodle à afficher dans le menu de navigation. Une URL interne à Moodle correspond à l'URL d'une page Moodle dépourvue de la racine du site. Par exemple, pour la page 'Catalogue des cours' l'URL interne à Moodle est '/course'. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'navbar-navigation-menu-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'navbar-navigation-menu-link-1', le second 'navbar-navigation-menu-link-2', etc.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 3 liens dans le menu.";
$string['redirectionmenu'] = 'Menu de redirection';
$string['redirectionmenu_desc'] = "Le menu de redirection est accessible dans l'en-tête au survol de l'inscription Moodle.unige.ch, il permet de se rediriger entre les services de l'université.
Entrez ci-dessus la liste des URLs à afficher dans le menu de redirection. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'navbar-redirection-menu-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'navbar-redirection-menu-link-1', le second 'navbar-redirection-menu-link-2', etc.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 7 liens dans le menu.";
$string['footer'] = 'Footer';
$string['footercolumnleft'] = 'Colonne de gauche';
$string['footercolumnleft_desc'] = "Entrez ci-dessus la liste des URLs à afficher dans la colonne de gauche du pied de page. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'footer-column-left-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'footer-column-left-link-1', le second 'footer-column-left-link-2', etc.
L'identifiant de traduction du titre de la colonne est footer-column-left-title.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 4 liens dans la colonne.";
$string['footercolumnmiddledisplay'] = 'Afficher la colonne du milieu';
$string['footercolumnmiddledisplay_desc'] = "Si cette page est décochée, la colonne du milieu du pied de page est masquée.";
$string['footercolumnmiddle'] = 'Colonne du milieu';
$string['footercolumnmiddle_desc'] = "Entrez ci-dessus la liste des URLs à afficher dans la colonne du milieu du pied de page. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'footer-column-middle-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'footer-column-middle-link-1', le second 'footer-column-middle-link-2', etc.
L'identifiant de traduction du titre de la colonne est footer-column-middle-title.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 4 liens dans la colonne.";
$string['footercolumnrightappiosurl'] = "Colonne de droite, URL de l'application iOS";
$string['footercolumnrightappiosurl_desc'] = "Entrez l'URL de l'application iOS Moodle Unige.
Note : L'identifiant de traduction du titre de la colonne de droite est 'footer-column-right-title'.";
$string['footercolumnrightappandroidurl'] = "Colonne de droite, URL de l'application Android";
$string['footercolumnrightappandroidurl_desc'] = "Entrez l'URL de l'application Android Moodle Unige.
Note : L'identifiant de traduction du titre de la colonne de droite est 'footer-column-right-title'.";
$string['advancedsettings'] = 'Advanced settings';
$string['rawscsspre'] = 'Raw initial SCSS';
$string['rawscsspre_desc'] = 'In this field you can provide initialising SCSS code, it will be injected before everything else. Most of the time you will use this setting to define variables.';
$string['rawscss'] = 'Raw SCSS';
$string['rawscss_desc'] = 'Use this field to provide SCSS or CSS code which will be injected at the end of the style sheet.';
// ---------------------------------------------------------------------------
// ----- Login
// ---------------------------------------------------------------------------
$string['UNIGE-account'] = "Compte UNIGE";
$string['HUG-account'] = "Compte HUG";
$string['VHO-account'] = "Compte VHO";
$string['other-swiss-universities-account'] = "Autres universités suisses";
// ---------------------------------------------------------------------------
// ----- Navbar
// ---------------------------------------------------------------------------
$string['navbar-navigation-menu-link-1'] = "My courses";
$string['navbar-navigation-menu-link-2'] = "Course catalogue";
$string['navbar-navigation-menu-link-3'] = "";
$string['navbar-redirection-menu-link-1'] = "Moodle";
$string['navbar-redirection-menu-link-2'] = "Mediaserver";
$string['navbar-redirection-menu-link-3'] = "Portfolio";
$string['navbar-redirection-menu-link-4'] = "Outlook";
$string['navbar-redirection-menu-link-5'] = "Portail";
$string['navbar-redirection-menu-link-6'] = "J'optimise mes études";
$string['navbar-redirection-menu-link-7'] = "";
// ---------------------------------------------------------------------------
// ----- Footer
// ---------------------------------------------------------------------------
$string['footer-column-left-title'] = "NEED HELP ?";
$string['footer-column-left-link-1'] = "Guide Moodle de l'étudiant (FR)";
$string['footer-column-left-link-2'] = "Moodle Student Guide (EN)";
$string['footer-column-left-link-3'] = "Help documentation";
$string['footer-column-left-link-4'] = "Helpdesk";
$string['footer-column-middle-title'] = "";
$string['footer-column-middle-link-1'] = "";
$string['footer-column-middle-link-2'] = "";
$string['footer-column-middle-link-3'] = "";
$string['footer-column-middle-link-4'] = "";
$string['footer-column-right-title'] = "APP MOODLE MOBILE";
<?php
defined('MOODLE_INTERNAL') || die();
// ---------------------------------------------------------------------------
// ----- General
// ---------------------------------------------------------------------------
$string['pluginname'] = 'UNIGE';
$string['choosereadme'] = "Thème Moodle de l'Université de Genève";
$string['region-side-pre'] = 'Droite';
$string['my-courses'] = "Mes cours";
$string['course-catalogue'] = "Catalogue des cours";
$string['empty-category-alert'] = "Il n'y a pas de cours dans cette catégorie";
$string['course-topics'] = "Sections de cours";
// ---------------------------------------------------------------------------
// ----- Settings
// ---------------------------------------------------------------------------
$string['settingstitle'] = 'UNIGE';
$string['generalsettings'] = 'Paramètres généraux';
$string['brandcolor'] = 'Couleur principale';
$string['brandcolor_desc'] = 'La couleur principale';
$string['navbar'] = 'En-tête';
$string['navigationmenu'] = 'Menu de navigation';
$string['navigationmenu_desc'] = "Le menu de navigation est le menu accessible depuis l'en-tête permettant de naviguer entre les pages importantes de Moodle.
Entrez ci-dessus la liste des URLs internes à Moodle à afficher dans le menu de navigation. Une URL interne à Moodle correspond à l'URL d'une page Moodle dépourvue de la racine du site. Par exemple, pour la page 'Catalogue des cours' l'URL interne à Moodle est '/course'. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'navbar-navigation-menu-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'navbar-navigation-menu-link-1', le second 'navbar-navigation-menu-link-2', etc.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 3 liens dans le menu.";
$string['redirectionmenu'] = 'Menu de redirection';
$string['redirectionmenu_desc'] = "Le menu de redirection est accessible dans l'en-tête au survol de l'inscription Moodle.unige.ch, il permet de se rediriger entre les services de l'université.
Entrez ci-dessus la liste des URLs à afficher dans le menu de redirection. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'navbar-redirection-menu-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'navbar-redirection-menu-link-1', le second 'navbar-redirection-menu-link-2', etc.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 7 liens dans le menu.";
$string['footer'] = 'Pied de page';
$string['footercolumnleft'] = 'Colonne de gauche';
$string['footercolumnleft_desc'] = "Entrez ci-dessus la liste des URLs à afficher dans la colonne de gauche du pied de page. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'footer-column-left-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'footer-column-left-link-1', le second 'footer-column-left-link-2', etc.
L'identifiant de traduction du titre de la colonne est footer-column-left-title.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 4 liens dans la colonne.";
$string['footercolumnmiddledisplay'] = 'Afficher la colonne du milieu';
$string['footercolumnmiddledisplay_desc'] = "Si cette page est décochée, la colonne du milieu du pied de page est masquée.";
$string['footercolumnmiddle'] = 'Colonne du milieu';
$string['footercolumnmiddle_desc'] = "Entrez ci-dessus la liste des URLs à afficher dans la colonne du milieu du pied de page. Les URLs doivent être séparées par des ; (points-virgules).
Les fichiers de traduction du thème doivent être mis à jour manuellement. Chaque lien du menu possède un identifiant de traduction sous la forme 'footer-column-middle-link-n', le 'n' étant la position du lien. Ainsi, le premier lien de la liste possède l'identifiant de traduction 'footer-column-middle-link-1', le second 'footer-column-middle-link-2', etc.
L'identifiant de traduction du titre de la colonne est footer-column-middle-title.
Pour des raisons de simplicité d'utilisation, merci de ne pas placer plus de 4 liens dans la colonne.";
$string['footercolumnrightappiosurl'] = "Colonne de droite, URL de l'application iOS";
$string['footercolumnrightappiosurl_desc'] = "Entrez l'URL de l'application iOS Moodle Unige.
Note : L'identifiant de traduction du titre de la colonne de droite est 'footer-column-right-title'.";
$string['footercolumnrightappandroidurl'] = "Colonne de droite, URL de l'application Android";
$string['footercolumnrightappandroidurl_desc'] = "Entrez l'URL de l'application Android Moodle Unige.
Note : L'identifiant de traduction du titre de la colonne de droite est 'footer-column-right-title'.";