|
|
| PHP-Nuke France - Communauté Européenne: 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
| Voir le sujet précédent :: Voir le sujet suivant |
|
|
|
Cohars

Novice
Inscrit le: Oct 09, 2004 Messages: 20
|
Posté le: 05.01.2005, 12:11:57 Sujet du message: Block news RSS |
|
|
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 ?
|
|
 |
|
|
JeanClaude

Administrateur Général

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

Novice
Inscrit le: Oct 09, 2004 Messages: 20
|
Posté le: 06.01.2005, 09:51:47 Sujet du message: |
|
|
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.
| Description: |
|
 Télécharger |
| Nom de Fichier: |
souhait.JPG |
| Taille de Fichier: |
11.66 KB |
| Téléchargé: |
111 Fois |
|
|
 |
|
|
ckforum

Habitué

Inscrit le: Jan 06, 2004 Messages: 1653 Localisation: FRANCE
|
Posté le: 06.01.2005, 16:25:18 Sujet du message: |
|
|
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 ....) |
|
 |
|
|
Cohars

Novice
Inscrit le: Oct 09, 2004 Messages: 20
|
Posté le: 06.01.2005, 20:16:12 Sujet du message: |
|
|
Merci ckforum.
Ca marche niquel sans changements.
Je vais bricoler un peu ca et je le posterai a la suite
|
|
 |
|
|
|
|
|
|
|
|
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 :: |
|
|
|
|