[ Index ] |
|
Code source de e107 0.7.8 |
1 <?php 2 /* 3 + ----------------------------------------------------------------------------+ 4 | e107 website system 5 | 6 | ?Steve Dunstan 2001-2002 7 | http://e107.org 8 | jalist@e107.org 9 | 10 | Released under the terms and conditions of the 11 | GNU General Public License (http://gnu.org). 12 | 13 | $Source: /cvsroot/e107/e107_0.7/e107_plugins/newsfeed/newsfeed_functions.php,v $ 14 | $Revision: 1.18 $ 15 | $Date: 2007/02/07 23:27:32 $ 16 | $Author: e107coders $ 17 +----------------------------------------------------------------------------+ 18 */ 19 20 if (!defined('e107_INIT')) { exit; } 21 22 if(!function_exists("checkUpdate")) 23 { 24 function checkUpdate($query = "newsfeed_active=2 OR newsfeed_active=3") 25 { 26 global $sql, $tp; 27 require_once(e_HANDLER."xml_class.php"); 28 $xml = new parseXml; 29 require_once(e_HANDLER."magpie_rss.php"); 30 31 if ($sql -> db_Select("newsfeed", "*", $tp -> toDB($query, true))) 32 { 33 $feedArray = $sql -> db_getList(); 34 foreach($feedArray as $feed) 35 { 36 extract ($feed); 37 if($newsfeed_timestamp + $newsfeed_updateint < time()) 38 { 39 if($rawData = $xml -> getRemoteXmlFile($newsfeed_url)) 40 { 41 $rss = new MagpieRSS( $rawData ); 42 $serializedArray = addslashes(serialize($rss)); 43 44 $newsfeed_des = FALSE; 45 if($newsfeed_description == "default") 46 { 47 if($rss -> channel['description']) 48 { 49 $newsfeed_des = $tp -> toDB($rss -> channel['description']); 50 } 51 else if($rss -> channel['tagline']) 52 { 53 $newsfeed_des = $tp -> toDB($rss -> channel['tagline']); 54 } 55 } 56 57 if(!$sql->db_Update('newsfeed', "newsfeed_data='{$serializedArray}', newsfeed_timestamp=".time().($newsfeed_des ? ", newsfeed_description='{$newsfeed_des}'": "")." WHERE newsfeed_id=".intval($newsfeed_id))) 58 { 59 echo NFLAN_48."<br /><br />".$serializedArray; 60 } 61 } 62 else 63 { 64 echo $xml -> error; 65 } 66 } 67 } 68 } 69 } 70 } 71 72 if(!function_exists("newsfeed_info")) 73 { 74 function newsfeed_info($which, $where = 'main') 75 { 76 global $tp, $sql; 77 if($which == 'all') 78 { 79 $qry = "newsfeed_active=1 OR newsfeed_active=3"; 80 } 81 else 82 { 83 $qry = "newsfeed_id = ".intval($which); 84 } 85 86 $text = ""; 87 checkUpdate($qry); 88 89 /* get template */ 90 if (file_exists(THEME."newsfeed_menu_template.php")) 91 { 92 include(THEME."newsfeed_menu_template.php"); 93 } 94 else 95 { 96 include(e_PLUGIN."newsfeed/templates/newsfeed_menu_template.php"); 97 } 98 99 if ($feeds = $sql -> db_Select("newsfeed", "*", $qry)) 100 { 101 while($row = $sql->db_Fetch()) 102 { 103 104 extract ($row); 105 list($newsfeed_image, $newsfeed_showmenu, $newsfeed_showmain) = explode("::", $newsfeed_image); 106 $numtoshow = ($where == 'main' ? $newsfeed_showmain : $newsfeed_showmenu); 107 $numtoshow = (intval($numtoshow) > 0 ? $numtoshow : 999); 108 $rss = unserialize($newsfeed_data); 109 110 $FEEDNAME = "<a href='".e_SELF."?show.$newsfeed_id'>$newsfeed_name</a>"; 111 $FEEDDESCRIPTION = $newsfeed_description; 112 if($newsfeed_image == "default") 113 { 114 if($file = fopen ($rss -> image['url'], "r")) 115 { 116 /* remote image exists - use it! */ 117 $FEEDIMAGE = "<a href='".$rss -> image['link']."' rel='external'><img src='".$rss -> image['url']."' alt='".$rss -> image['title']."' style='border: 0; vertical-align: middle;' /></a>"; 118 } 119 else 120 { 121 /* remote image doesn't exist - ghah! */ 122 $FEEDIMAGE = ""; 123 } 124 } 125 else if ($newsfeed_image) 126 { 127 $FEEDIMAGE = "<img src='".$newsfeed_image."' alt='' />"; 128 } 129 else 130 { 131 $FEEDIMAGE = ""; 132 } 133 $FEEDLANGUAGE = $rss -> channel['language']; 134 135 if($rss -> channel['lastbuilddate']) 136 { 137 $pubbed = $rss -> channel['lastbuilddate']; 138 } 139 else if($rss -> channel['dc']['date']) 140 { 141 $pubbed = $rss -> channel['dc']['date']; 142 } 143 else 144 { 145 $pubbed = NFLAN_34; 146 } 147 148 $FEEDLASTBUILDDATE = NFLAN_33.$pubbed; 149 $FEEDCOPYRIGHT = $tp -> toHTML($rss -> channel['copyright'], TRUE); 150 $FEEDTITLE = "<a href='".$rss -> channel['link']."' rel='external'>".$rss -> channel['title']."</a>"; 151 $FEEDLINK = $rss -> channel['link']; 152 if($newsfeed_active == 2 or $newsfeed_active == 3) 153 { 154 $LINKTOMAIN = "<a href='".e_PLUGIN."newsfeed/newsfeed.php?show.$newsfeed_id'>".NFLAN_39."</a>"; 155 } 156 else 157 { 158 $LINKTOMAIN = ""; 159 } 160 161 $data = ""; 162 163 $amount = ($items) ? $items : $numtoshow; 164 165 $item_total = array_slice($rss->items, 0, $amount); 166 167 $i = 0; 168 while($i < $numtoshow && $item_total[$i]) 169 { 170 $item = $item_total[$i]; 171 $FEEDITEMLINK = "<a href='".$item['link']."' rel='external'>".$tp -> toHTML($item['title'], TRUE)."</a>\n"; 172 $feeditemtext = preg_replace("#\[[a-z0-9=]+\]|\[\/[a-z]+\]|\{[A-Z_]+\}#si", "", strip_tags($item['description'])); 173 $FEEDITEMTEXT = $tp->text_truncate($feeditemtext, $truncate, $truncate_string); 174 175 $FEEDITEMCREATOR = $tp -> toHTML($item['author'], TRUE); 176 $data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MENU); 177 $i++; 178 } 179 180 $BACKLINK = "<a href='".e_SELF."'>".NFLAN_31."</a>"; 181 $text .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MENU_START) . $data . preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MENU_END); 182 } 183 } 184 185 if($which == 'all') 186 { 187 $ret['title'] = $NEWSFEED_MENU_CAPTION; 188 } 189 else 190 { 191 $ret['title'] = $newsfeed_name." ".$NEWSFEED_MAIN_CAPTION; 192 } 193 $ret['text'] = $text; 194 195 return $ret; 196 } 197 } 198 199 200 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Apr 1 01:23:32 2007 | par Balluche grâce à PHPXref 0.7 |