Example #1
0
function widget_activity_log($vars)
{
    global $_ADMINLANG;
    $title = $_ADMINLANG['utilities']['activitylog'];
    $content = '';
    $patterns = $replacements = array();
    $patterns[] = '/User ID: (.*?) /';
    $patterns[] = '/Service ID: (.*?) /';
    $patterns[] = '/Domain ID: (.*?) /';
    $patterns[] = '/Invoice ID: (.*?) /';
    $patterns[] = '/Order ID: (.*?) /';
    $patterns[] = '/Transaction ID: (.*?) /';
    $replacements[] = '<a href="clientssummary.php?userid=$1">User ID: $1</a> ';
    $replacements[] = '<a href="clientshosting.php?id=$1">Service ID: $1</a> ';
    $replacements[] = '<a href="clientsdomains.php?id=$1">Domain ID: $1</a> ';
    $replacements[] = '<a href="invoices.php?action=edit&id=$1">Invoice ID: $1</a> ';
    $replacements[] = '<a href="orders.php?action=view&id=$1">Order ID: $1</a> ';
    $replacements[] = '<a href="transactions.php?action=edit&id=$1">Transaction ID: $1</a> ';
    $result = select_query("tblactivitylog", "", "", "id", "DESC", "0,10");
    while ($data = mysql_fetch_array($result)) {
        $description = $data["description"] . ' ';
        $description = whmcsHtmlspecialchars($description);
        $description = preg_replace($patterns, $replacements, $description);
        $content .= $description . '<br /><span style="font-size:11px;">&nbsp; - ' . fromMySQLDate($data["date"], true) . ' - ' . $data['user'] . ' - ' . $data['ipaddr'] . '</span><br />';
    }
    if (!$content) {
        $content = '<div align="center">No Activity Recorded Yet</div>';
    } else {
        $content .= '<div align="right"><a href="systemactivitylog.php">' . $_ADMINLANG['home']['viewall'] . ' &raquo;</a></div>';
    }
    return array('title' => $title, 'content' => $content);
}
Example #2
0
function widget_todo_list($vars)
{
    global $_ADMINLANG;
    $content = '<table width="100%" bgcolor="#cccccc" cellspacing="1">
<tr bgcolor=#efefef style="text-align:center;font-weight:bold;"><td>' . $_ADMINLANG['fields']['date'] . '</td><td>' . $_ADMINLANG['fields']['title'] . '/' . $_ADMINLANG['fields']['description'] . '</td><td>' . $_ADMINLANG['fields']['duedate'] . '</td><td>' . $_ADMINLANG['fields']['status'] . '</td><td width="20"></td></tr>
    ';
    $id = '';
    $result = select_query("tbltodolist", "", array("status" => array("sqltype" => "NEQ", "value" => "Completed")), "duedate", "ASC");
    while ($data = mysql_fetch_array($result)) {
        $id = $data["id"];
        $date = $data["date"];
        $title = $data["title"];
        $description = $data["description"];
        $admin = $data["admin"];
        $status = $data["status"];
        $duedate = $data["duedate"];
        $date = fromMySQLDate($date);
        $duedate = $duedate == "0000-00-00" ? '-' : fromMySQLDate($duedate);
        $bgcolor = $admin == $vars['adminid'] ? "#f5f5d7" : "#ffffff";
        $description = strlen($description) > 50 ? substr($description, 0, 50) . '...' : $description;
        $content .= '<tr bgcolor="' . $bgcolor . '" style="text-align:center;"><td>' . $date . '</td><td>' . $title . ' - ' . $description . '</td><td>' . $duedate . '</td><td>' . $status . '</td><td><a href="todolist.php?action=edit&id=' . $id . '"><img src="images/edit.gif" border="0"></a></td></tr>
';
    }
    if (!$id) {
        $content .= '<tr bgcolor="#ffffff"><td colspan="5" align="center">' . $_ADMINLANG['global']['norecordsfound'] . '</td></tr>';
    }
    $content .= '</table>
<div align="right" style="padding-top:5px;"><a href="todolist.php">' . $_ADMINLANG['home']['manage'] . ' &raquo;</a></div>';
    $title = $_ADMINLANG['todolist']['todolisttitle'];
    return array('title' => $title, 'content' => $content);
}
Example #3
0
/**
 *
 * @ WHMCS FULL DECODED & NULLED
 *
 * @ Version  : 5.2.15
 * @ Author   : MTIMER
 * @ Release on : 2013-12-24
 * @ Website  : http://www.mtimer.cn
 *
 * */
function widget_staffboard_overview($vars)
{
    global $_ADMINLANG;
    $title = "Staff Noticeboard";
    $lastviews = get_query_val("tbladdonmodules", "value", array("module" => "staffboard", "setting" => "lastviewed"));
    if ($lastviews) {
        $lastviews = unserialize($lastviews);
        $new = false;
    } else {
        $lastviews = array();
        $new = true;
    }
    $lastviewed = $lastviews[$_SESSION['adminid']];
    $lastviews[$_SESSION['adminid']] = time();
    if ($new) {
        insert_query("tbladdonmodules", array("module" => "staffboard", "setting" => "lastviewed", "value" => serialize($lastviews)));
    } else {
        update_query("tbladdonmodules", array("value" => serialize($lastviews)), array("module" => "staffboard", "setting" => "lastviewed"));
    }
    $numchanged = get_query_val("mod_staffboard", "COUNT(id)", "date>='" . date("Y-m-d H:i:s", $lastviewed) . "'");
    $content = "\n<style>\n.staffboardchanges {\n    margin: 0 0 5px 0;\n    padding: 8px 25px;\n    font-size: 1.2em;\n    text-align: center;\n}\n.staffboardnotices {\n    max-height: 130px;\n    overflow: auto;\n    border-top: 1px solid #ccc;\n    border-bottom: 1px solid #ccc;\n}\n.staffboardnotices div {\n    padding: 5px 15px;\n    border-bottom: 2px solid #fff;\n}\n.staffboardnotices div.pink {\n    background-color: #F3CBF3;\n}\n.staffboardnotices div.yellow {\n    background-color: #FFFFC1;\n}\n.staffboardnotices div.purple {\n    background-color: #DCD7FE;\n}\n.staffboardnotices div.white {\n    background-color: #FAFAFA;\n}\n.staffboardnotices div.pink {\n    background-color: #F3CBF3;\n}\n.staffboardnotices div.blue {\n    background-color: #A6E3FC;\n}\n.staffboardnotices div.green {\n    background-color: #A5F88B;\n}\n</style>\n<div class=\"staffboardchanges\">There are <strong>" . $numchanged . "</strong> New or Updated Staff Notices Since your Last Visit - <a href=\"addonmodules.php?module=staffboard\">Visit Noticeboard &raquo;</a></div><div class=\"staffboardnotices\">";
    $result = select_query("mod_staffboard", "", "", "date", "DESC");
    while ($data = mysql_fetch_array($result)) {
        $content .= "<div class=\"" . $data['color'] . "\">" . fromMySQLDate($data['date'], 1) . " - " . (100 < strlen($data['note']) ? substr($data['note'], 0, 100) . "..." : $data['note']) . "</div>";
    }
    $content .= "</div>";
    return array("title" => $title, "content" => $content, "jquerycode" => $jquerycode);
}
Example #4
0
 public function getClients($criteria = array())
 {
     global $disable_clients_list_services_summary;
     $clientgroups = $this->getGroups();
     $filters = $this->buildCriteria($criteria);
     $where = count($filters) ? " WHERE " . implode(" AND ", $filters) : "";
     $customfieldjoin = $this->customfieldsfilter ? " INNER JOIN tblcustomfieldsvalues ON tblcustomfieldsvalues.relid=tblclients.id" : "";
     $result = full_query("SELECT COUNT(*) FROM tblclients" . $customfieldjoin . $where);
     $data = mysql_fetch_array($result);
     $this->getPageObj()->setNumResults($data[0]);
     $clients = array();
     $query = "SELECT id,firstname,lastname,companyname,email,datecreated,groupid,status FROM tblclients" . $customfieldjoin . $where . " ORDER BY " . $this->getPageObj()->getOrderBy() . " " . $this->getPageObj()->getSortDirection() . " LIMIT " . $this->getQueryLimit();
     $result = full_query($query);
     while ($data = mysql_fetch_array($result)) {
         $id = $data['id'];
         $firstname = $data['firstname'];
         $lastname = $data['lastname'];
         $companyname = $data['companyname'];
         $email = $data['email'];
         $datecreated = $data['datecreated'];
         $groupid = $data['groupid'];
         $status = $data['status'];
         $datecreated = fromMySQLDate($datecreated);
         $groupcolor = isset($clientgroups[$groupid]['colour']) ? $clientgroups[$groupid]['colour'] . "\"" : "";
         $services = $totalservices = "-";
         if (!$disable_clients_list_services_summary) {
             $result2 = full_query("SELECT (SELECT COUNT(*) FROM tblhosting WHERE userid=tblclients.id AND domainstatus IN ('Active','Suspended'))+(SELECT COUNT(*) FROM tblhostingaddons WHERE hostingid IN (SELECT id FROM tblhosting WHERE userid=tblclients.id) AND status IN ('Active','Suspended'))+(SELECT COUNT(*) FROM tbldomains WHERE userid=tblclients.id AND status IN ('Active')) AS services,(SELECT COUNT(*) FROM tblhosting WHERE userid=tblclients.id)+(SELECT COUNT(*) FROM tblhostingaddons WHERE hostingid IN (SELECT id FROM tblhosting WHERE userid=tblclients.id))+(SELECT COUNT(*) FROM tbldomains WHERE userid=tblclients.id) AS totalservices FROM tblclients WHERE tblclients.id=" . (int) $id . " LIMIT 1");
             $data = mysql_fetch_array($result2);
             $services = $data['services'];
             $totalservices = $data['totalservices'];
         }
         $clients[] = array("id" => $id, "firstname" => $firstname, "lastname" => $lastname, "companyname" => $companyname, "groupid" => $groupid, "groupcolor" => $groupcolor, "email" => $email, "services" => $services, "totalservices" => $totalservices, "datecreated" => $datecreated, "status" => $status);
     }
     return $clients;
 }
