in['type'], array('rss', 'atom'))) { define('SYND_TYPE', $bugsys->in['type']); } if (!defined('SYND_TYPE')) { define('SYND_TYPE', 'atom'); } if (!can_perform('canviewbugs')) { $message->error_permission(); } // ################################################################### // get the syndicated items and prepare their content $timestamp = (can_perform('canviewhidden', 0, fetch_guest_user()) ? 'lastposttime' : 'hiddenlastposttime'); $lastupdated = 0; $buglist = array(); $bugs_fetch = $db->query(" SELECT bug.*, comment.comment_parsed FROM " . TABLE_PREFIX . "bug LEFT JOIN " . TABLE_PREFIX . "comment ON (bug.initialreport = comment.commentid) WHERE bug.product IN (" . fetch_on_bits('canviewbugs', fetch_guest_user()) . ") AND (!bug.hidden OR (bug.hidden AND bug.product IN (" . fetch_on_bits('canviewhidden', fetch_guest_user()) . "))) ORDER BY " . (can_perform('canviewhidden', 0, fetch_guest_user()) ? "bug.lastposttime" : "bug.hiddenlastposttime") . " DESC LIMIT " . $bugsys->options['syndicateditems'] ); while ($bug = $db->fetch_array($bugs_fetch)) { $bug['storytext'] = str_replace(array('<', '>'), array('<', '>'), sprintf( $lang->string('
Bug ID: %1$s
Summary: %2$s
Product/Component/Version: %3$s
Status: %4$s
Severity: %5$s

%6$s

'), $bug['bugid'], $bug['summary'], $bugsys->datastore['product']["$bug[product]"]['title'] . '/' . (($bug['component']) ? $bugsys->datastore['product']["$bug[component]"]['title'] . '/' : '') . $bugsys->datastore['version']["$bug[version]"]['version'], $bugsys->datastore['status']["$bug[status]"]['status'], $bugsys->datastore['severity']["$bug[severity]"]['severity'], $bug['comment_parsed'] )); $buglist["$bug[bugid]"] = $bug; $lastupdated = $bug["$timestamp"]; } // ################################################################### // ATOM if (SYND_TYPE == 'atom') { header('Content-type: application/xml'); echo ' ' . sprintf($lang->string('%1$s Syndication Feed'), $bugsys->options['trackertitle']) . ' ' . gmdate('Y-m-d\TH:i:s\Z', $lastupdated) . ' '; foreach ($buglist AS $bug) { echo ' ' . $bugsys->options['trackertitle'] . '/showreport.php?bugid=' . $bug['bugid'] . ' ' . $bug['summary'] . ' ' . gmdate('Y-m-d\TH:i:s\Z', $bug["$timestamp"]) . ' ' . $bug['username'] . ' ' . $bug['storytext'] . ' '; } echo ' '; exit; } // ################################################################### // RSS else if (SYND_TYPE == 'rss') { // not going to be implemented in 1.1 because I don't want to clutter the templates with multiple feed icons and such... } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>