'iDo', 'email' => 'iDo@woow-fr.com', 'date' => '2006-12-30', 'name' => 'See all discussion', 'desc' => '', 'url' => '', ); } /** * return sort order for position in admin menu */ function getMenuSort() { return 200; } /** * handle user request */ function handle() { } /** * output appropriate html */ function html() { global $conf; $chem=DOKU_INC.$conf['savedir']."/meta/"; $arr=$this->globr($chem,"*.comments"); $com =array(); foreach ($arr as $v) { $ap=unserialize(io_readFile($v, false)); //si ya des commentaire if (isset($ap['comments'])) { //pour chaque commentaire foreach ($ap['comments'] as $vv) { $page=str_replace(array($chem,".comments"),array("",""),$v); $com[$page][$vv['date']]=array("name"=>$vv['name'],"com"=>$vv['xhtml']); //old method //$com[$vv['date']]=array("name"=>$vv['name'],"com"=>$vv['xhtml'],"page"=>wl($page,'')); } } } if (count($com > 1)) { //sort discussion for all page foreach ($com as $k => $v) krsort($com[$k],SORT_NUMERIC); //for all page with discussion thread echo ""; } } /** * Recursive version of glob * * @return array containing all pattern-matched files. * * @param string $sDir Directory to start with. * @param string $sPattern Pattern to glob for. * @param int $nFlags Flags sent to glob. */ function globr($sDir, $sPattern, $nFlags = NULL) { $sDir = escapeshellcmd($sDir); // Get the list of all matching files currently in the // directory. $aFiles = glob("$sDir/$sPattern", $nFlags); // Then get a list of all directories in this directory, and // run ourselves on the resulting array. This is the // recursion step, which will not execute if there are no // directories. foreach (glob("$sDir/*", GLOB_ONLYDIR) as $sSubDir) { $aSubFiles = $this->globr($sSubDir, $sPattern, $nFlags); $aFiles = array_merge($aFiles, $aSubFiles); } // The array we return contains the files we found, and the // files all of our children found. return $aFiles; } } ?>