%PDF- %PDF-
| Direktori : /home1/lightco1/www/plugins/system/jsnframework/libraries/joomlashine/upgrade/ |
| Current File : //home1/lightco1/www/plugins/system/jsnframework/libraries/joomlashine/upgrade/controller.php |
<?php
/**
* @version $Id$
* @package JSN_Framework
* @author JoomlaShine Team <support@joomlashine.com>
* @copyright Copyright (C) 2012 JoomlaShine.com. All Rights Reserved.
* @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html
*
* Websites: http://www.joomlashine.com
* Technical Support: Feedback - http://www.joomlashine.com/contact-us/get-support.html
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Controller class of JSN Upgrade library.
*
* To implement <b>JSNUpgradeController</b> class, create a controller file
* in <b>administrator/components/com_YourComponentName/controllers</b> folder
* then put following code into that file:
*
* <code>class YourComponentPrefixControllerUpgrade extends JSNUpgradeController
* {
* }</code>
*
* The <b>JSNUpgradeController</b> class pre-defines <b>download</b> and
* <b>install</b> method to handle product upgrade task. So, you <b>DO NOT
* NEED</b> to re-define those methods in your controller class.
*
* @package JSN_Framework
* @since 1.0.0
*/
class JSNUpgradeController extends JSNUpdateController
{
/**
* This task will be send list of editions to the client in JSON format.
*
* @return void
*/
public function editions()
{
JSession::checkToken('get') or die( 'Invalid Token' );
// Initialize variables
$input = JFactory::getApplication()->input;
$jVer = new JVersion;
$info = JSNUtilsXml::loadManifestCache();
// Get product edition and identified name
$edition = strtolower(JSNUtilsText::getConstant('EDITION'));
$identified = ($identified = JSNUtilsText::getConstant('IDENTIFIED_NAME')) ? $identified : strtolower($info->name);
// Build query string
$query[] = 'joomla_version=' . urlencode($jVer->RELEASE);
$query[] = 'username=' . urlencode($input->getUsername('customer_username'));
$query[] = 'password=' . urlencode($input->getString('customer_password'));
$query[] = 'identified_name=' . ($input->getCmd('id') ? urlencode($input->getCmd('id')) : urlencode($identified));
// Finalize link
$url = str_replace('upgrade=yes', 'upgrade=no', JSN_EXT_DOWNLOAD_UPDATE_URL) . '&' . implode('&', $query);
// Get results
try
{
$result = JSNUtilsHttp::get($url);
if (substr($result['body'], 0, 3) == 'ERR')
{
jexit(json_encode(array('message' => JText::sprintf('JSN_EXTFW_LIGHTCART_ERROR_' . $result['body'], JText::_($info->name) . ' PRO'), 'type' => 'error')));
}
// JSON-decode the result
$result = json_decode($result['body']);
if (is_null($result))
{
jexit(json_encode(array('message' => JText::_('JSN_EXTFW_VERSION_CHECK_FAIL'), 'type' => 'error')));
}
if ($edition != 'free')
{
if ( ! in_array('PRO UNLIMITED', $result->editions))
{
jexit(json_encode(array('message' => JText::sprintf('JSN_EXTFW_UPGRADE_YOUR_ACCOUNT_IS_NOT_PROVIDED_WITH_UNLIMITED_EDITION', JText::_($info->name) . ' PRO Unlimited'), 'type' => 'error')));
}
$result->editions = array('PRO UNLIMITED');
}
jexit(json_encode($result->editions));
}
catch (Exception $e)
{
jexit(json_encode(array('message' => JText::_('JSN_EXTFW_VERSION_CHECK_FAIL'), 'type' => 'error')));
}
}
}