Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17315 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 17315 Rev 17316
Línea 1038... Línea 1038...
1038
                }
1038
                }
1039
            } else {
1039
            } else {
1040
                $form = new ProfileCoverForm($this->config);
1040
                $form = new ProfileCoverForm($this->config);
1041
                $files = $request->getFiles()->toArray();
1041
                $files = $request->getFiles()->toArray();
Línea -... Línea 1042...
-
 
1042
 
-
 
1043
                // Debug file upload data
-
 
1044
                $this->logger->info('Cover upload attempt', [
-
 
1045
                    'files' => $files,
-
 
1046
                    'has_cover' => isset($files['cover']),
-
 
1047
                    'error_code' => isset($files['cover']) ? $files['cover']['error'] : 'no cover field'
-
 
1048
                ]);
1042
 
1049
 
1043
                $form->setData($files);
1050
                $form->setData($files);
Línea 1044... Línea 1051...
1044
                $storage->setFiles($files);
1051
                $storage->setFiles($files);
1045
 
-
 
1046
                if ($form->isValid()) {
1052
 
1047
 
-
 
-
 
1053
                if ($form->isValid()) {
1048
                    if (!empty($files['cover']['error'])) {
1054
                    if (!empty($files['cover']['error'])) {
1049
 
1055
                        $this->logger->error('Cover upload error', ['error_code' => $files['cover']['error']]);
1050
                        return new JsonModel([
1056
                        return new JsonModel([
1051
                            'success'   => false,
1057
                            'success'   => false,
1052
                            'data'   =>  'ERROR_UPLOAD_FILE'
1058
                            'data'   =>  'ERROR_UPLOAD_FILE'
Línea 1053... Línea 1059...
1053
                        ]);
1059
                        ]);
1054
                    }
1060
                    }
-
 
1061
 
1055
 
1062
                    // Verificar y establecer el nombre de archivo actual
1056
                    // Verificar y establecer el nombre de archivo actual
1063
                    if (!$storage->setCurrentFilename('cover')) {
1057
                    if (!$storage->setCurrentFilename('image')) {
1064
                        $this->logger->error('Failed to set current filename for cover');
1058
                        return new JsonModel([
1065
                        return new JsonModel([
1059
                            'success'   => false,
1066
                            'success'   => false,
Línea 1064... Línea 1071...
1064
                    // Obtener dimensiones objetivo para el redimensionamiento
1071
                    // Obtener dimensiones objetivo para el redimensionamiento
1065
                    list($target_width_str, $target_height_str) = explode('x', $this->config['leaderslinked.image_sizes.company_cover_size']);
1072
                    list($target_width_str, $target_height_str) = explode('x', $this->config['leaderslinked.image_sizes.company_cover_size']);
1066
                    $target_width = (int)$target_width_str;
1073
                    $target_width = (int)$target_width_str;
1067
                    $target_height = (int)$target_height_str;
1074
                    $target_height = (int)$target_height_str;
Línea -... Línea 1075...
-
 
1075
 
-
 
1076
                    // Debug resize parameters
-
 
1077
                    $this->logger->info('Cover resize parameters', [
-
 
1078
                        'target_width' => $target_width,
-
 
1079
                        'target_height' => $target_height
-
 
1080
                    ]);
1068
 
1081
 
1069
                    // Generar nombres de archivo únicos
1082
                    // Generar nombres de archivo únicos
1070
                    $source = $storage->getTmpFilename();
1083
                    $source = $storage->getTmpFilename();
1071
                    $filename = 'company-cover-' . uniqid() . '.png';
1084
                    $filename = 'company-cover-' . uniqid() . '.png';
Línea -... Línea 1085...
-
 
1085
                    $target_filename = $storage->composePathToFilename(Storage::TYPE_COMPANY, $company->uuid, $filename);
-
 
1086
 
-
 
1087
                    // Debug file paths
-
 
1088
                    $this->logger->info('Cover file paths', [
-
 
1089
                        'source' => $source,
-
 
1090
                        'target' => $target_filename
1072
                    $target_filename = $storage->composePathToFilename(Storage::TYPE_COMPANY, $company->uuid, $filename);
1091
                    ]);
1073
 
1092
 
-
 
1093
                    // Subir y redimensionar la imagen  
1074
                    // Subir y redimensionar la imagen  
1094
                    if (!$storage->uploadImageResize($source, $target_filename, $target_width, $target_height)) {
1075
                    if (!$storage->uploadImageResize($source, $target_filename, $target_width, $target_height)) {
1095
                        $this->logger->error('Failed to resize and upload cover image');
1076
                        return new JsonModel([
1096
                        return new JsonModel([
1077
                            'success'   => false,
1097
                            'success'   => false,
1078
                            'data'   =>  'ERROR_THERE_WAS_AN_ERROR'
1098
                            'data'   =>  'ERROR_THERE_WAS_AN_ERROR'
Línea 1079... Línea 1099...
1079
                        ]);
1099
                        ]);
1080
                    }
1100
                    }
1081
 
1101
 
1082
                    // Eliminar la imagen anterior si existe
1102
                    // Eliminar la imagen anterior si existe
1083
                    if ($company->cover) {
1103
                    if ($company->cover) {
1084
                        if (!$storage->deleteFile($target_company_path, $company->uuid, $company->image)) {
1104
                        if (!$storage->deleteFile($target_company_path, $company->uuid, $company->cover)) {
Línea 1085... Línea 1105...
1085
                            return $this->_createSimpleErrorResponse('ERROR_THERE_WAS_AN_ERROR');
1105
                            $this->logger->error('Failed to delete old cover image');
1086
                        }
1106
                        }
-
 
1107
                    }
-
 
1108
 
-
 
1109
                    $company->cover = $filename;
1087
                    }
1110
                    if (!$companyMapper->updateCover($company)) {
-
 
1111
                        $this->logger->error('Failed to update company cover in database');
1088
 
1112
                        return new JsonModel([
Línea 1089... Línea 1113...
1089
                    $company->cover = $target_filename;
1113
                            'success'   => false,
-
 
1114
                            'data'   =>  'ERROR_THERE_WAS_AN_ERROR'
-
 
1115
                        ]);
-
 
1116
                    }
1090
                    if (!$companyMapper->updateCover($company)) {
1117
 
1091
                        return $this->_createSimpleErrorResponse('ERROR_THERE_WAS_AN_ERROR');
1118
                    $this->logger->info('Cover image updated successfully', [
1092
                    }
1119
                        'company' => $company->name,
1093
 
1120
                        'filename' => $filename
1094
                    $this->logger->info('Se actualizo el cover  de la empresa ' . $company->name, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
1121
                    ]);