Files
PrestaShop/classes/Notification.php
lBrieu bbf41d6863
2011-08-30 08:37:37 +00:00

66 lines
2.0 KiB
PHP

<?php
/**
* Notification class, Notification.php
* Notifications management
* @notification classes
*
* @author PrestaShop <support@prestashop.com>
* @copyright PrestaShop
* @license http://www.opensource.org/licenses/osl-3.0.php Open-source licence 3.0
* @version 1.2
*
`id_push_notification` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`tab` INT UNSIGNED NULL,
`link_to_push` VARCHAR(250) NULL,
`type` VARCHAR(250) NULL,
`date` DATETIME,
*/
class Notification
{
public $types;
public function __construct()
{
$this->types = array('order', 'message', 'customer');
}
public function getLastElements()
{
global $cookie;
$notifications = array();
$employee_infos = Db::getInstance()->getRow('SELECT id_last_order, id_last_message, id_last_customer FROM `'._DB_PREFIX_.'employee` WHERE `id_employee` = '.$cookie->id_employee);
foreach ($this->types as $type)
{
$notifications[$type] = Notification::getLastElementsIdsByType($type, $employee_infos['id_last_'.$type]);
}
return $notifications;
}
public static function getLastElementsIdsByType($type, $id_last_element)
{
if($type == 'order' || $type == 'message')
return Db::getInstance()->ExecuteS('SELECT id_order FROM `'._DB_PREFIX_.(($type == 'order') ? $type.'s' : $type).'` WHERE `id_'.$type.'` > '.$id_last_element.' ORDER BY `id_'.$type.'` DESC LIMIT 5');
else
return Db::getInstance()->ExecuteS('SELECT id_'.$type.' FROM `'._DB_PREFIX_.$type.'` WHERE `id_'.$type.'` > '.$id_last_element.' ORDER BY `id_'.$type.'` DESC LIMIT 5');
}
public function updateEmployeeLastElement($type)
{
global $cookie;
if (in_array($type, $this->types))
{
// We update the last item viewed
Db::getInstance()->Execute('UPDATE `'._DB_PREFIX_.'employee` SET `id_last_'.$type.'` = (SELECT MAX(`id_'.$type.'`) FROM `'.
_DB_PREFIX_.(($type == 'order') ? $type.'s' : $type).'`) WHERE `id_employee` = '.$cookie->id_employee);
return true;
} else {
return false;
}
}
}
?>