| Server IP : 180.180.241.3 / Your IP : 216.73.216.35 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/news/tmp/install_5333cea8259e5/admin/tables/ |
Upload File : |
<?php
/**
* @version $Id$
* @copyright Copyright (C) 2007 - 2009 Joomla! Vargas. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @author Guillermo Vargas (guille@vargas.co.cr)
*/
// no direct access
defined('_JEXEC') or die;
/**
* @package Xmap
* @subpackage com_xmap
* @since 2.0
*/
class XmapTableSitemap extends JTable
{
/**
* @var int Primary key
*/
var $id = null;
/**
* @var string
*/
var $title = null;
/**
* @var string
*/
var $alias = null;
/**
* @var string
*/
var $introtext = null;
/**
* @var string
*/
var $metakey = null;
/**
* @var string
*/
var $attribs = null;
/**
* @var string
*/
var $selections = null;
/**
* @var string
*/
var $created = null;
/**
* @var string
*/
var $metadesc = null;
/**
* @var string
*/
var $excluded_items = null;
/**
* @var int
*/
var $is_default = 0;
/**
* @var int
*/
var $state = 0;
/**
* @var int
*/
var $access = 0;
/**
* @var int
*/
var $count_xml = 0;
/**
* @var int
*/
var $count_html = 0;
/**
* @var int
*/
var $views_xml = 0;
/**
* @var int
*/
var $views_html = 0;
/**
* @var int
*/
var $lastvisit_xml = 0;
/**
* @var int
*/
var $lastvisit_html = 0;
/**
* @param JDatabase A database connector object
*/
function __construct(&$db)
{
parent::__construct('#__xmap_sitemap', 'id', $db);
}
/**
* Overloaded bind function
*
* @access public
* @param array $hash named array
* @return null|string null is operation was satisfactory, otherwise returns an error
* @see JTable:bind
* @since 2.0
*/
function bind($array, $ignore = '')
{
if (isset($array['attribs']) && is_array($array['attribs'])) {
$registry = new JRegistry();
$registry->loadArray($array['attribs']);
$array['attribs'] = $registry->toString();
}
if (isset($array['selections']) && is_array($array['selections'])) {
$selections = array();
foreach ($array['selections'] as $i => $menu) {
$selections[$menu] = array(
'priority' => $array['selections_priority'][$i],
'changefreq' => $array['selections_changefreq'][$i],
'ordering' => $i
);
}
$registry = new JRegistry();
$registry->loadArray($selections);
$array['selections'] = $registry->toString();
}
if (isset($array['metadata']) && is_array($array['metadata'])) {
$registry = new JRegistry();
$registry->loadArray($array['metadata']);
$array['metadata'] = $registry->toString();
}
return parent::bind($array, $ignore);
}
/**
* Overloaded check function
*
* @access public
* @return boolean
* @see JTable::check
* @since 2.0
*/
function check()
{
if (empty($this->title)) {
$this->setError(JText::_('Sitemap must have a title'));
return false;
}
if (empty($this->alias)) {
$this->alias = $this->title;
}
$this->alias = JApplication::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '') {
$datenow = &JFactory::getDate();
$this->alias = $datenow->format("Y-m-d-H-i-s");
}
return true;
}
/**
* Overriden JTable::store to set modified data and user id.
*
* @param boolean True to update fields even if they are null.
* @return boolean True on success.
* @since 2.0
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
if (!$this->id) {
$this->created = $date->toSql();
}
return parent::store($updateNulls);
}
/**
* Method to set the publishing state for a row or list of rows in the database
* table.
*
* @param mixed An optional array of primary key values to update. If not
* set the instance property value is used.
* @param integer The publishing state. eg. [0 = unpublished, 1 = published]
* @param integer The user id of the user performing the operation.
* @return boolean True on success.
* @since 2.0
*/
public function publish($pks = null, $state = 1, $userId = 0)
{
// Initialize variables.
$k = $this->_tbl_key;
// Sanitize input.
JArrayHelper::toInteger($pks);
$userId = (int) $userId;
$state = (int) $state;
// If there are no primary keys set check to see if the instance key is set.
if (empty($pks)) {
if ($this->$k) {
$pks = array($this->$k);
}
// Nothing to set publishing state on, return false.
else {
$this->setError(JText::_('No_Rows_Selected'));
return false;
}
}
// Build the WHERE clause for the primary keys.
$where = $k . '=' . implode(' OR ' . $k . '=', $pks);
// Update the publishing state for rows with the given primary keys.
$query = $this->_db->getQuery(true)
->update($this->_db->quoteName('#__xmap_sitemap'))
->set($this->_db->quoteName('state').' = '. (int) $state)
->where($where);
$this->_db->setQuery($query);
$this->_db->query();
// Check for a database error.
if ($this->_db->getErrorNum()) {
$this->setError($this->_db->getErrorMsg());
return false;
}
// If the JTable instance value is in the list of primary keys that were set, set the instance.
if (in_array($this->$k, $pks)) {
$this->state = $state;
}
$this->setError('');
return true;
}
}