Un bug DSM ?

DSM 6.0, DSM 6.1, DSM 6.2, DSM 7.0...
Répondre
Avatar du membre
Feneck91
Maître Jedi
Messages : 558
Enregistré le : 29 octobre 2015

Un bug DSM ?

Message par Feneck91 » 25 août 2016 21:41

Bonjour,

Je viens de passer une heure pour corriger sans comprendre le problème d'erreur 500 lorsque l'on clic sur une image dans la galerie dun forum phpBB !
Je me demande s'il ne s'agit pas d'un bug du paquet php 5.6 !
Dans une classe, voilà la fonction buggée :

Code : Tout sélectionner

	/**
	* Displays the box where the user can rate the image.
	*/
	public function display_box()
	{
		global $template, $user;

		$template->assign_var('GALLERY_RATING', self::MODE_SELECT);//@todo: phpbb_gallery_config::get('rating_mode'));

		switch (self::MODE_SELECT)//@todo: phpbb_gallery_config::get('rating_mode'))
		{
			//@todo: self::MODE_THUMB:
			//@todo: self::MODE_STARS:
			case self::MODE_SELECT:
			default:
				if ($this->album_data('contest_id'))
				{
					if (time() < ($this->album_data('contest_start') + $this->album_data('contest_rating')))
					{
						$template->assign_var('GALLERY_NO_RATING_MESSAGE', $user->lang('CONTEST_RATING_STARTS', $user->format_date(($this->album_data('contest_start') + $this->album_data('contest_rating')), false, true)));
						return;
					}
					if (($this->album_data('contest_start') + $this->album_data('contest_end')) < time())
					{
						$template->assign_var('GALLERY_NO_RATING_MESSAGE', $user->lang('CONTEST_RATING_ENDED', $user->format_date(($this->album_data('contest_start') + $this->album_data('contest_end')), false, true)));
						return;
					}
				}

				for ($i = 1; $i <= phpbb_gallery_config::get('max_rating'); $i++)
				{
					$template->assign_block_vars('rate_scale', array(
						'RATE_POINT'	=> $i,
					));
				}
			break;
		}

		$this->rating_enabled = true;
	}
Remplacé par :

Code : Tout sélectionner

	/**
	* Displays the box where the user can rate the image.
	*/
	public function display_box()
	{
		global $template, $user;

		$template->assign_var('GALLERY_RATING', self::MODE_SELECT);//@todo: phpbb_gallery_config::get('rating_mode'));

		switch (self::MODE_SELECT)//@todo: phpbb_gallery_config::get('rating_mode'))
		{
			//@todo: self::MODE_THUMB:
			//@todo: self::MODE_STARS:
			case self::MODE_SELECT:
			default:
				if ($this->album_data('contest_id'))
				{
					if (time() < ($this->album_data('contest_start') + $this->album_data('contest_rating')))
					{
						$template->assign_var('GALLERY_NO_RATING_MESSAGE', $user->lang('CONTEST_RATING_STARTS', $user->format_date(($this->album_data('contest_start') + $this->album_data('contest_rating')), false, true)));
						return;
					}
					if (($this->album_data('contest_start') + $this->album_data('contest_end')) < time())
					{
						$template->assign_var('GALLERY_NO_RATING_MESSAGE', $user->lang('CONTEST_RATING_ENDED', $user->format_date(($this->album_data('contest_start') + $this->album_data('contest_end')), false, true)));
						return;
					}
				}

				/* Pourquoi ce code fait tout planter lorsque l'on ouvre en grand une image ?
				for ($i = 1; $i <= phpbb_gallery_config::get('max_rating'); $i++)
				{
					$template->assign_block_vars('rate_scale', array(
						'RATE_POINT'	=> $i,
					));
				}
				*/
			break;
		}
		// Comme le switch / case est toujours fait, je déplace le code qui fait planter et le place ici et là, magique : ça marche !
		// C'est du grand n'importe quoi !!!
		for ($i = 1; $i <= phpbb_gallery_config::get('max_rating'); $i++)
		{
			$template->assign_block_vars('rate_scale', array(
				'RATE_POINT'	=> $i,
			));
		}

		$this->rating_enabled = true;
	}
Même un simple for sans rien dedans fait planter la fonction à l'endroit où je l'ai mise en commentaire ! Et là je suis perplexe !
Un problème avec la mise à jour de ce paquet ? Bizarre bizarre !!!!!!!!
Le code fait exactement la même chose mais une fois sortie du switch / case ça fonctionne !

Avatar du membre
FX Cachem
Site Admin
Messages : 7862
Enregistré le : 08 décembre 2013
Professionnel : Non
Localisation : Paris
Contact :

Re: Un bug DSM ?

Message par FX Cachem » 27 août 2016 19:19

C'est effectivement étrange...
Blogueur sur Cachem et administrateur du Forum des NAS
NAS : Synology DS412+ | Thecus N5550 | QNAP TS-470 Pro | ASUSTOR AS-302T

Avatar du membre
Feneck91
Maître Jedi
Messages : 558
Enregistré le : 29 octobre 2015

Re: Un bug DSM ?

Message par Feneck91 » 30 août 2016 13:45

Merci FX Cachem, ça m'aide beaucoup :mrgreen: !

Répondre

Retourner vers « Firmwares DSM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité