%PDF- %PDF-
Direktori : /home1/lightco1/luminero.com.au/administrator/components/com_cmc/libraries/syncer/ |
Current File : //home1/lightco1/luminero.com.au/administrator/components/com_cmc/libraries/syncer/state.php |
<?php /** * @package CMC * @author Compojoom <contact-us@compojoom.com> * @date 2016-04-15 * * @copyright Copyright (C) 2008 - 2016 compojoom.com - Daniel Dimitrov, Yves Hoppe. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('_JEXEC') or die('Restricted access'); /** * Class CmcHelperSyncer * * @since 1.2 */ class CmcSyncerState { /** * The syncer state object. * * @var object * @since 2.5 */ public static $state; /** * Method to get the syncer state. * * @return object The indexer state object. * * @since 1.3 */ public static function getState() { // First, try to load from the internal state. if (!empty(self::$state)) { return self::$state; } // If we couldn't load from the internal state, try the session. $session = JFactory::getSession(); $data = $session->get('_cmc.state', null); // If the state is empty, load the values for the first time. if (empty($data)) { $data = new JObject; // Set the current time as the start time. $data->startTime = JFactory::getDate()->toSql(); // Set the remaining default values. $data->batchSize = 250; } // Set the state. self::$state = $data; return self::$state; } /** * Method to set the indexer state. * * @param object $data A new syncer state object. * * @return boolean True on success, false on failure. * * @since 1.3 */ public static function setState($data) { // Check the state object. if (empty($data) || !$data instanceof JObject) { return false; } // Set the new internal state. self::$state = $data; // Set the new session state. $session = JFactory::getSession(); $session->set('_cmc.state', $data); return true; } /** * Method to reset the syncer state. * * @return void * * @since 1.3 */ public static function resetState() { // Reset the internal state to null. self::$state = null; // Reset the session state to null. $session = JFactory::getSession(); $session->set('_cmc.state', null); } }