// // 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 // ////////////////////////////////////////////////////////////////////////////////////////////////////// // Checklist // v0.1.0 class checklist { 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 add($journal,$id) { $this->delete($journal,$id); if(is_array($id)) { foreach($id as $i) mysql_unbuffered_query('INSERT INTO checklist SET journal="'.$journal.'", id="'.$i.'"'); } else mysql_unbuffered_query('INSERT INTO checklist SET journal="'.$journal.'", id="'.$id.'"'); return true; } function delete($journal,$id) { if(is_array($id)) { foreach($id as $i) mysql_unbuffered_query('DELETE FROM checklist WHERE journal="'.$journal.'" AND id="'.$i.'"'); } else mysql_unbuffered_query('DELETE FROM checklist WHERE journal="'.$journal.'" AND id="'.$id.'"'); return true; } function getList($journal) { $requete = 'SELECT * FROM checklist AS c, ecrits AS e WHERE c.journal="'.$journal.'" AND c.id=e.id ORDER BY c.id'; $res = mysql_query($requete); $out = array(); while($rec = mysql_fetch_assoc($res)) $out[] = $rec; return $out; } function getShortList($journal) { $requete = 'SELECT id FROM checklist WHERE journal="'.$journal.'" ORDER BY id'; $res = mysql_query($requete); $out = array(); while($rec = mysql_fetch_assoc($res)) $out[] = $rec['id']; return $out; } function change_statut($journal,$statut) { $ecrits = implode(",",$this->getShortList($journal)); $ecrits = "($ecrits)"; $requete = "UPDATE ecrits SET statut='{$statut}' WHERE journal='{$journal}' AND id IN {$ecrits}"; mysql_unbuffered_query($requete); return TRUE; } function change_date($journal,$newDate) { if(!empty($newDate['mois']) && ($newDate['mois'] < 10)) $newDate['mois'] = "0".$newDate['mois']; $fields = array("mois"=>"m","jour"=>"d","annee"=>"Y","heure"=>"H","minutes"=>"i"); $ecrits = implode(",",$this->getShortList($journal)); $requete = 'SELECT id,date FROM ecrits WHERE journal="'.$journal.'" AND id IN ('.$ecrits.')'; $res = mysql_query($requete); while($rec = mysql_fetch_assoc($res)) { $date = $rec['date']; foreach($fields as $f=>$d) { if(!isset($newDate[$f]) || ($newDate[$f] == "")) $eDate[$f] = date($d,$date); else $eDate[$f] = $newDate[$f]; } $ecritNewDate = mktime($eDate['heure'],$eDate['minutes'],0,$eDate['mois'],$eDate['jour'],$eDate['annee']); $newmois = date("Ym",$ecritNewDate); mysql_unbuffered_query('UPDATE ecrits SET mois="'.$newmois.'", date="'.$ecritNewDate.'" WHERE id="'.$rec['id'].'"'); unset($newmois,$eDate,$date,$ecritNewDate); } return TRUE; } /* function change_syntaxe($journal,$syntaxe) { $ecrits = implode(",",$this->getShortList($journal)); $ecrits = "($ecrits)"; $requete = "UPDATE ecrits SET syntaxe='{$syntaxe}' WHERE journal='{$journal}' AND id IN {$ecrits}"; mysql_unbuffered_query($requete); return TRUE; } */ function change_smileys($journal,$smileys) { $ecrits = implode(",",$this->getShortList($journal)); $ecrits = "($ecrits)"; $requete = "UPDATE ecrits SET smileys='{$smileys}' WHERE journal='{$journal}' AND id IN {$ecrits}"; mysql_unbuffered_query($requete); return TRUE; } function change_valide($journal,$valide) { $ecrits = implode(",",$this->getShortList($journal)); $ecrits = "($ecrits)"; $requete = "UPDATE ecrits SET valide='{$valide}' WHERE journal='{$journal}' AND id IN {$ecrits}"; mysql_unbuffered_query($requete); return TRUE; } } ?>