function sirportly_ticket_table($results)
{
    foreach ($results as $key => $ticket) {
        $tickets[] = array('date' => fromMySQLDate($ticket['submitted_at'], time), 'tid' => $ticket['reference'], 'subject' => $ticket['subject'], 'c' => $ticket['id'], 'lastreply' => fromMySQLDate($ticket['last_update_posted_at'], time), 'department' => $ticket['department']['name'], 'status' => "<span style='color:#{$ticket['status']['colour']}'>{$ticket['status']['name']}</span>");
    }
    return $tickets;
}
Example #6
0
/**
 *
 * @ WHMCS FULL DECODED & NULLED
 *
 * @ Version  : 5.2.15
 * @ Author   : MTIMER
 * @ Release on : 2013-12-24
 * @ Website  : http://www.mtimer.cn
 *
 **/
function project_management_timesoutput($vars, $taskid)
{
    $timesoutput = "<table width=\"95%\" bgcolor=\"#cccccc\" cellspacing=\"1\" align=\"center\" style=\"margin-top:5px;\"><tr class=\"taskholder" . $taskid . "\" bgcolor=\"#efefef\" style=\"text-align:center;font-weight:bold;\"><td align=\"center\">" . $vars['_lang']['staff'] . "</td><td>" . $vars['_lang']['starttime'] . "</td><td>" . $vars['_lang']['stoptime'] . "</td><td>" . $vars['_lang']['timespent'] . "</td><td width=\"25\"></td></tr>";
    $result2 = select_query("mod_projecttimes", "*", array("taskid" => $taskid));
    while ($timerdata = mysql_fetch_assoc($result2)) {
        $show_startresume = "false";
        $timerid = $timerdata['id'];
        $timeradmin = mysql_fetch_assoc(select_query("tbladmins", "firstname,lastname", array("id" => $timerdata['adminid'])));
        $timerstart = $timerdata['start'];
        $timerend = $timerdata['end'];
        $starttime = fromMySQLDate(date("Y-m-d H:i:s", $timerstart), 1) . ":" . date("s", $timerstart);
        $endtimerlink = $timerdata['adminid'] == $_SESSION['adminid'] || project_management_check_masteradmin() ? "<a rel=\"" . $timerid . "\" id=\"ajaxendtimertaskid" . $taskid . "\" class=\"ajaxendtimer timerlink\">" . $vars['_lang']['endtimer'] . "</a>" : $vars['_lang']['inprogress'];
        $deltimerlink = $timerdata['adminid'] == $_SESSION['adminid'] || project_management_check_masteradmin() ? "<a href=\"#\" onclick=\"deleteTimer('" . $timerid . "','" . $taskid . "');return false\"><img src=\"images/delete.gif\"></a>" : "";
        $endtime = $timerend ? fromMySQLDate(date("Y-m-d H:i:s", $timerend), 1) . ":" . date("s", $timerend) : $endtimerlink;
        $totaltime = $timerend ? project_management_sec2hms($timerend - $timerstart) : $vars['_lang']['inprogress'];
        $timesoutput .= "<tr bgcolor=\"#ffffff\" class=\"time taskholder" . $taskid . "\"><td>" . $timeradmin['firstname'] . " " . $timeradmin['lastname'] . "</td><td>" . $starttime . "</td><td id=\"ajaxendtimertaskholderid" . $timerid . "\">" . $endtime . "</td><td id=\"ajaxtimerstatusholderid" . $timerid . "\">" . $totaltime . "</td><td>" . $deltimerlink . "</td></tr>";
        if ($timerend) {
            $timecount += $timerend - $timerstart;
            $totaltimecount += $timerend - $timerstart;
            $show_startresume = "true";
            $invoicelinedesc .= " > " . $starttime . " - " . $endtime . " (" . $totaltime . " " . $vars['_lang']['hours'] . ")\r\n";
        }
    }
    if (!$timerid) {
        $timesoutput .= "<tr id=\"notasktimersexist" . $taskid . "\"><td colspan=\"6\" align=\"center\" bgcolor=\"#fff\">" . $vars['_lang']['notimesrecorded'] . "</td></tr>";
    }
    $timesoutput .= "</table>";
    $GLOBALS['timerid'] = $timerid;
    $GLOBALS['timecount'] = $timecount;
    $GLOBALS['invoicelinedesc'] = $invoicelinedesc;
    return $timesoutput;
}
Example #7
0
function widget_admin_activity($vars)
{
    global $_ADMINLANG;
    $title = $_ADMINLANG['home']['recentadminactivity'];
    $content = '<table width="75%" bgcolor="#cccccc" cellspacing="1" align="center">
<tr bgcolor="#efefef" style="text-align:center;font-weight:bold;"><td>' . $_ADMINLANG['fields']['admin'] . '</td><td>' . $_ADMINLANG['fields']['ipaddress'] . '</td><td>' . $_ADMINLANG['system']['lastaccess'] . '</td></tr>';
    $result = select_query("tbladminlog", "", "", "lastvisit", "DESC", "0,5");
    while ($data = mysql_fetch_array($result)) {
        $content .= '<tr bgcolor="#ffffff" style="text-align:center;"><td>' . $data["adminusername"] . '</a></td><td><a href="http://www.geoiptool.com/en/?IP=' . $data["ipaddress"] . '" target="_blank">' . $data["ipaddress"] . '</a></td><td>' . fromMySQLDate($data["lastvisit"], true) . '</td></tr>';
    }
    $content .= '</table>';
    return array('title' => $title, 'content' => $content);
}
Example #8
0
 public function getInvoices($criteria = array())
 {
     global $aInt;
     global $currency;
     $query = " FROM tblinvoices INNER JOIN tblclients ON tblclients.id=tblinvoices.userid";
     $filters = $this->buildCriteria($criteria);
     $query .= count($filters) ? " WHERE " . implode(" AND ", $filters) : "";
     $result = full_query("SELECT COUNT(*)" . $query);
     $data = mysql_fetch_array($result);
     $this->getPageObj()->setNumResults($data[0]);
     $gateways = new WHMCS_Gateways();
     $orderby = $this->getPageObj()->getOrderBy();
     if ($orderby == "clientname") {
         $orderby = "firstname " . $this->getPageObj()->getSortDirection() . ",lastname " . $this->getPageObj()->getSortDirection() . ",companyname";
     }
     if ($orderby == "id") {
         $orderby = "tblinvoices.invoicenum " . $this->getPageObj()->getSortDirection() . ",tblinvoices.id";
     }
     $invoices = array();
     $query = "SELECT tblinvoices.*,tblclients.firstname,tblclients.lastname,tblclients.companyname,tblclients.groupid,tblclients.currency" . $query . " ORDER BY " . $orderby . " " . $this->getPageObj()->getSortDirection() . " LIMIT " . $this->getQueryLimit();
     $result = full_query($query);
     while ($data = mysql_fetch_array($result)) {
         $id = $data['id'];
         $invoicenum = $data['invoicenum'];
         $userid = $data['userid'];
         $date = $data['date'];
         $duedate = $data['duedate'];
         $subtotal = $data['subtotal'];
         $credit = $data['credit'];
         $total = $data['total'];
         $gateway = $data['paymentmethod'];
         $status = $data['status'];
         $firstname = $data['firstname'];
         $lastname = $data['lastname'];
         $companyname = $data['companyname'];
         $groupid = $data['groupid'];
         $currency = $data['currency'];
         $clientname = $aInt->outputClientLink($userid, $firstname, $lastname, $companyname, $groupid);
         $paymentmethod = $gateways->getDisplayName($gateway);
         $currency = getCurrency("", $currency);
         $totalformatted = formatCurrency($credit + $total);
         $statusformatted = $this->formatStatus($status);
         $date = fromMySQLDate($date);
         $duedate = fromMySQLDate($duedate);
         if (!$invoicenum) {
             $invoicenum = $id;
         }
         $invoices[] = array("id" => $id, "invoicenum" => $invoicenum, "userid" => $userid, "clientname" => $clientname, "date" => $date, "duedate" => $duedate, "subtotal" => $subtotal, "credit" => $credit, "total" => $total, "totalformatted" => $totalformatted, "gateway" => $gateway, "paymentmethod" => $paymentmethod, "status" => $status, "statusformatted" => $statusformatted);
     }
     return $invoices;
 }
