Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Twitter_Timeline v1.0.3
Forum Sefrengo.org > Downloads > Archiv > Module
pawel
Modulname:
---------------------------------------------------------------------------
Twitter-Timeline

Status:
---------------------------------------------------------------------------
stable

Bechreibung:
---------------------------------------------------------------------------
Das Modul bindet automatisch die letzten Tweets aus Twitter in der Website ein.

Dabei kann man auswählen, ob die öffentliche Timeline (public timeline) oder die Timeline der Freunde(friends timeline = Personen, denen man folgt) oder die eigene Timeline (user timeline = nur die Beiträge, die man selbst verfasst hat) angezeigt werden.

Features:
---------------------------------------------------------------------------
- Caching um die Twitterlimitierungen (70 Abfragen in der Stunde) zu umgehen
- Modulbeschreibungen und Konfigurationshinweise im Modul

Autor(en):
---------------------------------------------------------------------------
Andreas Fritsch
Torsten Hofmann

Lizenz:
---------------------------------------------------------------------------
Creativ Common
http://creativecommons.org/licenses/by/3.0/de/

BSD (für die verwendete Klasse)
http://classes.verkoyen.eu/overview/bsd


Benötigte Sefrengo Version:
---------------------------------------------------------------------------
>= 01.91.00 (Sefrengo 1.2 alpha2)

Installation:
---------------------------------------------------------------------------
Zunächst muss ein Ordner cache angelegt werden. Dieser befindet sich auf der gleichen Ebene
wie der der Ordner projekt01. In der Standardinstallation ist cache ein Unterordner von cms.

Es ist nötig die Anwendung unter dev.twitter.com anzumelden. Die 4 Key's werden benötigt.

Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Design->Module". Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsmod"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Modul in das CMS importiert. Das Modul ist nun innerhalb des CMS
nutzbar.


QUELLTEXT
Current Version 1.0.3 - released 31.10.2010
------------------------------------------------------------------------------------------------
^ Umstellung auf OAuth, die Authentifizierung benötigt jetzt 4 Werte (Consumer Key, Consumer Key Secret
  Access Token, Access Token Secret)

Version 1.0.2 - released 20.06.2009
------------------------------------------------------------------------------------------------
+ Einstellung der Anzahl der angezeigten Tweets (counts) über das Modul
+ Tweets sind eigenständig konfigurierbar
+ neue Inhaltselemente ({name}, {image}, {text}, {followers}, {client},{following},{friends},{statuses}.)


Version 1.0.1 (Beta) - released 23.05.2009
-------------------------------------------------------------------------------------------------
+ Caching (Limitierungen der Twitter API von 70 Request/ Stunde durch Caching aufgehoben)


Initial Version 1.0.0 (Alpha) - released 22.05.2009
-------------------------------------------------------------------------------------------------
!Einbindung der Twitter Timeline in die eigene Website
bkm
DANKE !!! tongue.gif
dederpapst3000
Genial Pawel!
Danke für dieses tolle Modul. Bist eben der Web 2.0 King bei Sefrengo
Frage: Hast du schon was mit FB interaktion im Sinn? smile.gif

leoboe
Funktioniert echt Klasse das Modul
und auch super einfach zu bedienen.

Eine frage hätte ich nur: ist es auch möglich, dass nur die tweets und retweets von einem Twitter-account anzuzeigen?
pawel
Das Modul kapselt nur ein paar TwitterAPI-Calls. Bestimmte Retweets sind per User-Timeline möglich.
Näheres zeigt die Twitter-Dokumentation.

Wenn Du ein bisschen an Mashups interessiert bist hilft Dir veilleicht mein Artikel über die Nutzung von Twitter via YQL.

Was meint FB interaktion?
leoboe
Ok ich hab mal was zusammengebastelt, was bisher gut funktioniert, auch wenn es ein ziemlicher Umweg ist wink.gif

Ich hab die Zeile 90 wie in der Dokumentation beschrieben ungeändert in:
QUELLTEXT
return (array) $this->doCall('statuses/user_timeline.json?include_rts=true', $parameters, true);


