135 lines
3.2 KiB
PHP
135 lines
3.2 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* @package Joomla.Administrator
|
||
|
* @subpackage com_banners
|
||
|
*
|
||
|
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||
|
*/
|
||
|
|
||
|
defined('_JEXEC') or die;
|
||
|
|
||
|
/**
|
||
|
* Client model.
|
||
|
*
|
||
|
* @package Joomla.Administrator
|
||
|
* @subpackage com_banners
|
||
|
* @since 1.6
|
||
|
*/
|
||
|
class BannersModelClient extends JModelAdmin
|
||
|
{
|
||
|
/**
|
||
|
* Method to test whether a record can be deleted.
|
||
|
*
|
||
|
* @param object A record object.
|
||
|
* @return boolean True if allowed to delete the record. Defaults to the permission set in the component.
|
||
|
* @since 1.6
|
||
|
*/
|
||
|
protected function canDelete($record)
|
||
|
{
|
||
|
if (!empty($record->id))
|
||
|
{
|
||
|
if ($record->state != -2)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
$user = JFactory::getUser();
|
||
|
|
||
|
if (!empty($record->catid))
|
||
|
{
|
||
|
return $user->authorise('core.delete', 'com_banners.category.'.(int) $record->catid);
|
||
|
}
|
||
|
else {
|
||
|
return $user->authorise('core.delete', 'com_banners');
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Method to test whether a record can be deleted.
|
||
|
*
|
||
|
* @param object A record object.
|
||
|
* @return boolean True if allowed to change the state of the record. Defaults to the permission set in the component.
|
||
|
* @since 1.6
|
||
|
*/
|
||
|
protected function canEditState($record)
|
||
|
{
|
||
|
$user = JFactory::getUser();
|
||
|
|
||
|
if (!empty($record->catid))
|
||
|
{
|
||
|
return $user->authorise('core.edit.state', 'com_banners.category.'.(int) $record->catid);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return $user->authorise('core.edit.state', 'com_banners');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns a reference to the a Table object, always creating it.
|
||
|
*
|
||
|
* @param type The table type to instantiate
|
||
|
* @param string A prefix for the table class name. Optional.
|
||
|
* @param array Configuration array for model. Optional.
|
||
|
* @return JTable A database object
|
||
|
* @since 1.6
|
||
|
*/
|
||
|
public function getTable($type = 'Client', $prefix = 'BannersTable', $config = array())
|
||
|
{
|
||
|
return JTable::getInstance($type, $prefix, $config);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Method to get the record form.
|
||
|
*
|
||
|
* @param array $data Data for the form.
|
||
|
* @param boolean $loadData True if the form is to load its own data (default case), false if not.
|
||
|
* @return mixed A JForm object on success, false on failure
|
||
|
* @since 1.6
|
||
|
*/
|
||
|
public function getForm($data = array(), $loadData = true)
|
||
|
{
|
||
|
// Get the form.
|
||
|
$form = $this->loadForm('com_banners.client', 'client', array('control' => 'jform', 'load_data' => $loadData));
|
||
|
if (empty($form))
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
return $form;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Method to get the data that should be injected in the form.
|
||
|
*
|
||
|
* @return mixed The data for the form.
|
||
|
* @since 1.6
|
||
|
*/
|
||
|
protected function loadFormData()
|
||
|
{
|
||
|
// Check the session for previously entered form data.
|
||
|
$data = JFactory::getApplication()->getUserState('com_banners.edit.client.data', array());
|
||
|
|
||
|
if (empty($data))
|
||
|
{
|
||
|
$data = $this->getItem();
|
||
|
}
|
||
|
|
||
|
$this->preprocessData('com_banners.client', $data);
|
||
|
|
||
|
return $data;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Prepare and sanitise the table data prior to saving.
|
||
|
*
|
||
|
* @param JTable A JTable object.
|
||
|
* @since 1.6
|
||
|
*/
|
||
|
protected function prepareTable($table)
|
||
|
{
|
||
|
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
|
||
|
}
|
||
|
}
|