ttrss/tw/error/LINK_error.php

95 lines
3.1 KiB
PHP

<?php
/*
* tag|wall | PHP Tag Filter|
* ---------------------------------------------------------------------
Copyright (C) 2002 Juraj 'HVGE' Durech
Copyright (C) 2002 www.designia.sk
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License 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.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* ---------------------------------------------------------------------
* tag|wall error module
*
* description:
* - this module appending automatic links and colored piece of bad code.
*
* - Module using following CSS classes (you must define it in your CSS stylesheet)
*
* .tw-err-int - internal error (in output string)
* .tw-err-err - standard error
* .tw-err-war - warning
* .tw-err-com - comment
*
* .tw-err-int-l - internal error (in error list)
* .tw-err-err-l - standard error
* .tw-err-war-l - warning
* .tw-err-com-l - comment
*/
class LINK_error extends TW_errors
{
function LINK_error($options = 0)
{
$this->TW_errors($options);
}
function add($errval, $position, $show_code, $param1=null, $param2=null )
{
$err_id = "TW_err_".$this->identifier++;
$this->ErrorArray[$err_id] = array($errval, $param1, $param2, $position, $show_code);
if($errval & 0xff00) $this->IsError = 1;
// append errors and warnings
if(($errval & 0x0ff0) && $show_code != null )
return '<a name="'.$err_id.'"><span class="'.$this->get_error_class($errval).'">'.$show_code.'</span></a>';
return null;
}
// You can call this method from your project and create nice list of errors.
//
// $lang - error string pack
// $mask - any combination of following masks:
// 0xf000 - internal,
// 0x0f00 - errors,
// 0x00f0 - warnings,
// 0x000f - comments
//
function create_list (&$lang, $mask = 0x0ff0)
{
$errors = $this->get_by_mask($mask);
$out = "<ul>";
foreach($errors as $key => $value)
{
$errno = $value[TWE_ERRNO];
$piece = '<span class="'.$this->get_error_class($errno).'">'.$value[TWE_CODE].'</span>';
$list ='<a href="#'.$key.'">'.$this->get_error_text($key,$lang).$piece.'</a>';
$out .= '<li class="'.$this->get_error_class($errno).'-l">'.$list.'</li>';
}
return $out."</ul>";
}
function get_error_class ($error)
{
if($error&0xf000) return "tw-err-int";
if($error&0x0f00) return "tw-err-err";
if($error&0x00f0) return "tw-err-war";
return "tw-err-com";
}
}
?>