Free Tag Plugin - Updaten auf "SWFObject 2.1"

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
designor
Regular
Posts: 14
Joined: Sun Dec 09, 2007 4:58 pm
Contact:

Free Tag Plugin - Updaten auf "SWFObject 2.1"

Post by designor »

Hallo,

nachdem ich meine Website http://www.designor.de auf S9Y umgestellt habe, wollte ich natürlich auch gern das Freetag-Plugin mit der süßen Flash-Tag-Wolke nutzen. Aber irgendwie hat sich das wohl mit anderen eingefügten Flash-Inhalten gebissen, vielleicht weil beide über verschiedene Versionen des "SWFObject" eingebunden wurden...

Jedenfalls hab ich im Quellcode nachgeschaut und gesehen, dass das Freetag-Plugin noch über die "alte" Version "SWFObject 1.4" eingebunden wird. Der W3C_Validator brachte außerdem noch einen Fehler, weil er <tags> als nicht valide erkannte.

Ich hab mich mal rangesetzt und das Plugin dahingehend modifiziert, dass jetzt "SWFObject 2.1" verwendet wird und der Validator nix mehr zu meckern hat :-)
Und meine zusätzlichen Flash-Inhalte laufen auch ohne Probleme...
:arrow: http://www.designor.de

Wie kann ich die Änderungen posten? Ich kann ja weder hier noch in einer PM an Garvin eine ZIP o.ä. anhängen. Und die email-adresse kenn ich nicht...

Kalte Grüße aus der Lausitz :)
Torsten
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Free Tag Plugin - Updaten auf "SWFObject 2.1"

Post by yellowled »

designor wrote:Ich hab mich mal rangesetzt und das Plugin dahingehend modifiziert, dass jetzt "SWFObject 2.1" verwendet wird und der Validator nix mehr zu meckern hat :-)
Hm, das heißt, Du kennst Dich soweit mit den Innereien von Flash aus, dass Du das Plugin auch ansonsten verbiegen könntest? Da gibt es noch ein Problem, welches im weitesten Sinne mit der Anzahl der Tags zusammenhängt, einfach mal hier nachlesen.

Ich wüsste da jemanden, der evtl. auch eine Spende in Aussicht stellen würde, falls das Plugin sauber und mit (beliebig vielen) Tags in einer s9y-Umgebung läuft ...

Alles weitere in puncto Patch-Weiterreichung kann Garvin besser einsortieren :-)

YL
designor
Regular
Posts: 14
Joined: Sun Dec 09, 2007 4:58 pm
Contact:

Post by designor »

Hmm, nö mit Flash kenn ich mich nicht aus :-( jedenfalls nicht mehr so gut...

Ich hab lediglich die PHPs verändert, um den neuen CODE zum Integrieren des Flash auf "SWFObject 2.1" zu ändern. Das ist ja zum 1.4 inkompatibel, es wird anders eingebettet.

In deinem verlinkten Thread hab ich dank meines mangelhaften Englisch nur mitbekommen, dass du es in einer Kundenseite benutzt hast, aber nach 2 Tagen es nicht mehr ging... wegen sehr vielen Tags
Gibt es denn eine Wordpress-Seite oder in einem anderen unterstützten System, die mit dieser Masse an Tags funktioniert? Oder ist das ein Problem des Flash-Films?

btw: ich glaube irgendwo gesehen zu haben, dass die Tags auch mehrfarbig angezeigt werden können, das könnte man ja auch noch ins plugin einbauen...

torsten
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Patches wären mir am liebsten, wenn Du den patch (oder das ganze plugin als ZIP) auf einen webserver temporär hochladen kannst, z.b. in dein s9y upload verzeichnis oder so. Damit kann ich dannn leicht die Datei runterladen und einspielen. Als Attachment oder Mail muss ich die Datei immer ers tumständlich lokal sichern, rumkopieren etc.

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Post by yellowled »

designor wrote:Gibt es denn eine Wordpress-Seite oder in einem anderen unterstützten System, die mit dieser Masse an Tags funktioniert? Oder ist das ein Problem des Flash-Films?
Das ist anscheinend ein Problem des Flash-Films. Der ist ursprünglich für diese andere Blogengine ausgelegt, und die limitiert werksseitig die Anzahl der Tags auf 45, weshalb der Film ... nun ja. Schade.

YL
designor
Regular
Posts: 14
Joined: Sun Dec 09, 2007 4:58 pm
Contact:

Post by designor »

Hi Garvin,

erstmal ein Lob für das Buch! Das war meine Lektüre für den Weihnachtsurlaub...
Jaja, wie unromantisch ;-)

Das gesamte plugin liegt gezippt unter
http://designor.de/ser/uploads/serendip ... reetag.zip
ein ZIP mit einer PHP-Datei mit NUR den Änderungen unter
http://designor.de/ser/uploads/changes_ ... plugin.zip

Bei mir läuft es problemlos, unter S9Y 1.4

torsten
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Vielen Dank! Der Patch müsste jedoch noch in ein paar dingen bearbeitet werden:

1. Bitte die Einrückung korrigieren; überall 4 Leerzeichen statt TABs nutzen, und darauf achten dass die Einrücktiefe mit dem Rest übereinstimmt.

2. Noch wichtiger, dass die Redundanz entfernt wird; es gibt jetzt nach dem Patch dreimal dieselbe foreach-Schleife über die Tagliste, die jedesmal die Fontsize ausrechnet. Das muss man nur einmal tun, diese ausgabe dann in einer Variable speichern und dann dafür sorgen, dass diese Variable mal mit, mal ohne htmlentities() oder so ausgegeben wird, wie's für das Flash benötigt wird. Ansonsten ist das recht unperformant.

