Added Feature to customize the logo of each StyleSheet - Refs #8118

1.10.x
José Loguercio 10 years ago
parent 9f6bf57e44
commit 0457341994
  1. 61
      main/admin/settings.lib.php

@ -229,7 +229,7 @@ function handle_stylesheets()
$form = new FormValidator(
'stylesheet_upload',
'post',
'settings.php?category=Stylesheets#tabs-2'
'settings.php?category=Stylesheets#tabs-3'
);
$form->addElement('text', 'name_stylesheet', get_lang('NameStylesheet'), array('size' => '40', 'maxlength' => '40'));
$form->addRule('name_stylesheet', get_lang('ThisFieldIsRequired'), 'required');
@ -362,6 +362,54 @@ function handle_stylesheets()
}
}
}
$logoForm = new FormValidator(
'logo_upload',
'post',
'settings.php?category=Stylesheets#tabs-2'
);
$dir = api_get_path(SYS_PUBLIC_PATH).'css/themes/' . $selected . '/images/';
$url = api_get_path(WEB_CSS_PATH).'themes/' . $selected . '/images/';
$newLogoFileName = 'header-logo.png';
$logoForm->addLabel(get_lang('CurrentLogo'), '<img src="'. $url . 'header-logo.png?' . time() . '">');
$logoForm->addFile('new_logo', get_lang('UpdateLogo'));
$allowedFileTypes = ['png'];
if (isset($_POST['logo_reset'])) {
if (is_file($dir.'header-logo-org.png')) {
unlink($dir.$newLogoFileName);
rename($dir.'header-logo-org.png', $dir.$newLogoFileName);
Display::display_normal_message(get_lang('Reset'));
}
} elseif (isset($_POST['logo_upload'])) {
$logoForm->addRule('new_logo', get_lang('InvalidExtension').' ('.implode(',', $allowedFileTypes).')', 'filetype', $allowedFileTypes);
$logoForm->addRule('new_logo', get_lang('ThisFieldIsRequired'), 'required');
if ($logoForm->validate()) {
$imageInfo = getimagesize($_FILES['new_logo']['tmp_name']);
$width = $imageInfo[0];
$height = $imageInfo[1];
if ($width <= 250 && $height <= 70 ) {
if (!is_file($dir.'header-logo-org.png')) {
rename($dir.$newLogoFileName, $dir.'header-logo-org.png');
}
$status = move_uploaded_file($_FILES['new_logo']['tmp_name'], $dir.$newLogoFileName);
if ($status) {
Display::display_normal_message(get_lang('Saved'));
} else {
Display::display_error_message('Error - '.get_lang('UplNoFileUploaded'));
}
} else {
Display::display_error_message('Error - '.get_lang('InvalidImageDimensions'));
}
}
}
if ($is_style_changeable) {
$group = [
@ -371,6 +419,13 @@ function handle_stylesheets()
];
$form_change->addGroup($group);
$logoGroup = [
$logoForm->addButtonUpload(get_lang('Upload'), 'logo_upload', true),
$logoForm->addButtonCancel(get_lang('Reset'), 'logo_reset', true)
];
$logoForm->addGroup($logoGroup);
if ($show_upload_form) {
echo '<script>
@ -379,8 +434,8 @@ function handle_stylesheets()
});
</script>';
echo Display::tabs(
array(get_lang('Update'), get_lang('UploadNewStylesheet')),
array($form_change->return_form(), $form->return_form())
array(get_lang('Update'),get_lang('UpdateLogo'), get_lang('UploadNewStylesheet')),
array($form_change->return_form(), $logoForm->return_form(), $form->return_form())
);
} else {
$form_change->display();

Loading…
Cancel
Save