return true; } function generate_content(&$title) { global $serendipity; $title = $this->get_config('sidebarTitle'); $deliciousID = $this->get_config('deliciousID'); $moreLink = $this->get_config('moreLink'); if (empty($deliciousID)) { return false; } if ($this->get_config('displayNumber') < 30 && $this->get_config('displayNumber') >= 1) { $displayNumber = $this->get_config('displayNumber'); } else { $displayNumber = 30; } if ($this->get_config('cacheTime') > 0) { $cacheTime = $this->get_config('cacheTime') * 3600; } else { $cacheTime = 3600 + 1; } $gDeliciousURL = 'http://del.icio.us/'; $gDeliciousCacheLoc = $serendipity['serendipityPath'] . '/templates_c/delicious_'; // safe write location... need to have local abilit $parsedCache = $gDeliciousCacheLoc . md5($deliciousID) . '.cache'; if (!is_file($parsedCache) || mktime() - filectime($parsedCache) > $cacheTime) { if (!is_dir($gDeliciousCacheLoc) && !mkdir($gDeliciousCacheLoc, 0775)) { print 'Try to chmod go+rwx - permissions are wrong.'; } require_once 'Onyx/RSS.php'; $deliciousFeed = new Onyx_RSS(); //$deliciousFeed->setCachePath($gDeliciousCacheLoc); //$deliciousFeed->setExpiryTime($cacheTime); //$deliciousFeed->parse($gDeliciousURL .'rss/' . $deliciousID, md5($deliciousID) . '.dat'); $deliciousFeed->parse($gDeliciousURL . 'rss/' . $deliciousID); if ($deliciousFeed->numItems() >= 1) { $fileHandle = @fopen($parsedCache, 'w'); if ($fileHandle) { $deliciousContent = '<ul class="plainList">'; for ($i = 0; ($item = $deliciousFeed->getNextItem()) && $i < $displayNumber; $i++) { $deliciousContent .= '<li>' . '<a href="' . delicious_clean_htmlspecialchars($item['link']) . '" title="' . $item['description'] . '" rel="external">' . delicious_clean_htmlspecialchars($item['title']) . '</a></li>'; } $deliciousContent .= '</ul>'; fwrite($fileHandle, $deliciousContent); fclose($fileHandle); print $deliciousContent; } else { print '<p>A del.icio.us error occured! <br />' . 'Error Message: unable to make a delicious cache file: ' . $parsedCache . '!</p>'; } } elseif (is_file($parsedCache)) { print file_get_contents($parsedCache); } else { print '<p>A del.icio.us error occured! <br />' . 'Error Message: rss failed</p>'; } } else { print file_get_contents($parsedCache); } if (serendipity_db_bool($moreLink)) { print '<p><a href="' . $gDeliciousURL . $deliciousID . '/">' . $this->get_config('morelink_text') . '</a></p>';