* Author: 2006, Daniel A. Perez <daniel@gforgegroup.com>
* http://gforge.org/
*
- * @version
+ * @version
*
* This file is part of GForge.
*
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-include "pre.php";
-include "rss_utils.inc";
+require_once '../env.inc.php';
+require_once $gfwww.'include/pre.php';
+require_once $gfwww.'export/rss_utils.inc';
+
+$group_id = getIntFromRequest('group_id');
+$limit = getIntFromRequest('limit', 10);
-// ## default limit
-if (!$limit) $limit = 10;
if ($limit > 100) $limit = 100;
-$group_id = getIntFromRequest('group_id');
+$url = util_make_url ('/');
if ($group_id) {
- $where = "group_id=$group_id and is_public=1";
- $query = "SELECT group_name FROM groups WHERE $where";
- $res = db_query($query,1);
+ $res = db_query_params ('SELECT group_name FROM groups WHERE group_id=$1 and is_public=1',
+ array($group_id),
+ 1);
$row = db_fetch_array($res);
- $title = "".$row[group_name]." - ";
+ $title = $row['group_name'];
$link = "?group_id=$group_id";
- $description = " of ".$row[group_name];
- $querywm = "SELECT users.user_name,users.realname FROM user_group,users WHERE group_id=$group_id AND admin_flags='A' AND users.user_id=user_group.user_id ORDER BY users.add_date";
- $reswm = db_query($querywm,1);
+ $description = " of ".$row['group_name'];
+
+ $reswm = db_query_params ('SELECT users.user_name,users.realname FROM user_group,users WHERE group_id=$1 AND admin_flags=$2 AND users.user_id=user_group.user_id ORDER BY users.add_date',
+ array($group_id,
+ 'A'),
+ 1);
if ($rowwm = db_fetch_array($reswm)) {
- $webmaster = $rowwm[user_name]."@".$GLOBALS[sys_users_host]." (".$rowwm[realname].")";
+ $webmaster = $rowwm['user_name']."@".$GLOBALS['sys_users_host']." (".$rowwm['realname'].")";
} else {
- $webmaster = "admin@".$GLOBALS[sys_default_domain];
+ $webmaster = $GLOBALS['sys_admin_email'];
}
- $sql="SELECT * FROM activity_vw WHERE activity_date BETWEEN '".(time()-(30*86400))."' AND '".time()."'
- AND activity_vw.group_id = groups.group_id AND groups.is_public=1 AND activity_vw.group_id='$group_id' ORDER BY activity_date DESC";
-
+
// ## one time output
- header("Content-Type: text/xml");
+ header("Content-Type: text/xml; charset=utf-8");
print '<?xml version="1.0" encoding="UTF-8"?>
- <rss version="2.0">
- ';
+ <rss version="2.0">
+ ';
print " <channel>\n";
- print " <title>".$GLOBALS[sys_default_name]." $title Activity</title>\n";
- print " <link>http://".$GLOBALS[sys_default_domain]."/activity/$link</link>\n";
- print " <description>".$GLOBALS[sys_name]." Project Activity$description</description>\n";
+ print " <title>".$GLOBALS['sys_name']." $title Activity</title>\n";
+ print " <link>$url/activity/$link</link>\n";
+ print " <description>".$GLOBALS['sys_name']." Project Activity$description</description>\n";
print " <language>en-us</language>\n";
- print " <copyright>Copyright 2000-".date("Y")." ".$GLOBALS[sys_name]." OSI</copyright>\n";
+ print " <copyright>Copyright ".date("Y")." ".$GLOBALS['sys_name']."</copyright>\n";
print " <webMaster>$webmaster</webMaster>\n";
- print " <lastBuildDate>".gmdate('D, d M Y G:i:s',time())." GMT</lastBuildDate>\n";
+ print " <lastBuildDate>".rss_date(time())."</lastBuildDate>\n";
print " <docs>http://blogs.law.harvard.edu/tech/rss</docs>\n";
- print " <generator>".$GLOBALS[sys_name]." RSS generator</generator>\n";
- print " <image>\n";
- print " <url>http://".$GLOBALS[sys_default_domain]."/images/bflogo-88.png</url>\n";
- print " <title>".$GLOBALS[sys_name]." Developer</title>\n";
- print " <link>http://".$GLOBALS[sys_default_domain]."/</link>\n";
- print " <width>124</width>\n";
- print " <heigth>32</heigth>\n";
- print " </image>\n";
-
- $res = db_query($sql, $limit);
-
+ print " <generator>".$GLOBALS['sys_name']." RSS generator</generator>\n";
+
+ $res = db_query_params ('SELECT * FROM activity_vw WHERE activity_date BETWEEN $1 AND $2 AND group_id=$3 ORDER BY activity_date DESC',
+ array(time() - 30*86400,
+ time(),
+ $group_id),
+ $limit);
+
// ## item outputs
while ($arr = db_fetch_array($res)) {
print " <item>\n";
-
+
switch ($arr['section']) {
case 'commit': {
print " <title>".htmlspecialchars('Commit for Tracker Item [#'.$arr['subref_id'].'] '.$arr['description'])."</title>\n";
- print " <link>http://".$GLOBALS[sys_default_domain].'/tracker/?func=detail&atid='.$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
- print " <comment>http://".$GLOBALS[sys_default_domain].'/tracker/?func=detail&atid='.$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comment>\n";
+ print " <link>$url/tracker/?func=detail&atid=".$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
+ print " <comments>$url/tracker/?func=detail&atid=".$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comments>\n";
break;
}
case 'trackeropen': {
print " <title>".htmlspecialchars('Tracker Item [#'.$arr['subref_id'].' '.$arr['description'].'] Opened')."</title>\n";
- print " <link>http://".$GLOBALS[sys_default_domain].'/tracker/?func=detail&atid='.$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
- print " <comment>http://".$GLOBALS[sys_default_domain].'/tracker/?func=detail&atid='.$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comment>\n";
+ print " <link>$url/tracker/?func=detail&atid=".$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
+ print " <comments>$url/tracker/?func=detail&atid=".$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comments>\n";
break;
}
case 'trackerclose': {
print " <title>".htmlspecialchars('Tracker Item [#'.$arr['subref_id'].' '.$arr['description'].'] Closed')."</title>\n";
- print " <link>http://".$GLOBALS[sys_default_domain].'/tracker/?func=detail&atid='.$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
- print " <comment>http://".$GLOBALS[sys_default_domain].'/tracker/?func=detail&atid='.$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comment>\n";
+ print " <link>$url/tracker/?func=detail&atid=".$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
+ print " <comments>$url/tracker/?func=detail&atid=".$arr['ref_id'].'&aid='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comments>\n";
break;
}
case 'frsrelease': {
print " <title>".htmlspecialchars('FRS Release [#'.$arr['description'].']')."</title>\n";
- print " <link>http://".$GLOBALS[sys_default_domain].'/frs/?release_id='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
- print " <comment>http://".$GLOBALS[sys_default_domain].'/frs/?release_id='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comment>\n";
+ print " <link>$url/frs/?release_id=".$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
+ print " <comments>$url/frs/?release_id=".$arr['subref_id'].'&group_id='.$arr['group_id']."</comments>\n";
break;
}
case 'forumpost': {
print " <title>".htmlspecialchars('Forum Post [#'.$arr['subref_id'].'] '.$arr['description'])."</title>\n";
- print " <link>http://".$GLOBALS[sys_default_domain].'/forum/message.php?forum_id='.$arr['ref_id'].'&msg_id='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
- print " <comment>http://".$GLOBALS[sys_default_domain].'/forum/message.php?forum_id='.$arr['ref_id'].'&msg_id='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comment>\n";
+ print " <link>$url/forum/message.php?forum_id=".$arr['ref_id'].'&msg_id='.$arr['subref_id'].'&group_id='.$arr['group_id']."</link>\n";
+ print " <comments>$url/forum/message.php?forum_id=".$arr['ref_id'].'&msg_id='.$arr['subref_id'].'&group_id='.$arr['group_id']."</comments>\n";
+ break;
+ }
+ case 'news': {
+ print " <title>".htmlspecialchars('News Post [#'.$arr['subref_id'].'] '.$arr['description'])."</title>\n";
+ print " <link>$url/forum/forum.php?forum_id=".$arr['subref_id']."</link>\n";
+ print " <comments>$url/forum/forum.php?forum_id=".$arr['subref_id']."</comments>\n";
break;
- }
- }
-
- print " <description>".rss_description($arr[description])."</description>\n";
- print " <author>".$row[user_name]."@".$GLOBALS[sys_users_host]." (".$row[realname].")</author>\n";
- print " <pubDate>".gmdate('D, d M Y G:i:s',$row[activity_date])." GMT</pubDate>\n";
+ }
+ }
+
+ print " <description>".rss_description($arr['description'])."</description>\n";
+ print " <author>".$arr['user_name']."@".$GLOBALS['sys_users_host']." (".$arr['realname'].")</author>\n";
+ print " <pubDate>".rss_date($arr['activity_date'])."</pubDate>\n";
print " </item>\n";
}
// ## end output
- print " </channel>\n";
-
+ print " </channel>\n";
+ print "</rss>\n";
+
} else {
- // Print error showing no group was selected
+ // Print error showing no group was selected
- echo "<br><h2><font color='red'> Error: No group selected</font></h2>";
+ echo "<br /><span class=\"error\"> Error: No group selected</span>";
}
?>
-</rss>