Skip to content

Commit

Permalink
Merge branch 'wip-mdl-27862' of git://github.com/rajeshtaneja/moodle
Browse files Browse the repository at this point in the history
  • Loading branch information
Aparup Banerjee committed Mar 13, 2012
2 parents 1fdd48c + c069c01 commit 387fb66
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 16 deletions.
6 changes: 5 additions & 1 deletion lang/en/admin.php
Expand Up @@ -378,6 +378,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';
Expand Down Expand Up @@ -884,6 +885,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';
Expand Down Expand Up @@ -947,7 +950,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';
Expand All @@ -964,6 +967,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';
Expand Down
52 changes: 37 additions & 15 deletions theme/index.php
Expand Up @@ -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');

Expand All @@ -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.
Expand Down Expand Up @@ -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) {
Expand All @@ -103,6 +104,7 @@
}

$screenshotcell = $strthemenotselected;
$unsetthemebutton = '';
if ($themename) {
// Check the theme exists
$themename = clean_param($themename, PARAM_THEME);
Expand All @@ -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();
Expand Down Expand Up @@ -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);

Expand Down

0 comments on commit 387fb66

Please sign in to comment.