[ Index ]
 

Code source de e107 0.7.8

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/e107_plugins/newsfeed/ -> newsfeed_functions.php (source)

   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  ?>


Généré le : Sun Apr 1 01:23:32 2007 par Balluche grâce à PHPXref 0.7