All pastes #1409972 Raw Edit

Someone

public php v1 · immutable
#1409972 ·published 2009-05-02 00:02 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;\" onchange=\"javascript:document.getElementById('img_".$value."').src=((this.checked) ? '".$this->img_check."' : '".$this->img_uncheck."');\" />";  			// l'image qui remplace la checkbox  			$out.= "<img src=\"$img\" onclick=\"$JS\" id=\"img_".$value."\" />";  			 			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 '<label for="'.$value.'">'.$myCheckbox->add('led[]',((in_array($value, $tabLED)) ? true : false),$value)." LED ".($i+1)." </label><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>";  }  ?>