Infusionsoft API for humans

For one of projects, I had to implement integration with Infusionsoft. Reviewing the API documentation I found it very simple to use, but when I looked into their SDK it did not like me too much. Properly say it seemed me horrible. How they would be able to create such ugly SDK for such nice API? 

First of all I did not like xmlrps third party library used in it, it was written by Edd Dumbill long ago and did non seem me very beautiful - the php itself already has nice XML RPC implementation since version 4.0 (though, yes, I had sin to write own XML RPS too...) . The structure of API is not very convenient because I have to pass API key to ALL api functions - it would be logical for SDK to store key and use it with later calls - I am too lazy to write it every time. 

Another thing iSDK is uses one class with lots of functions - it would be logical to use classes which represents basic services in infusionsoft API.

Most of functions in SDK have different names then original API functions, furthemore names are very strange and nonintuitive -  can you let me know what does function addCon or campAssign?

So I went to idea to create own Infusionsoft API implementation.

- it would have proper type hinting that would help me use proper method names in Eclipse
- would have same method names as used in Infusionsoft XML RPC calls
- it would require to pass API keys in every call
- it would have transparent arguments without any php_xmlprc_encode crap

I am too lazy to code this by hand so I am created simple parser that takes infusionsoft API documentation and parses it creating nice friendly human oriented API.

The final API (and generating script) I have uploaded to hithub. Hope it would help to somebody with work with Infusionsoft via their API.



Оставить комментарий


New domain name for Preloaders Generator


Just obtained new domain name for my small generator of animated gif images. Now it will be awailable using address: preloader.org.

I hope in nearest time to upload the project, add several types of new preloaders, create new outfit and also add new cool features.


Оставить комментарий


Camera support in Android Firefox


Several days ago, my Android phone asked me manualy update firefox browser. Usually it does not require manual update, but now it did, it was caused presumably because application permissions was changed. As I hoped the change was in camera permissions - if old version was not able to use camera at all because of lack of necessary permissions now when I manually accepted new permission set with camera access it should be possible.

So new version is capable to upload images right from mobile camera. It is working the following way: once you opened the page with upload button, the upload button has small "capture" button near it. If you click the button small preview window will appear with camera capture preview.

To activate new feature you should set up for the tag input[type=file] attribute accept="image/png"

Open this page on your mobile firefox to see this in action: http://maxistar.ru/kitchen/camera.html

It was tested on Motorolla Milestone 2 (Android 2.2)


Оставить комментарий


New hosting transfer

It's possible site will be unavailable some time because of transfer to new hosting.

Оставить комментарий


How to share PHP session between domain and it's subdomains?

Today I met following task: to share one session between two sites - one site is subdomain of another. Solutions appeared quite simple just need to call session_set_cookie_params ON BOTH sites before call session_start. There is a quick example:

<? session_set_cookie_params ( time()+60*60,'/', '.myhost.com'); session_start(); ?> <html> <head></head> <body> <?php if (!isset($_SESSION['ses_test'])){ $_SESSION['ses_test'] = 1; } print 'Value is: '.($_SESSION['ses_test']++); ?> </body> </html>

Оставить комментарий


HTML to CSS: Remove the gaps between cells (cellpadding, cellspacing)

border-collapse: collapse; If you want to remove all cell padding from all tables on a page, do this: table { border-collapse: collapse; }

Оставить комментарий


Changes on site

Finally improved the process of blog writing. Created authentication for site and added form for blog submitting. Now writing the blog became much more simpler then was before - I was writing them in phpMyAdmin so it was not very pleasant to create new entries. So I am promising that I will write here every day.

Оставить комментарий


English version of site

Finally fixed all weird things on my English version of site. Honestly to say the main purpose of this site was to create English version, but since my native language is Russian this was simpler to prepare Russian first.

Оставить комментарий