<?php /**/ ?><?php
/***************************************************************
* Description: This file interacts with the WHMCS API to allow a new To-Do
* List item to be created upon the payment of a new order's invoice.
***************************************************************/
  
error_reporting(E_ALL);
  function 
add_new_todo_hook($args)
  {
    if(isset(
$args['invoiceid']))
    {
      
//Counts the number of orders associated with the invoiceid.  If there are none, then the invoice is not associated with a new order, and nothing needs to be done.
      
$result select_query("tblorders""COUNT(invoiceid)", array("invoiceid" => $args['invoiceid']));
      
$count mysql_fetch_assoc($result);

      if(
$count['COUNT(invoiceid)'] > 0)
      {
        
//Get all invoice items from the specified invoice
        
$query  "SELECT list.id, list.userid, list.relid, acct.orderid, list.description ";
        
$query .= "FROM `tblinvoiceitems` AS `list` INNER JOIN `tblhosting` AS `acct` ON list.relid = acct.id ";
        
$query .= "WHERE list.invoiceid = '" $args['invoiceid'] . "';";
        
$results full_query($query);

        while(
$row mysql_fetch_assoc($results))
        {
          
add_to_todolist($args['invoiceid'], $row);
        } 
//end while
      
//end if
      
unset($count);
    } 
//end if
  
//end add_new_todo_hook()

  
function add_to_todolist($invoiceid$row)
  {
    
//Generate Due Date as 1 week from Today's date.
    
$todaysdate date("Y-m-d");
    
$duedate date("Y-m-d"strtotime('+1 week'));

    
//Insert Information into To-Do list.
    
insert_query("tbltodolist", array("id" => """date" => $todaysdate"title" => $row['description'], "description" => "Client ID " $row['clientid'] . " - has purchased " $row['description'] . ".""admin" => """status" => "New""duedate" => $duedate));

    
//Get the ID # for the To-Do list item.
    
$itemid mysql_insert_id();

    
//Insert meta information for the To-Do list item previously inserted.
    
insert_query("mod_todolist", array("id" => """itemid" => $itemid"userid" => $row['userid'], "orderid" => $row['orderid'], "invoiceid" => $invoiceid"hostingid" => $row['relid']));
    
    
//Insert Activity Log Entry
    
$description "New To-Do List Item Created (Item ID: " $itemid ", User ID: " $row['userid'] . ")";
    
insert_query("tblactivitylog", array("date" => date("Y-m-d H:i:s"), "description" => $description"user" => "System"));
  } 
//end add_to_todolist()

  
add_hook("InvoicePaid"1"add_new_todo_hook""");
?>