Example #9
0
function widget_client_activity($vars)
{
    global $_ADMINLANG;
    $title = $_ADMINLANG['home']['recentclientactivity'];
    $content = '<table class="table table-condensed">
<tr bgcolor="#efefef" style="text-align:center;font-weight:bold;"><td>' . $_ADMINLANG['fields']['client'] . '</td><td>' . $_ADMINLANG['fields']['ipaddress'] . '</td><td>' . $_ADMINLANG['system']['lastaccess'] . '</td></tr>';
    $id = '';
    $result = select_query("tblclients", "id,firstname,lastname,ip,lastlogin", "", "lastlogin", "DESC", "0,5");
    while ($data = mysql_fetch_array($result)) {
        $id = $data['id'];
        $content .= '<tr bgcolor="#ffffff" style="text-align:center;"><td><a href="clientssummary.php?userid=' . $id . '">' . $data["firstname"] . ' ' . $data["lastname"] . '</a></td><td><a href="http://www.geoiptool.com/en/?IP=' . $data["ip"] . '" target="_blank">' . $data["ip"] . '</a></td><td>' . fromMySQLDate($data["lastlogin"], true) . '</td></tr>';
    }
    if (!$id) {
        $content .= '<tr bgcolor="#ffffff" style="text-align:center;"><td colspan="3">' . $_ADMINLANG['global']['norecordsfound'] . '</td></tr>';
    }
    $content .= '</table>';
    return array('title' => $title, 'content' => $content);
}
Example #10
0
function widget_open_invoices($vars)
{
    global $_ADMINLANG, $currency;
    $title = $_ADMINLANG['home']['openinvoices'];
    if (!function_exists("getGatewaysArray")) {
        require ROOTDIR . "/includes/gatewayfunctions.php";
    }
    $gatewaysarray = getGatewaysArray();
    $content = '<table class="table table-condensed">
<tr style="background-color:#efefef;font-weight:bold;text-align:center"><td>' . $_ADMINLANG['fields']['invoicenum'] . '</td><td>' . $_ADMINLANG['fields']['clientname'] . '</td><td>' . $_ADMINLANG['fields']['invoicedate'] . '</td><td>' . $_ADMINLANG['fields']['duedate'] . '</td><td>' . $_ADMINLANG['fields']['totaldue'] . '</td><td>' . $_ADMINLANG['fields']['paymentmethod'] . '</td><td width="20"></td></tr>
';
    $id = '';
    $query = "SELECT tblinvoices.*,tblinvoices.total-COALESCE((SELECT SUM(amountin) FROM tblaccounts WHERE tblaccounts.invoiceid=tblinvoices.id),0) AS invoicebalance,tblclients.firstname,tblclients.lastname FROM tblinvoices INNER JOIN tblclients ON tblclients.id=tblinvoices.userid WHERE tblinvoices.status='Unpaid' ORDER BY duedate,date ASC LIMIT 0,5";
    $result = full_query($query);
    while ($data = mysql_fetch_array($result)) {
        $id = $data["id"];
        $invoicenum = $data["invoicenum"];
        $userid = $data["userid"];
        $firstname = $data["firstname"];
        $lastname = $data["lastname"];
        $date = $data["date"];
        $duedate = $data["duedate"];
        $total = $data["total"];
        $invoicebalance = $data["invoicebalance"];
        $paymentmethod = $data["paymentmethod"];
        $paymentmethod = $gatewaysarray[$paymentmethod];
        $date = fromMySQLDate($date);
        $duedate = fromMySQLDate($duedate);
        $currency = getCurrency($userid);
        if (!$invoicenum) {
            $invoicenum = $id;
        }
        $content .= '<tr bgcolor="#ffffff" style="text-align:center;"><td><a href="invoices.php?action=edit&id=' . $id . '">' . $invoicenum . '</a></td><td>' . $firstname . ' ' . $lastname . '</td><td>' . $date . '</td><td>' . $duedate . '</td><td>' . formatCurrency($total) . '</td><td>' . $paymentmethod . '</td><td><a href="invoices.php?action=edit&id=' . $id . '"><img src="images/edit.gif" border="0" /></a></td></tr>';
    }
    if (!$id) {
        $content .= '<tr bgcolor="#ffffff" style="text-align:center;"><td colspan="7">' . $_ADMINLANG['global']['norecordsfound'] . '</td></tr>';
    }
    $content .= '</table>
<div class="widget-footer">
    <a href="invoices.php?status=Unpaid" class="btn btn-info btn-sm">' . $_ADMINLANG['home']['viewall'] . ' &raquo;</a>
</div>';
    return array('title' => $title, 'content' => $content);
}
Example #11
0
<form method="post" action="reports.php?report={$report}">
<table align="center">
<tr><td>Date From:</td><td><input type="text" name="datefrom" value="{$datefrom}" class="datepick" /></td><td width="20"></td><td>Date To:</td><td><input type="text" name="dateto" value="{$dateto}" class="datepick" /></td><td width="20"></td><td><input type="submit" value="Submit" /></tr>
</table>
</form>
EOF;
$reportdata["tableheadings"] = array("Coupon Code", "Discount Type", "Value", "Recurring", "Notes", "Usage Count", "Total Revenue");
$i = 0;
$result = select_query("tblpromotions", "", "", "code", "ASC");
while ($data = mysql_fetch_array($result)) {
    $code = $data["code"];
    $type = $data["type"];
    $value = $data["value"];
    $recurring = $data["recurring"];
    $notes = $data["notes"];
    $rowcount = $rowtotal = 0;
    $reportdata["drilldown"][$i]["tableheadings"] = array("Order ID", "Order Date", "Order Number", "Order Total", "Order Status");
    $result2 = select_query("tblorders", "", "promocode='" . db_escape_string($code) . "' AND date>='" . db_make_safe_human_date($datefrom) . "' AND date<='" . db_make_safe_human_date($dateto) . "'", "id", "ASC");
    while ($data = mysql_fetch_array($result2)) {
        $orderid = $data['id'];
        $ordernum = $data['ordernum'];
        $orderdate = $data['date'];
        $ordertotal = $data['amount'];
        $orderstatus = $data['status'];
        $rowcount++;
        $rowtotal += $ordertotal;
        $reportdata["drilldown"][$i]["tablevalues"][] = array('<a href="orders.php?action=view&id=' . $orderid . '">' . $orderid . '</a>', fromMySQLDate($orderdate), $ordernum, $ordertotal, $orderstatus);
    }
    $reportdata["tablevalues"][$i] = array($code, $type, $value, $recurring, $notes, $rowcount, format_as_currency($rowtotal));
    $i++;
}
use WHMCS\Input\Sanitize;
if (!defined("WHMCS")) {
    die("This file cannot be accessed directly");
}
if (!function_exists('getRegistrarsDropdownMenu')) {
    require ROOTDIR . '/includes/registrarfunctions.php';
}
$whmcs = App::self();
$reportdata["title"] = $aInt->lang('reports', 'domainRenewalEmailsTitle');
$userID = $whmcs->get_req_var('client');
$domain = $whmcs->get_req_var('domain');
$dateFrom = $whmcs->get_req_var('dateFrom') ? toMySQLDate($whmcs->get_req_var('dateFrom')) : '';
$dateTo = $whmcs->get_req_var('dateTo') ? toMySQLDate($whmcs->get_req_var('dateTo')) : '';
$formDateFrom = $dateFrom ? fromMySQLDate($dateFrom) : '';
$formDateTo = $dateTo ? fromMySQLDate($dateTo) : '';
$registrar = $whmcs->get_req_var('registrar');
$print = $whmcs->get_req_var('print');
/**
 * Replace the "None" string with the "Any" string
 */
