Exemplo n.º 1
0
 public static function NZB($postid)
 {
     static::Init();
     $result = '';
     // Get newsgroups
     $groups = '';
     $rs = static::$conn->Execute('SELECT "groupid" FROM "postgroup" WHERE "postid" = ? ', $postid);
     while ($row = $rs->Fetch()) {
         $groups .= "\t\t\t<group>" . Newsgroup::Lookup($row['groupid']) . "</group>\n";
     }
     // Get files
     $rs = static::$conn->Execute('SELECT "subject","authorid","parts","post_date" FROM "articles" WHERE "postid" = ? ', $postid);
     while ($row = $rs->Fetch()) {
         if (strlen($row['parts']) == 0) {
             continue;
         }
         // Empty parts value = SKIP file
         $parts = unserialize(gzinflate($row['parts']));
         if (isset($parts['id']) && isset($parts['size'])) {
             $result .= "\t" . '<file poster="' . SafeHTML(Author::Lookup($row['authorid'])) . '" date="' . $row['post_date'] . '" subject="' . SafeHTML($row['subject']) . '">' . "\n";
             // Groups
             $result .= "\t\t<groups>\n" . $groups . "\t\t</groups>\n";
             // Segments
             $result .= "\t\t<segments>\n";
             ksort($parts['size']);
             foreach ($parts['size'] as $key => $value) {
                 if (isset($parts['id'][$key])) {
                     $result .= "\t\t\t" . '<segment bytes="' . $value . '" number="' . $key . '">' . SafeHTML($parts['id'][$key]) . "</segment>\n";
                 }
             }
             $result .= "\t\t</segments>\n";
             $result .= "\t</file>\n";
         }
     }
     return $result;
 }