Posts Tagged with "php"

FIX: Search Everything 4.6 Setting Issues

June 22nd, 2008 at 3:53 pm by Mark
Tags: , , , , , ,

     Ya know, I saw a random bug report in the WordPress forums about the Search Everything plugin with no actual description about what the bug was.  It just had a code snippet and said “108.”  No explanation, no fix… Just a complaint that says “108.”

     In SE-Admin.php, change Line 108 from:

<p><input type=”checkbox” id=”search_drafts” name=”search_drafts” value=”true”  <?php if($options[‘SE4_use_draft_search’] == ‘true’) { echo ‘checked=”true”‘; } ?>

     To:

<p><input type=”checkbox” id=”search_drafts” name=”search_drafts” value=”true”  <?php if($options[‘SE4_use_draft_search’] == ‘true’) { echo ‘checked=”true”‘; } ?> />

     Of course, while you’re at it, you can fix Line 102 from:

<p>     <input type=”checkbox” class=”SE_text_input” id=”appvd_comments” name=”appvd_comments” value=”true”  <?php if($options[‘SE4_approved_comments_only’] == ‘true’) { echo ‘checked=”true”‘; } ?>

to

<p>     <input type=”checkbox” class=”SE_text_input” id=”appvd_comments” name=”appvd_comments” value=”true”  <?php if($options[‘SE4_approved_comments_only’] == ‘true’) { echo ‘checked=”true”‘; } ?> />

     After doing that, some of the check boxes will actually show and work on the Settings page…

FIX: WordPress 2.5 / Akismet 2.1.4

May 14th, 2008 at 11:59 am by Mark
Tags: , , , , , , ,

     There’s a stopper-style bug in the the latest Akismet plugin for WordPress.  If you have multiple pages of Spam Comments, it keeps returning the first fifty — not good if you get as much Spam as we do, as we have to periodically check for false positives.
     The fix is easy…

     In Akismet 2.1.4, change wp-content/plugins/akismet/akismet.php, line 483 from:

        $comments = akismet_spam_comments( $current_type );

     to

        $comments = akismet_spam_comments( $current_type, $page );

     And Enjoy.  😉

Get $20 of bonus stock when you make a deposit on Stash!

Fix the Google Sitemap Generator Plugin for WordPress

March 7th, 2007 at 12:23 pm by Mark
Tags: , , , , , , ,

     Arne Brachnold’s Google Sitemap Generator for WordPress is a pretty neat piece of software that’ll build a Google-style XML-Sitemap, and ping Google with it every time you update your blog.
     Good stuff for SEO, good stuff for making sure Google has your site indexed. 

     After setting up a few blogs with the latest, I found a caveat that just annoyed me to death: you’re in the Admin, but when you manually update the sitemap, it comes back with a blank page. Sure, I know how to work around it, but they guys I’m setting this stuff up for get all huffy about it.
     Pretty quick bug to figure out.  There’s even a nice ticket on Trac (Ticket 604) that I’m unable to post this solution to…
     Line 2463 of sitemap.php is:

<script type=”text/javascript” src=”list-manipulation.js” mce_src=”list-manipulation.js”></script>

     Of course, that doesn’t exist, but if we change it to:

<script type=”text/javascript” src=”../wp-includes/js/list-manipulation-js.php” mce_src=”../wp-includes/js/list-manipulation-js.php”></script>

     …then all is right and good with the world.

     Hopefully, Arne’ll drop this in his next release — and be able to close Ticket 604 on Trac.  😉

[Ed. Note: The text of this article refers to “the latest” WordPress (2.1.x) and version of the plugin for it (3.0xxx).]

Invision Power Board Code Bug

March 1st, 2007 at 11:37 am by Mark
Tags: , , , , , ,

     Yesterday, I was called to fix this bug, which caused a SQL error when users would go to the Stats / Leaders page:

Error:

mySQL query error: SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number,
  f.id as forum_id, f.read_perms, f.name as forum_name, c.state
  FROM ibf_members m, ibf_categories c
  LEFT JOIN ibf_moderators mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m.mgroup)))
  LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
  WHERE c.id=f.category AND c.state != 0

mySQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m.mgroup)))’ at line 4

     Not too difficult to spot that first LEFT JOIN is broke … Editing the query in ~/sources/misc/stats.php, line 255, and surrounding `mod` with backticks did the job.

     Although, it’d be nice if customers would keep their software versions up-to-date…

Get $20 of bonus stock when you make a deposit on Stash!

More on Software

February 28th, 2007 at 3:32 pm by Mark
Tags: , , , , , , , ,

     (“Mark, why so much work talk?”  Because it’s easier to work and laugh than to think about things that are bothering me.  And besides, I’ve only rarely spoken about what I actually do for a living, anyway.) 

     A few days ago, Swankpad’s forum got weird.  Something happened and every post title was set to the same value.  Today, I found out for certain that exactly what code modification was causing it.
     Instead of adding code for upgrades and Mods to phpBB, it’s preferable to use a Patch File for software upgrades, and a neat little thing called EasyMOD to add in any future mods.  EasyMOD is great, and generally makes fewer mistakes than going through many thousands of lines of code to make changes (although, an uninstall feature would be nice!).

     There was a new mod called Akismet Spam Butcher for phpBB that I decided to install last week, just for the heck it — too many spammers.  Though the plugin doesn’t actually *do* anything, it was more of a proof-of-concept for using Akismet with phpBB.  I wanted to see how well it worked in adding Spam flags to the database — which is all it does at present.
     (In all honesty, if you can keep people from registering, that alleviates the spam issue altogether.  😉 )

      Anyway … Take a look at this SQL statement, from phpBB with Akismet Spam Butcher added via EasyMOD:

$sql  = ($mode != “editpost”) ? “INSERT INTO ” . TOPICS_TABLE . ” (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, topic_spam) VALUES (‘$post_subject’, ” . $userdata[‘user_id’] . “, $current_time, $forum_id, ” . TOPIC_UNLOCKED . “, $topic_type, $topic_vote, $post_spam)” : “UPDATE ” . TOPICS_TABLE . ” SET topic_title = ‘$post_subject’, topic_type = $topic_type ” . (($post_data[‘edit_vote’] || !empty($poll_title)) ? “, topic_vote = ” . $topic_vote : “”) . ” , topic_spam = $post_spamWHERE topic_id = $topic_id”;

     Sometimes it’s just glaringly obvious where the problem is.

     One Edit, and every post in entire bloody forum gets the post title you edited.

     (Hint:  “$topic_spam = 0”)

     *shakes head*

#—–[ IN-LINE FIND ]———————————
# Yes, we’re still working within the same FIND
# Note that the space here is important, you will need to be sure there is
# a space between what’s there and what we’ll add next
#
 WHERE topic_id = $topic_id”;
#
#—–[ IN-LINE BEFORE, ADD ]————————
#
, topic_spam = $post_spam

     Looks like EasyMOD was the culprit… but then again, I probably would’ve done the syntax a little differently due to the spaces.

     Removing the Spam Butcher anyway … I found a more elegant solution. 😉