From 960838e0f13c19cd22920ee4b26cb81d70fa1a34 Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Fri, 24 Feb 2012 09:19:12 +0800 Subject: [PATCH 1/5] MDL-27862 Themes: Strings updated on theme selection pages --- lang/en/admin.php | 5 ++++- theme/index.php | 15 ++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lang/en/admin.php b/lang/en/admin.php index 6f70f51c11d..dd95248be8a 100644 --- a/lang/en/admin.php +++ b/lang/en/admin.php @@ -392,6 +392,7 @@ $string['curlrecommended'] = 'Installing the optional cURL library is highly rec $string['curlrequired'] = 'The cURL PHP extension is now required by Moodle, in order to communicate with Moodle repositories.'; $string['curltimeoutkbitrate'] = 'Bitrate to use when calculating cURL timeouts (Kbps)'; $string['curltimeoutkbitrate_help'] = 'This setting is used to calculate an appropriate timeout during large cURL requests. As part of this calculation an HTTP HEAD request is made to determine the size of the content. Setting this to 0 disables this request from being made.'; +$string['currenttheme'] = 'Current theme'; $string['customcheck'] = 'Other checks'; $string['custommenu'] = 'Custom menu'; $string['custommenuitems'] = 'Custom menu items'; @@ -924,6 +925,8 @@ $string['searchresults'] = 'Search results'; $string['sectionerror'] = 'Section error!'; $string['secureforms'] = 'Use additional form security'; $string['security'] = 'Security'; +$string['selectdevice'] = 'Select device'; +$string['selecttheme'] = 'Select theme for {$a} device'; $string['server'] = 'Server'; $string['serverchecks'] = 'Server checks'; $string['serverlimit'] = 'Server limit'; @@ -985,7 +988,7 @@ $string['themedesignermode'] = 'Theme designer mode'; $string['themelist'] = 'Theme list'; $string['themenoselected'] = 'No theme selected'; $string['themeresetcaches'] = 'Clear theme caches'; -$string['themeselect'] = 'Select theme'; +$string['themeselect'] = 'Change theme'; $string['themeselector'] = 'Theme selector'; $string['themesettings'] = 'Theme settings'; $string['therewereerrors'] = 'There were errors in your data'; diff --git a/theme/index.php b/theme/index.php index 7424d2b3859..a2b19f16bf8 100644 --- a/theme/index.php +++ b/theme/index.php @@ -76,14 +76,11 @@ if ($reset and confirm_sesskey()) { // Otherwise, show either a list of devices, or is enabledevicedetection set to no or a // device is specified show a list of themes. -echo $OUTPUT->header('themeselector'); -echo $OUTPUT->heading(get_string('themes')); - -echo $OUTPUT->single_button(new moodle_url('index.php', array('sesskey' => sesskey(), 'reset' => 1)), get_string('themeresetcaches', 'admin')); - $table = new html_table(); $table->data = array(); +$heading = ''; if (!empty($CFG->enabledevicedetection) && empty($device)) { + $heading = get_string('selectdevice', 'admin'); // Display a list of devices that a user can select a theme for. $strthemenotselected = get_string('themenoselected', 'admin'); @@ -91,7 +88,7 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { // Display the device selection screen $table->id = 'admindeviceselector'; - $table->head = array(get_string('devicetype', 'admin'), get_string('theme'), get_string('info')); + $table->head = array(get_string('devicetype', 'admin'), get_string('currenttheme', 'admin'), get_string('info')); $devices = get_device_type_list(); foreach ($devices as $device) { @@ -132,7 +129,7 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { } else { // Either a device has been selected of $CFG->enabledevicedetection is off so display a list // of themes to select. - + $heading = get_string('selecttheme', 'admin', $device); if (empty($device)) { // if $CFG->enabledevicedetection is off this will return 'default' $device = get_device_type(); @@ -194,6 +191,10 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { $table->rowclasses[$themename] = join(' ', $rowclasses); } } +echo $OUTPUT->header('themeselector'); +echo $OUTPUT->heading($heading); + +echo $OUTPUT->single_button(new moodle_url('index.php', array('sesskey' => sesskey(), 'reset' => 1)), get_string('themeresetcaches', 'admin')); echo html_writer::table($table); From 2942426ff47bdba4f374d4db7a53bf769c4d0188 Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Fri, 24 Feb 2012 12:06:13 +0800 Subject: [PATCH 2/5] MDL-27862 Themes: Added button to un-select theme for devices, except default device --- lang/en/admin.php | 1 + theme/index.php | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lang/en/admin.php b/lang/en/admin.php index dd95248be8a..ad98dc67ad6 100644 --- a/lang/en/admin.php +++ b/lang/en/admin.php @@ -1005,6 +1005,7 @@ $string['unicodeupgradenotice'] = 'In Moodle 1.6 we have migrated all languages $string['uninstall'] = 'Uninstall selected language pack'; $string['uninstallconfirm'] = 'You are about to completely uninstall language pack {$a}, are you sure?'; $string['uninstallplugin'] = 'Uninstall'; +$string['unsettheme'] = 'Unset theme'; $string['unsupported'] = 'Unsupported'; $string['updateaccounts'] = 'Update existing accounts'; $string['updatecomponent'] = 'Update component'; diff --git a/theme/index.php b/theme/index.php index a2b19f16bf8..f398dd153b6 100644 --- a/theme/index.php +++ b/theme/index.php @@ -25,6 +25,7 @@ require_once($CFG->libdir . '/adminlib.php'); $choose = optional_param('choose', '', PARAM_SAFEDIR); $reset = optional_param('reset', 0, PARAM_BOOL); $device = optional_param('device', '', PARAM_TEXT); +$unsettheme = optional_param('unsettheme', 0, PARAM_BOOL); admin_externalpage_setup('themeselector'); @@ -42,8 +43,7 @@ unset($SESSION->theme); if ($reset and confirm_sesskey()) { theme_reset_all_caches(); -} else if ($choose && $device && confirm_sesskey()) { - +} else if ($choose && $device && !$unsettheme && confirm_sesskey()) { // Load the theme to make sure it is valid. $theme = theme_config::load($choose); // Get the config argument for the chosen device. @@ -71,6 +71,10 @@ if ($reset and confirm_sesskey()) { echo $output->continue_button($CFG->wwwroot . '/theme/index.php'); echo $output->footer(); exit; +} else if ($device && $unsettheme && confirm_sesskey() && ($device != 'default')) { + //Unset the theme and continue. + unset_config(get_device_cfg_var_name($device)); + $device = ''; } // Otherwise, show either a list of devices, or is enabledevicedetection set to no or a @@ -100,6 +104,7 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { } $screenshotcell = $strthemenotselected; + $unsetthemebutton = ''; if ($themename) { // Check the theme exists $themename = clean_param($themename, PARAM_THEME); @@ -115,6 +120,13 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { // Show the name of the picked theme $headingthemename = $OUTPUT->heading($strthemename, 3); } + // If not default device then show option to unset theme. + if ($device != 'default') { + $unsetthemestr = get_string('unsettheme', 'admin'); + $unsetthemeurl = new moodle_url('/theme/index.php', array('device' => $device, 'sesskey' => sesskey(), 'unsettheme' => true)); + $unsetthemebutton = new single_button($unsetthemeurl, $unsetthemestr, 'get'); + $unsetthemebutton = $OUTPUT->render($unsetthemebutton); + } } $deviceurl = new moodle_url('/theme/index.php', array('device' => $device, 'sesskey' => sesskey())); @@ -123,7 +135,7 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { $table->data[] = array( $device, $screenshotcell, - $headingthemename . $OUTPUT->render($select) + $headingthemename . $OUTPUT->render($select) . $unsetthemebutton ); } } else { From c6a49f7b24c1a391d1b8a0a4da84687aa02b2ded Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Wed, 7 Mar 2012 11:33:12 +0800 Subject: [PATCH 3/5] MDL-27862 Themes: replaced disabled use theme button with unset theme button --- theme/index.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/theme/index.php b/theme/index.php index f398dd153b6..71118788596 100644 --- a/theme/index.php +++ b/theme/index.php @@ -192,10 +192,19 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { // Contents of the second cell. $infocell = $OUTPUT->heading($strthemename, 3); - // Button to choose this as the main theme - $maintheme = new single_button(new moodle_url('/theme/index.php', array('device' => $device, 'choose' => $themename, 'sesskey' => sesskey())), get_string('usetheme'), 'get'); - $maintheme->disabled = $ischosentheme; - $infocell .= $OUTPUT->render($maintheme); + // Button to choose this as the main theme or unset this theme for + // devices other then default + if (($ischosentheme) && ($device != 'default')) { + $unsetthemestr = get_string('unsettheme', 'admin'); + $unsetthemeurl = new moodle_url('/theme/index.php', array('device' => $device, 'unsettheme' => true, 'sesskey' => sesskey())); + $unsetbutton = new single_button($unsetthemeurl, $unsetthemestr, 'get'); + $infocell .= $OUTPUT->render($unsetbutton); + } else if ((!$ischosentheme)) { + $setthemestr = get_string('usetheme'); + $setthemeurl = new moodle_url('/theme/index.php', array('device' => $device, 'choose' => $themename, 'sesskey' => sesskey())); + $setthemebutton = new single_button($setthemeurl, $setthemestr, 'get'); + $infocell .= $OUTPUT->render($setthemebutton); + } $row[] = $infocell; From ad3635a3658b2c6f0ae2b48640777d9341144a9b Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Wed, 7 Mar 2012 11:45:45 +0800 Subject: [PATCH 4/5] MDL-27862 Themes: clear theme cache button will redirect to the page on which it was pressed --- theme/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theme/index.php b/theme/index.php index 71118788596..a5b55827d6c 100644 --- a/theme/index.php +++ b/theme/index.php @@ -215,7 +215,7 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { echo $OUTPUT->header('themeselector'); echo $OUTPUT->heading($heading); -echo $OUTPUT->single_button(new moodle_url('index.php', array('sesskey' => sesskey(), 'reset' => 1)), get_string('themeresetcaches', 'admin')); +echo $OUTPUT->single_button(new moodle_url('index.php', array('sesskey' => sesskey(), 'reset' => 1, 'device' => $device)), get_string('themeresetcaches', 'admin')); echo html_writer::table($table); From d383e08886c516989a6e36f04e72bff6ef87044d Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Fri, 9 Mar 2012 16:52:52 +0800 Subject: [PATCH 5/5] MDL-27862 Themes: Device name first letter is capital and font is made similar to theme name font --- theme/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theme/index.php b/theme/index.php index a5b55827d6c..927ad4a50b3 100644 --- a/theme/index.php +++ b/theme/index.php @@ -133,7 +133,7 @@ if (!empty($CFG->enabledevicedetection) && empty($device)) { $select = new single_button($deviceurl, $strthemeselect, 'get'); $table->data[] = array( - $device, + $OUTPUT->heading(ucfirst($device), 3), $screenshotcell, $headingthemename . $OUTPUT->render($select) . $unsetthemebutton );