| Current Path : /var/www/components/com_contactpush/models/ |
| Current File : /var/www/components/com_contactpush/models/messagerecipient.php |
<?php
/** ______________________________________________
* o O | |
* ((((( o < Generated with Cook Self Service V3.1 |
* ( o o ) |______________________________________________|
* --------oOOO-----(_)-----OOOo---------------------------------- www.j-cook.pro --- +
* @version 1.0.0
* @package Contact Push
* @subpackage Message recipients
* @copyright Netamity 2017
* @author Andy Hickey - www.netamity.com - andy@netamity.com
* @license GPL V2+
*
* .oooO Oooo.
* ( ) ( )
* -------------\ (----) /----------------------------------------------------------- +
* \_) (_/
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
/**
* Contactpush Item Model
*
* @package Contactpush
* @subpackage Classes
*/
class ContactpushCkModelMessagerecipient extends ContactpushClassModelItem
{
/**
* View list alias
*
* @var string
*/
protected $view_item = 'messagerecipient';
/**
* View list alias
*
* @var string
*/
protected $view_list = 'messagerecipients';
/**
* Constructor
*
* @access public
* @param array $config An optional associative array of configuration settings.
*
* @return void
*/
public function __construct($config = array())
{
parent::__construct();
}
/**
* Method to delete item(s).
*
* @access public
* @param array &$pks Ids of the items to delete.
*
* @return boolean True on success.
*/
public function delete(&$pks)
{
if (!count( $pks ))
return true;
if (!parent::delete($pks))
return false;
return true;
}
/**
* Method to get the layout (including default).
*
* @access public
*
* @return string The layout alias.
*/
public function getLayout()
{
$jinput = JFactory::getApplication()->input;
return $jinput->get('layout', '', 'STRING');
}
/**
* Returns a Table object, always creating it.
*
* @access public
* @param string $type The table type to instantiate.
* @param string $prefix A prefix for the table class name. Optional.
* @param array $config Configuration array for model. Optional.
*
*
* @since 1.6
*
* @return JTable A database object
*/
public function getTable($type = 'messagerecipient', $prefix = 'ContactpushTable', $config = array())
{
return JTable::getInstance($type, $prefix, $config);
}
/**
* Method to increment hits (check session and layout)
*
* @access public
* @param array $layouts List of authorized layouts for hitting the object.
*
*
* @since 11.1
*
* @return boolean Null if skipped. True when incremented. False if error.
*/
public function hit($layouts = null)
{
return parent::hit(array());
}
/**
* Method to get the data that should be injected in the form.
*
* @access protected
*
* @return mixed The data for the form.
*/
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_contactpush.edit.messagerecipient.data', array());
if (empty($data)) {
//Default values shown in the form for new item creation
$data = $this->getItem();
// Prime some default values.
if ($this->getState('messagerecipient.id') == 0)
{
$jinput = JFactory::getApplication()->input;
$data->id = 0;
$data->message = $jinput->get('filter_message', $this->getState('filter.message'), 'INT');
$data->user = $jinput->get('filter_user', $this->getState('filter.user'), 'INT');
$data->sent = null;
$data->received = null;
}
}
return $data;
}
/**
* Method to auto-populate the model state.
*
* This method should only be called once per instantiation and is designed to
* be called on the first call to the getState() method unless the model
* configuration flag to ignore the request is set.
*
* Note. Calling getState in this method will result in recursion.
*
* @access protected
*
*
* @since 11.1
*
* @return void
*/
protected function populateState()
{
$app = JFactory::getApplication();
$session = JFactory::getSession();
$acl = ContactpushHelper::getActions();
parent::populateState();
}
/**
* Preparation of the item query.
*
* @access protected
* @param object &$query returns a filled query object.
* @param integer $pk The primary id key of the messagerecipient
*
* @return void
*/
protected function prepareQuery(&$query, $pk)
{
//FROM : Main table
$query->from('#__contactpush_messagerecipients AS a');
// Primary Key is always required
$this->addSelect('a.id');
switch($this->getState('context', 'all'))
{
case 'all':
//SELECT : raw complete query without joins
$this->addSelect('a.*');
// Disable the pagination
$this->setState('list.limit', null);
$this->setState('list.start', null);
// Item search : Based on Primary Key
$query->where('a.id = ' . (int) $pk);
break;
}
// ORDERING
$orderCol = $this->getState('list.ordering');
$orderDir = $this->getState('list.direction', 'ASC');
if ($orderCol)
$this->addOrder($orderCol . ' ' . $orderDir);
// Apply all SQL directives to the query
$this->applySqlStates($query);
}
/**
* Save an item.
*
* @access public
* @param array $data The post values.
*
* @return boolean True on success.
*/
public function save($data)
{
//Convert from a non-SQL formated date (sent)
$data['sent'] = ContactpushHelperDates::getSqlDate($data['sent'], array('Y-m-d H:i:s'), true, 'USER_UTC');
//Convert from a non-SQL formated date (received)
$data['received'] = ContactpushHelperDates::getSqlDate($data['received'], array('Y-m-d H:i:s'), true, 'USER_UTC');
if (parent::save($data)) {
return true;
}
return false;
}
}
// Load the fork
ContactpushHelper::loadFork(__FILE__);
// Fallback if no fork has been found
if (!class_exists('ContactpushModelMessagerecipient')){ class ContactpushModelMessagerecipient extends ContactpushCkModelMessagerecipient{} }