$registrarList = str_replace($aInt->lang('global', 'none'), $aInt->lang('global', 'any'), getRegistrarsDropdownMenu($registrar));
$reportdata["description"] = $aInt->lang('reports', 'domainRenewalEmailsDescription');
$reportHeader = '';
if (!$print) {
    $reportHeader = <<<REPORT_HEADER
<form method="post" action="reports.php?report=domain_renewal_emails">
{$aInt->lang('fields', 'clientid')}: {$aInt->clientsDropDown($userID, '', 'client', true)}
{$aInt->lang('fields', 'domain')}: <input type="text" name="domain" value="{$domain}" size="30" />
{$aInt->lang('fields', 'registrar')}: {$registrarList}
{$aInt->lang('fields', 'daterange')}:
Example #13
0
 public function getFiles()
 {
     $where = array("userid" => $this->userid);
     if (!defined("ADMINAREA")) {
         $where['adminonly'] = "";
     }
     $files = array();
     $result = select_query("tblclientsfiles", "", $where, "title", "ASC");
     while ($data = mysql_fetch_assoc($result)) {
         $id = $data['id'];
         $title = $data['title'];
         $adminonly = $data['adminonly'];
         $filename = $data['filename'];
         $filename = substr($filename, 11);
         $date = fromMySQLDate($data['dateadded'], 0, 1);
         $files[] = array("id" => $id, "date" => $date, "title" => $title, "adminonly" => $adminonly, "filename" => $filename);
     }
     return $files;
 }
Example #14
0
     $managetitle = $aInt->lang("addons", "editaddon");
     $result = select_query("tblhostingaddons", "", array("id" => $aid));
     $data = mysql_fetch_array($result);
     $addonid = $data['addonid'];
     $customname = $data['name'];
     $recurring = $data['recurring'];
     $setupfee = $data['setupfee'];
     $billingcycle = $data['billingcycle'];
     $status = $data['status'];
     $regdate = $data['regdate'];
     $nextduedate = $data['nextduedate'];
     $paymentmethod = $data['paymentmethod'];
     $tax = $data['tax'];
     $notes = $data['notes'];
     $regdate = fromMySQLDate($regdate);
     $nextduedate = fromMySQLDate($nextduedate);
 }
 echo "<h2>" . $managetitle . "</h2>";
 $predefaddons = array();
 $result = select_query("tbladdons", "", "", "weight` ASC,`name", "ASC");
 while ($data = mysql_fetch_array($result)) {
     $preid = $data['id'];
     $name = $data['name'];
     $predefaddons[$preid] = $name;
 }
 $tbl = new WHMCS_Table();
 $tbl->add($aInt->lang("fields", "product"), $frm->hidden("oldserviceid", $id) . $frm->dropdown("id", $servicesarr, $id), 1);
 $tbl->add($aInt->lang("fields", "regdate"), $frm->date("regdate", $regdate));
 $tbl->add($aInt->lang("fields", "setupfee"), $frm->text("setupfee", $setupfee, "10"));
 $tbl->add($aInt->lang("addons", "predefinedaddon"), $frm->dropdown("addonid", $predefaddons, $addonid, "", "", true));
 $tbl->add($aInt->lang("global", "recurring"), $frm->text("recurring", $recurring, "10") . ($aid == "add" ? " " . $frm->checkbox("defaultpricing", $aInt->lang("addons", "usedefault"), true) : ""));
