I have been busy integrating Asterisk into NimbleBilling – take a look see and let me know what you think!
UPDATE : An online demo is available here!
As a sole proprietor and “freelancer” it is never easy wearing all of the hats, especially when I am knee deep in bugs and get a sales or support call. One of the most troubling issues I have is with asking for money. I never have a problem creating the invoice but it is that bloody send button that kills me.
Because of the above – I have decided to finally get organized and put together an automated invoicing application so I don’t have to worry about billing – the computer does for me. Basically you point your browser to a web app and adda few items to a job list – then save. Here’s a screencast that should demo it better than I can type it :
Here’s some of the functionality summed up in a brief list.
- Add / Edit / Delete Clients
- Add / Edit / Delete Invoices
- Add / Edit / Delete Jobs
- Add / Edit / Delete Taxes
- Add / Edit / Delete Services / Products
- Auto Email Invoice
- Download PDF Invoice
It probably does a lot more but I am too excited to complete the PayPal module.
Be sure to check back for updates – a version will be available for you shortly!
It gets very repetitive writing forms for clients – that’s why I decided to take the last hour to write this piece of fine code.
It takes whatever title you give a form object and creates a copy / paste dump for your view, controller and Javascript. It doesn’t handle checkboxes or select boxes – but that is because I find the form is not the time killer; it’s the Javascript and validation. The nice part is that most of the heavy lifting is done for you – plus you do not have to worry about spelling mistakes or silly syntax stuff because it is all duped in the script.
I’d like to pop this up on a subdomain after making it pretty – please comment if you think you will find this little app useful.
PS. During the recording I noticed a small error in the code – no need to comment, it is fixed now. The json_encoded array was returning a value that would not display in the error fields due to a mismatch in the name.
UPDATE : Check Out the Application Here!
I have fully tested the generated code and it works great, here’s a video demonstrating how to use “FormTorch”.
CodeIgniter is a SUPER powerful framework and I have picked up some tricks along the road. If you are looking for a simple way to jail access to parts of your application, the following is tried and tested – I use a similar approach in almost every application I write.
When you want to lock users out of just one function or an entire controller just create a new model (call it auth.php or something useful) and autoload it in the autoload.php file under config/
For a simple explanation consider the following :
Really all we are doing is determining which script they are trying to access and if they are allowed to be there or not based on their user permission level (set in a session at login authentication (usually from the database)).
To lock down a controller simply add $this->auth->jail(); to the constructor or whatever method / function you want to lock. This may not be the most elegant solution but it works and is tough to screw up – if you do not need group permissions and only a boolean result, take a look at this one :
As you can see, much simpler however only allows a check to see if the user is logged in or not. Once again, this can be loaded per function or per controller (in the constructor).
Hope this helps, I really do need to get to bed - probably have twenty revisions for this code after a wink of sleep. Always welcome feedback (criticism is expected with insomniatic posts).
PS. I am aware “insomniatic” is not a real word.
If you host web applications for clients you know that a reliable web control panel is always a must. I have received calls at wee hours of the night from clients who needed something that could easily be executed with a simple web control panel and I was kicking myself for being so lazy.
I spent a few days looking for a reliable and even more importantly, affordable web hosting control panel. Unfortunately the free stuff still came at a price (learning curve for unwilling clientele) and the pay stuff was way out of budget.
As any enraged geek, I wrote it myself, here is my masterpiece in action :
This thing ate up so much of my time but I didn’t even care. The learning curve was huge – especially the DNS administration. I had to think of new ways to execute administrative tasks from a very limited user. I had to automate reloading services, span updates of SOA record strings – it was awesome.
The reason I put this whole video / post thing together is that I have a feeling there are others who are / were in my situation. Now I need feedback and I need to find any insecurities / vulnerabilities so heres what I want to do :
I am putting together a demo server, one you all can play with and try to break – you wont see it for another day or two but it will be here. I want to offer a full years free hosting to the one who provides the best feedback for this application.
Feedback may include :
- Best Feature Request
- Best Hack / Exploit (do your worst!)
- Stupidest mistake on my behalf
Submissions will be judged by an unbiased third party and we will gladly host the winners stuff for an entire year!
I will post the host / IP as soon as the demo server is complete and I am looking forward to hearing from you.



