Thumbs Up 1.3.9 – 2 Bug Fixes

In der aktuellen Version (1.3.9) des WordPress Plugins Thumbs Up von iThemes sind mir folgende Fehler aufgefallen.

In allen Seiten des Plugins im Backend, erscheint der Schriftzug Test.

 

Um das zu fixen muss in der Datei wp-content/plugins/thumbsup/classes/admin.php in der Zeile 459 die Anweisung

print_r('test');

entfernt werden.

Der zweite Fehler der mir aufgefallen ist, betrifft das Widget “ThumbsUp Suggest”, mit dem Besucher der Webseite Vorschläge einreichen können.

 

Nach dem Absenden des Formulars erhält der Besucher eine leere Seite mit folgenden Inhalt.

Die Änderungen um das zu beheben sind in der Datei widget.thumbsup.php

# This patch file was generated by NetBeans IDE
# It uses platform neutral UTF-8 encoding and \n newlines.
--- <html>widget.thumbsup.php (<b>20.07.2012 15:44:24</b>)</html>
+++ <html><b>Current File</b></html>
@@ -503,7 +503,11 @@
             // widget - Displays the widget
             public function widget($args, $instance) {
                 extract($args, EXTR_SKIP);                
-                
+                                wp_enqueue_script( 'pb_thumbsup_js' );
+                                wp_localize_script( 'pb_thumbsup_js', 'thumbsup', array(
+                                        'saving' => __( 'Saving...', 'it-l10n-thumbsup' ),
+                                        'suggest_thanks' => __( 'Thanks for the suggestion', 'it-l10n-thumbsup' )
+                                ) );                 
                 echo $before_widget;
                 $title = empty($instance['title']) ? __( 'Suggest a Topic', 'it-l10n-thumbsup' ) : apply_filters('widget_title', $instance['title']);

und dann noch in der Datei thumbsup.js

# This patch file was generated by NetBeans IDE
# It uses platform neutral UTF-8 encoding and \n newlines.
--- <html>thumbsup.js (<b>20.07.2012 15:44:24</b>)</html>
+++ <html><b>Current File</b></html>
@@ -11,14 +11,16 @@

             //Hide form interface
             $( "#" + widget_id ).fadeOut( "slow", function() {
-                $( this ).html( thumbsup.saving ).show();
+                $( '#'+widget_id ).html( thumbsup.saving );
             } );
+                        $( "#" + widget_id ).fadeIn( "slow" );
             //Do ajax
             $.post( ajax_url, { action: url_args.action, ajax_form_data: form_data, _ajax_nonce: url_args._ajax_nonce },
                 function( response ){
                     $( "#" + widget_id ).fadeOut( "slow", function() {
-                        $( this ).html( thumbsup.suggest_thanks ).show();
+                        $( '#'+widget_id ).html( thumbsup.suggest_thanks ).show();
                     } );            
+                                        $( "#" + widget_id ).fadeIn( "slow" );
                 } //end ajax response
             , 'json' ); //end ajax*/
         },

Mit diesen Änderungen sind die oben genannten Fehler in meiner Installation behoben.

Share
Veröffentlicht unter Wordpress | Verschlagwortet mit , | Hinterlasse einen Kommentar

Relevanssi User Searches: WPDB->prepare Error beheben

Auch das Relevanssi User Searches Plugin zeigt in der Dashboard Übersicht WPDB->prepare Fehler unter WordPress 3.5

 Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/xyz.de/
 subdomains/test/httpdocs/wp-content/plugins/relevanssi/lib/interface.php on line 498
 and defined in /var/www/vhosts/xyz.de/subdomains/test/httpdocs/wp-includes/wp-db.php
 on line 990
 Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/xyz.de/
 subdomains/test/httpdocs/wp-content/plugins/relevanssi/lib/interface.php on line 499
 and defined in /var/www/vhosts/xyz.de/subdomains/test/httpdocs/wp-includes/wp-db.php
 on line 990
 Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/xyz.de/
 subdomains/test/httpdocs/wp-content/plugins/relevanssi/lib/interface.php on line 500
 and defined in /var/www/vhosts/xyz.de/subdomains/test/httpdocs/wp-includes/wp-db.php
 on line 990
 Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/xyz.de/
 subdomains/test/httpdocs/wp-content/plugins/relevanssi/lib/interface.php on line 501
 and defined in /var/www/vhosts/xyz.de/subdomains/test/httpdocs/wp-includes/wp-db.php
 on line 990

Wer nicht warten möchte bis das Update des Plugins da ist, tauscht die Zeilen 498-501 in  /wp-content/plugins/relevanssi/lib/interface.php

