Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[Liste des membres] Modifier le tri par défaut

Flammeche
Avatar de NumberEight
  • Age : 25 ans
  • Messages : 44
  • Inscrit : 13 Janvier 2007
  Lien vers ce message 11 Mai 2008, 15:26
Bonjour à tous!
J'ai voulu modifier le tri par défaut de la liste des membres.
Je suis donc allé voir dans main/forum/forum_userlist.php et, je vois dès la ligne 25 :
	public $order = 'u_total_post';
	public $direction = 'DESC';
	public $limit = 30;


Et là je me dis "Super! Tout est initialisé dès le début du fichier!". Je remplace donc ces trois lignes par quelque chose qui me convient, du type :
	public $order = 'u_last_visit';
	public $direction = 'DESC';
	public $limit = 50;


Je sauvegarde mon fichier, je clique sur Membres et...rien n'a changé... Bizarre! Je lance donc une recherche sur un $this->order dans mon fichier et je tombe là-dessus :
		$this->order =			Http::request('order', 'post|get');
		...
		$this->direction =		strtoupper(Http::request('direction', 'post|get'));
		...
		$this->limit =			intval(Http::request('limit', 'post|get'));


Ah ben oui, évidement, on remplace le tout par ce qui est passé dans l'URL. Et si rien n'est dans l'URL alors??? Je continue donc ma recherche ce qui m'amène à :

		if (!$this->order || !in_array($this->order, $this->order_array))
		{
			$this->order = 'u_total_post';
		}

		if ($this->direction != 'ASC' && $this->direction != 'DESC')
		{
			$this->direction = 'DESC';
		}

		if (!$this->limit || $this->limit <= 0)
		{
			$this->limit = 30;
		}

Et voici les valeurs à changer!
Ma question est la suivante : pourquoi initialiser des variables à une certaine valeur si c'est pour l'écraser aussitôt après puis, peut-être lui remettre cette valeur?
Même si ça va vite à trouver, un novice n'a pas forcément l'envie de se plonger dans le code pour aller modifier ces valeurs alors qu'il croit avoir trouvé la solution en début de fichier. Ne serait-il pas préférable d'ajouter une variable pour mémoriser la valeur par défaut?
Par exemple :
class Fsb_frame_child extends Fsb_frame
{
	[...]
	public $default_order = 'u_total_post';
	public $default_direction = 'DESC';
	public $default_limit = 30;
	[...]
	public function main()
	{
		[...]
		$this->order =			Http::request('order', 'post|get');
		...
		$this->direction =		strtoupper(Http::request('direction', 'post|get'));
		...
		$this->limit =			intval(Http::request('limit', 'post|get'));
		[...]
		if (!$this->order || !in_array($this->order, $this->order_array))
		{
			$this->order = $this->default_order;
		}

		if ($this->direction != 'ASC' && $this->direction != 'DESC')
		{
			$this->direction = $this->default_direction;
		}

		if (!$this->limit || $this->limit <= 0)
		{
			$this->limit = $this->default_limit;
		}


Qu'en pensez-vous?

Merci de votre attention!


NumberEight
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14256
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 12 Mai 2008, 15:52
Sujet archivé pour la raison suivante : Modification appliquée dans la version en développement.


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Répondre


.