PHP Wonsole is intended as a replacement for creating temporary PHP files to try out or debug some PHP command or function.

You enter your PHP code into your web browser. The code is then sent to the web server, stored in a file and executed. The output and a variable dump is returned to the browser.

Your code snippets history is also stored in a cookie, so that you can try different approaches and “undo” by selecting a previous version of your code.

By installing PHP Wonsole as an alias, it will always be ready at http://localhost/phpw, no matter what DocumentRoot says (just like PHPMyAdmin).

download Download PHP Wonsole

PHP Wonsole requires a local Apache web server running PHP 5. Instructions for installing with an alias for Wamp Server are included.

PHP Wonsole is licensed under the MIT License.

This is Shane Ng’s GPL-licenced obfuscator. It was originally published on his web site, but for a while it was unavailable. I copied it from Google’s cache and put it here so that it wouldn’t disappear.

You input your Javascript into this program, and it will make it completely incomprehensible. Function and variable names are changed, spaces and line breaks removed, strings made into mixed hexadecimal and Unicode “garbage” etc. This can be used to protect your intellectual property — but remember that the script still works, and can be copied verbatim to another web site.

The code is 500 something lines of Java, and compiles with 1.4 compilers. It is simple to use — just run the program and it will tell you how it works.

Download the source code (.java file) and compile it yourself, or download the cross-platform binary code (.class files).

Update: I recommend that you get this program from the author’s web site instead (but it seems to disappear and change address every now and then).

Some Things to Keep in Mind

  • The function calls from your html files are untouched, so you need to change those manually.
  • The obfuscated functions are in the same order as those in the original file, so count the functions to find the one you’re looking for.
  • If you use function calls within “” (like for setTimeout), they will probably be obfuscated and make your script stop working. Change manually.

Smart Update Pinger replaces WordPress’ built-in update ping functionality. Instead of always pinging when saving a post, the plugin only pings when the post has not previously been published. Edits of posts are “silent”, in contrast with the default behaviour. Also, you can see a log for the latest pings, together with error messages (in the options page).

Motivation: “update pings” to blog services includes the URL of your blog, not of a specific post. You should only ping when you have added a new post to your blog since there is no way of telling which post was edited and caused the blog tool (WordPress) to ping. If you edit several already published posts, everyone will cause a new ping frenzy, unless you have Smart Update Pinger installed. You don’t want to be banned for pingspamming, do you?

As of version 2.0, WordPress’ built-in ping functions are ignored. Instead, a copy of that code, with some improvements, has been put inside this plugin. This was necessary to give detailed log reports. You can see which services accepted and rejected your ping, and why.

Another new functionality in 2.0 is the “Ping Services Now!” button in the options page, which lets you ping all services without writing a post. Should come in handy if there are problems.

Try this ping plugin if you need more functionality.

Japanese version available here.

WordPress 1.5/2.0 Support

If you’re still using WordPress 1.5.x, you must use the older version of Smart Update Pinger. This version will not work properly on WordPress 2.x, so make sure you have the right version of Smart Update Pinger.

Installation

  1. Download the zip archive
  2. Extract the PHP file from the archive
  3. Put it in your wp-content/plugins directory
  4. Make sure WordPress/PHP can write to the wp-content directory (chmod 777)
  5. Activate it in the Administration Panel
  6. Review the options in Options/Smart Update Pinger (Optional step. By default your previously chosen services will be pinged.)

It should also be possible to use one-click install through the WordPress Plugin Manager, but I have not been able to confirm this.

Known Issues

  • Future posts will not get pinged at all. Not when you publish it, and not when it becomes visible. No solution available.
  • If you save drafts with a timestamp, and later publish them, they will not get pinged. Solution: Don’t add timestamps to drafts.
  • If you see ‘Error message: “parse error. not well formed”‘ in the log, this means that the ping service responded with an unknown message. It probably doesn’t receive pings. Solution: Remove the ping service from your list, if the problem persists.
  • If you have saved drafts with WordPress 1.5, and you publish them with WordPress 2.0, they won’t get pinged. Solution: Look in the log entries, and force a ping if needed.

Version History

  • 2.0: February 18 2006 (WordPress 2.0 support, a ping log and a “force ping button”)
  • 1.2: July 25 2005 (manages settings better)
  • 1.1: July 24 2005 (minor changes)
  • 1.0: July 18 2005

Jerome’s Keywords lets you tag your posts easily. This is an enhanced version of Jerome’s original, only released because Jerome hasn’t included my patches in the main version.

Download! (This plugin is not in the public domain, but licensed under GPL.)

Version History

  • 1.9+: February 18 2006 (WordPress 2.0 support)
  • 1.8+: October 5 2005 (puts tags in feeds and more precise tag search)

Some time ago, I wrote a blog portal in PHP, that used MagpieRSS 0.72. Unfortunately, there are plenty of bugs in MagpieRSS, and it has no support for the newer format Atom 1.0. MagpieRSS hasn’t been updated since November 2005, so I improved on it myself. I have emailed my patches to Kellan, the maintainer of MagpieRSS, but I got no reply.

NOTE: I don’t use this code anymore, so don’t ask me for further fixes or improvements. I’m only publishing the code here, so that someone else may create a new project or take over the SourceForge project for MagpieRSS or something. It’s all open source, baby.

My improvements to the fetcher:

  • Changed the name of the HTTP header from “If-Last-Modified” to the correct “If-Modified-Since” (this is very important, since your client will fetch feeds unnecessarily often otherwise)
  • Made sure that the constant MAGPIE_CACHE_FRESH_ONLY actually works — it doesn’t in the original version
  • Allows you to fetch feeds with the POST method as well as GET
  • Trimming values from the headers “ETag” and “Last-Modified”
  • Removed “Undefined property” warning messages for MagpieRSS::$etag and MagpieRSS::$last_modified

My improvements to the parser:

  • Assumes version 1.0 if the format is Atom with no version
  • Handles Atom links with different “rel” types better
  • Reads the “subtitle” tag if Atom 1.0
  • Reads the “published” and “updated” tags if Atom 1.0
  • More stable when encountering illegal characters (I actually don’t remember what I meant by this!)

My improvements to the utils:

  • Fixed bad regular expression to correctly match seconds in W3CDTF timestamps

I also replaced the bundled version of Snoopy (1.0) with a newer version (1.2.4).

Again, note that this release is inofficial and not very well-tested. But the original is discontinued, so I guess it’s better than nothing.

download Download Improved MagpieRSS