// // This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. // // To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/1.0/ // // or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. // // Francais (brouillon): http://creativecommons.org/projects/international/fr/translated-license // ////////////////////////////////////////////////////////////////////////////////////////////////////// // Classe ping // Version 0.1.0 class ping { var $err = array( "stop" => "oui", "log" => "oui", "debug" => "oui"); // Gestion des erreurs function _err($err,$debug="") { // Si le debug est activé if($this->err['debug'] == "oui" && !empty($debug)) $err.= "\n// DEBUG //\n".$debug; // Si on log les erreurs if($this->err['log'] == "oui") $this->erreurs[] = $err; // Si on s'arrête sur les erreurs if($this->err['stop'] == "oui") { echo "
".htmlentities(stripslashes($err))."
"; exit; } $this->erreur = $err; return FALSE; } function ajout($journal,$titre,$url,$active=TRUE) { if($active === TRUE) $active = "oui"; else $active = "non"; if(!ereg("^http://[a-z0-9-]{2,60}\.[a-z]{2,5}",$url)) return $this->_err("Adresse URL invalide."); $requete = 'INSERT INTO pings SET journal="'.$journal.'", titre="'.$titre.'", url="'.$url.'", actif="'.$active.'"'; mysql_unbuffered_query($requete) or return $this->_err("Erreur mySQL.",mysql_error()); return TRUE; } function ping_all($journal) { $req = 'SELECT url FROM pings WHERE journal="'.$journal.'" AND actif="oui"'; $res = mysql_query($req); while($rec = mysql_fetch_row($res)) { @file($rec[0]); } mysql_free_result($res); return TRUE; } } ?>