0byt3m1n1
Path:
/
data
/
applications
/
aps
/
tikiwiki
/
14.1-0
/
standard
/
htdocs
/
lib
/
live_support
/
[
Home
]
File: lsadminlib.php
<?php // (c) Copyright 2002-2015 by authors of the Tiki Wiki CMS Groupware Project // // All Rights Reserved. See copyright.txt for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. // $Id: lsadminlib.php 53803 2015-02-06 00:42:50Z jyhem $ $access->check_script($_SERVER['SCRIPT_NAME'], basename(__FILE__)); class LsAdminlib extends TikiLib { function add_operator($user) { $this->getOne('delete from `tiki_live_support_operators` where `user`=?', array($user), false); $query = 'insert into `tiki_live_support_operators`' . ' (`user`,`accepted_requests`,`status`,`longest_chat`,`shortest_chat`' . ',`average_chat`,`last_chat`,`time_online`,`votes`,`points`,`status_since`)' . ' values(?,?,?,?,?,?,?,?,?,?,?)'; $this->query($query, array($user, 0, 'offline', 0, 0, 0, 0, 0, 0, 0, 0)); } function remove_operator($user) { $query = 'delete from `tiki_live_support_operators` where `user`=?'; $this->query($query, array($user)); } function is_operator($user) { return $this->getOne('select count(*) from `tiki_live_support_operators` where `user`=?', array($user)); } function get_operators($status) { $query = 'select * from `tiki_live_support_operators` where `status`=?'; $result = $this->query($query, array($status)); $ret = array(); while ($res = $result->fetchRow()) { $res['elapsed'] = $this->now - $res['status_since']; $ret[] = $res; } return $ret; } function post_support_message($username, $user, $user_email, $title, $data, $priority, $module, $resolution, $assigned_to = '') { // very nice that (redflo) die ('MISSING CODE'); } function list_support_messages($offset, $maxRecords, $sort_mode, $find, $where) { if ($find) { $findesc = '%' . $find . '%'; $mid = " where (`data` like $findesc or `username` like $findesc)"; $bindvars=array($findesc,$findesc); } else { $mid = ''; $bindvars=array(); } if ($where) { if ($mid) { $mid = ' and ' . $where; } else { $mid = ' where ' . $where; } } $query = "select * from `tiki_live_support_messages` $mid order by " . $this->convertSortMode($sort_mode); $query_cant = "select count(*) from `tiki_live_support_messages` $mid"; $result = $this->query($query, $bindvars, $maxRecords, $offset); $cant = $this->getOne($query_cant, $bindvars); $ret = array(); while ($res = $result->fetchRow()) { $ret[] = $res; } $retval = array(); $retval['data'] = $ret; $retval['cant'] = $cant; return $retval; } function get_modules() { $query = 'select * from `tiki_live_support_modules`'; $result = $this->query($query, array()); $ret = array(); while ($res = $result->fetchRow()) { $ret[] = $res; } return $ret; } /* functions for transcripts */ function list_support_requests($offset, $maxRecords, $sort_mode, $find, $where) { if ($find) { $findesc = '%' . $find . '%'; $mid = ' where (`reason` like ? or `user` like ? or `operator` like ?)'; $bindvars=array($findesc,$findesc,$findesc); } else { $mid = ''; $bindvars=array(); } if ($where) { if ($mid) { $mid = ' and ' . $where; } else { $mid = ' where ' . $where; } } $query = 'select * from `tiki_live_support_requests` $mid order by ' . $this->convertSortMode($sort_mode); $query_cant = "select count(*) from `tiki_live_support_requests` $mid"; $result = $this->query($query, $bindvars, $maxRecords, $offset); $cant = $this->getOne($query_cant, $bindvars); $ret = array(); while ($res = $result->fetchRow()) { $res['msgs'] = $this->getOne('select count(*) from `tiki_live_support_events` where `reqId`=?', array($res['reqId'])); $ret[] = $res; } $retval = array(); $retval['data'] = $ret; $retval['cant'] = $cant; return $retval; } function get_all_tiki_users() { $query = 'select distinct(`tiki_user`) from `tiki_live_support_requests`'; $result = $this->query($query, array()); $ret = array(); while ($res = $result->fetchRow()) { $ret[] = $res['tiki_user']; } return $ret; } function get_all_operators() { $query = 'select distinct(`operator`) from `tiki_live_support_requests`'; $result = $this->query($query, array()); $ret = array(); while ($res = $result->fetchRow()) { $ret[] = $res['operator']; } return $ret; } function get_events($reqId) { $query = 'select tlr.`operator_id`, tlr.`user_id`, tle.`data`, tle.`timestamp`, tlr.`user`, tlr.`operator`, tlr.`tiki_user`, tle.`senderId`' . ' from `tiki_live_support_events` tle, `tiki_live_support_requests` tlr' . ' where tle.`reqId`=tlr.`reqId` and (`senderId`=tlr.`user_id` or tle.`senderId`=tlr.`operator_id`) and tlr.`reqId`=?'; $result = $this->query($query, array($reqId)); $ret = array(); while ($res = $result->fetchRow()) { $ret[] = $res; } return $ret; } } $lsadminlib = new LsAdminlib;