?
Path : /home/admin/public_html/old/board/administrator/components/com_weblinks/tables/ |
Current File : /home/admin/public_html/old/board/administrator/components/com_weblinks/tables/weblink.php |
<?php /** * @version $Id: weblink.php 14401 2010-01-26 14:10:00Z louis $ * @package Joomla * @subpackage Weblinks * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */ // no direct access defined('_JEXEC') or die('Restricted access'); /** * Weblink Table class * * @package Joomla * @subpackage Weblinks * @since 1.0 */ class TableWeblink extends JTable { /** * Primary Key * * @var int */ var $id = null; /** * @var int */ var $catid = null; /** * @var int */ var $sid = null; /** * @var string */ var $title = null; /** * @var string */ var $alias = null; /** * @var string */ var $url = null; /** * @var string */ var $description = null; /** * @var datetime */ var $date = null; /** * @var int */ var $hits = null; /** * @var int */ var $published = null; /** * @var boolean */ var $checked_out = 0; /** * @var time */ var $checked_out_time = 0; /** * @var int */ var $ordering = null; /** * @var int */ var $archived = null; /** * @var int */ var $approved = null; /** * @var string */ var $params = null; /** * Constructor * * @param object Database connector object * @since 1.0 */ function __construct(& $db) { parent::__construct('#__weblinks', 'id', $db); } /** * Overloaded bind function * * @acces public * @param array $hash named array * @return null|string null is operation was satisfactory, otherwise returns an error * @see JTable:bind * @since 1.5 */ function bind($array, $ignore = '') { if (key_exists( 'params', $array ) && is_array( $array['params'] )) { $registry = new JRegistry(); $registry->loadArray($array['params']); $array['params'] = $registry->toString(); } return parent::bind($array, $ignore); } /** * Overloaded check method to ensure data integrity * * @access public * @return boolean True on success * @since 1.0 */ function check() { if (JFilterInput::checkAttribute(array ('href', $this->url))) { $this->setError( JText::_('Please provide a valid URL')); return false; } //Remove all HTML tags from the title and description $filter = new JFilterInput(array(), array(), 0, 0); $this->description = $filter->clean($this->description); $this->title = $filter->clean($this->title); /** check for valid name */ if (trim($this->title) == '') { $this->setError(JText::_('Your Weblink must contain a title.')); return false; } if (!(preg_match('#http://#i', $this->url) || (preg_match('#https://#i', $this->url)) || (preg_match('#ftp://#i', $this->url)))) { $this->url = 'http://'.$this->url; } /** check for existing name */ $query = 'SELECT id FROM #__weblinks WHERE title = '.$this->_db->Quote($this->title).' AND catid = '.(int) $this->catid; $this->_db->setQuery($query); $xid = intval($this->_db->loadResult()); if ($xid && $xid != intval($this->id)) { $this->setError(JText::sprintf('WARNNAMETRYAGAIN', JText::_('Web Link'))); return false; } if(empty($this->alias)) { $this->alias = $this->title; } $this->alias = JFilterOutput::stringURLSafe($this->alias); if(trim(str_replace('-','',$this->alias)) == '') { $datenow =& JFactory::getDate(); $this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); } return true; } }