PHP-Nuke France - Communauté Européenne: Forums

FAQFAQ  RechercherRechercher
Groupes d'utilisateursGroupes d'utilisateurs    Les rangsLes Rangs
ProfilProfil  Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés  ConnexionConnexion
*AVANT TOUT, consultez la charte de nos forums !

ATTENTION
En téléchargeant une version de PHP-Nuke autre que celle que nous proposons, vous prenez la décision de ne pouvoir prétendre à aucun support sur nos Forums.
Vous êtes libre de faire vos propres choix mais nous ne pouvons accepter de faire le travail des autres.
Par conséquent et en connaissance de cause, toute question relative à une autre version que celle que nous nous sommes engagé à supporter sera transférée à la corbeille.

 Prenez 2 minutes pour prendre connaissance plus en détails de notre fonctionnement

Block news RSS

Aller à la page 1, 2  Suivante
Poster un nouveau sujet   Répondre au sujet    PHP-Nuke France - CE Index du Forum Blocks
Printer-friendly version
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Cohars




Novice



Inscrit le: Oct 09, 2004
Messages: 20

MessagePosté le: 05.01.2005, 12:11:57    Sujet du message: Block news RSS Répondre en citant

Bonjour tout le monde,

Dans le module "your_account", il existe un petit cadre "mes nouvelles" qui permet de selectoin des site RSS avec un menu deroulant.

Est ce qu'il existe en block ?
Revenir en haut
Caché    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
JeanClaude




Administrateur Général
Administrateur Général



Inscrit le: 23 04 ,2003
Messages: 1559
Localisation: GAP

MessagePosté le: 05.01.2005, 18:05:40    Sujet du message: Répondre en citant

Salut, veux afficher sous forme de blocks les News RSS d'autres sites ?
_________________
Merci de consulter attentivement les règles de nos Forums
Revenir en haut
Deconnecte    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Cohars




Novice



Inscrit le: Oct 09, 2004
Messages: 20

MessagePosté le: 06.01.2005, 09:51:47    Sujet du message: Répondre en citant

J'aimerai avoir ça dans un block de côté. (c'est tiré de your_account)

J'ai regardé un peu le code source mais c'est trop compliqué pour mes petites connaissances en php.



souhait.JPG
 Description:

Télécharger
 Nom de Fichier:  souhait.JPG
 Taille de Fichier:  11.66 KB
 Téléchargé:  117 Fois

Revenir en haut
Caché    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
ckforum




Habitué
Habitué



Inscrit le: Jan 06, 2004
Messages: 1653
Localisation: FRANCE

MessagePosté le: 06.01.2005, 16:25:18    Sujet du message: Répondre en citant

Bnjour cohars,

Voilà j'ai bidouillé un truc vite fait !

