<?php /* ---------------------------------------------------------------------- AlternC - Web Hosting System Copyright (C) 2000-2012 by the AlternC Development Team. https://alternc.org/ ---------------------------------------------------------------------- LICENSE This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. To read the license please visit http://www.gnu.org/copyleft/gpl.html ---------------------------------------------------------------------- Purpose of file: Manage Log files for users ---------------------------------------------------------------------- */ /** * Classe de gestion des erreurs apparaissant lors d'appels API. */ class m_log { function m_log(){ } function list_logs_directory($dir){ global $cuid,$err; $err->log("log","list_logs_directory"); $c=array(); $dir2=$dir; if ($dir = @opendir($dir)) { while (($file = readdir($dir)) !== false) { if ($file!="." && $file!=".." && realpath($dir2 . "/" . $file) == $dir2 . "/" . $file){ $absfile=$dir2."/".$file; $c[]=array("name"=>$file, "creation_date"=>date("F d Y H:i:s.", filectime($absfile)), "filesize"=>filesize($absfile), "downlink"=>"logs_download.php?file=".urlencode($file), ); } } closedir($dir); } usort($c,"compare_logname"); return $c; }//list_logs function list_logs_directory_all($dirs){ global $err; $err->log("log","get_logs_directory_all"); $c=array(); foreach($dirs as $dir=>$val){ $c[$dir]=$this->list_logs_directory($val); } return $c; } function get_logs_directory(){ global $cuid,$mem,$err; $err->log("log","get_logs_directory"); // Return an array to allow multiple directory in the future $c=array("dir"=>ALTERNC_LOGS."/".$cuid."-".$mem->user["login"]); return $c; } function download_link($file){ global $err,$mem; $err->log("log","download_link"); header("Content-Disposition: attachment; filename=".$file); header("Content-Type: application/force-download"); header("Content-Transfer-Encoding: binary"); $f=$this->get_logs_directory(); $ff=$f['dir']."/".basename($file); set_time_limit(0); readfile($ff); } } // end class