Example #15
0
$result = full_query($query);
while ($data = mysql_fetch_array($result)) {
    $reportvalues['tickets_staff_replies'][$data[0]] = $data[1];
}
$query = "SELECT date_format(date, '%e'),COUNT(id) FROM tblcancelrequests WHERE date LIKE '" . $year . "-" . $month . "-%' GROUP BY date_format(date, '%e') ORDER BY date ASC";
$result = full_query($query);
while ($data = mysql_fetch_array($result)) {
    $reportvalues['cancellations_new'][$data[0]] = $data[1];
}
for ($day = 1; $day <= 31; $day++) {
    $date = date("Y-m-d", mktime(0, 0, 0, $month, $day, $year));
    $daytext = date("l", mktime(0, 0, 0, $month, $day, $year));
    $neworders = isset($reportvalues['orders_active'][$day]) ? $reportvalues['orders_active'][$day] : '0';
    $newinvoices = isset($reportvalues['invoices_new'][$day]) ? $reportvalues['invoices_new'][$day] : '0';
    $paidinvoices = isset($reportvalues['invoices_paid'][$day]) ? $reportvalues['invoices_paid'][$day] : '0';
    $newtickets = isset($reportvalues['tickets_new'][$day]) ? $reportvalues['tickets_new'][$day] : '0';
    $ticketreplies = isset($reportvalues['tickets_staff_replies'][$day]) ? $reportvalues['tickets_staff_replies'][$day] : '0';
    $cancellations = isset($reportvalues['cancellations_new'][$day]) ? $reportvalues['cancellations_new'][$day] : '0';
    $reportdata["tablevalues"][] = array($daytext . ' ' . fromMySQLDate($date), $neworders, $newinvoices, $paidinvoices, $newtickets, $ticketreplies, $cancellations);
    $chartdata['rows'][] = array('c' => array(array('v' => fromMySQLDate($date)), array('v' => (int) $neworders), array('v' => (int) $newinvoices), array('v' => (int) $paidinvoices), array('v' => (int) $newtickets), array('v' => (int) $ticketreplies), array('v' => (int) $cancellations)));
}
$chartdata['cols'][] = array('label' => 'Day', 'type' => 'string');
$chartdata['cols'][] = array('label' => 'Completed Orders', 'type' => 'number');
$chartdata['cols'][] = array('label' => 'New Invoices', 'type' => 'number');
$chartdata['cols'][] = array('label' => 'Paid Invoices', 'type' => 'number');
$chartdata['cols'][] = array('label' => 'Opened Tickets', 'type' => 'number');
$chartdata['cols'][] = array('label' => 'Ticket Replies', 'type' => 'number');
$chartdata['cols'][] = array('label' => 'Cancellation Requests', 'type' => 'number');
$args = array();
$args['legendpos'] = 'right';
$reportdata["headertext"] = $chart->drawChart('Area', $chartdata, $args, '400px');
Example #16
0
$totalprojectstime = $i = 0;
$adminquery = $adminid ? " AND adminid='" . (int) $adminid . "'" : "";
$statusquery = $status ? " AND status='" . db_escape_string($status) . "'" : "";
$result = select_query("mod_project", "", "duedate>='" . toMySQLDate($datefrom) . "' AND duedate<='" . toMySQLDate($dateto) . "'" . $adminquery . $statusquery);
while ($data = mysql_fetch_array($result)) {
    $totaltaskstime = 0;
    $projectid = $data['id'];
    $projectname = $data['title'];
    $adminid = $data['adminid'];
    $userid = $data['userid'];
    $created = $data['created'];
    $duedate = $data['duedate'];
    $ticketids = $data['ticketids'];
    $projectstatus = $data['status'];
    $created = fromMySQLDate($created);
    $duedate = fromMySQLDate($duedate);
    $admin = $adminid ? getAdminName($adminid) : "None";
    if ($userid) {
        $clientsdetails = getClientsDetails($userid);
        $client = "<a href=\"clientssummary.php?userid=" . $clientsdetails['userid'] . "\">" . $clientsdetails['firstname'] . " " . $clientsdetails['lastname'];
        if ($clientsdetails['companyname']) {
            $client .= " (" . $clientsdetails['companyname'] . ")";
        }
        $client .= "</a>";
        $currency = getCurrency();
    } else {
        $client = "None";
    }
    $ticketinvoicelinks = array();
    foreach ($ticketids as $i => $ticketnum) {
        if ($ticketnum) {
Example #17
0
function buildAdminTicketListArray($result)
{
    global $departmentsarray;
    global $tabledata;
    global $aInt;
    global $tickets;
    while ($data = mysql_fetch_array($result)) {
        $id = $data['id'];
        $ticketnumber = $data['tid'];
        $did = $data['did'];
        $puserid = $data['userid'];
        $name = $data['name'];
        $email = $data['email'];
        $date = $data['date'];
        $title = $data['title'];
        $message = $data['message'];
        $tstatus = $data['status'];
        $priority = $data['urgency'];
        $rawlastactivity = $data['lastreply'];
        $flag = $data['flag'];
        $firstname = $data['firstname'];
        $lastname = $data['lastname'];
        $companyname = $data['companyname'];
        $groupid = $data['groupid'];
        $adminread = $data['adminunread'];
        $adminread = explode(",", $adminread);
        $tickets->addTagCloudID($id);
        if (!in_array($_SESSION['adminid'], $adminread)) {
            $unread = 1;
        } else {
            $unread = 0;
        }
        $alttitle = "";
        $title = trim($title);
        if (!$title) {
            $title = "&nbsp;- " . $aInt->lang("emails", "nosubject") . " -&nbsp;";
        }
        if (80 < strlen($title)) {
            $alttitle = $title;
            $title = substr($title, 0, 80) . "...";
        }
        if ($alttitle) {
            $alttitle .= "\r\n";
        }
        $alttitle .= trim(ticketsummary($message, 250));
        $flaggedto = "";
        if ($flag == $_SESSION['adminid']) {
            $showflag = "user";
        } else {
            if ($flag == 0) {
                $showflag = "none";
            } else {
                $showflag = "other";
                $flaggedto = getAdminName($flag);
            }
        }
        $department = $departmentsarray[$did];
        if ($flaggedto) {
            $department .= " (" . $flaggedto . ")";
        }
        $date = fromMySQLDate($date, "time");
        $lastactivity = fromMySQLDate($rawlastactivity, "time");
        $tstatus = getStatusColour($tstatus);
        $lastreply = getShortLastReplyTime($rawlastactivity);
        $title = "#" . $ticketnumber . " - " . $title;
        if ($unread) {
            $title = "<strong>" . $title . "</strong>";
        }
        $clientinfo = $puserid != "0" ? $aInt->outputClientLink($puserid, $firstname, $lastname, $companyname, $groupid) : $name;
        $ticketlink = "<a href=\"?action=viewticket&id=" . $id . "\"" . ($alttitle ? " title=\"" . $alttitle . "\"" : "") . "" . $ainject . ">";
        $tabledata[] = array("<input type=\"checkbox\" name=\"selectedtickets[]\" value=\"" . $id . "\" class=\"checkall\">", "<img src=\"images/" . strtolower($priority) . ("priority.gif\" width=\"16\" height=\"16\" alt=\"" . $priority . "\" class=\"absmiddle\" />"), $department, "<div style=\"text-align:left;\">" . $ticketlink . $title . "</a></div>", $clientinfo, $tstatus, $lastreply);
    }
}
        } else {
            header('Location: viewticket.php?tid=' . $ticket['results']['reference'] . '&c=' . $ticket['results']['id']);
        }
    }
}
## Ticket updates
foreach ($ticket['results']['updates'] as $key => $value) {
    if (!$value['private']) {
        $replies[] = array('name' => $value['author']['name'] ? $value['author']['name'] : $value['author']['first_name'] . ' ' . $value['author']['last_name'], 'message' => nl2br(($value['message'] ? $value['message'] : strip_tags($value['html_body'])) . ($value['signature_text'] ? "<div class='signature'><p>" . $value['signature_text'] . "</p></div>" : "")), 'admin' => $value['author']['type'] == 'User' ? true : false, 'userid' => $value['author']['type'] == 'User' ? false : true, 'date' => fromMySQLDate($value['posted_at'], 'time'), 'user' => $value['author']['type'] == 'User' ? "{$value['author']['first_name']} {$value['author']['last_name']}" : "{$value['from_name']}");
    }
}
## Logged in?
if ($ca->isLoggedIn()) {
    $result = mysql_query("SELECT CONCAT_WS(' ', firstname, lastname) as full_name, email FROM tblclients WHERE id=" . $ca->getUserID());
    $client = mysql_fetch_array($result, MYSQL_ASSOC);
    $ca->assign('email', $client['email']);
    $ca->assign('clientname', $client['full_name']);
}
## Assign vars to the template
$ca->assign('tid', $ticket['results']['reference']);
$ca->assign('subject', $ticket['results']['subject']);
$ca->assign('date', fromMySQLDate($ticket['results']['submitted_at'], time));
$ca->assign('department', $ticket['results']['department']['name']);
$ca->assign('urgency', "<span style='color:#{$ticket['results']['priority']['colour']}'>{$ticket['results']['priority']['name']}</span>");
$ca->assign('status', "<span style='color:#{$ticket['results']['status']['colour']}'>{$ticket['results']['status']['name']}</span>");
$ca->assign('showclosebutton', $settings['close_ticket'] ? true : false);
$ca->assign('descreplies', array_reverse($replies));
$ca->assign('replies', array_reverse($replies));
$ca->assign('c', $_GET['c']);
$ca->setTemplate('viewticket');
$ca->output();
Example #19
0
 public function getInvoices($status = "", $userid = "", $orderby = "id", $sort = "DESC", $limit = "")
 {
     global $whmcs;
     $where = array();
     if ($status) {
         $where['status'] = $status;
     }
     if ($userid) {
         $where['userid'] = $userid;
     }
     $where["(select count(id) from tblinvoiceitems where invoiceid=tblinvoices.id and type='Invoice')"] = array("sqltype" => "<=", "value" => 0);
     $invoices = array();
     $result = select_query("tblinvoices", "tblinvoices.*,total-COALESCE((SELECT SUM(amountin-amountout) FROM tblaccounts WHERE tblaccounts.invoiceid=tblinvoices.id),0) AS balance", $where, $orderby, $sort, $limit);
     while ($data = mysql_fetch_array($result)) {
         $id = $data['id'];
         $invoicenum = $data['invoicenum'];
         $date = $data['date'];
         $duedate = $data['duedate'];
         $credit = $data['credit'];
         $total = $data['total'];
         $balance = $data['balance'];
         $status = $data['status'];
         if ($status == "Unpaid") {
             $this->totalbalance += $balance;
         }
         $date = fromMySQLDate($date, 0, 1);
         $duedate = fromMySQLDate($duedate, 0, 1);
         $rawstatus = strtolower($status);
         if (!$invoicenum) {
             $invoicenum = $id;
         }
         $invoices[] = array("id" => $id, "invoicenum" => $invoicenum, "datecreated" => $date, "datedue" => $duedate, "total" => formatCurrency($credit + $total), "balance" => formatCurrency($balance), "status" => getInvoiceStatusColour($status), "rawstatus" => $rawstatus, "statustext" => $whmcs->get_lang("invoices" . $rawstatus));
     }
     return $invoices;
 }
