Amazon Prime 30 day trials

Amazon is offering free 30-day trials of Amazon Prime (regularly prices $79/year). Members can instantly watch of 40,000 movies and TV episodes. Borrow books from the Kindle Owners Lending Library, and get unlimited free two-day shipping (with no minimum order size).

Why am I tell you about it? Quite plainly because I’m an Amazon Associate and I earn referral fees every time someone signs up. So if you use this website or want to help support my efforts of running this site, or my osTicket efforts, etc. and do not currently have an Amazon Prime account and would like to try it out please consider checking it out by using one of the following links:

Amazon Prime free 30 day trial

Amazon Prime free 30 day trial

note: you do not need to complete your trial or become a full prime member for me to get the referral bonus.

osTicket 1.7.1.4 released!

Today marks the release of osTicket version 1.7.1.4. Below you will find the changelog for the last few releases (since I’ve been a slacker and didn’t post them when they came out)

Bugfixes

  • Finally squelch all test fixture failures (yay!) (#732)
  • Fix matching of ticket owner’s email address on incoming mail (#731)
  • Fix coding mistake matching system email addresses (#730)
  • Fix a bug upgrading from osTicket 1.6 (#736)

1.7.1.3 release notes

Bugfixes

  • Cookie domain cannot have a port number (#719)
  • ROOT_PATH is detected on Windows® (#726, #649)
  • Do not double encode XML entities in ticket thread titles (#567)
  • Display correct template description on edit (#724, #727)

1.7.1.2 release notes

Enhancements

  • The ticket number is no longer required in the subject line and staff can reply to emails and create an internal note (29b3714)

Bugfixes

  • session_start() is not used in random data collection, which broke some Windows installs (#712)
  • Prevent email loops if a staff happens to use a system email address (#714)
  • Turn off error_reporting (#717)
  • Fix ROOT_PATH detection (again) (#716)
  • Fix cookies for localhost and local servers (infamous “Invalid CSRF Token” error) (#707)

1.7.1.1 release notes

Bugfixes

  • Fix detection of ROOT_PATH on chrooted environments (#703, #705)
  • Fix download of attachments with commas (‘,’) in the filename (#702)
  • Fix incorrect content-type header for CAPTCHA (#699)
  • Avoid emails for password reset tokens on upgrade (#696)
  • Use ROOT_DIR for filesystem paths (#698)
  • Include tips.html in the download zip-file for installation popup help (#701)
  • Fix repeated CSRF token issues on localhost domain (#709)

For a complete list of core features visit osticket.com and be sure to check the release notes.

Reflections of the weekend

I sit ten thousand feet above the earth in a coffin made of steel and plastic, hurtling through the air at a velocity I have a hard time fathoming. But it is not my location to which my mind wanders, but the events oft he past few days. I flew to Louisiana to meet with the creator and lead dev Peter of the Open Source project called osTicket, and his protege and fellow developer Jared. We spent two days talking and brainstorming and breathing all things osTicket. Yet what resonates in me the most is how passionate they are about the project.

“The times… They are a changing” – Bob Dylan

There is some fantastic New features, some good news, and some of it I’m even allowed to tell you about!

First and foremost is that you can look forward to regular updates being pushed out on a time table as development is going to continue at a breakneck pace pushing ever closer towards an eventual 2.0 version. Version 1.8 is due out next quarter and brings several new features which I’m actually excited about.

The forums software that osTicket.com is run on is going to be updated shortly which should make providing support and news about the project even easier. The version it’s running on now is fairly deprecated, and no longer supported by the authors. The upgrade should coincide with the launch of the osTicket Blog. The blog should cover things such as release notices, articles on configuration cases, new feature expose, sneak peaks at upcoming features, interviews with the we project staff, and anything else that we think might benefit the public in using osTicket.

One of the most requested features on the forums is how to add additional fields to your tickets, so one of the new features in 1.8 that you can look forward is dynamic forms. Each tickets form fields will based on the help topic, and you will be able to dynamically add form fields to a ticket which will ask for more information pertaining to the subject. For example, a ticket marked as billing could have an account number or customer identification number that is useful for the billing department to enable them to look up the client in your billing system. Meanwhile a support ticket might not have that field, but may instead have a operating system field. These additional fields are user customizable and have a whole slew of features that you can use to customize the data allowed in the field such as being able to select a data type for the field (such phone number).

How to Create 3 New Permissions (Can Post Reply, Can Post Internal Notes, and Can Assign Tickets) into osTicket 1.6 ST

Can Post Internal Notes, and Can Assign Tickets) into osTicket 1.6 ST

November 15, 2012 by Masino Sinaga
source: openscriptsolution.com

osTicket does very good job to restrict the certain permissions to the staff by implementing the User Groups feature. There are seven permissions that have been provided in the User Groups. They are: Can Create Tickets, Can Edit Tickets, Can Close Tickets, Can Transfer Tickets, Can Delete Tickets, Can Ban Emails, and Can Manage Premade. Unfortunately, up to osTicket version 1.6 ST, there are no permissions for the following action: Can Post Reply, Can Post Internal Notes, and Can Assign Tickets.

In this article, I will show you how you can add those three new permissions into the User Groups feature. They are very useful whenever you want to create a User Group and then assign it to the certain users which do not have the abilities for that three new permissions. By default, these three new permissions are all set to 1 (Enabled). If you want to change the values or disable those three new permissions, then you have to login as Administrator, and then go to Admin Panel -> Staff -> User Groups, then edit a user group record from the list which you want to disable them.

1. First of all, alter your ost_groups table by adding the three new fields called by using the following script into your osTicket database (please adjust the table prefix if you are using the different one with mine using ost_):

    ALTER TABLE `ost_groups` ADD COLUMN `can_post_reply` tinyint(1) unsigned NOT NULL DEFAULT 1 AFTER `can_create_tickets`;
    ALTER TABLE `ost_groups` ADD COLUMN `can_post_internal_notes` tinyint(1) unsigned NOT NULL DEFAULT 1 AFTER `can_post_reply`;
    ALTER TABLE `ost_groups` ADD COLUMN `can_assign_tickets` tinyint(1) unsigned NOT NULL DEFAULT 1 AFTER `can_post_internal_notes`;

2. Open your /include/staff/group.inc.php file, and find this code:

    <tr><th>Can <b>Create</b> Tickets</th>
        <td>
            <input type="radio" name="can_create_tickets"  value="1"   <?=$info['can_create_tickets']?'checked':''?> />Yes
            <input type="radio" name="can_create_tickets"  value="0"   <?=!$info['can_create_tickets']?'checked':''?> />No
              <i>Ability to open tickets on behalf of users!</i>
        </td>
    </tr>

after the last line of that code, please insert this following code:

    <?php // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>
            <tr><th>Can <b>Post Reply</b></th>
                <td>
                    <input type="radio" name="can_post_reply"  value="1"   <?=$info['can_post_reply']?'checked':''?> />Yes
                    <input type="radio" name="can_post_reply"  value="0"   <?=!$info['can_post_reply']?'checked':''?> />No
                      <i>Ability to post replies!</i>
                </td>
            </tr>
            <tr><th>Can <b>Post Internal Notes</b></th>
                <td>
                    <input type="radio" name="can_post_internal_notes"  value="1"   <?=$info['can_post_internal_notes']?'checked':''?> />Yes
                    <input type="radio" name="can_post_internal_notes"  value="0"   <?=!$info['can_post_internal_notes']?'checked':''?> />No
                      <i>Ability to post Internal Notes!</i>
                </td>
            </tr>
            <tr><th>Can <b>Assign</b> Tickets</th>
                <td>
                    <input type="radio" name="can_assign_tickets"  value="1"   <?=$info['can_assign_tickets']?'checked':''?> />Yes
                    <input type="radio" name="can_assign_tickets"  value="0"   <?=!$info['can_assign_tickets']?'checked':''?> />No
                      <i>Ability to assign tickets!</i>
                </td>
            </tr>
    <?php // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>

3. Open your /include/class.group.php file, and find this code:

', can_create_tickets='.db_input($vars['can_create_tickets']).

then replace it with this following code:

                     ', can_create_tickets='.db_input($vars['can_create_tickets']).
    // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012
                     ', can_post_reply='.db_input($vars['can_post_reply']).
                     ', can_post_internal_notes='.db_input($vars['can_post_internal_notes']).               
                     ', can_assign_tickets='.db_input($vars['can_assign_tickets']).
    // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012

4. Open your /include/class.staff.php file, and find this code:

function canCreateTickets(){
        return ($this->isadmin() || $this->udata['can_create_tickets'])?true:false;
    }

after the last line of that code, please insert this following code:

// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012
        function canPostReply(){
            return ($this->isadmin() || $this->udata['can_post_reply'])?true:false;   
        }
     
        function canPostInternalNotes(){
            return ($this->isadmin() || $this->udata['can_post_internal_notes'])?true:false;   
        }  
         
        function canAssignTickets(){
            return ($this->isadmin() || $this->udata['can_assign_tickets'])?true:false;   
        }
    // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012

5. Open your /include/staff/viewticket.inc.php file, and find this code:

<div id="reply" class="tabbertab" align="left">
        <h2>Post Reply</h2>

before the first line of that code, please insert this following code:

<?php // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>
             <?php if ($thisuser->canPostReply()) { ?>
    <?php // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>

6. Still in the /include/staff/viewticket.inc.php file, find this code:

                <p>
                    <div  style="margin-left: 50px; margin-top: 30px; margin-bottom: 10px;border: 0px;">
                        <input class="button" type='submit' value='Post Reply' />
                        <input class="button" type='reset' value='Reset' />
                        <input class="button" type='button' value='Cancel' onClick="history.go(-1)" />
                    </div>
                </p>
            </form>               
        </p>
    </div>

after the last line of that code, please insert this following code:

    <?php // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>
             <?php } ?>
    <?php // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>

7. Still in the /include/staff/viewticket.inc.php file, find this code:

    <div id="notes" class="tabbertab"  align="left">
        <h2>Post Internal Note</h2>

before the first line of that code, please insert this following code:

    <?php // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>
             <?php if ($thisuser->canPostInternalNotes()) { ?>
    <?php // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>

8. Still in the /include/staff/viewticket.inc.php file, find this code:

                <div style="margin-top: 3px;">
                    <b>Ticket Status:</b>
                    <?
                    $checked=($info && isset($info['ticket_status']))?'checked':''; //not selected by default.
                    if($ticket->isOpen()){?>
                    <label><input type="checkbox" name="ticket_status" id="ticket_status" value="Close" <?=$checked?> > Close Ticket</label>
                    <?}else{ ?>
                    <label><input type="checkbox" name="ticket_status" id="ticket_status" value="Reopen" <?=$checked?> > Reopen Ticket</label>
                    <?}?>
                </div>
                <?}?>
                <p>
                    <div  align="left" style="margin-left: 50px;margin-top: 10px; margin-bottom: 10px;border: 0px;">
                        <input class="button" type='submit' value='Submit' />
                        <input class="button" type='reset' value='Reset' />
                        <input class="button" type='button' value='Cancel' onClick="history.go(-1)" />
                    </div>
                </p>
            </form>
        </p>
    </div>

after the last line of that code, please insert this following code:

    <?php // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>
             <?php } ?>
    <?php // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>

9. Still in the /include/staff/viewticket.inc.php file, find this code:

    <?
     //When the ticket is assigned Allow assignee, admin or ANY dept manager to reassign the ticket.
    if(!$ticket->isAssigned() || $thisuser->isadmin()  || $thisuser->isManager() || $thisuser->getId()==$ticket->getStaffId()) {
         ?>
    <div id="assign" class="tabbertab"  align="left">
         
        <h2><?=$staff?'Re Assign Ticket':'Assign to Staff'?></h2>

before the first line of that code, please insert this following code:

    <?php // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>
             <?php if ($thisuser->canAssignTickets()) { ?>
    <?php // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>

10. Still in the /include/staff/viewticket.inc.php file, find this code:

                <p>
                    <div  style="margin-left: 50px; margin-top: 5px; margin-bottom: 10px;border: 0px;" align="left">
                        <input class="button" type='submit' value='Assign' />
                        <input class="button" type='reset' value='Reset' />
                        <input class="button" type='button' value='Cancel' onClick="history.go(-1)" />
                    </div>
                </p>
            </form>
        </p>
    </div>
    <?}?>

after the last line of that code, please insert this following code:

    <?php // Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>
             <?php } ?>
    <?php // End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?>

Hopefully you find it useful. 🙂

WordPress: how to change your theme manually

So the other day someone told me how they changed their theme in WordPress and it broke their site. It broke it so much that they couldn’t get back in to change it back. So I talked them through manually editing their database to get their site back and it occured to me that this should be easier to find on the internet.

So here are some instructions on how to do it:

Open phpMyAdmin
choose your wordpress database.
select the wp_options table
search for and change the option_value of the following option_name’s:
template
stylesheet
current_theme

Change the option_value to be a valid theme (default WordPress ships with twentyeleven or twentyten).

osTicket 1.7.1ST released!

Just minutes ago the new version of osTicket 1.7.1ST was released. This is the second stable release of the 1.7 series. It include many bug fixes, security fixes, and introduces a slew of new features and enhancements. Some of the more notable are:

  • Custom logos and site pages
  • Password reset link
  • Export and import feature. Useful for migrations and backups.
  • Use your email address as your username for logins
  • SLA’s can be marked transient. Tickets with a transient SLA will change to the SLA of the new department or help-topic when transferred or edited.
  • Support installation on MySQL and MariaDB clusters. Use default storage engine and don’t assume predictable auto-increment values.

For a complete list of core features visit osticket.com and be sure to check the release notes.