Categories

Bluetrait
        Bluetrait
                Bluetrait
                    Coding
                    Geek
                    General
                    Videos
                    Solar
                    Coding
                    Geek
                    General
                    Coding
                        PHP
                        Bluetrait
                        PHP
                        Bluetrait
                        WordPress
                            Plugins
                        PHP
                        Bluetrait (Program)
                    Geek
                        Juniper
                        Cisco
                        IBM N2200 8363
                        PCs
                        Spam
                        IPv6
                        Apple
                        NetScreen
                        Internet
                    General
                        Uni

Sat, 21 Dec 2024 8:15 PM

It works on PHP 8.2!

Michael Dale

Upgrading the OS this site (and a few others including https://www.vogonswiki.com) runs on was one of my goals for the Christmas break this year.


Unfortunately there is a lot of old scripts running on it; making it difficult to move past PHP 7.0.


I've finally fixed a lot, most were pretty easy (including this site), mediawiki was the worst so far.


  • Bluetrait Blog now works on PHP 8.2!

  • Media Wiki upgraded (ish, still a super old version, extension hell there)

  • The Board (old recipe tracking system)

I've been able to switch over to PHP 7.3 now which is great. Hopefully I can get to 7.4 this year?


Also had to rebuild the raspberry pi zero running our gate recently. That was a pain. The SD card died so I replaced that and upgraded to Raspbian/Debian 12, that broke all the GPIO libraries I was using :/


Isn't upgrading fun? Actually I'm pretty happy how well things are working considering I ignore them for years at a time.


Next I'm actually thinking of upgrading this blog to replace the theme with something new, although not sure yet.


Sat, 02 Aug 2014 12:15 PM

Audit DNS

Michael Dale

I just wrote a DNS testing tool. :)


http://auditdns.net


 


 


Sat, 27 Apr 2013 12:50 AM

Bootstrap on Bluetrait!

Michael Dale

About time is all I can say!


Still needs some work but yeah it works :D


Responsive too.


Tue, 18 Sep 2012 9:56 AM

Tickets

Michael Dale
 

Tickets is a full featured, yet easy to use help-desk system.

I've been working on it for the last few months and it is now pretty awesome.


Tickets Logo


Mon, 30 Apr 2012 10:35 AM

Password Manager

Michael Dale

I've never found a password manager that I like (the story of my life)!


I've never been a fan of hosting my personal data with other companies.


So I spent two days writing my own.


Mr Password is awesome. It does almost everything a Password Manager should do. I'm selling it cheap on codecanyon and once purchased you get free upgrades and access to the code.


Features include:


  • Unlimited number of custom fields per password.

  • Active Directory Authentication Support

  • Multiple Users (with 2 permission levels, User and Administrator)

  • Security Logging

  • Account lock down after 5 failed logins

  • MySQL Database

  • Hashed (with SHA ) Account Passwords

  • Password Generator

  • Password Categories

  • Sharing Categories

  • HTTPs/SSL Supported

Go get it, only $US8-10 (depending on the way you purchase it).


Link: http://codecanyon.net/item/password-manager/2145518


Demo

URL : http://www.onlinecompanyportal.com/mrp/


Username: admin

Password: 1234


PHP

Sun, 19 Feb 2012 10:56 PM

IPManager Invoicing

Michael Dale

Invoicing is just about complete! There are two more things that are not finished yet, PDF invoices and emailing the invoicing. Both will be pretty easy.


There were a few complex SQL queries to handle the tax calculations (and to have the total on the view all invoices page).


Here is what it looks like (click to see full size).


Invoicing IPM3.0


Sat, 11 Feb 2012 10:44 PM

Fun with JQuery

Michael Dale

I am in the process of writing in invoicing support for IPManager (need to change the name of this app!). I've looked at Xero and Saasu but I'd still need to work out their API, and I don't like the idea of companies having access to my data, so I'm doing it myself :)


To do it nicely I need to use a bunch of JQuery so that you can easily add new line items on the fly (and calculate tax etc).


I've got it working just the way I want it, using a very long JQuery command! 


$('.invoice_item').clone().addClass('new_invoice_item').removeClass('invoice_item').find('input')

.val('').end().find('p').append('<a id="delete_item" class="button"

href="#">Delete</a>').end().appendTo('.invoice_item_extra');

Here are a couple of screen shots:


Invoice Line Items


And here is the basic design that the clients will see:


Client Invoice View


I am pretty happy with it so far, lots of work to go though.


Wed, 18 Jan 2012 10:40 PM

New IPManager Design

Michael Dale

This theme will be out for version 2.6 (no time frame for this release yet).


IPManager 2.6 


Thu, 11 Aug 2011 11:49 AM

Bluetrait Money

Michael Dale

New version of Bluetrait Money is finally out!


You can purchase it from here:


codecanyon.net/item/bluetrait-money/458252


Tue, 21 Jun 2011 11:33 AM

IPManager 2.2 tickets sql improvements.

Michael Dale

Primary tickets query in IPManager, working very nicely (110,000 tickets in a slow VM).


SQL result


Host: localhost
Database: ipm_test
Generation Time: Jun 21, 2011 at 01:10 AM
Generated by: phpMyAdmin 3.2.0.1 / MySQL 5.1.36-community-log
SQL query: EXPLAIN SELECT tickets.* , c.id AS `source_client_id`, c.client_name AS `source_client_name`, c.email AS `source_client_email`, c2.client_name AS `assigned_user_name`, c2.email AS `assigned_user_email`, comp.name AS `source_company_name`, p.name AS `priority_name`, t.name AS `ticket_state_name` FROM tickets LEFT JOIN clients c ON c.id = tickets.source_client_id LEFT JOIN clients c2 ON c2.id = tickets.assigned_user_id LEFT JOIN priorities p ON p.id = tickets.priority_id LEFT JOIN ticket_state t ON t.id = tickets.ticket_state_id LEFT JOIN companies comp ON comp.id = tickets.source_company_id WHERE 1 = 1 AND tickets.ticket_state_id = 1 ORDER BY last_modified DESC LIMIT 50 OFFSET 0;
Rows: 6








































































id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE tickets index ticket_state_id last_modified 8 NULL 50 Using where
1 SIMPLE c eq_ref PRIMARY PRIMARY 4 ipm_test.tickets.source_client_id 1  
1 SIMPLE c2 eq_ref PRIMARY PRIMARY 4 ipm_test.tickets.assigned_user_id 1  
1 SIMPLE p eq_ref PRIMARY PRIMARY 4 ipm_test.tickets.priority_id 1  
1 SIMPLE t const PRIMARY PRIMARY 4 const 1  
1 SIMPLE comp eq_ref PRIMARY PRIMARY 4 ipm_test.tickets.source_company_id 1  

PHP