Example #1
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 #2
0
    }
    $ticketinvoicesquery = !empty($ticketinvoicelinks) ? "(\".implode(' AND '," . $ticketinvoicelinks . ").\") OR " : "";
    $totalinvoiced = get_query_val("tblinvoices", "SUM(subtotal+tax+tax2)", "id IN (SELECT invoiceid FROM tblinvoiceitems WHERE description LIKE '%Project #" . $projectid . "%' OR " . $ticketinvoicesquery . " (type='Project' AND relid='" . $projectid . "'))");
    $totalinvoiced = $userid ? formatCurrency($totalinvoiced) : format_as_currency($totalinvoiced);
    $totalpaid = get_query_val("tblinvoices", "SUM(subtotal+tax+tax2)", "id IN (SELECT invoiceid FROM tblinvoiceitems WHERE description LIKE '%Project #" . $projectid . "%' OR " . $ticketinvoicesquery . " (type='Project' AND relid='" . $projectid . "')) AND status='Paid'");
    $totalpaid = $userid ? formatCurrency($totalpaid) : format_as_currency($totalpaid);
    $reportdata['drilldown'][$i]['tableheadings'] = array("Task Name", "Start Time", "Stop Time", "Duration", "Task Status");
    $timerresult = select_query("mod_projecttimes", "mod_projecttimes.start,mod_projecttimes.end,mod_projecttasks.task,mod_projecttasks.completed", array("mod_projecttimes.projectid" => $projectid), "", "", "", "mod_projecttasks ON mod_projecttimes.taskid = mod_projecttasks.id");
    while ($data2 = mysql_fetch_assoc($timerresult)) {
        $rowcount = $rowtotal = 0;
        $taskid = $data2['id'];
        $task = $data2['task'];
        $taskadminid = $data2['adminid'];
        $timerstart = $data2['start'];
        $timerend = $data2['end'];
        $duration = $timerend ? $timerend - $timerstart : 0;
        $taskadmin = getAdminName($taskadminid);
        $starttime = date("d/m/Y H:i:s ", $timerstart);
        $stoptime = date("d/m/Y H:i:s ", $timerend);
        $taskstatus = $data2['completed'] ? "Completed" : "Open";
        $totalprojectstime += $duration;
        $totaltaskstime += $duration;
        ++$rowcount;
        $rowtotal += $ordertotal;
        $reportdata['drilldown'][$i]['tablevalues'][] = array($task, $starttime, $stoptime, project_management_sec2hms($duration), $taskstatus);
    }
    $reportdata['tablevalues'][$i] = array("<a href=\"addonmodules.php?module=project_management&m=view&projectid=" . $projectid . "\">" . $projectid . "</a>", $created, $projectname, $admin, $client, $duedate, $totalinvoiced, $totalpaid, project_management_sec2hms($totaltaskstime), $projectstatus);
    ++$i;
}
$reportdata['footertext'] = "Total Time effort across " . $i . " projects: " . project_management_sec2hms($totalprojectstime);
Example #3
0
    $tasks = array();
    $result = select_query("mod_projecttasks", "id,task,notes,adminid,created,duedate,completed", array("projectid" => $projectid), "order", "ASC");
    while ($data = mysql_fetch_assoc($result)) {
        $tasks[$i] = $data;
        $tasks[$i]['adminname'] = $data['adminid'] ? get_query_val("tbladmins", "CONCAT(firstname,' ',lastname)", array("id" => $data['adminid'])) : "0";
        $tasks[$i]['duein'] = $data['duedate'] != "0000-00-00" ? project_management_daysleft($data['duedate'], $vars) : "0";
        $tasks[$i]['duedate'] = $data['duedate'] != "0000-00-00" ? fromMySQLDate($data['duedate'], 0, 1) : "0";
        $totaltasktime = 0;
        $result2 = select_query("mod_projecttimes", "", array("projectid" => $projectid, "taskid" => $data['id']));
        while ($data = mysql_fetch_array($result2)) {
            $timerid = $data['id'];
            $timerstart = $data['start'];
            $timerend = $data['end'];
            $starttime = fromMySQLDate(date("Y-m-d H:i:s", $timerstart), 1, 1) . ":" . date("s", $timerstart);
            $endtime = $timerend ? fromMySQLDate(date("Y-m-d H:i:s", $timerend), 1, 1) . ":" . date("s", $timerend) : 0;
            $totaltime = $timerend ? project_management_sec2hms($timerend - $timerstart) : 0;
            $tasks[$i]['times'][] = array("id" => $data['id'], "adminid" => $data['adminid'], "adminname" => get_query_val("tbladmins", "CONCAT(firstname,' ',lastname)", array("id" => $data['adminid'])), "start" => $starttime, "end" => $endtime, "duration" => $totaltime);
            if ($timerend) {
                $totaltasktime += $timerend - $timerstart;
            }
        }
        $totaltimecount += $totaltasktime;
        $tasks[$i]['totaltime'] = project_management_sec2hms($totaltasktime);
        ++$i;
    }
    $tplvars['tasks'] = $tasks;
    $totaltime = project_management_sec2hms($totaltimecount);
    $tplvars['project']['totaltime'] = $totaltime;
    return 1;
}
redir("m=project_management");