I don't know if this is the right sub-forum for this topic, so moderators, please move to appropriate place.
I am starting a new business using a2billing. I will use the 1.4.1 despite the warnings
.
I like the a2billing very much (looking from admin's point of view). You pretty much thought of almost everything and that's good.
When I installed a2b I first browsed lightly through directory structure and I saw you were using Smarty, which is great because it's a very powerful templating engine.
So I thought it would be easy to adapt the looks of A2B to blend into my website. Well, I was wrong, and I do have to criticize you on that point. The design is not separated from the engine so it's impossible to adapt the template to fit the main website - because there is no template. You are using Smarty only to attach header and footer to pages and you render the contents of pages from within the scripts which is wrong. That's not how Smarty should be used.
Then I tried to set up Paypal payments. Bump. I see many other people have problem with it, so did I.
These two factors made me decide to redo (from scratch) the A2B customer interface for the needs of my business.
I used the original queries from A2B to acquire data from A2B database. The new customer UI is integrated into the MODx CMS (
http://www.modxcms.com ). I didn't do the whole customer UI, only the things I thought necessary for my business, meaning: Account info, SIP info, Call History, and Payment history. I also programmed the new Paypal payment module, based on my previous experience with it, and using a very simple PHP class by Micah Carrick here:
http://www.micahcarrick.com/04-19-2005/ ... class.htmlI saw that you were using payment methods developed by OSCommerce. I also saw a cc_paypal table in the A2B database that was not used, but I used it in my new payment module to log Paypal payments.
For displaying table data, I used Matt Kruse's javascript table toolbox here:
http://www.javascripttoolbox.com/lib/table/index.phpThis looks fantastic, and is also highly templatable through CSS. The other main feature is that this javascript library does all the pagination, sorting by columns, and even filtering within the client's browser. So there is only one MySQL query needed to spit out the data to client's web browser and then the javascript takes over. This, I think, greatly reduces stress on the MySQL database on the server, because it would not be bothered by new queries. The only place where I don't find this applicable is on very large tables. Maybe I'm wrong on this.
The main feature of my adapted customer UI is that is far, far simpler than the original A2B interface and it is highly templatable through the MODx CMS' templating system, so it can be adapted to any site design.
I didn't do the signup script because it proved to be more complicated than I thought. I will have to think of how to integrate the signup process of A2B and MODx, but it shouldn't be too complicated. Once I do that, I will be able to use MODx sofisticated session management, instead of my own which is not very good.
I would have done this much easier if some of the basic A2B include files that load the A2B configuration setting from the database didn't break MODx's and mine session by destroying it. Therefore, to ease up the integration process into other CMS' I propose that you consider keeping session management in a separate small script that would load on each page that should be protected by login/session. It would also have been much easier if the code was object oriented.
I am willing to develop the full feature set of the customer UI integrated with MODx and share it with the A2B and MODx community if people are interested in having it. If not I will also share it with the community (because I'm obligated by licence), but I will not develop the full feature set. I am also willing to consider developing the admin UI as well if there is interest in the community.
Currently the script doesn't load all the config settings from A2B database because it's kind of closely tailored to my needs, and because of the above described problem with session management. If I decide to continue/finish developing for the community I will import all config settings from the A2B database.
MODx itself is going to have major overhauling this year and fully transfer to Smarty templating system which, after modifying my A2B plugin, would make things even more interesting for the community.
I will post the link to my site and give you a demo account to see how it looks like as soon as I have it decent for public.
I expect further instructions from jroper and areski on how to share my code. Just a note: plugins (or snippets they call them) for MODx are usually placed within the MODx management backend, and not in separate files. They are written into MODx's database and parsed and executed from there.
Oh, let me post some screenshots: