ElixirVault/www/system-brs-core/cms/cmsMessages/inc/cmsMessagesModule.php

118 lines
3.0 KiB
PHP

<?php
namespace BRSystems\Core\Cms\cmsMessages\inc;
use BRSystems\Core\Library\cDb\cDb;
/**
* sysUsers Module
*
* @category cmsMessages Module
* @author Aivars Žukovskis <mareks.keiss@brsystems.lv>
* @since Version 2.0
*/
class cmsMessagesModule
{
public $db;
/**
* Class constructor
*/
public function __construct() {
$this->db = cDb::getInstance();
}
/**
* Function to get module records
*
* @author Aivars Žukovskis <mareks.keiss@brsystems.lv>
* @category cmsMessages Module
* @param string $where - sql query
* @param string $sort - sql query
* @param int $offset - db table offset
* @param int $limitPerPage - limit per page
* @return array of data
* @version 1.1
*/
public function getModuleRecords($where, $sort, $offset = 0, $limitPerPage = 20){
$sSql = "
SELECT SQL_CALC_FOUND_ROWS
mc.id,
CONCAT(mc.first_name, ' ', mc.last_name) as sender,
mc.email,
mc.phone,
mc.subject,
mc.created,
SUBSTR(mc.message, 1, 100) as message
FROM
mod_messages mc
HAVING
1 {$where}
ORDER BY
{$sort}
LIMIT
{$offset}, {$limitPerPage}
";
$this->db->query($sSql);
return $this->db->getArray();
}
/**
* Function to add or save record data
*
* @author Aivars Žukovskis <mareks.keiss@brsystems.lv>
* @category cmsMessages Module
* @param int $id - record id for update
* @param array $data - record data
* @return bool record new/old id
* @version 1.1
*/
public function saveRecordDataById($id, $data){
if($id){
if(!$this->db->_queryUpdate('mod_messages', $data, array('id' => $id)))
return false;
}else{
if(!($id = $this->db->_queryInsert('mod_messages', $data)))
return false;
}
return $id;
}
/**
* Function to get record data by id
*
* @author Aivars Žukovskis <mareks.keiss@brsystems.lv>
* @category cmsMessages Module
* @param int $id - record id
* @return array - record data
* @version 1.1
*/
public function getRecordDataById($id){
return $this->db->_querySelectRow('mod_messages', array('id', 'first_name', 'phone', 'last_name', 'email', 'subject', 'message', 'created', 'modified'), array('id' => $id));
}
/**
* Function to delete table records form db
*
* @author Aivars Žukovskis <mareks.keiss@brsystems.lv>
* @category cmsMessages Module
* @param array $ids - record ids to delete
* @return bool true / false
* @version 1.1
*/
public function deleteRecords($ids){
return $this->db->_queryDelete('mod_messages', array('id' => $ids));
}
}