Example #20
0
        $disklimit = $data["disklimit"];
        $bwusage = $data["bwusage"];
        $bwlimit = $data["bwlimit"];
        $lastupdate = $data["lastupdate"];
        if ($disklimit == "0") {
            $percentused = "N/A";
        } else {
            @($percentused = number_format($diskusage / $disklimit * 100, 0, '.', ''));
        }
        if ($disklimit == "0") {
            $disklimit = "Unlimited";
        }
        if ($bwlimit == "0") {
            $bwpercentused = "N/A";
        } else {
            @($bwpercentused = number_format($bwusage / $bwlimit * 100, 0, '.', ''));
        }
        if ($bwlimit == "0") {
            $bwlimit = "Unlimited";
        }
        if ($percentused != "N/A") {
            $percentused .= "%";
        }
        if ($bwpercentused != "N/A") {
            $bwpercentused .= "%";
        }
        $reportdata["tablevalues"][] = array("{$name}<br>{$domain}", "{$diskusage} MB", "{$disklimit} MB", "{$percentused}", "{$bwusage} MB", "{$bwlimit} MB", "{$bwpercentused}");
    }
}
$data["footertext"] = "<p>Disk Space Usage Stats Last Updated at " . fromMySQLDate($lastupdate, "time") . " - <a href=\"" . $_SERVER["PHP_SELF"] . "?report=" . $_GET["report"] . "&action=updatestats\">Update Now</a></p>";
Example #21
0
             $paymentstatus = "<span class=\"textgreen\">" . $aInt->lang("status", "complete") . "</span>";
         } else {
             if ($invoicestatus == "Unpaid") {
                 $paymentstatus = "<span class=\"textred\">" . $aInt->lang("status", "incomplete") . "</span>";
             } else {
                 $paymentstatus = getInvoiceStatusColour($invoicestatus);
             }
         }
     }
 }
 run_hook("ViewOrderDetailsPage", array("orderid" => $id, "ordernum" => $ordernum, "userid" => $userid, "amount" => $amount, "paymentmethod" => $paymentmethod, "invoiceid" => $invoiceid, "status" => $orderstatus));
 $clientnotes = array();
 $result = select_query("tblnotes", "tblnotes.*,(SELECT CONCAT(firstname,' ',lastname) FROM tbladmins WHERE tbladmins.id=tblnotes.adminid) AS adminuser", array("userid" => $userid, "sticky" => "1"), "modified", "DESC");
 while ($data = mysql_fetch_assoc($result)) {
     $data['created'] = fromMySQLDate($data['created'], 1);
     $data['modified'] = fromMySQLDate($data['modified'], 1);
     $data['note'] = autoHyperLink(nl2br($data['note']));
     $clientnotes[] = $data;
 }
 if (count($clientnotes)) {
     echo "<div id=\"clientsimportantnotes\">\n";
     foreach ($clientnotes as $note) {
         echo "<div class=\"ticketstaffnotes\">\n    <table class=\"ticketstaffnotestable\">\n        <tr>\n            <td>" . $note['adminuser'] . "</td>\n            <td align=\"right\">" . $note['modified'] . "</td>\n        </tr>\n    </table>\n    <div>\n        " . $note['note'] . "\n        <div style=\"float:right;\"><a href=\"clientsnotes.php?userid=" . $userid . "&action=edit&id=" . $note['id'] . "\"><img src=\"images/edit.gif\" width=\"16\" height=\"16\" align=\"absmiddle\" /></a></div>\n    </div>\n</div>\n";
     }
     echo "</div>";
 }
 echo "\n<table class=\"form\" width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"3\">\n<tr><td class=\"fieldlabel\">";
 echo $aInt->lang("fields", "date");
 echo "</td><td class=\"fieldarea\">";
 echo $date;
 echo "</td><td width=\"15%\" class=\"fieldlabel\">";
Example #22
0
<?php

