PHP Classes
Icontem

File: _classes/Event.class.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Marius Zadara  >  Logger  >  _classes/Event.class.php  
File: _classes/Event.class.php
Role: Class source
Content type: text/plain
Description: Event class definition
Class: Logger
Filter and export data of application events
 

Contents

Class file image Download
<?php

/**
 * Event class event definition.
 * 
 * @author Marius Zadara <marius@zadara.org>
 * @category org.zadara.marius.logger.classes
 * @copyright (C) 2008 Marius Zadara <marius@zadara.org>
 * @license GNU GPL
 * @package org.zadara.marius.logger
 */

class Event implements IEvent   
{
    
/**
     * Id of the event.
     * 
     * @access protected
     * @see EventIDs
     */
    
protected $id;

    
/**
     * Source of the event.
     * 
     * @access protected
     * @see Sources
     */
    
protected $source;
    
    
/**
     * Category of the event.
     * 
     * @access protected
     * @see Categories
     */    
    
protected $category;
    
    
/**
     * Message of the event.
     * 
     * @access protected
     */    
    
protected $message;

    
    
/**
     * Level of the event.
     * 
     * @access protected
     * @see Levels
     */
    
protected $level;
        
    
/**
     * Timestamp of the event.
     * 
     * @access protected
     */    
    
protected $timestamp;

    
    
/**
     * Extra-fields for the event.
     * These are not standard fields definned in Fields class.
     *  
     * @access protected
     */    
    
protected $extraFields;
    

    
/**
     * Event constructor.
     *
     * @param String $id Id of the event. Allows null.
     * @param String $source Source of the event. Allows null.
     * @param String $category Category of the event. Allows null.
     * @param String $level Level of the event. Allows null.
     * @param $String message Message of the event. Allows null.
     * @param Array $extraFields Extrapfields of the event. Allows null. Use pairs as: key[0] = value[0], key[1] = value[1], etc. 
     * 
     * @return Event
     * 
     * @see EventIDs
     * @see Sources
     * @see Categories
     * @see Levels
     *  
     */
    
public function Event($id null$source null$category null$level null$message null$extraFields null)
    {
        
// init the fields
        
$this->id is_null($id) ? null $id;
        
$this->source is_null($source) ? null $source;
        
$this->category is_null($category) ? null $category;
        
$this->level is_null($level) ? null $level;
        
$this->message is_null($message) ? null $message;
        
        
// set the current timestamp
        
$this->timestamp time();
        
        
$this->extraFields null;
        
        
// validat the extra fields
        
if (is_array($extraFields) && (sizeof($extraFields) > 0))
        {
            
$this->extraFields = array();
            
$this->extraFields $extraFields;
        }
    }
    
    
/**
     * Event id getter
     * @access public
     */    
    
public function getId() 
    {
        return 
$this->id;
    }
    
    
/**
     * Event source getter
     * @access public 
     */    
    
public function getSource() 
    {
        return 
$this->source;
    }
    
    
    
/**
     * Event category getter
     * @access public 
     */        
    
public function getCategory() 
    {
        return 
$this->category;
    }
    
    
/**
     * Event message getter
     * @access public 
     */        
    
public function getMessage() 
    {
        return 
$this->message;
    }
    
    
/**
     * Event timestamp getter
     * @access public 
     */        
    
public function getTimestamp() 
    {
        return 
$this->timestamp;
    }
    
    
/**
     * Event level getter
     * @access public 
     */        
    
public function getLevel() 
    {
        return 
$this->level;
    }
    
    
    
/**
     * Function to get the translation of a variable
     *
     * @param $var The variable
     * @see Translations
     */
    
private function getTranslation($var)
    {
        return 
sprintf("<b>%s</b>"Translations::${$var});
    }
    

    
/**
     * Event string representation.
     * 
     * @see Translations
     * @see getTranslation()
     * 
     * @return string
     */
    
public function __toString()
    {
        
// return default string representation
        // in case of empty fields
        
if 
        (
            (
$this->id == null) && ($this->source == null) && ($this->category == null) &&
            (
$this->message == null) && ($this->level == null) && ($this->extraFields == null)
        )
        return 
sprintf("%s: %s=%s"$this->getTranslation("EVENT"), $this->getTranslation("TIMESTAMP"), $this->timestamp);

        
// init the string representation
        
$asString sprintf("%s: "$this->getTranslation("EVENT"));

        
// add fields only if they have been set
        
if ($this->id != null$asString .= sprintf("%s=%s;"$this->getTranslation("ID"), $this->id);
        if (
$this->source != null$asString .= sprintf("%s=%s;"$this->getTranslation("SOURCE"), $this->source);
        if (
$this->category != null$asString .= sprintf("%s=%s;"$this->getTranslation("CATEGORY"), $this->category);
        if (
$this->level != null$asString .= sprintf("%s=%s;"$this->getTranslation("LEVEL"), $this->level);
        
        
$asString .= sprintf("%s=%s;"$this->getTranslation("TIMESTAMP"), $this->timestamp);
        
        if (
$this->message != null$asString .= sprintf("%s=%s;"$this->getTranslation("MESSAGE"), $this->message);
        
        
// add also the extra fields
        
if ($this->extraFields != null)
        {
            
$asString .= sprintf("%s:"$this->getTranslation("EXTRA_FIELDS"));

            
// add each extra field with its value
            
for ($i=0$i sizeof($this->extraFields); $i++)
                
$asString .= (($i 2) == 0) ? sprintf("%s -> "$this->extraFields[$i]) : sprintf("%s, "$this->extraFields[$i]);
        }

        
// return the string representation
        
return $asString;
    }
}


?>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products