$count['Today and yesterday'] = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM $log_table WHERE TIMESTAMPDIFF(DAY, time, NOW()) <= 1;" ) );
$count['Last 7 days'] = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM $log_table WHERE TIMESTAMPDIFF(DAY, time, NOW()) <= 7;" ) );
$count['Last 30 days'] = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM $log_table WHERE TIMESTAMPDIFF(DAY, time, NOW()) <= 30;" ) );
$count['Forever'] = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM $log_table;" ) );

aus und ersetzt sie mit diesen Zeilen

$count['Today and yesterday'] = $wpdb->get_var( "SELECT COUNT(id) FROM $log_table WHERE TIMESTAMPDIFF(DAY, time, NOW()) <= 1;"  );
$count['Last 7 days'] = $wpdb->get_var( "SELECT COUNT(id) FROM $log_table WHERE TIMESTAMPDIFF(DAY, time, NOW()) <= 7;"  );
$count['Last 30 days'] = $wpdb->get_var( "SELECT COUNT(id) FROM $log_table WHERE TIMESTAMPDIFF(DAY, time, NOW()) <= 30;" );
$count['Forever'] = $wpdb->get_var( "SELECT COUNT(id) FROM $log_table;" );

Der Hintergrund findet sich hier.

Share
Veröffentlicht unter Wordpress | 1 Kommentar

Copious Comments: Listet zuviel bzw falsches auf.

Die aktuelle Version 1.0.12 des Plugins CopiousComments hat ein paar Bugs. Diese fallen aber nur auf, wenn man statt der Artikel die Seiten aufgelistet haben möchte, oder wenn man weniger Seiten hat, als das Plugin auflisten soll. Dann sieht man das es einfach alles aus der wp_posts Tabelle holt, sortiert nach der Anzahl der Kommentare. Type ist Post oder Page -> egal,  Post_status -> egal.

Da ich seit 3 Tagen mit dem Support am rummachen bin und die offenbar nicht so ganz verstehen was mein Problem ist (Ist wohl völlig unvorstellbar das jemand das Plugin einsetzt der erst nur 3 Artikel im System hat), hab ich angefangen die für mich wichtigsten Fehler zu fixen. Es sind noch weitere Probleme vorhanden. Per Shortcode kann der Posttype nicht gewählt werden, aber für mich funktioniert es erst einmal so. Ich hoffe ja noch immer das der Support mich versteht und mein anliegen an die Programmierer weiterreicht.

Hier das Diff meiner Änderungen. Benutzung auf eigene Gefahr. Der Fix mit dem Prepared Statement ist in diesem Umbau bereits enthalten.

--- C:\wamp\www\test_orig\wp-content\plugins\copiouscomments\copiouscomments.php    2011-12-16 18:20:12.000000000 +0100
+++ C:\wamp\www\test\wp-content\plugins\copiouscomments\copiouscomments.php    2012-12-12 22:55:38.000000000 +0100
@@ -231,35 +231,35 @@
             if ( isset( $instance['truncate'] ) ) {
                 $truncate = intval( $instance['truncate'] );
             } else {
                 $truncate = intval( $this->_options['truncate'] );
             }
             if ( isset( $instance['post_type'] ) ) {
-                $post_type = intval( $instance['post_type'] );
+                $post_type = ( $instance['post_type'] );
             } else {
-                $post_type = intval( $this->_options['post_type'] );
+                $post_type = ( $this->_options['post_type'] );
             }

             //echo apply_filters( 'widget_title', $instance['title'] );
-            echo $this->create( $posts, 'default', $width, $truncate );
+            echo $this->create( $posts, 'default', $width, $truncate, $post_type );
         }

         // $width    string        Maximum width that a bar can be in percent.