if (!defined("WHMCS")) {
    die("This file cannot be accessed directly");
}
$reportdata["title"] = "Credits Reviewer";
$reportdata["description"] = "This report allows you to review all the credits issued to clients between 2 dates you specify";
$reportdata["headertext"] = '<form method="post" action="?report=' . $report . '">
<p align="center">Start Date: <input type="text" name="startdate" value="' . $startdate . '" class="datepick" /> End Date: <input type="text" name="enddate" value="' . $enddate . '" class="datepick" /> <input type="submit" value="Generate Report"></p>
</form>';
$reportdata["tableheadings"] = array("Credit ID", "Client Name", "Date", "Description", "Amount");
if ($startdate && $enddate) {
    $query = "SELECT tblcredit.*,tblclients.firstname,tblclients.lastname FROM tblcredit INNER JOIN tblclients ON tblclients.id=tblcredit.clientid WHERE tblcredit.date BETWEEN '" . db_make_safe_human_date($startdate) . "' AND '" . db_make_safe_human_date($enddate) . "'";
    $result = full_query($query);
    while ($data = mysql_fetch_array($result)) {
        $id = $data["id"];
        $userid = $data["clientid"];
        $clientname = $data["firstname"] . " " . $data["lastname"];
        $date = fromMySQLDate($data["date"]);
        $description = $data["description"];
        $amount = $data["amount"];
        $currency = getCurrency($userid);
        $amount = formatCurrency($amount);
        $reportdata["tablevalues"][] = array($id, '<a href="clientssummary.php?userid=' . $userid . '">' . $clientname . '</a>', $date, nl2br($description), $amount);
    }
}
$data["footertext"] = '';
$reportdata["tableheadings"][] = "Rating";
$reportdata["tableheadings"][] = "Comments";
$reportdata["tableheadings"][] = "IP Address";
$result = select_query("tblticketfeedback", "tblticketfeedback.*,(SELECT CONCAT(firstname,' ',lastname) FROM tbladmins WHERE tbladmins.id=tblticketfeedback.adminid) AS adminname,(SELECT CONCAT(tid,'|||',title) FROM tbltickets WHERE tbltickets.id=tblticketfeedback.ticketid) AS ticketinfo", "datetime>='" . db_make_safe_human_date($fromdate) . "' AND datetime<='" . db_make_safe_human_date($todate) . " 23:59:59'" . ($staffid ? " AND adminid=" . (int) $staffid : ""), "datetime", "ASC");
while ($data = mysql_fetch_array($result)) {
    $id = $data['id'];
    $ticketid = $data['ticketid'];
    $ticketinfo = $data['ticketinfo'];
    $adminid = $data['adminid'];
    $adminname = $data['adminname'];
    $rating = $data['rating'];
    $comments = $data['comments'];
    $datetime = $data['datetime'];
    $ip = $data['ip'];
    if ($adminid == 0) {
        $adminname = 'Generic Feedback';
    } elseif (!trim($adminname)) {
        $adminname = 'Deleted Admin';
    }
    if (!trim($comments)) {
        $comments = 'No Comments Left';
    }
    $datetime = fromMySQLDate($datetime, 1);
    $ticketinfo = explode('|||', $ticketinfo);
    $tickettid = $ticketinfo[0];
    $subject = $ticketinfo[1];
    if (!$tickettid) {
        $tickettid = 'Not Found';
    }
    $reportdata["tablevalues"][] = array('<a href="supporttickets.php?action=viewticket&id=' . $ticketid . '" target="_blank">' . $tickettid . '</a>', $adminname, $subject, $datetime, $rating, nl2br($comments), '<a href="http://www.geoiptool.com/en/?IP=' . $ip . '" target="_blank">' . $ip . '</a>');
}
Example #24
0
    $data2 = mysql_fetch_array($result2);
    $firstname = $data2['firstname'];
    $lastname = $data2['lastname'];
    $clientinfo = "<b>" . $firstname . " " . $lastname . "</b>";
} else {
    $clientinfo = "<b>" . $name . "</b> (" . $email . ")";
}
echo "" . $clientinfo . " @ " . $date . "<br><hr size=1><br>" . stripslashes($message) . "<hr size=1>";
$result = select_query("tblticketreplies", "", array("tid" => $id), "date", "ASC");
while ($data = mysql_fetch_array($result)) {
    $ids = $data['id'];
    $puserid = $data['userid'];
    $name = $data['name'];
    $email = $data['email'];
    $date = $data['date'];
    $date = fromMySQLDate($date, "time");
    $message = $data['message'];
    $attachment = $data['attachment'];
    $admin = $data['admin'];
    $message = strip_tags($message);
    $message = nl2br($message);
    $message = ticketAutoHyperlinks($message);
    if ($admin) {
        $clientinfo = "<b>" . $admin . "</b>";
    } else {
        if ($puserid != "0000000000") {
            $result2 = select_query("tblclients", "", array("id" => $pauserid));
            $data2 = mysql_fetch_array($result2);
            $firstname = $data2['firstname'];
            $lastname = $data2['lastname'];
            $clientinfo = "<B>" . $firstname . " " . $lastname . "</B>";
Example #25
0
function widget_system_overview($vars)
{
    global $whmcs, $_ADMINLANG;
    $title = $_ADMINLANG['home']['sysoverview'];
    if ($whmcs->get_req_var('getsystemoverview')) {
        $activeclients = get_query_val("tblclients", "COUNT(id)", "status='Active'");
        $totalclients = get_query_val("tblclients", "COUNT(id)", "");
        $clientsactive = $activeclients == 0 || $totalclients == 0 ? '0' : round($activeclients / $totalclients * 100, 0);
        $activeservices = get_query_val("tblhosting", "COUNT(id)", "domainstatus='Active'");
        $totalservices = get_query_val("tblhosting", "COUNT(id)", "");
        $servicesactive = $activeservices == 0 || $totalservices == 0 ? '0' : round($activeservices / $totalservices * 100, 0);
        $unpaidinvoices = get_query_val("tblinvoices", "COUNT(id)", "status='Unpaid'");
        $overdueinvoices = get_query_val("tblinvoices", "COUNT(id)", "status='Unpaid' AND duedate<'" . date("Ymd") . "'");
        $overduestatus = $overdueinvoices == 0 || $unpaidinvoices == 0 ? '0' : round($overdueinvoices / $unpaidinvoices * 100, 0);
        echo '
<table width="100%">
<tr>
    <td width="150">Clients</td>
    <td>
    <div class="percentbar">
    <div class="active" style="width:' . $clientsactive . '%">' . $clientsactive . '% Active</div>
    </div>
    </td>
    <td class="totals">' . $totalclients . '</td>
</tr>
<tr>
    <td>Services</td>
    <td>
    <div class="percentbar">
    <div class="active" style="width:' . $servicesactive . '%">' . $servicesactive . '% Active</div>
    </div>
    </td>
    <td class="totals">' . $totalservices . '</td>
</tr>
<tr>
    <td>Unpaid Invoices</td>
    <td>
    <div class="percentbar">
    <div class="overdue" style="width:' . $overduestatus . '%">' . $overduestatus . '% Overdue</div>
    </div>
    </td>
    <td class="totals">' . $unpaidinvoices . '</td>
</tr>
</table>
';
        exit;
    }
    $adminusername = get_query_val("tbladmins", "username", array("id" => $vars['adminid']));
    $lastlogin = get_query_vals("tbladminlog", "lastvisit,ipaddress", array("adminusername" => $adminusername), "lastvisit", "DESC", "1,1");
    $lastlogindate = $lastlogin[0] ? fromMySQLDate($lastlogin[0], true) : '(None Recorded)';
    $lastloginip = $lastlogin[1] ? $lastlogin[1] : '-';
    $content = '
<style>
#systemoverviewstats {
    display: none;
}
#systemoverviewstats div.percentbar {
    width: 100%;
    height: 24px;
    border: 1px solid #ccc;
    background-color: #efefef;
}
#systemoverviewstats div.percentbar div.active {
    height: 24px;
    line-height: 24px;
    background-color: #84B429;
    color: #fff;
    font-weight: bold;
    text-align: center;
    overflow: hidden;
}
#systemoverviewstats div.percentbar div.overdue {
    height: 24px;
    line-height: 24px;
    background-color: #cc0000;
    color: #fff;
    font-weight: bold;
    text-align: center;
}
#systemoverviewstats td {
    text-align: center;
    font-weight: bold;
    height: 35px;
}
.lastlogin {
    margin-bottom:5px;
    padding:3px;
    text-align: center;
}
</style>

<div id="systemoverviewstats">' . $vars['loading'] . '</div>

<div class="lastlogin">' . $_ADMINLANG['home']['lastlogin'] . ': <strong>' . $lastlogindate . '</strong> ' . $_ADMINLANG['home']['lastloginip'] . ' <strong>' . $lastloginip . '</strong></div>

