lifestream

Posted by & filed under php, wordpress.

Ich habe mir heute mal das LiveStream-Plugin von David Cramer installiert. Es läuft wunderbar, das Ergebnis könnt Ihr hier beobachten. Leider gab es noch keine Möglichkeit, Bookmarks von Mister Wong anzuzeigen, die dafür notwendige Klasse habe ich in wenigen Minuten selber programmiert:

class LifeStream_MrWongFeed extends LifeStream_Feed
{
    const ID            = 'misterwong';
    const NAME          = 'Mister Wong';
    const URL           = 'http://www.mister-wong.de/';
    const LABEL_SINGLE  = 'Bookmarked a link on <a href="%s">%s</a>.';
    const LABEL_PLURAL  = 'Bookmarked %d links on <a href="%s">%s</a>.';
    const LABEL_SINGLE_USER = '<a href="%s">%s</a> bookmarked a link on <a href="%s">%s</a>.';
    const LABEL_PLURAL_USER = '<a href="%s">%s</a> bookmarked %d links on <a href="%s">%s</a>.';

    function __toString()
    {
        return $this->options['username'];
    }
        
    function get_options()
    {        
        return array(
            'username' => array('Username:', true, '', ''),
            'filter_tag' => array('Limit items to tag:', false, '', ''),
            'show_tags' => array('Show tags with links.', false, false, true),
            'display_description' => array('Display descriptions of links.', false, false, true),
        );
    }

    function get_url()
    {
        $url = 'http://www.mister-wong.de/rss/user/'.$this->options['username'].'/';
        if (!empty($this->options['filter_tag'])) $url .= '/'.$this->options['filter_tag'].'/';
        return $url;
    }
    
    function get_public_url()
    {
        return 'http://www.mister-wong.de/rss/user/'.$this->options['username'].'/';
    }

    function yield($row)
    {
        return array(
            'date'      =>  $row->get_date('U'),
            'link'      =>  html_entity_decode($row->get_link()),
            'title'     =>  html_entity_decode($row->get_title()),
            'description'   =>  html_entity_decode($row->get_description())
        );
    }
}
register_lifestream_feed('LifeStream_MrWongFeed');

Diese Klasse gehört in die feeds.inc.php, in das images-Verzeichnis gehört noch ein misterwong.png und schon könnt Ihr im Adminbereich den Feed verwenden.

5 Responses to “lifestream”

  1. rappel

    wenn ich das Plugin aktiviere wird i.A. eine leere Seite gezeigt, ich kann die Plugin-Seite auch nicht mehr aufrufen. Alles andere im WP-Backend ist erreichbar, auch die Lifestream Einstellungen. Wo liegt in diesem Fall das Problem? Finde leider keine Kontaktadresse zum Autor, daher stelle ich die Frage mal bei Dir 😉

    Antworten
  2. michael

    Welche WP-Version und welche LifeStream-Version hast Du verwendet? Ich bin absichtlich noch bei der Plugin-Version 0.85 geblieben, weil ich da noch einen kleinen WorkAround mit dem eingebauten simplepie reinprogrammiert habe und nicht weiss, ob das schon in der aktuellen Version gefixt ist.
    Kannst Du auf der LifeStream-Seite im Backend die Errorlogs lesen und ist dort etwas eingetragen?

    Antworten
  3. rappel

    aktuell wp 2.7, hatte gestern aber auch unter 2.65 das gleiche problem. auch beim plugin zuerst mit 0.84 und jetzt mit 0.85 das gleiche resultat… in den errorlogs steht nichts geschrieben.

    habe es gerade nocheinmal probiert. nun ist zwar die plugin-liste da aber es fehlen diverse andere funktionen im dahboard. deaktiviere ich lifestream ist hingegen alles ok. 🙁

    Antworten
  4. rappel

    nachtrag: ich habe jetzt mal schritt für schritt all meine plugins deaktiviert/ aktiviert. schließlich konnte ich das all-in-seo plugin als mögliche ursache ausmachen, nach dessen deaktivierung ist nun alles bestens im dashboard. warum auch immer, die beiden scheinen sich nicht zu mögen (jedenfalls hier). lifestream läuft jetzt sauber, danke für dein bemühen!

    Antworten
  5. michael

    Gut zu wissen, hatte mir das Plugin auch schon mal angesehen, aber bislang noch nicht installiert, was ich also dann auch nicht machen werde.

    Antworten

Leave a Reply