J'ai un petit soucis,

pour mon BTS j'ai fais une activité, un tag board (ou shoutbox) en php avec une classe message dedans.

je créé un tableau $smileys
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
private $list = array();
$this->list[] = array('smiley' => ':)', 'text' => '<img src="smileypack/biggrin.gif" alt="smile" />&nbsp;');
$this->list[] = array('smiley' => ':blink:', 'text' => '<img src="smileypack/blink.gif" alt="blink" />&nbsp;');
$this->list[] = array('smiley' => ':blush:', 'text' =>'<img src="smileypack/blush.gif" alt="blush" />&nbsp;');
$this->list[] = array('smiley' => ':confused:', 'text' => '<img src="smileypack/confused.gif" alt="confused" />&nbsp;');
$this->list[] = array('smiley' => ':cry2:', 'text' => '<img src="smileypack/cry2.gif" alt="cry2" />&nbsp;');
$this->list[] = array('smiley' => ':huh:', 'text' => '<img src="smileypack/huh.gif" alt="huh" />&nbsp;');
$this->list[] = array('smiley' => ':dry:', 'text' => '<img src="smileypack/dry.gif" alt="dry" />&nbsp;');
$this->list[] = array('smiley' => ':coolio:', 'text' => '<img src="smileypack/coolio.gif" alt="coolio" />&nbsp;');
$this->list[] = array('smiley' => ':hands:', 'text' => '<img src="smileypack/hands.gif" alt="hands" />&nbsp;');
$this->list[] = array('smiley' => ':laugh:', 'text' => '<img src="smileypack/laugh.gif" alt="laugh" />&nbsp;');
$this->list[] = array('smiley' => ':sad:', 'text' => '<img src="smileypack/sad.gif" alt="sad" />&nbsp;');
$this->list[] = array('smiley' => ':wink:', 'text' => '<img src="smileypack/wink.gif" alt="wink" />&nbsp;');
$this->list[] = array('smiley' => ':wub:', 'text' => '<img src="smileypack/wub.gif" alt="wub" />&nbsp;');
$this->list[] = array('smiley' => ':shutup:', 'text' => '<img src="smileypack/shutup.gif" alt="shutup" />&nbsp;');
ensuite je créé ma classe message

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
class Message{
   private $id;
   private $username;
   private $date;
   private $content;
 
   public function Message(){
   }
 
   public function setUsername($name){
      $this->username = $name;
   }
 
   public function getUsername(){
      return $this->username;
   }
 
   public function setDate($date){
      $this->date =  substr($date,8,2).'/'.substr($date,5,2).'/'.substr($date,2,2);
   }
 
   public function getDate(){
      return $this->date;
   }
 
   public function setContent($text){
      $this->content = $text;
   }
 
   public function getContent(){
      return $this->content;
   }
 
   public function save(){
      $sql = 'INSERT INTO shoutbox (username, date, content) values ("'.$this->username.'", CURDATE(), "'.addslashes($this->content).'")';
      mysql_query($sql);
   }
 
   public function smileyParser($text){
      $smileys = new Smileys();
      foreach( $smileys->getSmileys() as $smiley){
         $text = str_replace($smiley['smiley'], $smiley['text'], $text);
      }
      return $text;
   }
}
Tout ce ci est placé dans un init.php que j'include dans un index.php. Et, au moment ou je veux créer un foreach dans le smileyParser en passant mon tableau $smileys en paramètres ca pète. j'ai une erreur invalid argument for foreach.

alors que si je créé une classe Smileys ou dedans je créé un tableau je peux accéder à ce tableau...

Un peu dommage de devoir créé une classe pour ca :s

Une idée ?