';
    $statusfilter = array();
    $result = select_query("tblticketstatuses", "title", array("showawaiting" => "1"));
    while ($data = mysql_fetch_array($result)) {
        $statusfilter[] = $data[0];
    }
    $result = full_query("SELECT COUNT(*) FROM tbltickets WHERE status IN (" . db_build_in_array($statusfilter) . ")");
    $data = mysql_fetch_array($result);
    $ticketsawaitingreply = $data[0];
    $result = full_query("SELECT COUNT(*) FROM tblcancelrequests INNER JOIN tblhosting ON tblhosting.id=tblcancelrequests.relid WHERE (tblhosting.domainstatus!='Cancelled' AND tblhosting.domainstatus!='Terminated')");
    $data = mysql_fetch_array($result);
    $cancellationrequests = $data[0];
    $result = full_query("SELECT COUNT(*) FROM tbltodolist WHERE status!='Completed' AND status!='Postponed' AND duedate<='" . date("Y-m-d") . "'");
    $data = mysql_fetch_array($result);
    $todoitemsdue = $data[0];
    $result = full_query("SELECT COUNT(*) FROM tblnetworkissues WHERE status!='Scheduled' AND status!='Resolved'");
    $data = mysql_fetch_array($result);
    $opennetworkissues = $data[0];
    $jquerycode = 'jQuery.post("index.php", { getsystemoverview: 1 },
    function(data){
        jQuery("#systemoverviewstats").html(data);
        jQuery("#systemoverviewstats").slideDown();
        jQuery("#sysoverviewbanner").html("<div style=\\"margin:0 0 -5px 0;padding: 10px;background-color: #FBEEEB;border: 1px dashed #cc0000;font-weight: bold;color: #cc0000;font-size:14px;text-align: center;-moz-border-radius: 10px;-webkit-border-radius: 10px;-o-border-radius: 10px;border-radius: 10px;\\">' . $_ADMINLANG['global']['attentionitems'] . ': &nbsp; <a href=\\"supporttickets.php\\">' . $ticketsawaitingreply . ' ' . $_ADMINLANG['stats']['ticketsawaitingreply'] . '</a> &nbsp;-&nbsp; <a href=\\"cancelrequests.php\\">' . $cancellationrequests . ' ' . $_ADMINLANG['stats']['pendingcancellations'] . '</a> &nbsp;-&nbsp; <a href=\\"todolist.php\\">' . $todoitemsdue . ' ' . $_ADMINLANG['stats']['todoitemsdue'] . '</a> &nbsp;-&nbsp; <a href=\\"networkissues.php\\">' . $opennetworkissues . ' ' . $_ADMINLANG['stats']['opennetworkissues'] . '</a></div>");
});';
    return array('title' => $title, 'content' => $content, 'jquerycode' => $jquerycode);
}
Example #26
0
$patterns[] = "/Domain ID: (.*?) /";
$patterns[] = "/Invoice ID: (.*?) /";
$patterns[] = "/Quote ID: (.*?) /";
$patterns[] = "/Order ID: (.*?) /";
$patterns[] = "/Transaction ID: (.*?) /";
$replacements[] = "";
$replacements[] = "<a href=\"clientsservices.php?id=\$1\">Service ID: \$1</a> ";
$replacements[] = "<a href=\"clientsdomains.php?id=\$1\">Domain ID: \$1</a> ";
$replacements[] = "<a href=\"invoices.php?action=edit&id=\$1\">Invoice ID: \$1</a> ";
$replacements[] = "<a href=\"quotes.php?action=manage&id=\$1\">Quote ID: \$1</a> ";
$replacements[] = "<a href=\"orders.php?action=view&id=\$1\">Order ID: \$1</a> ";
$replacements[] = "<a href=\"transactions.php?action=edit&id=\$1\">Transaction ID: \$1</a> ";
$result = select_query("tblactivitylog", "", $where, "id", "DESC", $page * $limit . ("," . $limit));
while ($data = mysql_fetch_array($result)) {
    $id = $data['id'];
    $description = $data['description'];
    $username = $data['user'];
    $date = $data['date'];
    $ipaddr = $data['ipaddr'];
    $description .= " ";
    $description = whmcsHtmlspecialchars($description);
    $description = preg_replace($patterns, $replacements, $description);
    $tabledata[] = array(fromMySQLDate($date, "time"), "<div align=\"left\">" . $description . "</div>", $username, $ipaddr);
}
echo $aInt->sortableTable(array("Date", "Description", "User", "IP Address"), $tabledata);
$content = ob_get_contents();
ob_end_clean();
$aInt->content = $content;
$aInt->jquerycode = $jquerycode;
$aInt->jscode = $jscode;
$aInt->display();
Example #27
0
        }
    }
}
$result = select_query("tblnetworkissues", "COUNT(*)", $query_where);
$data = mysql_fetch_array($result);
$numitems = $data[0];
list($orderby, $sort, $limit) = clientAreaTableInit("networkissues", "lastupdate", "DESC", $numitems);
$smartyvalues['orderby'] = $orderby;
$smartyvalues['sort'] = strtolower($sort);
$issues = array();
$result = select_query("tblnetworkissues", "", $query_where, $orderby, $sort, $limit);
while ($data = mysql_fetch_array($result)) {
    $startdate = fromMySQLDate($data['startdate'], true);
    $lastupdate = fromMySQLDate($data['lastupdate'], true);
    if (!is_null($data['enddate'])) {
        $enddate = fromMySQLDate($data['enddate'], true);
    } else {
        $enddate = "";
    }
    $priority = $_LANG["networkissuespriority" . strtolower($data['priority'])];
    $status = $_LANG["networkissuesstatus" . str_replace(" ", "", strtolower($data['status']))];
    $type = $_LANG["networkissuestype" . strtolower($data['type'])];
    $affected = false;
    if ($data['server']) {
        if (in_array($data['server'], $users_servers)) {
            $affected = true;
        }
        $result2 = select_query("tblservers", "name", array("id" => $data['server']));
        $data2 = mysql_fetch_array($result2);
        $servername = $data2['name'];
    } else {
Example #28
0
     $data = mysql_fetch_array($result);
     $title = $data['title'];
     $startdate = $data['startdate'];
     $enddate = $data['enddate'];
     $description = $data['description'];
     $type = $data['type'];
     $affecting = $data['affecting'];
     $server = $data['server'];
     $priority = $data['priority'];
     $status = $data['status'];
     $lastupdate = $data['lastupdate'];
     $startts = $startdate ? MySQL2Timestamp($startdate) : "";
     $endts = $enddate ? MySQL2Timestamp($enddate) : "";
     $startdate = fromMySQLDate($startdate, true);
     if ($enddate) {
         $enddate = fromMySQLDate($enddate, true);
     }
     echo "<input type=\"hidden\" name=\"id\" value=\"" . $id . "\" />";
 } else {
     $pagetitle = "Create New Issue";
     if (!$startdate) {
         $startdate = $upd;
         $startts = $startdate ? MySQL2Timestamp($startdate) : "";
     }
     if (!$type) {
         $type = "Server";
     }
 }
 if ($CONFIG['DateFormat'] == "DD/MM/YYYY" || $CONFIG['DateFormat'] == "DD.MM.YYYY" || $CONFIG['DateFormat'] == "DD-MM-YYYY") {
     $localdateformat = "dd/mm/yy";
 } else {
Example #29
0
<?php

if (!defined("WHMCS")) {
    die("This file cannot be accessed directly");
}
$reportdata["title"] = "Ticket Tags Overview";
$reportdata["description"] = "This report provides an overview of ticket tags assigned to tickets for a given date range";
if (!$fromdate) {
    $fromdate = fromMySQLDate(date("Y-m-d", mktime(0, 0, 0, date("m") - 1, date("d"), date("Y"))));
}
if (!$todate) {
    $todate = getTodaysDate();
}
$reportdata["headertext"] = "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "?report={$report}\"><center>Start Date: <input type=\"text\" name=\"fromdate\" value=\"{$fromdate}\" class=\"datepick\" /> &nbsp;&nbsp;&nbsp; End Date: <input type=\"text\" name=\"todate\" value=\"{$todate}\" class=\"datepick\" /> &nbsp;&nbsp;&nbsp; <input type=\"submit\" value=\"Generate Report\" /></form>";
$reportdata["tableheadings"][] = "Tag";
$reportdata["tableheadings"][] = "Count";
$result = full_query("SELECT `tag`, COUNT(*) AS `count` FROM `tbltickettags` INNER JOIN tbltickets ON tbltickets.id=tbltickettags.ticketid WHERE tbltickets.date>='" . db_make_safe_human_date($fromdate) . " 00:00:00' AND tbltickets.date<='" . db_make_safe_human_date($todate) . " 23:59:59' GROUP BY tbltickettags.tag ORDER BY `count` DESC");
while ($data = mysql_fetch_array($result)) {
    $tag = $data[0];
    $count = $data[1];
    $reportdata["tablevalues"][] = array($tag, $count);
    $chartdata['rows'][] = array('c' => array(array('v' => $tag), array('v' => (int) $count, 'f' => $count)));
}
$chartdata['cols'][] = array('label' => 'Tag', 'type' => 'string');
$chartdata['cols'][] = array('label' => 'Count', 'type' => 'number');
$args = array();
$args['legendpos'] = 'right';
$reportdata["headertext"] .= $chart->drawChart('Pie', $chartdata, $args, '300px');
Example #30
0
/**
 *
 * @ WHMCS FULL DECODED & NULLED
 *
 * @ Version  : 5.2.15
 * @ Author   : MTIMER
 * @ Release on : 2013-12-24
 * @ Website  : http://www.mtimer.cn
 *
 **/
define("ADMINAREA", true);
require "../init.php";
$aInt = new WHMCS_Admin("View WHOIS Lookup Log");
$aInt->title = $aInt->lang("system", "whois");
$aInt->sidebar = "utilities";
$aInt->icon = "logs";
$aInt->sortableTableInit("date");
$numrows = get_query_val("tblwhoislog", "COUNT(*)", "");
$result = select_query("tblwhoislog", "", "", "id", "DESC", $page * $limit . "," . $limit);
while ($data = mysql_fetch_array($result)) {
    $id = $data['id'];
    $date = $data['date'];
    $domain = $data['domain'];
    $ip = $data['ip'];
    $tabledata[] = array(fromMySQLDate($date, true), "<a href=\"#\" onclick=\"\$('#frmWhoisDomain').val('" . addslashes($domain) . ("');\$('#frmWhois').submit();return false\">" . $domain . "</a>"), "<a href=\"http://www.geoiptool.com/en/?IP=" . $ip . "\" target=\"_blank\">" . $ip . "</a>");
}
$content = $aInt->sortableTable(array($aInt->lang("fields", "date"), $aInt->lang("fields", "domain"), $aInt->lang("fields", "ipaddress")), $tabledata);
$content .= "\n<form method=\"post\" action=\"whois.php\" target=\"_blank\" id=\"frmWhois\">\n<input type=\"hidden\" name=\"domain\" value=\"\" id=\"frmWhoisDomain\" />\n</form>\n";
$aInt->content = $content;
$aInt->display();