DAY-2 Correctif  du code source  upload_logo

DAY-2 Correctif du code source upload_logo

^proposition du code ci4 upgrade vers une version stable, gestion upload_logo // IN /root/app/Controllers/Config.php
Catégories

JOUR 2
merci @owlbrudder

explication suivante :
la mise à jour du logo de l'entreprise dans sa version originale fonctionne mais génère deux erreurs critiques dans php 8.2 -- php8.3
je m'explique ho, tout commence par le formulaire info_config.php

lors de la validation de "changer l'image" sur le POST vers la méthode postSaveInfo du contrôleur /root/app/Controllers/Config.php

  1. $upload_success = !empty($upload_data['erreur']); la variable $upload_success n'est pas chargée ( !isset ) et provoque une erreur critique à la ligne 357 $message = $upload_success ? $message : strip_tags($upload_data['erreur']);
  2. correctif dans la méthode upload_logo.
  3. // Informations sur la méthode upload_logo() : si $file->guessExtension() est chargé après la fonction de déplacement, cela ne fonctionne pas ( /tmp/file_tmp est déplacé)

coded

	private function upload_logo(): array
	{
		helper(['form']);
		$validation_rule = [
			'company_logo' => [
				'label' => 'Company logo',
				'rules' => [
					'uploaded[company_logo]',
					'is_image[company_logo]',
					'max_size[company_logo,1024]',
					'mime_in[company_logo,image/png,image/jpg,image/gif]',
					'ext_in[company_logo,png,jpg,gif]',
					'max_dims[company_logo,800,680]',
				]
			]
		];

		if (!$this->validate($validation_rule))
		{
			return (['error' => $this->validator->getError('company_logo')]);
		}
		else
		{
			$file = $this->request->getFile('company_logo');

			$file_info = [
				'orig_name' => $file->getClientName(),
				'raw_name' => $file->getName(),
				'file_ext' => $file->guessExtension(),
				'error'	   => ''
			];

			 if (! $file->hasMoved()) {
				 $file->move(FCPATH.'uploads/');
				 $success = $this->appconfig->save(['company_logo' => $file->getClientName()]);
			}

			return ($file_info);
		}
	}
 

the $file_info = [...] block is moved up and an 'error' key is added to initialize the value to empty.
I hope this will be clear enough because I'm doing it with what I have.
bye see you tomorrow
PS // INFOS: https://stackoverflow.com/questions/58728648/how-to-display-uploaded-images-in-codeigniter-4

commentaires

Articles Similaires

JOUR-3 diverses correction du code, erreur critiques

JOUR-3 diverses correction du code, erreur critiques

Diverses correctifs à appliquer provoquant une erreur critique
 DAY-1 Correctif  du code source remove_logo

DAY-1 Correctif du code source remove_logo

^proposition du code ci4 upgrade vers une version stable, gestion remove_logo // IN /root/app/Controllers/Config.php