All pastes #1409958 Raw Edit

Something

public php v1 · immutable
#1409958 ·published 2009-05-01 23:50 UTC
rendered paste body
<?php   class checkbox {  // Source des images  var $img_check;  var $img_uncheck;   // On instancie la classe en dclarant les images. Ainsi elle seront rptes  function checkbox($check_img_src, $uncheck_img_src) {  $this->img_check = $check_img_src;  $this->img_uncheck = $uncheck_img_src;  }   // Fonction pour ajouter une checkbox  // * $name : attributs 'name' et 'id' de l'lments HTML checkbox qui sera cr  // * $checked : tat initial de la checkbox (attribut 'checked')  // * $value : attribut 'value' de l'lments HTML checkbox qui sera cr  function add($name, $checked=false, $value='OK') {  // prdfinition des attributs de la checkbox  $check = $checked ? 'checked=checked' : '';  $img = $checked ? $this->img_check : $this->img_uncheck;   // Prformatage du code javascript  $JS = "if(document.getElementById('$value').checked==true) {" ;  $JS.= "this.src = '$this->img_uncheck';" ; // on modifie juste l'image affiche  $JS.= "} else { " ;  $JS.= "this.src = '$this->img_check';" ;  $JS.= "}" ;  // inversion de l'attribut checked de la "vraie" checkbox  $JS.= "document.getElementById('$value').checked = !document.getElementById('$value').checked;" ;    // Preformatage de la sortie :  // la "vraie" checkbox (cache)  $out = "<input type=\"checkbox\" name=\"$name\" id=\"$value\" value=\"$value\"$check style=\"display:none;\" />";  // l'image qui remplace la checkbox  $out.= "<img src=\"$img\" onclick=\"$JS\" />";   return $out; // et on envoi la sauce !  }  }   $myCheckbox = new checkbox('checked.gif','non_checked.gif');  ?><?php// on test si le formulaire a ete envoye  // s'il l'a ete alors on met dans $tabLED l'array des LED coche  // sinon on met un tableau vide  $tabLED = (isset($_POST['led'])) ? $_POST['led'] : array();  ?><form name="formulaire" method="post" action="news2.php">Coche pour allumer :<br /><?php$myCheckbox = new checkbox('checked.gif','non_checked.gif');  // On parcours les puissances de deux desire, ici ca va de 2^0 a 2^5  for($i=0; $i < 6; $i++){  // on fait l'operation de 2^$i  $value = pow(2, $i);  // On affiche la checkbox avec la valeur calcule au dessus  // On test si la valeur calcule appartient a $tabLED, si tel est le cas ca signifie que la case a ete coche  // Dans ce cas la on l'indique a l'aide 'checked="true"' sinon on lui dit rien  // echo '<input name="led[]" type="checkbox" id="led1" value="'.$value.'" '.((in_array($value, $tabLED)) ? 'checked = "true"' : '').' /> Led'.($i+1).'<br />';  echo $myCheckbox->add('led[]',((in_array($value, $tabLED)) ? true : false),$value)." LED ".($i+1)." ".((in_array($value, $tabLED)) ? 'true' : 'false')."<br /> \n";   }  ?> <input type="submit" name="submit" value="Allumer"></form> <?php// On test si le formulaire a ete envoye  if(isset($_POST['submit'])){  require_once("class/php_iol.class.php");  $DemoPhpIOL = new php_iol();   $out=0;  // On parcours tout le tableau et on ajoute les valeurs coche dans $out  if(isset($_POST['led']))  foreach($_POST['led'] AS $id => $value)  $out += (int)$value;   $DemoPhpIOL->WriteIOOutput(888, $out); // 888dec of 378hex  echo"envoi de". $out.".<br>";  }  ?>