Permalink
Browse files

Merge branch 'wip-mdl-27862-m21' of git://github.com/rajeshtaneja/moo…

…dle into MOODLE_21_STABLE
  • Loading branch information...
nebgor committed Mar 13, 2012
2 parents 361492a + d383e08 commit a5d7e18abe554e17cd9eb7703cddd70f2649bcb8
Showing with 42 additions and 16 deletions.
  1. +5 −1 lang/en/admin.php
  2. +37 −15 theme/index.php
View
@@ -392,6 +392,7 @@
$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['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['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';
@@ -1002,6 +1005,7 @@
$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';
View
@@ -25,6 +25,7 @@
$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 @@
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,27 +71,28 @@
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
// 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');
$strthemeselect = get_string('themeselect', 'admin');
// 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) {
@@ -103,6 +104,7 @@
}
$screenshotcell = $strthemenotselected;
+ $unsetthemebutton = '';
if ($themename) {
// Check the theme exists
$themename = clean_param($themename, PARAM_THEME);
@@ -118,21 +120,28 @@
// 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()));
$select = new single_button($deviceurl, $strthemeselect, 'get');
$table->data[] = array(
- $device,
+ $OUTPUT->heading(ucfirst($device), 3),
$screenshotcell,
- $headingthemename . $OUTPUT->render($select)
+ $headingthemename . $OUTPUT->render($select) . $unsetthemebutton
);
}
} 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();
@@ -183,17 +192,30 @@
// 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;
$table->data[$themename] = $row;
$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, 'device' => $device)), get_string('themeresetcaches', 'admin'));
echo html_writer::table($table);

0 comments on commit a5d7e18

Please sign in to comment.