%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/lightco1/upgrade.lightco.com.au/administrator/components/com_csvi/models/
Upload File :
Create Path :
Current File : /home/lightco1/upgrade.lightco.com.au/administrator/components/com_csvi/models/settings.php

<?php
/**
 * @package     CSVI
 * @subpackage  Settings
 *
 * @author      Roland Dalmulder <contact@csvimproved.com>
 * @copyright   Copyright (C) 2006 - 2016 RolandD Cyber Produksi. All rights reserved.
 * @license     GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 * @link        http://www.csvimproved.com
 */

defined('_JEXEC') or die;

/**
 * Settings model.
 *
 * @package     CSVI
 * @subpackage  Settings
 * @since       6.0
 */
class CsviModelSettings extends FOFModel
{
	/**
	 * Load the item with ID 1, this is fixed for settings.
	 *
	 * @param   integer  $id  Force a primary key ID to the model. Use null to use the id from the state.
	 *
	 * @return  FOFTable  A copy of the item's FOFTable array.
	 *
	 * @since   6.0
	 */
	public function &getItem($id=null)
	{
		return parent::getItem(1);
	}

	/**
	 * Method to get a single record.
	 *
	 * @param   FOFTable  &$record  The table instance we fetched
	 *
	 * @return 	mixed Object on success | false on failure
	 *
	 * @since   6.0
	 */
	public function onAfterGetItem(&$record)
	{
		$registry = new JRegistry;
		$registry->loadString($record->params);
		$record->options = $registry->toArray();
	}

	/**
	 * This method runs before the $data is saved to the $table. Return false to
	 * stop saving.
	 *
	 * @param   array     &$data   The data to save
	 * @param   FOFTable  &$table  The table to save the data to
	 *
	 * @return  boolean  Return false to prevent saving, true to allow it
	 */
	protected function onBeforeSave(&$data, &$table)
	{
		// Check for the trailing slash at the domain name
		if (substr($data['jform']['hostname'], -1) == '/')
		{
			$data['jform']['hostname'] = substr($data['jform']['hostname'], 0, -1);
		}

		// Serialize the form data
		$data['params'] = json_encode($data['jform']);

		return parent::onBeforeSave($data, $table);
	}

	/**
	 * Reset the settings.
	 *
	 * @return  bool   true if settings reset | false if settings not reset.
	 *
	 * @since   3.1.1
	 */
	public function resetSettings()
	{
		// Create an entry for the settings in case it doesn't exist
		$db = JFactory::getDbo();
		$db->setQuery('INSERT IGNORE INTO '
				. $db->qn('#__csvi_settings')
				. ' (' . $db->qn('csvi_setting_id') . ', ' . $db->qn('params') . ')
				VALUES (' . $db->q('1') . ', ' . $db->q('') . ');');
		$db->execute();

		// Clean the params if needed
		$row  = $this->getTable('settings');
		$row->csvi_setting_id = 1;
		$row->params = '';

		return $row->store();
	}

	/**
	 * Load some ICEcat statistics.
	 *
	 * @return  array  The ICEcat statistics.
	 *
	 * @since   5.9
	 */
	public function icecatStats()
	{
		$stats = array();
		$db = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select('COUNT(' . $db->qn('path') . ')')
			->from($db->qn('#__csvi_icecat_index'));
		$db->setQuery($query);
		$stats['index'] = $db->loadResult();

		$query = $db->getQuery(true)
			->select('COUNT(' . $db->qn('supplier_id') . ')')
			->from($db->qn('#__csvi_icecat_suppliers'));
		$db->setQuery($query);
		$stats['supplier'] = $db->loadResult();

		return $stats;
	}
}

Zerion Mini Shell 1.0