Il est certainement à retravaillé mais bon tests et dis moi ! (lis les commentaires dans le script et parametres comme il se doit !

Code:

<?php

########################################################################
#                                                                      #
# Copyright (c) 2001 by C. Verhoef (cverhoef@gmx.net)                  #
#                                                                      #
########################################################################
# 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.       #
########################################################################
#         Additional security & Abstraction layer conversion           #
#                           2003 chatserv                              #
#      http://www.nukefixes.com -- http://www.nukeresources.com        #
########################################################################

// -------------------------------------------------------
// code extrait du module your_account et légerement modifié
// suite demande de Cohars via le post
// http://www.phpnuke-europe.org/ftopicp-6852.html#6852
// par ckforum
// version 1.0
//
//
// si vous souhaitez que le choix de l'utilisateur reste actif
// pendant la session de navigation il faudra gérer la chose via des cookie
// ou via la session user !  Actuellement
// ce block ne permet que de fixé une manchette et d'offrir
// le choix a l'utilisateur de sélectionné une manchette exstante
// ou de taper l'url de a manchette qu'il souhaite voir !
// -------------------------------------------------------


if (eregi("block-ck_headline.php", $_SERVER['PHP_SELF'])) {
    Header("Location: index.php");
    die();
}

// language a modifier ou a effectuer une condition
// si l'on souhaite un affichage EN par exemple !
// remmis ici pour eviter d'avoir a recharger tout les constante de
// language du module your account !
// au pire on peut linké le fichier angue du module your account !


define("_MYHEADLINES_blk","Mes Nouvelles");
define("_SELECTASITE_blk","Séléctionnez le site depuis lequel vous souhaitez lire des nouvelles:");
define("_SELECTASITE2_blk","Séléctionnez un site");
define("_ORTYPEURL_blk","Ou tapez l'URL RSS/XML de votre site préféré:");
define("_HEADLINESFROM_blk","Nouvelles depuis");
define("_GO_blk","OK");
define("_RSSPROBLEM_blk","Il y a un probleme avec cette manchette");



// les 2 variables ci-desous sont nécéssaires pour les formulaire et / bouton input
global $hid,$url;

//----------------- PARAMETRES !!!!

// si aucune nouvelle de préciser
// afficher celle ci-dessous par défaut
// ATTENTION cela doit au moin correspondre
// a l'id d'une manchette dans la table
// nuke_headlines de votre portail !
// et a paramétré par block !

$defautmachette = 1; // changez 1 par ce que vous voulez
// ----------------------------



!$hid && ($url== "http://" || !$url) ? $hid = $defautmachette : '';
!$url ||$url == "http://" ? $defurlval = "http://" : $defurlval = $url ;
$url = $defurlval;

// ici contenu du block
$content = my_headline2($hid,$url);


// ----------------------------
// fonction permettant de
// retourner les headline
// a retravaillé pour épuré
// et / ou a modifier
// si besoin de gestion
// de cookie !
// ----------------------------

function my_headline2($hid,$url) {
   // global
   global $my_headlines,$nukeurl, $user, $prefix, $startdate, $db,$cookie ;

// on récupere le pseudo du user !
$user ? $theuser=cookiedecode($user) : $theuser ='';

  if ($my_headlines == 1 && $theuser[1]) {

    $content_head = "<br>";
      $content_head .= "<center><b>"._MYHEADLINES_blk."</b><br><br>";
      $content_head .= ""._SELECTASITE_blk."<br><br>";
      
      // formulaire 1
      $content_head .= "<form name='byselect' action=\"\" method=\"post\">";
      $content_head .="<select name=\"hid\" onChange='submit()' style='width=135px;'>\n";
      $content_head .="<option value=\"0\">"._SELECTASITE2_blk."</option>";
      
    $sql4 = "SELECT hid, sitename FROM ".$prefix."_headlines ORDER BY sitename";
    $headl = $db->sql_query($sql4);
   

    while($row4 = $db->sql_fetchrow($headl)) {
         $nhid = $row4[hid] ;
         $hsitename = $row4[sitename];
            if ($hid == $nhid ) {
                $sel = "selected";
            } else {
                $sel = "";
            }
         $content_head .= "<option value=\"$nhid\" $sel >$hsitename</option>\n";
    }
   
      $content_head .= "</select></form>";
      
      
      $content_head .= ""._ORTYPEURL_blk."<br><br>";
      
      // formulaire 2
      $content_head .="<form name='bytextarea' action=\"\" method=\"post\">";
      $content_head .="<input type=\"hidden\" name=\"hid\" value=\"0\">";
      $content_head .="<input type=\"text\" name=\"url\" style='font-size:9px;height:20px;width:130px' maxlength=\"200\" value=\"http://\">";
      $content_head .="<br/><input type=\"submit\" value=\""._GO_blk."\"></form>";
      
      
      $content_head .="</center><br>";
   
         if ($hid != 0 OR ($hid == 0 AND $url != "0" AND $url != "http://") AND $url != "") {
               if ($hid != 0) {
                      $sql5 = "SELECT sitename, headlinesurl FROM ".$prefix."_headlines WHERE hid='$hid'";
                 $result5 = $db->sql_query($sql5);
                 $row5 = $db->sql_fetchrow($result5);
                 $nsitename = $row5[sitename];
                 $url = $row5[headlinesurl];
                 $title = stripslashes(check_html($nsitename, "nohtml"));
                 $siteurl = eregi_replace("http://", "", $url);
                 $siteurl = explode("/", $siteurl);
               } else {
                 if (!ereg("http://", $url)) {
               $url = "http://$url";
                 }
                 $siteurl = eregi_replace("http://", "", $url);
                 $siteurl = explode("/", $siteurl);
                 $title = "http://$siteurl[0]";
               }
               $rdf = parse_url($url);
               
               // ajour de @ pour eviter d'avoir message erreur !
               $fp = @fsockopen($rdf['host'], 80, $errno, $errstr, 15);
               
               if (!$fp) {
                      $content = "<center><font class=\"content\">"._RSSPROBLEM_blk."</font></center>";
               }
               
               if ($fp) {
                  
                     fputs($fp, "GET " . $rdf['path'] . "?" . $rdf['query'] . " HTTP/1.0\r\n");
                     fputs($fp, "HOST: " . $rdf['host'] . "\r\n\r\n");
                     $string   = "";
                     
                     while(!feof($fp)) {
                        $pagetext = fgets($fp,300);
                        $string .= chop($pagetext);
                     }
                     
                     fputs($fp,"Connection: close\r\n\r\n");
                     fclose($fp);
                     $items = explode("</item>",$string);
                     $content = "<font class=\"content\">";
                     for ($i=0;$i<10;$i++) {
                     $link = ereg_replace(".*<link>","",$items[$i]);
                     $link = ereg_replace("</link>.*","",$link);
                     $link = stripslashes(check_html($link, "nohtml"));
                     $title2 = ereg_replace(".*<title>","",$items[$i]);
                     $title2 = ereg_replace("</title>.*","",$title2);
                     $title2 = stripslashes(check_html($title2, "nohtml"));
                     
                     if ($items[$i] == "" AND $cont != 1) {
                         $content = "<center>"._RSSPROBLEM."</center>";
                     } else {
                        
                         if (strcmp($link,$title2) AND $items[$i] != "") {
                              $cont = 1;
                              $content .= "<img src=\"images/arrow.gif\" border=\"0\" hspace=\"5\"><a href=\"$link\" target=\"new\">$title2</a><br>\n";
                           }
                     }
                     } // fin for
               }
               
               if ($content != "") {
                  OpenTable2();
                  
                  // pour n'avoir que le host dans le titre du lien
                     if ($siteurl) {
                     $shortnamesite = explode('.',$siteurl[0]);
                     
                      if (count($shortnamesite) < 3)  {
                          $shortnamesite[1] = $shortnamesite[0];
                      }
                      $shortnamesite[1] = eregi_replace("http://", "", $shortnamesite[1]);
                     }

                  $content_head .= "<center><b>"._HEADLINESFROM_blk." <a href=\"http://$siteurl[0]\" target=\"new\">$shortnamesite[1]</a></b></center><br>";
                  $content_head .= "$content";
                  CloseTable2();
               
               } elseif (($cont == 0) OR ($content == "")) {
                  
                  OpenTable2();
                  $content_head .= "<center>"._RSSPROBLEM_blk."</center><br>";
                  CloseTable2();
               }
               
               $content_head .= "<br>";
         
         } // FIN    if ($hid !=
   
   
    } else {  // si pas headline ou membre
       
       !$theuser[1] ? $msg = "<div>Il faut être membre pour afficher les manchettes</div>" :'';
       !$my_headlines ? $msg = "<div>Les manchettes sont désactivées !</div>" :'';
       
       $content_head = $msg ;
       
    }
       // fin IF my_headlines


return $content_head;

} // fin de fonction

?>


Tiens moi au courant !

@++

_________________
Bah on fait ce qu'on peut Hein Pas vrai ? ! et Vous !!!
(pas de demande d'aide via MP Merci ....)
Revenir en haut
Deconnecte    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Cohars




Novice



Inscrit le: Oct 09, 2004
Messages: 20

MessagePosté le: 06.01.2005, 20:16:12    Sujet du message: Répondre en citant

Merci ckforum.
Ca marche niquel sans changements.
Je vais bricoler un peu ca et je le posterai a la suite Smile
Revenir en haut
Caché    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   
Printer-friendly version
Poster un nouveau sujetRépondre au sujet    PHP-Nuke France - CE Index du Forum Blocks Toutes les heures sont au format GMT + 2 Heures
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Vous ne pouvez pas joindre des fichiers dans ce forum
Vous pouvez télécharger des fichiers dans ce forum

:: Powered by phpBB © 2001, 2005 phpBB Group ::

Site motorisé par PHP-Nuke en version Française distribuée par PHP-Nuke France - CE
PHP-Nuke © 2004 by Francisco BURZI
Logiciel gratuit que vous pouvez redistribuer librement en respectant la licence GPL
Tout le contenu du site est copyright PHP-Nuke France - CE
Site déclaré à la C.N.I.L sous le n° de dossier 865996
Noms de domaines, hébergement et site propriété de RondPoint Médias Services - Jean-Claude GIRAUD
Design RMS - Création RondPoint Médias Services   RondPoint Médias Services - © 2005 / 2006
Réseau : Etxe Ama - Ovalie - PHP-Nuke France : CE - RondPoint Médias Services - La Vallouise