move egw_json_(request|response|push) to api, missing commit of notifications_push class

This commit is contained in:
Ralf Becker 2016-03-20 16:45:42 +00:00
parent 1b5429f0ff
commit 45a0684491

View File

@ -10,13 +10,14 @@
* @version $Id$ * @version $Id$
*/ */
// egw_json_push_backend is currently not autoloaded, it would only try egw_json for it! use EGroupware\Api\Json;
require_once(EGW_API_INC.'/class.egw_json_push.inc.php');
use EGroupware\Api;
/** /**
* Class to push via notification polling and other json requests from client-side * Class to push via notification polling and other json requests from client-side
*/ */
class notifications_push implements egw_json_push_backend class notifications_push implements Json\PushBackend
{ {
const APP = 'notifications'; const APP = 'notifications';
@ -39,8 +40,8 @@ class notifications_push implements egw_json_push_backend
public static function get() public static function get()
{ {
$already_send =& egw_cache::getSession(__CLASS__, 'already_send'); $already_send =& Api\Cache::getSession(__CLASS__, 'already_send');
$max_id = egw_cache::getInstance(__CLASS__, 'max_id'); $max_id = Api\Cache::getInstance(__CLASS__, 'max_id');
if (!isset($already_send)) if (!isset($already_send))
{ {
@ -49,13 +50,13 @@ class notifications_push implements egw_json_push_backend
if (!isset($max_id)) if (!isset($max_id))
{ {
$max_id = (int)self::$db->select(self::TABLE, 'MAX(notify_id)', false, __LINE__, __FILE__, false, '', self::APP)->fetchColumn(); $max_id = (int)self::$db->select(self::TABLE, 'MAX(notify_id)', false, __LINE__, __FILE__, false, '', self::APP)->fetchColumn();
egw_cache::setInstance(__CLASS__, 'max_id', $max_id); Api\Cache::setInstance(__CLASS__, 'max_id', $max_id);
} }
$already_send = $max_id; $already_send = $max_id;
} }
elseif (isset($max_id) && $max_id > $already_send) elseif (isset($max_id) && $max_id > $already_send)
{ {
$response = egw_json_response::get(); $response = Json\Response::get();
foreach(self::$db->select(self::TABLE, '*', array( foreach(self::$db->select(self::TABLE, '*', array(
'account_id' => array(0, $GLOBALS['egw_info']['user']['account_id']), 'account_id' => array(0, $GLOBALS['egw_info']['user']['account_id']),
@ -86,9 +87,9 @@ class notifications_push implements egw_json_push_backend
public function addGeneric($account_id, $key, $data) public function addGeneric($account_id, $key, $data)
{ {
// todo: check $account_id is online // todo: check $account_id is online
if ($account_id > 0 && !egw_session::notifications_active($account_id)) if ($account_id > 0 && !Api\Session::notifications_active($account_id))
{ {
throw new egw_json_push_exception_not_online(); throw new Json\Exception\NotOnline();
} }
self::$db->insert(self::TABLE, array( self::$db->insert(self::TABLE, array(
'account_id' => $account_id, 'account_id' => $account_id,
@ -100,7 +101,7 @@ class notifications_push implements egw_json_push_backend
), false, __LINE__, __FILE__, self::APP); ), false, __LINE__, __FILE__, self::APP);
// cache highest id, to not poll database // cache highest id, to not poll database
egw_cache::setInstance(__CLASS__, 'max_id', self::$db->get_last_insert_id(self::TABLE, 'notify_id')); Api\Cache::setInstance(__CLASS__, 'max_id', self::$db->get_last_insert_id(self::TABLE, 'notify_id'));
self::cleanup_push_msgs(); self::cleanup_push_msgs();
} }