In the Geo software, we utilize a number of 3rd party software libraries, which are listed below in sort-of directory listing order. Feel free to reference any of these libraries in your Addon, but pay attention to the notes on each library as some are slated for removal in future releases. If you see any out of date information, or if you know of a library with a newer version than listed below let us know about it!
Note that if you have a version earlier than what is listed under last updated, you will need to refer to your version's files to see what version of the library is included with your version.
Warning: Take note of the use of Prototype JS and Scriptaculous, which are not compatible with some other JS libraries such as MooTools. See the notes in the Prototype (Javascript Framework) for more info.
| Name | ADOdb |
| Location | classes/adodb/ |
| URL | http://adodb.sourceforge.net/ |
| Version & Release Date | V5.11 (PHP5 only) 5 May 2010 |
| Last Updated in Geo | 3 March, 2011 (Version 6.0.0) |
| Usage in Geo | Used by DataAccess class. |
Usage Notes: We advise to not use this library directly, but use the Geo data accessor DataAccess which wraps the ADOdb class, and adds additional functionality on top of that. See the PHP Docs for the DataAccess class for more information.
| Name | PayPal SDK |
| Location | classes/PEAR/PayPal/ 1) |
| URL | http://www.paypal.com/sdk (SOAP SDKs - PHP .zip package half way down the page) |
| Version | PHP SDK V59 |
| Last Updated in Geo | 10/02/2009 (Version 4.1.0) |
| Usage in Geo | In the PayPal Pro payment gateway. |
Usage Notes: Added in Geo 4.1.0. The old location is in the Services/ directory, we have updated it (we were previously using a beta version from 2006) and moved its home to the directory noted.
| Name | PclZip |
| Location | classes/pclzip/ |
| URL | http://www.phpconcept.net/pclzip |
| Version | 2.8.2 |
| Last Updated in Geo | 01/12/2011 (Version 5.2.0) |
| Usage in Geo | Alternative to PHP Zip extension, for servers that do not have that extension loaded. |
Usage Notes: Added in Geo 5.2.0. This library is only used on servers where the built in zip extension is not loaded in PHP, which apparently is often enough to warrant using an alternative. We advise not to use this class directly, if the Zip extension ever becomes “common place” enough, we may remove this library.
| Name | Swift Mailer PHP5 version |
| Location | classes/php5_classes/swift/ |
| URL | http://swiftmailer.org/ |
| Version | V3.3.3 |
| Last Updated in Geo | 01/08/2009 |
| Usage in Geo | In the E-Mail Send Direct Addon, which is a system addon that sends all the e-mails. |
Usage Notes: In 4.0 just use the geoEmail::sendMail() method to send e-mails, see that method's documentation for more info.
Future Plans: There is a new version of Swift Mailer out which is a total re-write from previous versions. We have plans to move the e-mail functionality totally into the geoEmail class (right now that class just acts as a wrapper, relying on the addon to do the actual e-mailing), and at that time we will recode it to use the new version of the Swift Mailer. This is planned for a future release but since it is not done yet, no word on how soon that will be. The 5.0 line will continue to use the 3.3.3 version.
| Name | Prototype JavaScript framework |
| Location | js/prototype.js |
| URL | http://www.prototypejs.org/ |
| Version & Release Date | 1.7 |
| Last Updated in Geo | 03/04/2011 (Version 6.0.0) |
| Usage in Geo | Used extensively in the Admin panel in conjunction with Scriptaculous. It is being used on the client side as well. |
Usage Notes: If you plan to do any JS stuff that requires a javascript framework, we highly recommend to stick to things that are based on or totally compatible with Prototype and Scriptaculous. The amount the software relies on those 2 will only increase as time goes on.
JQuery Compatibility: We recommend using Prototype since that is what is used in the software2). However, if you are more familiar with using JQuery and just want to get a quick “proof of concept” up and running, or perhaps if you have already created customizations for previous versions of the Geo software written using JQuery, see Using jQuery with Other Libraries for documentation on how to keep using JQuery along side Prototype.
Warning: Avoid using Mootools as it will directly conflict with Prototype, causing you problems in future versions of Geo the more the software utilizes the library. This applies to any JS libraries that conflict with Prototype or Scriptaculous, before you decide to use something JS based ensure that it is compatible.
There's nothing wrong with Mootools or JQuery or any of the others, we just happened to choose Prototype & Scriptaculous.
Note that starting with Version 6.0.0, it is possible to load this library from Google Libraries API rather than off the local site. See the Use Google Libraries API setting in the admin at Design > Template Sets in the Advanced Settings section.
| Name | script.aculo.us |
| Location | js/scriptaculous/ |
| URL | http://script.aculo.us/ |
| Version | v1.9.0 |
| Last Updated in Geo | 04 March, 2011 (Version 6.0.0) |
| Usage in Geo | Used extensively in the Admin panel3). It is starting to be used on the client side as well4) |
Usage Notes: Check out the docs on Script.aculo.us there is a lot that can be done with this library. There is also a ton of things based off of this library, if you are used to using Mootools and there is something you can do in Mootools but don't see it here, just do a google search for “prototype” and whatever it is. For example “prototype calendar” comes up with this handy script that is fully documented, lightweight, and a great solution instead of the Mootools calendar equivalent.
If you want to use scriptaculous on a page on the client side5), simply do the following6):
$view = geoView::getInstance(); $view->scriptaculous = 1;
Note that there is nothing equivalent for using Prototype, as it is used on every page, so nothing fancy is needed to use the Prototype on the client side or admin, you can just trust that it will be there7).
Note that starting with Version 6.0.0, it is possible to load this library from Google Libraries API rather than off the local site. See the Use Google Libraries API setting in the admin at Design > Template Sets in the Advanced Settings section. At least it will be once the Google Library API is updated with the latest version of Scriptaculous, version 1.9.0.
| Name | CalendarView |
| Location | js/calendarview.js |
| URL | http://calendarview.org/ |
| Version | v1.2 |
| Last Updated in Geo | 25 August, 2010 (Version 5.1.2) |
| Usage in Geo | Used in the admin panel, currently only in specific addons. |
Usage Notes: This is currently only used in the admin panel, but we may start using it on the front side in future releases. The CSS is currently located at admin/css/calendarview.css.
| Name | IXR - The Inutio XML-RPC Library |
| Location | classes/rpc/ |
| URL | http://scripts.incutio.com/xmlrpc/ |
| Version & Release Date | 1.7.4 (7th September 2010) |
| Last Updated in Geo | 03/04/2011 (Version 6.0.0) |
| Usage in Geo | In the Remote API system, used to communicate. |
Usage Notes: When using the Remote API you don't have to worry about communication with the “client” script, in the remote API call all you need to do is return the data as you want the client to receive it, and the Geo Remote API system will take care of it for you.
| Name | Smarty |
| Location | classes/php5_classes/smarty/ |
| URL | http://www.smarty.net |
| Version & Release Date | 3.0.7 (Dec 19, 2011) |
| Last Updated in Geo | 23 January, 2012 (version 6.0.3) |
| Usage in Geo | Used in the geoTemplate class (that class extends the Smarty class). The geoTemplate class is used throughout the Geo software |
Usage Notes: See the geoView and geoTemplate documentation.
| Name | SWFUpload |
| Location | classes/swfupload/ |
| URL | http://www.swfupload.org |
| Version & Release Date | 2.2.0.1 (March 2009) |
| Last Updated in Geo | 19 April, 2009 |
| Usage in Geo | Used in the standard image upload page during place a listing and edit listing process.8) |
Usage Notes See the documentation on the SWF Upload website for usage. This library was first added in Geo version 4.1.0.
Modification Notes We have applied a small change from SWFUpload v2.5.0 Beta 3 from the JS file, the change applied should make the “instability checks” more accurate. This was done in Geo version 5.2.1.
| Name | TinyMCE & TinyMCE Compressor PHP |
| Location | js/tiny_mce/ |
| URL | http://tinymce.moxiecode.com/ |
| Version & Release Date | - TinyMCE - Version 3.4.2 (2011-04-07) - TinyMCE Compressor PHP - Version 2.0.4 (2011-03-23) |
| Last Updated in Geo | - TinyMCE - 05/09/2011 (In Version 5.2.3) - TinyMCE Compressor PHP - 05/09/2011 (In Version 5.2.3) |
| Usage in Geo | Used as the WYSIWYG editor anywhere such an editor is used. |
Usage Notes: If you wish to customize the TinyMCE configuration that is used, see Customizing the TinyMCE Display (WYSIWYG editor) V5
| Name | CodeMirror |
| Location | js/codemirror/ |
| URL | http://codemirror.net/ |
| Version & Release Date | 2.18 (21-11-2011) |
| Last Updated in Geo | November 30, 2011 (Version 6.0.1) |
| Usage in Geo | Used as the text editor on the <..> Source Code Editor tab when editing files under Design > Manager. |
Usage Notes: This is only available starting on version 6.0.0. See documentation on http://codemirror.net/ for usage on other pages within the software.