diff --git a/main/admin/user_add.php b/main/admin/user_add.php index 4198b7bb3b..d899355106 100755 --- a/main/admin/user_add.php +++ b/main/admin/user_add.php @@ -143,9 +143,9 @@ $form->addElement('text', 'phone', get_lang('PhoneNumber')); $form->addFile( 'picture', get_lang('AddImage'), - array('id' => 'picture', 'class' => 'picture-form', 'crop_image' => true) + array('id' => 'picture', 'class' => 'picture-form', 'crop_image' => true, 'crop_ratio' => '1 / 1') ); -$allowed_picture_types = array ('jpg', 'jpeg', 'png', 'gif'); +$allowed_picture_types = api_get_supported_image_extensions(false); $form->addRule('picture', get_lang('OnlyImagesAllowed').' ('.implode(',', $allowed_picture_types).')', 'filetype', $allowed_picture_types); diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php index 3a5bff5ee3..98bd520b3f 100755 --- a/main/admin/user_edit.php +++ b/main/admin/user_edit.php @@ -290,9 +290,9 @@ if ($userGeolocalization) { $form->addFile( 'picture', get_lang('AddImage'), - array('id' => 'picture', 'class' => 'picture-form', 'crop_image' => true) + array('id' => 'picture', 'class' => 'picture-form', 'crop_image' => true, 'crop_ratio' => '1 / 1') ); -$allowed_picture_types = array ('jpg', 'jpeg', 'png', 'gif'); +$allowed_picture_types = api_get_supported_image_extensions(false); $form->addRule( 'picture', diff --git a/main/auth/profile.php b/main/auth/profile.php index 4e224619b8..aa3f0be624 100755 --- a/main/auth/profile.php +++ b/main/auth/profile.php @@ -340,14 +340,14 @@ if (is_profile_editable() && api_get_setting('profile', 'picture') == 'true') { ($user_data['picture_uri'] != '' ? get_lang('UpdateImage') : get_lang( 'AddImage' )), - array('id' => 'picture', 'class' => 'picture-form', 'crop_image' => true) + array('id' => 'picture', 'class' => 'picture-form', 'crop_image' => true, 'crop_ratio' => '16 / 9') ); $form->add_progress_bar(); if (!empty($user_data['picture_uri'])) { $form->addElement('checkbox', 'remove_picture', null, get_lang('DelImage')); } - $allowed_picture_types = api_get_supported_image_extensions(); + $allowed_picture_types = api_get_supported_image_extensions(false); $form->addRule( 'picture', get_lang('OnlyImagesAllowed').' ('.implode(', ', $allowed_picture_types).')', diff --git a/main/course_info/infocours.php b/main/course_info/infocours.php index dfc7008151..bb0ec781e9 100755 --- a/main/course_info/infocours.php +++ b/main/course_info/infocours.php @@ -150,7 +150,7 @@ $form->addFile( array('id' => 'picture', 'class' => 'picture-form', 'crop_image' => true) ); -$allowed_picture_types = array('jpg', 'jpeg', 'png', 'gif'); +$allowed_picture_types = api_get_supported_image_extensions(false); $form->addRule( 'picture', get_lang('OnlyImagesAllowed').' ('.implode(',', $allowed_picture_types).')', diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index ff3e4b4ff7..a8177ca4f8 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -7637,12 +7637,16 @@ function api_get_configuration_value($variable) /** * Returns supported image extensions in the portal + * @param bool $supportVectors Whether vector images should also be accepted or not * @return array Supported image extensions in the portal */ -function api_get_supported_image_extensions() +function api_get_supported_image_extensions($supportVectors = true) { // jpg can also be called jpeg, jpe, jfif and jif. See https://en.wikipedia.org/wiki/JPEG#JPEG_filename_extensions - $supportedImageExtensions = array('jpg', 'jpeg', 'png', 'gif', 'svg', 'jpe', 'jfif', 'jif'); + $supportedImageExtensions = array('jpg', 'jpeg', 'png', 'gif', 'jpe', 'jfif', 'jif'); + if ($supportVectors) { + array_push($supportedImageExtensions, 'svg'); + } if (version_compare(PHP_VERSION, '5.5.0', '>=')) { array_push($supportedImageExtensions, 'webp'); } diff --git a/main/inc/lib/pear/HTML/QuickForm/file.php b/main/inc/lib/pear/HTML/QuickForm/file.php index 814adfa11b..14037b3b75 100755 --- a/main/inc/lib/pear/HTML/QuickForm/file.php +++ b/main/inc/lib/pear/HTML/QuickForm/file.php @@ -272,9 +272,13 @@ class HTML_QuickForm_file extends HTML_QuickForm_input /** * @return string */ - public function getElementJS() + public function getElementJS($param) { $id = $this->getAttribute('id'); + $ratio = '16 / 9'; + if (!empty($param['ratio'])) { + $ratio = $param['ratio']; + } return '