Tema: Variables
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/07/2004, 09:41
Avatar de xavivars
xavivars
 
Fecha de Ingreso: enero-2002
Ubicación: Benissa - la Marina Alta
Mensajes: 212
Antigüedad: 22 años, 4 meses
Puntos: 1
No, no puedo adjuntar archivos :S

Código PHP:
<?php
/**
 * GestioURL - PHP control d'enllaços url
 * @author Xavier Ivars i Ribes
 * @email [email][email protected][/email]
 * @copyright 2004 Xavier Ivars i Ribes
 */


class GestioURL
{

    
/////////////////////////////////////////////////
    // VARIABLES PRIVADES
    /////////////////////////////////////////////////

    
var $url="";
    var 
$href=true;
    var 
$variables= array();
    var 
$afegit=0;
    var 
$name="";
    var 
$classe="";
    var 
$id="";
    var 
$target="";
    var 
$onmouseover="";
    var 
$onmouseout="";
    var 
$onclick="";
    var 
$cadena_variables="";


    
/////////////////////////////////////////////////
    // METODES PUBLICES
    /////////////////////////////////////////////////

    /*
     * Constructor.
     * Funció que es crida automàticament 
     * al fer $variable=new GestioURL
     * Pot portar un paràmetre, que li donarà 
     * un nom intern a l'enllaç.
     * Per defecte, no té nom concret.
     */
    
function GestioURL($cad="")
    {
        
$this->name=$cad;
        
$this->reset_url();
    }


    function 
clean()
    {
        
$this->reset_url();
        
$this->variables='';
        
$this->afegit=0;
        
$this->name="";
        
$this->classe="";
        
$this->id="";
        
$this->target="";
        
$this->onmouseover="";
        
$this->onmouseout="";
        
$this->onclick="";
        
$this->cadena_variables="";
        
$this->href=true;
    }


    function 
canviar_url($string)
    {
        
$this->url=$string;
        return;
    }

    function 
reset_url()
    {
        
$this->url=$_SERVER['PHP_SELF'];
        return;
    }

    function 
afegir_var($nom,$valor)
    {
        
$this->afegit=true;

        
$this->variables[$nom]=$valor;
        return;
    }

    function 
borrar_var($nom)
    {
        unset(
$this->variables[$nom]);
    }
    
    function 
obtenir_variables()
    {
        
$primer=true;
        if(
$this->afegit)
        {
            
ksort($this->variables); // PIJAETA
            
$this->cadena_variables="?";
            foreach(
$this->variables as $nom => $valor)
            {
                if(!
$primer)
                    
$this->cadena_variables.="&amp;";
                else
                    
$primer=false;

                
$this->cadena_variables.="$nom=$valor";
            }
        }
        return 
$this->cadena_variables;
    }

    function 
propagar_get()
    {
        foreach(
$_GET as $nom => $valor)
        {
            
$this->afegir_var($nom,$valor);
        }
        return;
    }

    function 
propagar_de_get($var)
    {
        if(isset(
$_GET[$var]))
            
$this->afegir_var($var,$_GET[$var]);
    }

    function 
canviar_class($nova)
    {
        
$this->classe=$nova;
    }    

    function 
canviar_id($nova)
    {
        
$this->id=$nova;
    }    

    function 
canviar_target($nou)
    {
        
$this->target=$nou;
    }    

    function 
canviar_onmouseover($nova)
    {
        
$this->onmouseover=$nova;
    }    

    function 
canviar_onmouseout($nova)
    {
        
$this->onmouseout=$nova;
    }

    function 
canviar_onclick($nova)
    {
        
$this->onclick=$nova;
    }

    function 
status($text)
    {
        
$text=addslashes($text);
        
$this->onmouseout="javascript:window.status=''";
        
$this->onmouseover="javascript:window.status='$text';return true;";

    }    

    function 
obrir_url()
    {
        
$this->obtenir_variables();
        
$obrir="<a ";

        if(
$this->classe!="")
            
$obrir.="class=\"".$this->classe."\" ";
        if(
$this->id!="")
            
$obrir.="id=\"".$this->id."\" ";
        if(
$this->target!="")
            
$obrir.="target=\"".$this->target."\" ";
        if(
$this->onmouseover!="")
            
$obrir.="onmouseover=\"".$this->onmouseover."\" ";
        if(
$this->onmouseout!="")
            
$obrir.="onmouseout=\"".$this->onmouseout."\" ";
        if(
$this->onclick!="")
            
$obrir.="onclick=\"".$this->onclick."\" ";
        if(
$this->href)
            
$obrir.="href=\"".$this->url.$this->cadena_variables."\" ";

        
$obrir.=">";
        return 
$obrir
    }

    function 
tancar_url()
    {
        return 
"</a>";
    }

    function 
form()
    {
        foreach(
$this->variables as $nom=>$valor)
        {
            echo 
"<input type=\"hidden\" name=\"$nom\" value=\"$valor\" />\n";
        }
    }
}
?>
Lo que me falta por hacer es una buena documentacion...