Revision: 49593
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 26, 2011 02:17 by Darksider3
Initial Code
<?php
/**
* ================================================
* File: Log.class.php
* Version: 0.2 ALPHA
* License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
* Author: Leon Giesenkämper, 2011
* **Description:
* **Eine Klasse zum einfachen erstellen, booten,beschreiben und anzeigen von Log dateien
* Thanks to: The Bigforum Team (http://www.bigforum-support.de)
* and my Freehost: PHPfriends(http://www.php-friends.de)
*/
define("trimmer", "---");
if(!defined("trimmer")){
echo "Sorry, you haven't give an trimmer for the Logs! Please deklare that with define('trimmer', 'trimmertext')";
}
abstract class Logs {
/**
* Die Datei
* @access protected
* @var string
* */
protected $Datei;
/**
* Der Zu schreibene Text
* @var string
* @access public
* */
public $datas;
/**
* Der Handler von fopen
* @var mixed,bool
* @access private
*/
private $fop;
/**
* Verzeichniss
* @var string
* @access public
*/
public $dir;
/**
* __construct, öffnet datei und gibt den Händler von fopen
* @param string $Datei Die Datei, verzeichniss anpassen!
* @param string $punkt [Optional]Der Punkt der vor die schrägstriche gesetzt werden soll...
* @param string $mode [Optional]Mode, Modus zum öffnen der Date
* @uses string $this->Datei Die Datei..
* @uses string $this->fop das 'Giveback' von fopen
* @uses string $this->dir Das verzeichniss
* @access public
* @return bool true
*/
public function __construct($Datei,$punkt=".", $mode="a+"){
$this->dir = "$punkt/log/";
$this->Datei = $this->dir.$Datei;
$this->fop = fopen($this->Datei, $mode);
return true;
}
/**
* Insert, Schreibt text,uhrzeit und Datum in Datei
* @param string $Username Der Username, über den ein Log geschrieben werden soll
* @param string $Text Der Zu Loggende Text
* @uses string $this->datas Die Daten
* @uses string $this->fo Der Giveback handler von fopen
* @access public
* @return bool true
*/
public function Insert($Username, $Text){
$time = getdate();
$this->datas .= "Username: ".$Username." ".trimmer;
$this->datas .= " At ".$time['hours'].":". $time['minutes'] .":". $time['seconds'].trimmer;
$this->datas .= $time['mday'].".". $time['mon'] .".".$time['year'].trimmer;
$this->datas .= "Logging-Text:".$Text. "
";
fwrite($this->fop, $this->datas);
return true;
}
/**
* ShowLog, LogDateien Anzeigen lassen, Verzeichniss Anpassen(!)
* @param string $Datei [optional]Datei die Angezeigt werden soll
* @param string $punkt [Optional]Der Punkt der vor dem ersten Slash vorhanden sein soll
* @param bool $withnumbers [optional] In Textarea feld anzeigen oder mit zeilennumern
* @uses string $this->Datei Die Datei
* @access public
* @return bool true
*/
//@todo: make the option 'withnumbers'...
public function ShowLog($Datei=FALSE,$punkt = ".",$withnumbers=FALSE){
if($Datei != FALSE){
echo "<h1>Ausgabe der Log Datei: $Datei</h1>";
$res = file($Datei);
}
else {
echo "<h1>Ausgabe der Log Datei: $Datei</h1>";
$res = file($this->Datei);
}
if(!$withnumbers){
echo "<textarea cols=100 rows=20>";
foreach($res as $Result){
echo $Result."
";
}
echo "</textarea>";
}
return true;
/*
else{
foreach ($res as $line_num => $line) {
echo "<span style='color: #EB3F19'>Zeile #<b>{$line_num}</b></span> : " . htmlspecialchars($line) . "<br>";
}
}
*/
}
/**
* BootLog, Log-Datei Leeren
* @param string $Datei Log-Datei welche geleert werden soll
* @access public
* @uses string $this->Datei Die datei
* @return bool true
*/
public function BootLog(){
$tj = fopen($this->Datei, "w+");
fwrite($tj, "");
fclose($tj);
return true;
}
/**
* Delete, Logs löschen
* @param bool $message [optional]Soll eine erfolgsnachricht geschrieben werden?
* @uses string $this->Datei Die Datei
* @access public
* @return bool true
*/
public function Delete($message=FALSE){
if(!$message){
unlink($this->Datei);
}
else{
unlink($this->Datei) or die ("Can't delete the file '$this->Datei'");
echo "The file '$this->Datei' was deleted...";
}
return true;
}
/**
* __destruct, Datei Schließen
* @param None
* @access public
* @uses $this->fop
* @return bool true
*/
public function __destruct(){
fclose($this->fop);
return true;
}
}
class Log extends Logs{}
/*
$Log = new Log("log.log");
$Log->Insert("Dark", "INTERNATIONAL ERROR!");
$Log->BootLog();*/
?>
Initial URL
http://darksider3.pf-control.de/all/scripts.php?id=LDG%29LogClass
Initial Description
A Class to Logging false logins and more...
Initial Title
LDG)PHP Log class
Initial Tags
class, php
Initial Language
PHP