PHP5 Class for Hotpads.com XML Feeds

Fresh out of the oven is a PHP 5 class for building real estate listing XML feeds for Hotpads.com. If your application needs to syndicate listing data through the Hotpads service, this class allows you to build the complete output without creating any XML yourself.

The output of this class has been validated and verified by Hotpads so you’re ready to go. Check it out on Github.

PHP5 Class for Authorize.net AIM API

I recently had the need to integrate a project with the Authorize.net API and I spent some time searching for an existing PHP class/object that would handle it. While I found several, they seemed to be somewhat out of date, not properly maintained, and most importantly – ugly.

I set out write a very clean, well organized class that was specifically designed for PHP5. I’ve published the class on github and would appreciate any patches you wish to submit back.

http://github.com/botskonet/authorize.net

The class is very basic and will handle the transaction beautifully. It’s working great in a current project. While there are always features I would like to add as the projects grow, this is entirely ready for use and testing now.

Fastspring.com Ecommerce PHP Class

I’ve recently done some work with the Fastspring.com ecommerce website. It’s essentially similar to the flow of a paypal purchase – companies create pages with products and Fastspring acts as the checkout process doing the user information/payment processing work for you.
(more…)

Announcing Peregrine – a PHP Security Class

Today I release a new php caging class for improved security – Peregrine.

I’ve always been impressed by the idea of a “variable cage” in programming. It’s an additional method of protecting your incoming variables and making sure that you only accept what you’re expecting.

If you’re not familiar with a cage, think of it as a class that copies any (usually incoming) data into an object while destroying the original “unclean” data. At this point you must access this data through the “cage”, which provides a whole bunch of ways to filter out what you don’t want.

So an incoming variable (through a GET/POST request for example) may only need to be a integer. You may use a method that returns or checks for integers, and either removes non-integer characters or returns false.

This provides an excellent wall against any malicious attackers, and really helps you define data validation more accurately within your projects.

There are some others out there, and some are very good. However, none worked as well or were as cleanly coded as I would have liked, so I’ve been working on Peregrine.

It’s hosted at github so you’re welcome to fork it and contribute back any fixes or feature requests you would like.

To learn how to use it, please read the documentation provided with the code and look through the class itself.

http://github.com/botskonet/Peregrine

Formsaver now on github

I have moved the source code for my Firefox extension Formsaver over to github, so it’s now open for forking and/or downloading.

Inside is a file called xpi.sh which is a shell script that’s responsible for actually creating a build file that may be loaded into Firefox. It replaces the firefox.xpi file.

http://github.com/botskonet/formsaver/tree/master

jQuery Form Builder Plugin

Trellis Development (a parent company of web-based products which I co-founded) has been developing a custom content management system which needed a form creation tool. I adapted a form builder that I created for a previous project as a jQuery 1.3 plugin. It loads in existing form structure data through an XML file (which would be generated on the server) and passes the changes as a serialized array back to the server.

View the Demonstration
Get source from github

I’ve forked the code from the cms to serve as a stand-alone plugin. It’s extremely easy to setup, as all you need to do is to activate it on an un/ordered list item element. Then, write your backend code to handle the incoming array as you need, and output the xml data for when the form loads.

<ul id="form-builder"></ul>
$(document).ready(function(){
	$('#form-builder').formbuilder({
		'save_url': 'save.php',
		'load_url': 'form-a.xml'
	});
});

The save_url is the url that the ajax will be sent to when the user saves the form. The form information is serialized so that the backend programming may handle it as an array.

The load_url is the url of an xml file that describes any existing form information, and the system uses it to restore the fields.

This requires jQuery 1.3+ and uses the scrollTo plugin for nice scrolling.

Please report all issues and feature suggestions at https://snowy-evening.com/botsko/jquery-form-builder/

This is the first revision that’s external to our cms so I’ve labeled it 0.1.

Bugzilla Changelog Generator 1.3

I’ve gotten a lot of great feedback over the past few years from people using my Bugzilla Changelog generator tool. I’ve released a new update that cleans up some code, fixes some issues, etc.

I’ve moved the code hosting to google code because sourceforge is just too bulky, slow, and their new web design is far worse than their last one.

http://code.google.com/p/bugzillachangelog/

I’ve also created a google group to help people who email me with questions find a more public space to ask questions.

http://groups.google.com/group/bugzilla-changelog

Bugzilla Changelog… Open Source

It’s been a few years since I’ve released the first version of Bugzilla Changelog, and over those years many folks have been asking if I ever intend on making it open source. While essentially open anyway as it was a Perl script, I’m now accepting patches and new work from anyone else interested.

Those of you who have submitted patches over the years should be pretty excited. I’ll be tracking project updates, requests, fixes, etc, through sourceforge.

View Bugzilla Changelog at SourceForge.net.

Bugzilla Changelog Updated

The Bugzilla Changelog application has been updated to work with bugzilla 3.0. Please try it out and let me know if you have any issues.

Download Bugzilla Changelog 1.2.

Formsaver…

I’ve been meaning to find some time to update this extension, but nothing has been done yet. However, it’s now available for download at two new locations.

@ Download.com
@ SoftPedia.com