Changeset 1750 for trunk/feed.php


Ignore:
Timestamp:
Jan 24, 2007, 6:07:08 AM (17 years ago)
Author:
rvelices
Message:
  • plugins with own independent scripts work now (cookie_path and url root are

correct)

  • prepare a bit some url functions so that later we can fully embed pwg in

scripts located outside pwg

  • remove some unnecessary language strings
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/feed.php

    r1639 r1750  
    8989// +-----------------------------------------------------------------------+
    9090
    91 // clean $user array (include/user.inc.php has been executed)
    92 $user = array();
     91$feed_id= isset($_GET['feed']) ? $_GET['feed'] : '';
     92$image_only=isset($_GET['image_only']);
    9393
    9494// echo '<pre>'.generate_key(50).'</pre>';
    95 if (isset($_GET['feed'])
    96     and preg_match('/^[A-Za-z0-9]{50}$/', $_GET['feed']))
     95if ( !empty($feed_id) )
    9796{
    9897  $query = '
    99 SELECT uf.user_id AS id,
    100        ui.status,
    101        uf.last_check,
    102        u.'.$conf['user_fields']['username'].' AS username
    103   FROM '.USER_FEED_TABLE.' AS uf
    104     INNER JOIN '.USER_INFOS_TABLE.' AS ui
    105       ON ui.user_id = uf.user_id
    106     INNER JOIN '.USERS_TABLE.' AS u
    107       ON u.'.$conf['user_fields']['id'].' = uf.user_id
    108   WHERE uf.id = \''.$_GET['feed'].'\'
     98SELECT user_id,
     99       last_check
     100  FROM '.USER_FEED_TABLE.'
     101  WHERE id = \''.$feed_id.'\'
    109102;';
    110   $user = mysql_fetch_array(pwg_query($query));
    111 }
    112 
    113 if ( empty($user) )
    114 {
    115   page_not_found('Unknown/missing feed identifier');
    116 }
    117 
    118 $user['forbidden_categories'] = calculate_permissions($user['id'],
    119                                                       $user['status']);
    120 if ('' == $user['forbidden_categories'])
    121 {
    122   $user['forbidden_categories'] = '0';
     103  $feed_row = mysql_fetch_assoc(pwg_query($query));
     104  if ( empty($feed_row) )
     105  {
     106    page_not_found('Unknown/missing feed identifier');
     107  }
     108  if ($feed_row['user_id']!=$user['id'])
     109  { // new user
     110    $user = array();
     111    $user = build_user( $feed_row['user_id'], true );
     112  }
     113}
     114else
     115{
     116  $image_only = true;
     117  if (!$user['is_the_guest'])
     118  {// auto session was created - so switch to guest
     119    $user = array();
     120    $user = build_user( $conf['guest_id'], true );
     121  }
    123122}
    124123
     
    127126include_once(PHPWG_ROOT_PATH.'include/feedcreator.class.php');
    128127
    129 $base_url = get_host_url().cookie_path();
    130 if ( strrpos($base_url, '/') !== strlen($base_url)-1 )
    131 {
    132   $base_url .= '/';
    133 }
    134 $page['root_path']=$base_url;
     128set_make_full_url();
    135129
    136130$rss = new UniversalFeedCreator();
     
    145139// +-----------------------------------------------------------------------+
    146140
    147 if ( !isset($_GET['image_only']) )
    148 {
    149   $news = news($user['last_check'], $dbnow, true, true);
     141if (!$image_only)
     142{
     143  $news = news($feed_row['last_check'], $dbnow, true, true);
    150144
    151145  if (count($news) > 0)
     
    174168UPDATE '.USER_FEED_TABLE.'
    175169  SET last_check = \''.$dbnow.'\'
    176   WHERE id = \''.$_GET['feed'].'\'
     170  WHERE id = \''.$feed_id.'\'
    177171;';
    178172    pwg_query($query);
     
    180174}
    181175else
    182 { // update the last check to avoid deletion by maintenance task
    183   $query = '
    184 UPDATE '.USER_FEED_TABLE.'
    185   SET last_check = \''.$dbnow.'\'
    186   WHERE id = \''.$_GET['feed'].'\'
    187 ;';
    188   pwg_query($query);
     176{
     177  if ( !empty($feed_id) )
     178  {// update the last check to avoid deletion by maintenance task
     179    $query = '
     180  UPDATE '.USER_FEED_TABLE.'
     181    SET last_check = \''.$dbnow.'\'
     182    WHERE id = \''.$feed_id.'\'
     183  ;';
     184    pwg_query($query);
     185  }
    189186}
    190187
     
    196193  $exploded_date = explode_mysqldt($date);
    197194  $item = new FeedItem();
    198   $item->title = l10n_dec('%d element added', '%d elements added', $date_detail['nb_elements']);
     195  $item->title = l10n_dec('%d new element', '%d new elements', $date_detail['nb_elements']);
    199196  $item->title .= ' ('.$lang['month'][(int)$exploded_date['month']].' '.$exploded_date['day'].')';
    200197  $item->link = make_index_url(
     
    212209  $item->description .=
    213210        '<li>'
    214         .l10n_dec('%d element added', '%d elements added', $date_detail['nb_elements'])
     211        .l10n_dec('%d new element', '%d new elements', $date_detail['nb_elements'])
    215212        .' ('
    216213        .'<a href="'.make_index_url(array('section'=>'recent_pics')).'">'
     
    239236          .get_cat_display_name_cache($cat['uppercats'])
    240237          .' ('.
    241           l10n_dec('%d element added',
    242                    '%d elements added', $cat['img_count']).')'
     238          l10n_dec('%d new element',
     239                   '%d new elements', $cat['img_count']).')'
    243240          .'</li>';
    244241  }
Note: See TracChangeset for help on using the changeset viewer.