diff --git a/main/inc/lib/extra_field.lib.php b/main/inc/lib/extra_field.lib.php index cb98338cc6..5ef52776c0 100755 --- a/main/inc/lib/extra_field.lib.php +++ b/main/inc/lib/extra_field.lib.php @@ -1368,9 +1368,9 @@ EOF; case ExtraField::FIELD_TYPE_FILE_IMAGE: $fieldVariable = "extra_{$field_details['variable']}"; - $fieldTexts = array( + $fieldTexts = [ $field_details['display_text'] - ); + ]; if (is_array($extraData) && array_key_exists($fieldVariable, $extraData)) { @@ -1378,22 +1378,26 @@ EOF; $fieldTexts[] = Display::img( api_get_path(WEB_UPLOAD_PATH) . $extraData[$fieldVariable], $field_details['display_text'], - array('width' => '300') + ['width' => '300'] ); } } + if ($fieldTexts[0] === 'Image') { + $fieldTexts[0] = get_lang($fieldTexts[0]); + } + $form->addElement( 'file', $fieldVariable, $fieldTexts, - array('accept' => 'image/*') + ['accept' => 'image/*', 'id' => 'extra_image'] ); $form->applyFilter('extra_'.$field_details['variable'], 'stripslashes'); $form->applyFilter('extra_'.$field_details['variable'], 'trim'); - $allowed_picture_types = array ('jpg', 'jpeg', 'png', 'gif'); + $allowed_picture_types = ['jpg', 'jpeg', 'png', 'gif']; $form->addRule( 'extra_'.$field_details['variable'], get_lang('OnlyImagesAllowed') . ' ('.implode(',', $allowed_picture_types).')', diff --git a/main/inc/lib/extra_field_value.lib.php b/main/inc/lib/extra_field_value.lib.php index b7d34c3585..3f862f2250 100755 --- a/main/inc/lib/extra_field_value.lib.php +++ b/main/inc/lib/extra_field_value.lib.php @@ -222,7 +222,13 @@ class ExtraFieldValue extends Model } if ($value['error'] == 0) { + + //Crop the image to adjust 4:3 ratio + $crop = new Image($value['tmp_name']); + $crop->crop($value['crop_parameters']); + $imageExtraField = new Image($value['tmp_name']); + $imageExtraField->resize(400); $imageExtraField->send_image($fileDir . $fileName, -1, 'png'); $newParams = array( 'item_id' => $params['item_id'], diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 3fa467741e..618dc1fab3 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -1334,7 +1334,7 @@ class SessionManager * @param integer $sessionCategoryId * @param int $visibility * @param string $description - * @param bool $showDescription + * @param int $showDescription * @param int $duration * @param array $extraFields * @param int $sessionAdminId diff --git a/main/session/session_add.php b/main/session/session_add.php index 7715fa1987..04842639d1 100644 --- a/main/session/session_add.php +++ b/main/session/session_add.php @@ -22,6 +22,57 @@ api_protect_limit_for_session_admin(); $formSent=0; $errorMsg=''; +// Crop picture plugin for session images +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = ''; + $interbreadcrumb[] = array( 'url' => 'session_list.php', 'name' => get_lang('SessionList'), @@ -141,6 +192,21 @@ $(function() { }); '; +$form->addHtml('' + . '
' + . '' + . '
' + . '
' + . '' + . '
' + . '
' + . '' + . '
' + . '
' + . '
' + . ''); +$form->addHidden('cropResult', ''); + $form->addButtonNext(get_lang('NextStep')); if (!$formSent) { @@ -171,14 +237,19 @@ if ($form->validate()) { $description = $params['description']; $showDescription = isset($params['show_description']) ? 1: 0; $sendSubscriptionNotification = isset($params['send_subscription_notification']); + $isThisImageCropped = isset($params['cropResult']); - $extraFields = array(); + $extraFields = []; foreach ($params as $key => $value) { if (strpos($key, 'extra_') === 0) { $extraFields[$key] = $value; } } + if (isset($extraFields['extra_image']) && $isThisImageCropped) { + $extraFields['extra_image']['crop_parameters'] = $params['cropResult']; + } + $return = SessionManager::create_session( $name, $startDate, diff --git a/main/session/session_edit.php b/main/session/session_edit.php index 97a0d8e654..015a7bd6a5 100644 --- a/main/session/session_edit.php +++ b/main/session/session_edit.php @@ -14,6 +14,57 @@ $this_section = SECTION_PLATFORM_ADMIN; $formSent = 0; +// Crop picture plugin for session images +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = ''; + // Database Table Definitions $tbl_user = Database::get_main_table(TABLE_MAIN_USER); $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); @@ -120,6 +171,21 @@ $(function() { }); '; +$form->addHtml('' + . '
' + . '' + . '
' + . '
' + . '' + . '
' + . '
' + . '' + . '
' + . '
' + . '
' + . ''); +$form->addHidden('cropResult', ''); + $form->addButtonUpdate(get_lang('ModifyThisSession')); $formDefaults = $sessionInfo; @@ -156,14 +222,19 @@ if ($form->validate()) { $description = $params['description']; $showDescription = isset($params['show_description']) ? 1: 0; $sendSubscriptionNotification = isset($params['send_subscription_notification']); + $isThisImageCropped = isset($params['cropResult']); - $extraFields = array(); + $extraFields = []; foreach ($params as $key => $value) { if (strpos($key, 'extra_') === 0) { $extraFields[$key] = $value; } } + if (isset($extraFields['extra_image']) && $isThisImageCropped) { + $extraFields['extra_image']['crop_parameters'] = $params['cropResult']; + } + $return = SessionManager::edit_session( $id, $name,