Bonjour à tous,

Vous trouverez ci dessous un bout de code qui me semble optimisable d'une point de vue ligne de code. En effet, on teste un paramètre qui ne fait "que" change la table et la colonne à utiliser pour la sélection... Sauf que mon niveau actuel en php ne me permet pas de voir comment commencer... vous auriez une piste ? Merci.
Manu

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
		if (empty($data['vignette']))
		{
			$lvignette = "" ;
			switch ($params['gdisplay_colors'])
			{
				case 0: // AGENDA
					if (isset($data['agenda_id'])) 
					{
						$query = $db->getQuery(true);
						$query->select('vignette')->from('`#__agenda`')->where('id = ' . (int)$data['agenda_id']);
						$db->setQuery($query);
						$results = $db->loadObject();
						if ($results)
						{
							$lvignette = $results->vignette;
						}
					}
					break;
				case 1: // ACTIVITY
					if (isset($data['activity_id'])) 
					{
						$query = $db->getQuery(true);
						$query->select('vignette')->from('`#__activities`')->where('id = ' . (int)$data['activity_id']);
						$db->setQuery($query);
						$results = $db->loadObject();
						if ($results)
						{
							$lvignette = $results->vignette;
						}
					}
					break;
				case 2: // CATEGORY
					if (isset($data['category_id'])) 
					{
						$query = $db->getQuery(true);
						$query->select('vignette')->from('`#__categories`')->where('id = ' . (int)$data['category_id']);
						$db->setQuery($query);
						$results = $db->loadObject();
						if ($results)
						{
							$lvignette = $results->vignette;
						}
					}
					break;
			}
			$data['vignette'] = $lvignette ;
		}