nach Zeile 2885 folgenden Code eingefügt:
QUELLTEXT
$myTwittername =   $response[$i][user][name];
$explode_array = explode("@",$myTwitter['text'],2);
if ($explode_array[0] == "RT ") {
     $explode_text = explode(":",$explode_array[1],2);
     $myTwitter['text'] = $explode_text[1];
     $myTwittername = $explode_text[0];
}

und die (neue) Zeile 2897 umgeändert in
QUELLTEXT
$myTwitter['element'] = str_replace('{name}',  $myTwittername , $myTwitter['element']);


Dadurch wird der vorhergehende Benutzername des "Original-Twitterers" entfernt und gleichzeitig der Platzhalter {name} damit überschrieben.
Ganz normale Twitter-Beiträge bleiben unangetastet.

Wie gesagt ich habe bisher noch keine Fehler feststellen können wobei in der Dokumentation nicht ganz klar ist, ob wirklich alle Retweets mit dem parameter "include_rts=true" angezeigt werden.
Würde mich über Tests von anderen Usern sehr freuen smile.gif
pawel
Logische Idee. Die Klasse dient ja auch zu perspektivischen Erweiterung des Moduls rolleyes.gif
Reicht Dir
QUELLTEXT
return (array) $this->doCall('statuses/user_timeline.json?include_rts=true', $parameters, true);
nicht? Damit werden die Retweets doch einbezogen.

Warum das mühsame "Herausfischen" von RT und Benutzername? Dadurch wirkt es ja eher wie eine Veröffentlichung von Dir und wird eigentlich Twitter weniger gerecht. Du hast ja auch jederzeit die Gelegenheit, bei der Erstellung deines Retweet, diese Angaben zu entfernen und darfst dann auch den Doppelpunkt verwenden.
leoboe
Ich hatte bei dem Modul das Problem, dass der Name des Autors erst am ende angezeigt werden soll, nämlich dort wo ich im Modul {name} angegeben habe.
Deswegen schreibt der Code auch den Namen des Original-Autors in diese Variable.
pawel
Aha. Dann geht aber auch:

QUELLTEXT
$explode_array = explode("@",$myTwitter['text'],2);
if ($explode_array[0] == "RT ") {
$explode_text = explode(":",$explode_array[1],2);
$myTwitter['text'] = $explode_text[1];
$myTwitter['author'] = $explode_text[0];


und eine neue Zeile:
QUELLTEXT
$myTwitter['element'] = str_replace('{author}',  $myTwitter['author'] , $myTwitter['element']);
pawel
Ich glaube, mir ist noch etwas eleganteres eingefallen. Twitter verordnet mir aber immer 1 Stunde Ruhe, wenn ich zu intensiv teste rolleyes.gif

Deshalb so:
QUELLTEXT
<?php
$tweet = 'RT @pawelf: Hallo @webfalter';

if(preg_match('/\brt\s*@(\w+)/i', $tweet, $match))
    echo 'Somebody retweeted ' . $match[1] . "\n";
    $cleanText = (explode(':', $tweet, 2));
    echo '<br />' . $cleanText[1];
?>
pawel
Habe es mal kurz gebündelt, muss perspektivisch konfigurierbar sein, so dass jeder entscheiden kann, ob er alle Retweets möchte.
Nur zum Testen.Klicken um den Anhang anzusehen
leoboe
Funktioniert super smile.gif

Das einzige was ich denk was man einbauen könnte wäre, dass die variable für {name} direkt wie in meiner ersten Version mit dem Namen des Autors vertauscht wird.
So wie du es im vor-vorletzten Post geschrieben hast scheint es bei mir wohl nicht zu funktionieren.
Nichtsdestotrotz dürfte es für die meisten Situationen wesentlich praktischer sein, denn bis jetzt zeigt die Variable {name} immer den Namen vom ausgewählten User.
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2021 Invision Power Services, Inc.