%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/lightco1/upgrade.lightco.com.au/libraries/compojoom/table/
Upload File :
Create Path :
Current File : /home/lightco1/upgrade.lightco.com.au/libraries/compojoom/table/customfield.php

<?php

/**

 * @package    Lib_Compojoom

 * @author     DanielDimitrov <daniel@compojoom.com>

 * @date       02.12.14

 *

 * @copyright  Copyright (C) 2008 - 2013 compojoom.com . All rights reserved.

 * @license    GNU General Public License version 2 or later; see LICENSE

 */

defined('_JEXEC') or die('Restricted access');



/**

 * Class CompojoomTableCustomfield

 *

 * @since  4

 */

class CompojoomTableCustomfield extends JTable

{

	/**

	 * The constructor

	 *

	 * @param   JDatabaseDriver  &$db  - the db object

	 */

	public function __construct(&$db)

	{

		parent::__construct('#__compojoom_customfields', 'id', $db);

	}



	/**

	 * Method to set the publishing state for a row or list of rows in the database

	 * table. The method respects checked out rows by other users and will attempt

	 * to checkin rows that it can after adjustments are made.

	 *

	 * @param   mixed    $pks     An optional array of primary key values to update.  If not set the instance property value is used.

	 * @param   integer  $state   The publishing state. eg. [0 = unpublished, 1 = published]

	 * @param   integer  $userId  The user id of the user performing the operation.

	 *

	 * @return  boolean  True on success.

	 *

	 * @since   11.1

	 */

	public function publish($pks = null, $state = 1, $userId = 0)

	{

		$k = $this->_tbl_key;



		// Sanitize input.

		JArrayHelper::toInteger($pks);

		$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::_('JLIB_DATABASE_ERROR_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($this->_tbl))

			->set($this->_db->quoteName('enabled') . ' = ' . (int) $state)

			->where('(' . $where . ')');

		$this->_db->setQuery($query);



		try

		{

			$this->_db->execute();

		}

		catch (RuntimeException $e)

		{

			$this->setError($e->getMessage());



			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;

	}



	/**

	 * Overloaded check function

	 *

	 * @return  boolean  True on success, false on failure

	 *

	 * @see     JTable::check()

	 * @since   11.1

	 */

	public function check()

	{

		if (trim($this->slug) == '')

		{

			$this->slug = $this->title;

		}



		if (version_compare(JVERSION, '3.0', 'ge'))

		{

			$this->slug = JApplicationHelper::stringURLSafe($this->slug);

		}

		else

		{

			$this->slug = JFactory::getApplication()->stringURLSafe($this->slug);

		}



		if (trim(str_replace('-', '', $this->slug)) == '')

		{

			$this->slug = JFactory::getDate()->format('Y-m-d-H-i-s');

		}



		return true;

	}



	/**

	 * Overrides JTable::store to set modified data and user id.

	 *

	 * @param   boolean  $updateNulls  True to update fields even if they are null.

	 *

	 * @return  boolean  True on success.

	 *

	 * @since   11.1

	 */

	public function store($updateNulls = false)

	{

		$date = JFactory::getDate();

		$user = JFactory::getUser();



		if ($this->id)

		{

			// Existing item

			$this->modified_on = $date->toSql();

			$this->modified_by = $user->get('id');

		}

		else

		{

			// New article. An article created and created_by field can be set by the user,

			// so we don't touch either of these if they are set.

			if (!(int) $this->created_on)

			{

				$this->created_on = $date->toSql();

			}



			if (empty($this->created_by))

			{

				$this->created_by = $user->get('id');

			}

		}



		// Verify that the slug is unique

		$table = JTable::getInstance('Customfield', 'CompojoomTable');



		if ($table->load(array('slug' => $this->slug)) && ($table->id != $this->id || $this->id == 0))

		{

			$this->setError(JText::_('JLIB_DATABASE_ERROR_ARTICLE_UNIQUE_slug'));



			return false;

		}



		return parent::store($updateNulls);

	}

}


Zerion Mini Shell 1.0