118 lines
3.0 KiB
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));
|
|
|
|
}
|
|
}
|