Permalink
Browse files

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

…dle into MOODLE_22_STABLE
  • Loading branch information...
2 parents 298dd4c + 495baea commit c04109fcb1c32e441cc22a18e869c31be16df4ca @nebgor nebgor committed Mar 13, 2012
Showing with 42 additions and 16 deletions.
  1. +5 −1 lang/en/admin.php
  2. +37 −15 theme/index.php
View
@@ -376,6 +376,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';
@@ -875,6 +876,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';
@@ -938,7 +941,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';
@@ -955,6 +958,7 @@
$string['unicoderecommended'] = 'Storing all your data in Unicode (UTF-8) is recommended. New installations should be performed into databases that have their default character set as Unicode. If you are upgrading, you should perform the UTF-8 migration process (see the Admin page).';
$string['unicoderequired'] = 'It is required that you store all your data in Unicode format (UTF-8). New installations must be performed into databases that have their default character set as Unicode. If you are upgrading, you should perform the UTF-8 migration process (see the Admin page).';
$string['uninstallplugin'] = 'Uninstall';
+$string['unsettheme'] = 'Unset theme';
$string['unsupported'] = 'Unsupported';
$string['unsuspenduser'] = 'Activate user account';
$string['updateaccounts'] = 'Update existing accounts';
View
@@ -25,6 +25,7 @@
$choose = optional_param('choose', '', PARAM_PLUGIN);
$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 c04109f

Please sign in to comment.