command == 'PRIVMSG') { $T = array(); if(ereg("^!todo ([[:alnum:]]+)(.*)", $msg->msg, $T)) { $mytodo="plugins_no_data/todos/".str_replace("/","",$msg->nick); if($T[1]=="listall"){ $rep=opendir("plugins_no_data/todos/"); if(empty($msg->chan)) { $this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg("TODOs de ".$msg->nick.":"); } else { $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg("TODOs de ".$msg->nick.":"); } while ($file = readdir($rep)){ if($file != '..' && $file !='.' && $file !='' && ereg($msg->nick."-",$file) && !ereg("~",$file)){ if (is_file("plugins_no_data/todos/".$file)){ if($file==$msg->nick){ $titre="Général:"; } else { $titre=str_replace($msg->nick."-","",$file).":"; } if(empty($msg->chan)) { $this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg($titre); } else { $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg($titre); } $page = file_get_contents("plugins_no_data/todos/".$file); $page=ereg_replace("(.*)\n","\\1",utf8_decode($page)); $npage=explode("\n",$page); for($i=0;$ichan)) { $this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg(($i+1).". ".$npage[$i]); } else { if(!ereg(" (.*)",$T[2],$U)){ $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg(($i+1).". ".$npage[$i]); } else { $reponse .= ($i+1).". ".$npage[$i].$U[1]." "; } } } } } } } if($T[1]=="add"){ $handle=fopen($mytodo,"a"); $BoA=ereg_replace(" (.*)","\\1",$T[2]); fwrite($handle,$BoA."\n"); fclose($handle); $reponse=$msg->nick."> TODO enregistré."; } if($T[1]=="list"){ if($page = file_get_contents($mytodo)){ $page=ereg_replace("(.*)\n","\\1",utf8_decode($page)); //if(ereg(" (.*)",$T[2],$U)){ $separator = $U[1]; } else { $separator= "\n"; } $npage=explode("\n",$page); if(empty($msg->chan)) { $this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg("TODO de ".$msg->nick.":"); } else { $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg("TODO de ".$msg->nick.":"); } for($i=0;$ichan)) {$this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg(($i+1).". ".$npage[$i]); } else { if(!ereg(" (.*)",$T[2],$U)){ $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg(($i+1).". ".$npage[$i]); } else { $reponse .= ($i+1).". ".$npage[$i].$U[1]." "; } } } } else { $reponse="Il n'y a pas de TODO enregistré pour ".$msg->nick."."; } } if($T[1]=="del" or $T[1]=="sup"){ if($page = file_get_contents($mytodo)){ $page=ereg_replace("(.*)\n","\\1",utf8_decode($page)); $npage=explode("\n",$page); for($i=0;$inick.'> "'.$tss.'" supprimé.'; } else { $reponse="Il n'y a pas de TODO enregistré pour ".$msg->nick."."; } } if($T[1]=="add2"){ ereg(" ([[:alnum:]]+) (.*)",$T[2],$BoA); $handle=fopen($mytodo."-".$BoA[1],"a"); fwrite($handle,$BoA[2]."\n"); fclose($handle); $reponse=$msg->nick."> todo enregistré dans ".$BoA[1]."."; } if($T[1]=="list2"){ ereg(" ([[:alnum:]]+)",$T[2],$BoA); if($page = file_get_contents($mytodo."-".$BoA[1])){ $page=ereg_replace("(.*)\n","\\1",utf8_decode($page)); $npage=explode("\n",$page); if(empty($msg->chan)) { $this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg("TODO ".$BoA[1]." de ".$msg->nick.":");} else { $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg("TODO ".$BoA[1]." de ".$msg->nick.":"); } for($i=0;$ichan)) { $this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg(($i+1).". ".$npage[$i]); } else { if(ereg(" ([[:alnum:]]+) (.*)",$T[2],$U)){ $reponse .= ($i+1).". ".$npage[$i].$U[2]." "; } else { $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg(($i+1).". ".$npage[$i]); } } } } else { $reponse="Il n'y a pas de TODO ".$BoA[1]." enregistré pour ".$msg->nick."."; } } if($T[1]=="del2" or $T[1]=="sup2"){ ereg(" ([[:alnum:]]+) ([[:digit:]]+)",$T[2],$BoA); if($page = file_get_contents($mytodo."-".$BoA[1])){ $page=ereg_replace("(.*)\n","\\1",utf8_decode($page)); $npage=explode("\n",$page); for($i=0;$inick.'> "'.$tss.'" supprimé dans '.$BoA[1].'.'; } else { $reponse="Il n'y a pas de TODO enregistré pour ".$msg->nick."."; } } if($reponse){ if(empty($msg->chan)) { // si la demande a été faie par PV, on réponds en PV $this->main->servers[$msg->address]->users->getUserByNick($msg->nick)->sendMsg($reponse); } else { // sinon, on réponds sur le chan $this->main->servers[$msg->address]->chans->getChanByName($msg->chan)->sendMsg($reponse); } } } } } } ?>