-        function create( $post_limit, $layout, $width, $truncate ) {
+        function create( $post_limit, $layout, $width, $truncate, $post_type='post' ) {
             $this->instance_count++;

             add_action( 'wp_footer', array( &$this, 'print_footer') );

             $css = '';
             if ( file_exists( $this->_pluginPath . '/layouts/' . $layout . '/init.txt' ) ) {
                 eval( file_get_contents( $this->_pluginPath . '/layouts/' . $layout . '/init.txt' ) );
             }

             global $wpdb;
-            $query = "select * from $wpdb->posts order by comment_count DESC limit $post_limit";
-            $posts = $wpdb->get_results( $wpdb->prepare( $query ) );
+            $query = "select * from $wpdb->posts where post_status='publish' and post_type='%s' order by comment_count DESC limit %d";
+            $posts = $wpdb->get_results( $wpdb->prepare( $query , $post_type, $post_limit) );

             $return = '';
             $return .= '<ul id="pb-copious-' . $this->instance_count . '">';
             $i = 0;
             if ( $posts ) {
                 global $post;

[Update]In Version 1.0.14 des Plugins ist  der Fehler behoben. [/Update]

Share
Veröffentlicht unter Wordpress | Hinterlasse einen Kommentar

Copious Comments: nach Update auf WordPress 3.5 Fehler Missing argument 2 for wpdb::prepare()

Nach dem Update auf WordPress 3.5 liefert das Plugin CopiousComments von iThemes eine Fehlermeldung: Missing argument 2 for wpdb::prepare()

Bis es ein Update vom Hersteller gibt, hier der Fix:

in der Datei copiouscomments.php die Zeilen 258-259

$query = "select * from $wpdb->posts order by comment_count DESC limit $post_limit";
$posts = $wpdb->get_results( $wpdb->prepare( $query ) );

durch diese ersetzen

$query = "select * from $wpdb->posts order by comment_count DESC limit %d";
$posts = $wpdb->get_results( $wpdb->prepare( $query , $post_limit) );

Der Hintergrund ist hier erklärt.

[Update] iThemes sagt das der Fehler in Version 1.0.13 des Plugins behoben ist. Mein WordPress findet bis jetzt allerdings noch kein Update des Plugins. [/Update]

[Update2]Version 1.0.13 des Plugins ist verfügbar. [/Update2]

Share
Veröffentlicht unter Wordpress | 1 Kommentar

VMware Fusion meldet “Kernelzonengrößen können nicht abgerufen werden” nach Update auf Mac OS 10.7.4

Nach dem Update auf Mac OS 10.7.4 erscheinen beim Start einer Virtuellen Maschine in VMware Fusion 3 der Reihe  nach folgende 3 Fehlerdialoge.

Vmware1

“Kernelzonengrößen können nicht abgerufen werden”

 

Vmware2

“Initialisierung des Monitorgeräts fehlgeschlagen”

 

Vmware3

“Kein gültiger Peer-Prozess zum Herstellen der Verbindung gefunden”

Danach beendet sich die Virtuelle Maschine. Abhilfe brachte eine Aktualisierung von VMware Fusion auf die aktuellste 3.x Version. In diesem Fall auf Vmware Fusion 3.1.4.

Share
Veröffentlicht unter Mac OS, VMware | Verschlagwortet mit , | 6 Kommentare

WordPress mit eigenen Plugins erweitern

Beim Treffen der WPBlogger habe ich am 15.02.2012 eine kleine Einführung in die Erstellung von WordPress Plugins gegeben.

Das Vortragsscript und die Datei mit den Beispielen kann hier heruntergeladen werden.

Wordpress mit eigenen Plugins erweitern - Downloads: 920
WordpressPlugins Beispiele - Downloads: 747
Share
Veröffentlicht unter Wordpress | Verschlagwortet mit , , | Hinterlasse einen Kommentar

WordPress mit dem Yubikey absichern

Bei Treffen der WPBlogger hab ich gestern eine kurze Einführung gegeben wie man sein WordPress mit dem Yubikey absichern kann durch zusätzliche Einmalkennworte. Dabei kommt das Plugin wordpress-yubikey zum Einsatz.

Wordpress absichern mit Einmalkennworten mit dem Yubikey - Downloads: 1042
Share
Veröffentlicht unter Wordpress | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Neuer Podcast auf Welle: Geocache

Auf Welle: Geocache haben wir heute die neue Podcastfolge veröffentlicht.

“Am 30.4.2011 fand dieses Jahr, wie auch die letzten 5 Jahre das Walpurgis-Event statt. Dieses Jahr fiel es mit dem jährlichen CITO-Event zusammen. Weil uns das sehr interessant erschien haben wir uns nochmals Markus Gründel, den Initiator dieses Events, eingeladen und sprechen mit ihm über Planung, Durchführung und Nachbereitung dieses Treffens.”

Share
Veröffentlicht unter Geocaching, GPS | Verschlagwortet mit , | Hinterlasse einen Kommentar

Neuer Podcast auf Welle: Geocache

Auf Welle: Geocache hab ich heute die neue Podcastfolge veröffentlicht.

“Ende Februar haben wir uns mit Markus Gründel zusammengesetzt und viele interessante Dinge angesprochen. Markus werden viele von euch als den Autor der “Cacherbibel” kennen, die mittlerweile in der 3. Auflage erschienen ist und sich wachsender Beliebtheit erfreut. Unter anderem geht es aber auch um Regeln beim Geocachen und Zukunftsaussichten.”

Share
Veröffentlicht unter Geocaching, GPS | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Apple-Entwicklerdokumentation in iBooks verfügbar

Apple hat begonnen Teile der Entwicklerdokumentation im iBook-Store kostenlos verfügbar zu machen. Die Englischsprachigen Bücher wie “iOS Human Interface Guidelines”, “iOS Application Programming Guide” oder “The Objective-C Programming Language” findet man, wenn man im Bookstore nach “Apple Developer Publications” sucht.

img_0024 img_0025
Share
Veröffentlicht unter Apple, Dokumentation, Ipad, Iphone | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar