<?php
/**
 * @package DJ-Events
 * @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
 * @license http://www.gnu.org/licenses GNU/GPL
 * @author url: https://dj-extensions.com
 * @author email contact@dj-extensions.com
 *
 */

// No direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.controller');
jimport( 'joomla.database.table' );


class DJEventsControllerLicense extends JControllerLegacy {

    public function save(){
        $app	= JFactory::getApplication();
        $config = JFactory::getConfig();
        $db 	= JFactory::getDbo();

        $ch = curl_init();
        $ext = $app->input->get('option');
        $license = $app->input->get('license');
        $r = $app->input->get('release');
        $name = $app->input->get('extension');

        /*curl_setopt($ch, CURLOPT_URL,'https://dj-extensions.com/index.php?option=com_djsubscriptions&view=registerLicense&license='.$license.'&ext='.$ext.'&r='.$r);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $u = JFactory::getURI();
        curl_setopt ($ch, CURLOPT_REFERER, $u->getHost());
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

        if(!curl_errno($ch))
        {
            $contents = curl_exec ($ch);
        }

        curl_close ($ch);
        $res= explode(';', $contents);
        */

        $secret_file = JFile::makeSafe('license_'.$config->get('secret').'.txt');
        $license_file = JPath::clean(dirname(__FILE__).'/../'.$secret_file);

        $query = "SELECT manifest_cache FROM #__extensions WHERE element ='pkg_dj-".strtolower($name)."' AND type='package' ";
        $db->setQuery($query);
        $mc = json_decode($db->loadResult());
        $version = $mc->version;

        $extra_query = 'dlid='.$license.'&v='.$version.'&site='.JURI::root();
        $query = "UPDATE #__update_sites SET extra_query='".addslashes($extra_query)."' WHERE name='DJ-".$name."' AND type='extension' ";
        $db->setQuery($query);
        $db->execute();

        JFile::write($license_file, $license);

        $msg = ($license == '') ? 'DJUPDATER_KEY_REMOVED' : 'DJUPDATER_KEY_STORED';

        echo self::renderAlert(JText::_($msg), 'success');
        $app->close();
    }

    public static function renderAlert($msg, $type = '', $title = '') {

        if(!in_array($type, array('success', 'error', 'info', ''))) $type = 'info';

        $html = 	'<div class="alert alert-'.$type.'">'
            .		(!empty($title) ? '<h3>'.$title.'</h3>' : '')
            .		'<div class="alert-body">'.$msg.'</div>'
            .	'</div>';

        return $html;

    }

}
