Files
@ f43d1a4680a9
Branch filter:
Location: hot67beta/administrator/components/com_poll/tables/poll.php
f43d1a4680a9
3.1 KiB
text/x-php
menubar 0 to 10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | <?php
/**
* @version $Id: poll.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @subpackage Polls
* @copyright Copyright (C) 2005 - 2008 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.
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die( 'Restricted access' );
/**
* @package Joomla
* @subpackage Polls
*/
class TablePoll extends JTable
{
/** @var int Primary key */
var $id = 0;
/** @var string */
var $title = '';
/** @var string */
var $alias = '';
/** @var string */
var $checked_out = 0;
/** @var time */
var $checked_out_time = 0;
/** @var boolean */
var $published = 0;
/** @var int */
var $access = 0;
/** @var int */
var $lag = 0;
/**
* @param database A database connector object
*/
function __construct( &$db )
{
parent::__construct( '#__polls', 'id', $db );
}
/**
* Binds an array to the object
* @param array Named array
* @param string Space separated list of fields not to bind
* @return boolean
*/
function bind( $array, $ignore='' )
{
$result = parent::bind( $array );
// cast properties
$this->id = (int) $this->id;
return $result;
}
/**
* Overloaded check function
*
* @access public
* @return boolean
* @see JTable::check
* @since 1.5
*/
function check()
{
// check for valid name
if (trim( $this->title ) == '')
{
$this->setError(JText::_( 'Your Poll must contain a title.' ));
return false;
}
// check for valid lag
$this->lag = intval( $this->lag );
if ($this->lag == 0) {
$this->setError(JText::_( 'Your Poll must have a non-zero lag time.' ));
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;
}
// overloaded delete function
function delete( $oid=null )
{
$k = $this->_tbl_key;
if ( $oid ) {
$this->$k = intval( $oid );
}
if ( parent::delete( $oid ))
{
$query = 'DELETE FROM #__poll_data'
. ' WHERE pollid = '.(int) $this->$k
;
$this->_db->setQuery( $query );
if ( !$this->_db->query() ) {
$this->_error .= $this->_db->getErrorMsg() . "\n";
}
$query = 'DELETE FROM #__poll_date'
. ' WHERE poll_id = '.(int) $this->$k
;
$this->_db->setQuery( $query );
if ( !$this->_db->query() ) {
$this->_error .= $this->_db->getErrorMsg() . "\n";
}
$query = 'DELETE from #__poll_menu'
. ' WHERE pollid = '.(int) $this->$k
;
$this->_db->setQuery( $query );
if ( !$this->_db->query() ) {
$this->_error .= $this->_db->getErrorMsg() . "\n";
}
return true;
}
return false;
}
}
|