function lastonline_date($timestamp) { global $CONFIG; if (!$timestamp) { return null; } $delta = time() - $timestamp; if ($delta > $CONFIG['phpui']['lastonline_limit']) { if ($delta > 59) { return trans('$a ago ($b)', uptimef($delta), date('Y/m/d, H:i', $timestamp)); } else { return date('(Y/m/d, H:i)', $timestamp); } } return trans('online'); }
function lastonline_date($timestamp) { if (!$timestamp) { return null; } $delta = time() - $timestamp; if ($delta > ConfigHelper::getConfig('phpui.lastonline_limit')) { if ($delta > 59) { return trans('$a ago ($b)', uptimef($delta), date('Y/m/d, H:i', $timestamp)); } else { return date('(Y/m/d, H:i)', $timestamp); } } return trans('online'); }
public function GetTicketContents($id) { global $RT_STATES; $ticket = $this->db->GetRow('SELECT t.id AS ticketid, t.queueid, rtqueues.name AS queuename, t.requestor, t.state, t.owner, t.customerid, t.cause, t.creatorid, c.name AS creator, ' . $this->db->Concat('customers.lastname', "' '", 'customers.name') . ' AS customername, o.name AS ownername, t.createtime, t.resolvetime, t.subject FROM rttickets t LEFT JOIN rtqueues ON (t.queueid = rtqueues.id) LEFT JOIN users o ON (t.owner = o.id) LEFT JOIN users c ON (t.creatorid = c.id) LEFT JOIN customers ON (customers.id = t.customerid) WHERE t.id = ?', array($id)); $ticket['categories'] = $this->db->GetAllByKey('SELECT categoryid AS id FROM rtticketcategories WHERE ticketid = ?', 'id', array($id)); $ticket['messages'] = $this->db->GetAll('(SELECT rtmessages.id AS id, mailfrom, subject, body, createtime, ' . $this->db->Concat('customers.lastname', "' '", 'customers.name') . ' AS customername, userid, users.name AS username, customerid, NULL AS type FROM rtmessages LEFT JOIN customers ON (customers.id = customerid) LEFT JOIN users ON (users.id = userid) WHERE ticketid = ?) UNION (SELECT rtnotes.id AS id, NULL, NULL, body, createtime, NULL, userid, users.name AS username, NULL, rtnotes.type FROM rtnotes LEFT JOIN users ON (users.id = userid) WHERE ticketid = ?) ORDER BY createtime ASC', array($id, $id)); foreach ($ticket['messages'] as $idx => $message) { $ticket['messages'][$idx]['attachments'] = $this->db->GetAll('SELECT filename, contenttype FROM rtattachments WHERE messageid = ?', array($message['id'])); } if (!$ticket['customerid']) { list($ticket['requestor'], $ticket['requestoremail']) = sscanf($ticket['requestor'], "%[^<]<%[^>]"); } else { list($ticket['requestoremail']) = sscanf($ticket['requestor'], "<%[^>]"); } // $ticket['requestoremail'] = preg_replace('/^.* <(.+@.+)>$/', '\1',$ticket['requestor']); // $ticket['requestor'] = str_replace(' <'.$ticket['requestoremail'].'>','',$ticket['requestor']); $ticket['status'] = $RT_STATES[$ticket['state']]; $ticket['uptime'] = uptimef($ticket['resolvetime'] ? $ticket['resolvetime'] - $ticket['createtime'] : time() - $ticket['createtime']); return $ticket; }
* GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, * USA. * * $Id$ */ $id = $_GET['id']; if (!$LMS->TicketExists($id)) { $SESSION->redirect('?m=rtqueuelist'); } $rights = $LMS->GetUserRightsRT($AUTH->id, 0, $id); $catrights = $LMS->GetUserRightsToCategory($AUTH->id, 0, $id); if (!$rights || !$catrights) { $SMARTY->display('noaccess.html'); $SESSION->close(); die; } $ticket = $DB->GetRow('SELECT t.id, t.cause, t.creatorid, c.name AS creator, t.createtime, t.resolvetime FROM rttickets t LEFT JOIN users c ON (t.creatorid = c.id) WHERE t.id = ?', array($id)); $ticket['message'] = $DB->GetOne('SELECT body FROM rtmessages WHERE ticketid = ? ORDER BY createtime DESC LIMIT 1', array($id)); $ticket['uptime'] = uptimef($ticket['resolvetime'] ? $ticket['resolvetime'] - $ticket['createtime'] : time() - $ticket['createtime']); $SMARTY->assign('ticket', $ticket); $SMARTY->display('rtticketinfoshort.html');
public function GetNodeSessions($nodeid) { $nodesessions = $this->DB->GetAll('SELECT INET_NTOA(ipaddr) AS ipaddr, mac, start, stop, download, upload, terminatecause, type FROM nodesessions WHERE nodeid = ? ORDER BY stop DESC LIMIT ' . intval(ConfigHelper::getConfig('phpui.nodesession_limit', 10)), array($nodeid)); if (!empty($nodesessions)) { foreach ($nodesessions as $idx => $session) { list($number, $unit) = setunits($session['download']); $nodesessions[$idx]['download'] = round($number, 2) . ' ' . $unit; list($number, $unit) = setunits($session['upload']); $nodesessions[$idx]['upload'] = round($number, 2) . ' ' . $unit; $nodesessions[$idx]['duration'] = uptimef($session['stop'] - $session['start']); } } return $nodesessions; }
function uptime() { // Uptime function. // Taken afair from PHPSysinfo // Untested on *BSD. Can anyone chek this out on *BSD machine? Thanx. switch (PHP_OS) { case 'Linux': $fd = fopen('/proc/uptime', 'r'); $ar_buf = explode(' ', fgets($fd, 4096)); fclose($fd); $sys_ticks = trim($ar_buf[0]); $result = uptimef($sys_ticks); break; case 'FreeBSD': $s = explode(' ', $this->bsd_grab_key('kern.boottime')); $a = str_replace('{ ', '', $s[3]); $sys_ticks = time() - $a; $result = uptimef($sys_ticks); break; case 'Darwin': case 'NetBSD': $a = $this->bsd_grab_key('kern.boottime'); $sys_ticks = time() - $a; $result = uptimef($sys_ticks); break; case 'OpenBSD': $a = $this->bsd_grab_key('kern.boottime'); $sys_ticks = time() - $a; $result = uptimef($sys_ticks); break; default: $result = trans('unknown OS ($a)', PHP_OS); break; } return $result; }
public function GetNodeSessions($nodeid) { $nodesessions = $this->DB->GetAll('SELECT INET_NTOA(ipaddr) AS ipaddr, mac, start, stop, download, upload FROM nodesessions WHERE nodeid = ? ORDER BY stop DESC LIMIT 10', array($nodeid)); if (!empty($nodesessions)) { foreach ($nodesessions as $idx => $session) { list($number, $unit) = setunits($session['download']); $nodesessions[$idx]['download'] = round($number, 2) . ' ' . $unit; list($number, $unit) = setunits($session['upload']); $nodesessions[$idx]['upload'] = round($number, 2) . ' ' . $unit; $nodesessions[$idx]['duration'] = uptimef($session['stop'] - $session['start']); } } return $nodesessions; }
} break; } } $nodesessions = $DB->GetAll('SELECT s.*, c.name, c.lastname FROM nodesessions s LEFT JOIN nodes n ON n.id = s.nodeid LEFT JOIN customers c ON c.id = s.customerid WHERE ' . implode(' AND ', $where) . ' ORDER BY s.start DESC LIMIT 5000'); if (!empty($nodesessions)) { foreach ($nodesessions as &$session) { list($number, $unit) = setunits($session['download']); $session['download'] = round($number, 2) . ' ' . $unit; list($number, $unit) = setunits($session['upload']); $session['upload'] = round($number, 2) . ' ' . $unit; $session['duration'] = $session['stop'] ? uptimef($session['stop'] - $session['start']) : '-'; } } $pagelimit = ConfigHelper::getConfig('phpui.nodesession_pagelimit', 100); $page = !isset($_GET['page']) ? 1 : intval($_GET['page']); $listdata['total'] = count($nodesessions); if (($page - 1) * $pagelimit > $listdata['total']) { $page = 1; } $SMARTY->assign('listdata', $listdata); $SMARTY->assign('pagelimit', $pagelimit); $SMARTY->assign('start', ($page - 1) * $pagelimit); $SMARTY->assign('page', $page); $SMARTY->assign('filtertype', $filtertype); $SMARTY->assign('filtervalue', $filtervalue); $SMARTY->assign('datefrom', $datefrom ? strftime('%Y/%m/%d %H:%M', $datefrom) : '');