Wikini

PagesFavorites

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-3-236-19-251.compute-1.amazonaws.com




Description générale




Description détaillée




Discussions

S'agit-il d'une proposition proche de l'AjoutDInformationViaLURL ? -- CharlesNepote

Il me semble qu'il s'agit plutôt d'une page qui regroupe les pages favorites d'un utilisateur. Celles qu'on visite frequemment. Eventuellement, de la forme de la page DerniersChangements, uniquement avec les pages choisies. Ça me permettrait, par exemple, d'ajouter cette page à mes favoris et de savoir très simplement quand elle sera modifiée, sans chercher son nom chaque jour des les DerniersChangements. Le principe fonctionne sur Wikipedia.org, on peut "surveiller" une page particulière --JeremieCook


Réalisation


Cette fonctionnalité est installée sur un site d'essais : http://www.arkheia.com ( ce site n'existe plus )

attention :

@+ jmg

<?
/*
    favoris.php - © 2004 jmg
    
    - placer ce fichier dans le répertoire /handlers/page/
    - mettre << include ("favoris.php"); >> 
    dans le fichier << /handlers/page/show.php >> après [ <div class="page"> ].
    - ajouter le champ [ favoris ] type (txt) dans la table [ users ].
*/    

if ($user = $this->GetUser())    {

    $user = $this->LoadUser($_COOKIE["name"]);
    $favoris = $user["favoris"];

    if ($_POST["submit"] == "+")    {
            $valeur = $_SERVER['REQUEST_URI'];
    
            $count = explode("|", $favoris);
            foreach ($count as $element) {
                
                if (strcasecmp($element, $valeur) == 0) {
                    $valeur = "";
                    }
            }
            if (!empty($valeur))    {
                $favoris .= $valeur . "|";
                }
            $this->Query("update ".$this->config["table_prefix"]."users set "."favoris = '".mysql_escape_string($favoris)."' "."where name = '".$user["name"]."'");                
            }

    if ($_POST["submit"] == "-")    {
            $valeur = $_SERVER['REQUEST_URI'];

            
            $count = explode("|", $favoris);
            foreach ($count as $element) {

            
                if (strcasecmp($element, $valeur) == 0) {
                    $new_favoris .= "";
                    } else {
                        if (!empty($element))    {
                        $new_favoris .= $element . "|";
                        }
                    }
                }

            $favoris = $new_favoris;
            $this->Query("update ".$this->config["table_prefix"]."users set "."favoris = '".mysql_escape_string($favoris)."' "."where name = '".$user["name"]."'");                
            }

    $output = "<form action=\"\" method=\"post\">".
    "<div class=\"histo\">".
    "<input name=\"submit\" type=\"submit\" value=\"+\" />".
    "<input name=\"submit\" type=\"submit\" value=\"-\" />".
    "<strong> Favoris</strong> : ";
    echo $output;

    $count = explode("|", $favoris);
    foreach ($count as $element) {
            $lien = $element ;
            $idsess = strpos($lien, "=") ;
            $lien = substr($lien, $idsess + 1) ;
            echo "<a href='$element'>".urldecode($lien)."</a>" . "  ";
            }
    echo "<br /><hr></div></form>";
}

?>




J'ai réalisé cette implémentation ici: http://moi.homeip.net/~pol/wiki/PagePrincipale
Les codes sources sont dispos ici: TheTransporter

Qu'en pensez vous?
--TheTransporter
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]