<?
/*****************************************************
* Clase Smileys
* Reemplaza un código guardado en la base de datos
* por un Smiley
*
* Basada en una clase de Lennart Groetzbach <hide@address.com>
*
* @Author: Antonio Ignacio Fontenla Aguilar (http://www.tonachadas.com)
* @since: 16/Nov/2003
* @copyright Tonacho 2003/04 - Sometida a licencia LGPL
* @version 1.1 18/11/2003
**/
class smiley
{
/**
* Contiene la información sobre los smileys
* @access private
*/
var $_smileys = array();
/**
* La ruta hacia los smileys
* @access private
**/
var $ruta = "";
/*********************************
* Constructor
*
* @access public
* @return int -1 si es false
**/
function smiley()
{
$this->_resetsmiley();
}// Fin de método smiley
/**********************************
* Añade los smileys a una cadena
* @access public
* @param str La cadena dada
**/
function insertasmiley($str)
{
//para cada smiley
for ($i=0; $i < sizeof($this->_smileys); $i++) {
$icon = $this->_smileys[$i][1];
$smiley = $this->_smileys[$i][3];
$image = $this->ruta.$this->_smileys[$i][2];
$replace = "<img src=\"$image\" alt=\"$smiley\" border=\"0\">";
// reemplazar con la imagen
$str = str_replace($icon, $replace, $str);
}
return $str;
}//FIn de método insertasmiley
////////////////////////////////////////////////////////////////////////
/**
* Devuelve todos los smileys
*
* Devuelve un array de arrays.
*
* @access public
* @return Array
*
*
*/
function getsmiley() {
return $this->_smileys;
}
////////////////////////////////////////////////////////////////////////
/**
* Coje los datos de los smileys
*
* mete en el array _smileys los datos de los smileys
*
* @access private
*
*/
function _resetsmiley() {
// borramos la antigua lista
$this->_smileys = array();
// vamos a cojer todos los smileys de la Base de datos
$sql = "SELECT * FROM tona_icon";
$consulta = mysql_query($sql);
// Creamos el bucle para recorrer todas las filas de la BD
while ($row = mysql_fetch_row($consulta)) {
array_push($this->_smileys, $row);
}
} //Fin de método _resetsmileys
/**
* smiley::set_ruta_smilie()
*
* Devuelve la ruta donde están los smilyes, método creado
* después por la necesidad de usar la clase en distintos
* sitios de la web
* @param $url Es la ruta hacia los smilyes, puede ser relativa o absoluta
* @return
*/
function set_ruta_smilie($url)
{
$this->ruta = $url;
return $this->ruta;
}
}//FIn de clase
?>