Mir fehlt gerade die Zeit das vollständig zu optimieren, ich hab's aber mal versucht:

Code: Select all

        if ($useFlash) {
            echo "\n". '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' . $flashwidth .'" height="' . round($flashwidth * 0.75) . '" id="tagcloud" name="tagcloud">'. "\n";
            echo '<param name="movie" value="' . $serendipity['serendipityHTTPPath'] .'plugins/serendipity_event_freetag/tagcloud.swf" />'. "\n";
            echo '<param name="wmode" value="transparent" />'. "\n";
            echo '<param name="flashvars" value="tcolor=0x' . $flashtagcolor . '&mode=tags&distr=true&tspeed=' . $flashspeed .'&tagcloud=%3Ctags%3E';
            
            $tagparam = '';
            foreach($tags AS $name => $quantity) {
                if (empty($name)) {
                    continue;
                }

                if ($scaling) {
                    if ($scale==0) {
                        $fontSize = $maxSize;
                    } elseif ($scale==1) {
                        if ($quantity==$biggest) {
                            $fontSize = $maxSize;
                        } else {
                            $fontSize = $minSize;
                        }
                    } else {
                        $fontSize = round(($quantity - $smallest)*(($maxSize - $minSize)/($scale))) + $minSize;
                    }
                } else {
                    $fontSize = 100;
                }

                $tagparam .= "%3Ca href='" . $taglink . serendipity_event_freetag::makeURLTag($name) . "' style='" . round($fontSize/5) . "'%3E" . str_replace(' ',' ',htmlspecialchars($name)) . "%3C/a%3E";
            }

            echo $tagparam;
            echo '%3C/tags%3E" />' . "\n";

            echo '<!--[if !IE]>-->' . "\n";
            echo "\n" . '<object type="application/x-shockwave-flash" data="' . $serendipity['serendipityHTTPPath'] .'plugins/serendipity_event_freetag/tagcloud.swf" width="' . $flashwidth .'" height="' . round($flashwidth * 0.75) . '">'. "\n";
            echo '<param name="wmode" value="transparent" />' . "\n";
            echo '<param name="flashvars" value="tcolor=0x' . $flashtagcolor . '&mode=tags&distr=true&tspeed=' . $flashspeed .'&tagcloud=%3Ctags%3E';
            echo $tagparam;
            echo '%3C/tags%3E" />'. "\n";
            echo '<!--<![endif]-->'. "\n";
        }
Das wäre ein Beispiel um sc honmal aus 2 schleifen nur eine zu machen. Darunter kommts aber nochmal, da müsste man jetzt raussortieren wo der unterschied zu $tagparam davor genau liegt, ausser dass < und > urlencodet werden...

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
designor
Regular
Posts: 14
Joined: Sun Dec 09, 2007 4:58 pm
Contact:

Post by designor »

hmm hast recht, das is dämlich...
na ich werd mal drüberschaun
designor
Regular
Posts: 14
Joined: Sun Dec 09, 2007 4:58 pm
Contact:

Post by designor »

ich hab die tabs gegen leerzeichen getauscht, und deine änderung eingebaut. die dritte foreach-schleife (bzw. jetzt die zweite) fragt andere variablen ab und ist so nicht durch die andere zu ersetzen.
zwar habe ich mal die entwickler-version des WP_cumulus-Plugins gezogen, aber leider habe ich keine aktuelle Flash-Version zur Hand um dort rein zu schauen wegen der Instabilität bei massig tags...


kompletter Plugin-Ordner als ZIP: http://www.designor.de/ser/uploads/sere ... reetag.zip

gute nacht

torsten
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Noch eine Verständnisfrage: Warum werden zwei <object> tags ausgegeben? Einmal ist ja eine IF !IE abfrage darum. Dann wird in Firefox&Co doch Zweimal das Flash dargestellt, oder nicht?

Und dann wird ja scheinbar ein <object> Tag mit einem anderen verschachtelt, ist das überhaupt gültiges XHTML? Dachte immer innerhalb von <object> darf nur <param> kommen.

Hier übrigens meine Version der Datei mit nur einer Schleife (und korrekter Einrückung, da waren bei Dir noch ein paar Leerzeichen zu viel). Aber in meiner Version ist auch die Sache mit dem doppelten object noch drin, das muss ich erstmal verstehen bevor wir's einstellen können :)

http://nopaste.php-quake.net/139630

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
designor
Regular
Posts: 14
Joined: Sun Dec 09, 2007 4:58 pm
Contact:

Post by designor »

hi,

das mit dem doppelten <object> geht so, der Validator mäkelt jedenfalls nicht rum :-) und im Nicht-IE läufts auch korrekt
Ich kann dich da nur auf http://code.google.com/p/swfobject/wiki/documentation verweisen, dort ist die Funktionsweise des neuen SWFObject erläutert. Dort hab ichs her... und nur den Code von dort eingebaut

tschüß
Torsten
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Ah,allesklar, schau ich mal rein.Hast Du die Variante des Pluginsmal ausprobiert?

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
designor
Regular
Posts: 14
Joined: Sun Dec 09, 2007 4:58 pm
Contact:

Post by designor »

hi
ja das läuft unter http://www.designor.de problemlos und validiert auch.

tschüß Torsten
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Super, dann habe ich das jetzt ins CVS eingestellt.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply