Posted By

Darksider3 on 07/26/11


Tagged

class php logging scripts LDG Log-Class darksider3 pf-control


Versions (?)

LDG)PHP Log class


 / Published in: PHP
 

URL: http://darksider3.pf-control.de/all/scripts.php?id=LDG%29LogClass

A Class to Logging false logins and more...

  1. <?php
  2. /**
  3.  * ================================================
  4.  * File: Log.class.php
  5.  * Version: 0.2 ALPHA
  6.  * License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
  7.  * Author: Leon Giesenkämper, 2011
  8.  * **Description:
  9.  * **Eine Klasse zum einfachen erstellen, booten,beschreiben und anzeigen von Log dateien
  10.  * Thanks to: The Bigforum Team (http://www.bigforum-support.de)
  11.  * and my Freehost: PHPfriends(http://www.php-friends.de)
  12.  */
  13. define("trimmer", "---");
  14. if(!defined("trimmer")){
  15. echo "Sorry, you haven't give an trimmer for the Logs! Please deklare that with define('trimmer', 'trimmertext')";
  16. }
  17.  
  18. abstract class Logs {
  19. /**
  20.   * Die Datei
  21.   * @access protected
  22.   * @var string
  23.   * */
  24. protected $Datei;
  25. /**
  26.   * Der Zu schreibene Text
  27.   * @var string
  28.   * @access public
  29.   * */
  30. public $datas;
  31. /**
  32.   * Der Handler von fopen
  33.   * @var mixed,bool
  34.   * @access private
  35.   */
  36. private $fop;
  37. /**
  38.   * Verzeichniss
  39.   * @var string
  40.   * @access public
  41.   */
  42. public $dir;
  43. /**
  44.   * __construct, öffnet datei und gibt den Händler von fopen
  45.   * @param string $Datei Die Datei, verzeichniss anpassen!
  46.   * @param string $punkt [Optional]Der Punkt der vor die schrägstriche gesetzt werden soll...
  47.   * @param string $mode [Optional]Mode, Modus zum öffnen der Date
  48.   * @uses string $this->Datei Die Datei..
  49.   * @uses string $this->fop das 'Giveback' von fopen
  50.   * @uses string $this->dir Das verzeichniss
  51.   * @access public
  52.   * @return bool true
  53.   */
  54. public function __construct($Datei,$punkt=".", $mode="a+"){
  55. $this->dir = "$punkt/log/";
  56. $this->Datei = $this->dir.$Datei;
  57. $this->fop = fopen($this->Datei, $mode);
  58. return true;
  59. }
  60. /**
  61.   * Insert, Schreibt text,uhrzeit und Datum in Datei
  62.   * @param string $Username Der Username, über den ein Log geschrieben werden soll
  63.   * @param string $Text Der Zu Loggende Text
  64.   * @uses string $this->datas Die Daten
  65.   * @uses string $this->fo Der Giveback handler von fopen
  66.   * @access public
  67.   * @return bool true
  68.   */
  69. public function Insert($Username, $Text){
  70. $time = getdate();
  71. $this->datas .= "Username: ".$Username." ".trimmer;
  72. $this->datas .= " At ".$time['hours'].":". $time['minutes'] .":". $time['seconds'].trimmer;
  73. $this->datas .= $time['mday'].".". $time['mon'] .".".$time['year'].trimmer;
  74. $this->datas .= "Logging-Text:".$Text. "
  75. ";
  76. fwrite($this->fop, $this->datas);
  77. return true;
  78. }
  79. /**
  80.   * ShowLog, LogDateien Anzeigen lassen, Verzeichniss Anpassen(!)
  81.   * @param string $Datei [optional]Datei die Angezeigt werden soll
  82.   * @param string $punkt [Optional]Der Punkt der vor dem ersten Slash vorhanden sein soll
  83.   * @param bool $withnumbers [optional] In Textarea feld anzeigen oder mit zeilennumern
  84.   * @uses string $this->Datei Die Datei
  85.   * @access public
  86.   * @return bool true
  87.   */
  88. //@todo: make the option 'withnumbers'...
  89. public function ShowLog($Datei=FALSE,$punkt = ".",$withnumbers=FALSE){
  90. if($Datei != FALSE){
  91. echo "<h1>Ausgabe der Log Datei: $Datei</h1>";
  92. $res = file($Datei);
  93. }
  94. else {
  95. echo "<h1>Ausgabe der Log Datei: $Datei</h1>";
  96. $res = file($this->Datei);
  97. }
  98. if(!$withnumbers){
  99. echo "<textarea cols=100 rows=20>";
  100. foreach($res as $Result){
  101. echo $Result."
  102. ";
  103. }
  104. echo "</textarea>";
  105. }
  106. return true;
  107. /*
  108.   else{
  109.   foreach ($res as $line_num => $line) {
  110.   echo "<span style='color: #EB3F19'>Zeile #<b>{$line_num}</b></span> : " . htmlspecialchars($line) . "<br>";
  111.   }
  112.   }
  113.   */
  114. }
  115. /**
  116.   * BootLog, Log-Datei Leeren
  117.   * @param string $Datei Log-Datei welche geleert werden soll
  118.   * @access public
  119.   * @uses string $this->Datei Die datei
  120.   * @return bool true
  121.   */
  122. public function BootLog(){
  123. $tj = fopen($this->Datei, "w+");
  124. fwrite($tj, "");
  125. fclose($tj);
  126. return true;
  127. }
  128. /**
  129.   * Delete, Logs löschen
  130.   * @param bool $message [optional]Soll eine erfolgsnachricht geschrieben werden?
  131.   * @uses string $this->Datei Die Datei
  132.   * @access public
  133.   * @return bool true
  134.   */
  135. public function Delete($message=FALSE){
  136. if(!$message){
  137. unlink($this->Datei);
  138. }
  139. else{
  140. unlink($this->Datei) or die ("Can't delete the file '$this->Datei'");
  141. echo "The file '$this->Datei' was deleted...";
  142. }
  143. return true;
  144. }
  145. /**
  146.   * __destruct, Datei Schließen
  147.   * @param None
  148.   * @access public
  149.   * @uses $this->fop
  150.   * @return bool true
  151.   */
  152. public function __destruct(){
  153. fclose($this->fop);
  154. return true;
  155. }
  156. }
  157. class Log extends Logs{}
  158. /*
  159. $Log = new Log("log.log");
  160. $Log->Insert("Dark", "INTERNATIONAL ERROR!");
  161. $Log->BootLog();*/
  162. ?>

Report this snippet  

You need to login to post a comment.