ModuleNotify_MapperNotify

Package modules.notify
Inheritance class ModuleNotify_MapperNotify » Mapper » LsObject
Since 1.0
Source Code /classes/modules/notify/mapper/Notify.mapper.class.php
Маппер для работы с БД

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
oDb DbSimple_Generic_Database Объект подключения к базе данных Mapper

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddTask() Добавляет задание ModuleNotify_MapperNotify
AddTaskArray() Добавляет задания списком ModuleNotify_MapperNotify
DeleteTask() Удаляет задание ModuleNotify_MapperNotify
DeleteTaskByArrayId() Удаляет отложенные Notify-задания по списку идентификаторов ModuleNotify_MapperNotify
GetTasks() Получает массив заданий на публикацию из базы с указанным количественным ограничением (выборка FIFO) ModuleNotify_MapperNotify
__construct() Передаем коннект к БД Mapper

Method Details

AddTask() method
public bool AddTask(ModuleNotify_EntityTask $oNotifyTask)
$oNotifyTask ModuleNotify_EntityTask Объект задания
{return} bool
Source Code: /classes/modules/notify/mapper/Notify.mapper.class.php#31 (show)
public function AddTask(ModuleNotify_EntityTask $oNotifyTask) {
    
$sql "
        INSERT INTO "
.Config::Get('db.table.notify_task').
            ( user_login, user_mail, notify_subject, notify_text, date_created, notify_task_status )
        VALUES
            ( ?, ?, ?, ?, ?, ?d )
    "
;

    if (
$this->oDb->query(
        
$sql,
        
$oNotifyTask->getUserLogin(),
        
$oNotifyTask->getUserMail(),
        
$oNotifyTask->getNotifySubject(),
        
$oNotifyTask->getNotifyText(),
        
$oNotifyTask->getDateCreated(),
        
$oNotifyTask->getTaskStatus()
    )===
0) {
        return 
true;
    }
    return 
false;
}

Добавляет задание

AddTaskArray() method
public bool AddTaskArray(array $aTasks)
$aTasks array Список объектов заданий
{return} bool
Source Code: /classes/modules/notify/mapper/Notify.mapper.class.php#58 (show)
public function AddTaskArray($aTasks) {
    if(!
is_array($aTasks)&&count($aTasks)==0) {
        return 
false;
    }

    
$aValues=array();
    foreach (
$aTasks as $oTask) {
        
$aValues[]="(".implode(',',
                               array(
                                   
$this->oDb->escape($oTask->getUserLogin()),
                                   
$this->oDb->escape($oTask->getUserMail()),
                                   
$this->oDb->escape($oTask->getNotifySubject()),
                                   
$this->oDb->escape($oTask->getNotifyText()),
                                   
$this->oDb->escape($oTask->getDateCreated()),
                                   
$this->oDb->escape($oTask->getTaskStatus())
                               )
        ).
")";
    }
    
$sql "
        INSERT INTO "
.Config::Get('db.table.notify_task').
            ( user_login, user_mail, notify_subject, notify_text, date_created, notify_task_status )
        VALUES 
            "
.implode(', '$aValues);

    return 
$this->oDb->query($sql);
}

Добавляет задания списком

DeleteTask() method
public bool DeleteTask(ModuleNotify_EntityTask $oNotifyTask)
$oNotifyTask ModuleNotify_EntityTask Объект задания
{return} bool
Source Code: /classes/modules/notify/mapper/Notify.mapper.class.php#90 (show)
public function DeleteTask(ModuleNotify_EntityTask $oNotifyTask) {
    
$sql "
        DELETE FROM "
.Config::Get('db.table.notify_task').
        WHERE
            notify_task_id = ?d            
    "
;
    if (
$this->oDb->query($sql,$oNotifyTask->getTaskId())) {
        return 
true;
    }
    return 
false;
}

Удаляет задание

DeleteTaskByArrayId() method
public bool DeleteTaskByArrayId(array $aTaskId)
$aTaskId array Список ID заданий на отправку
{return} bool
Source Code: /classes/modules/notify/mapper/Notify.mapper.class.php#107 (show)
public function DeleteTaskByArrayId($aTaskId) {
    
$sql "
        DELETE FROM "
.Config::Get('db.table.notify_task').
        WHERE
            notify_task_id IN(?a)            
    "
;
    if (
$this->oDb->query($sql,$aTaskId)) {
        return 
true;
    }
    return 
false;
}

Удаляет отложенные Notify-задания по списку идентификаторов

GetTasks() method
public array GetTasks(int $iLimit)
$iLimit int Количество
{return} array
Source Code: /classes/modules/notify/mapper/Notify.mapper.class.php#124 (show)
public function GetTasks($iLimit) {
    
$sql "SELECT *
            FROM "
.Config::Get('db.table.notify_task')."    
            ORDER BY date_created ASC
            LIMIT ?d"
;
    
$aTasks=array();
    if (
$aRows=$this->oDb->select($sql,$iLimit)) {
        foreach (
$aRows as $aTask) {
            
$aTasks[]=Engine::GetEntity('Notify_Task',$aTask);
        }
    }
    return 
$aTasks;
}

Получает массив заданий на публикацию из базы с указанным количественным ограничением (выборка FIFO)