Your IP : 216.73.216.240


Current Path : /home/j/u/v/juvelize/martine/administrator/components/com_magiczoomplus/
Upload File :
Current File : /home/j/u/v/juvelize/martine/administrator/components/com_magiczoomplus/magiczoomplus_installer.php

<?php

/*------------------------------------------------------------------------
# com_magiczoomplus - Magic Zoom Plus for Joomla
# ------------------------------------------------------------------------
# Magic Toolbox
# Copyright 2011 MagicToolbox.com. All Rights Reserved.
# @license - http://www.opensource.org/licenses/artistic-license-2.0  Artistic License 2.0 (GPL compatible)
# Website: http://www.magictoolbox.com/magiczoomplus/modules/joomla/
# Technical Support: http://www.magictoolbox.com/contact/
/*-------------------------------------------------------------------------*/

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

defined('DS') or define('DS', DIRECTORY_SEPARATOR);

if(!function_exists('com_install')) {
    function com_install() {
        return installMagiczoomplusForJoomla();
    }
}

if(!function_exists('com_uninstall')) {
    function com_uninstall() {
        return uninstallMagiczoomplusForJoomla();
    }
}

function installMagiczoomplusForJoomla() {

    $database = JFactory::getDBO();
    $database->setQuery("SELECT COUNT(*) as `count` FROM `#__magiczoomplus_config` LIMIT 1");
    $results = $database->loadObject();
    if($results->count) {
        $database->setQuery("DROP TABLE IF EXISTS `#__magiczoomplus_config_bak`;");
        $database->query();
        $database->setQuery("RENAME TABLE `#__magiczoomplus_config` TO `#__magiczoomplus_config_bak`;");
        if($database->query()) {
            $database->setQuery("CREATE TABLE `#__magiczoomplus_config` LIKE `#__magiczoomplus_config_bak`;");
            if($database->query()) {
                $results->count = 0;
            }
        }
    }
    if($results->count == 0) {
        $query = <<<SQL
INSERT INTO `#__magiczoomplus_config` (`profile`, `name`, `value`, `default`, `disabled`) VALUES
 ('default', 'enable-effect', 'Yes', 'Yes', '0'),
 ('default', 'zoomWidth', 'auto', 'auto', '0'),
 ('default', 'zoomHeight', 'auto', 'auto', '0'),
 ('default', 'zoomPosition', 'right', 'right', '0'),
 ('default', 'zoomDistance', '15', '15', '0'),
 ('default', 'selectorTrigger', 'click', 'click', '0'),
 ('default', 'transitionEffect', 'Yes', 'Yes', '0'),
 ('default', 'lazyZoom', 'No', 'No', '0'),
 ('default', 'rightClick', 'No', 'No', '0'),
 ('default', 'show-message', 'No', 'No', '0'),
 ('default', 'message', 'Move your mouse over image or click to enlarge', 'Move your mouse over image or click to enlarge', '0'),
 ('default', 'zoomMode', 'zoom', 'zoom', '0'),
 ('default', 'zoomOn', 'hover', 'hover', '0'),
 ('default', 'upscale', 'Yes', 'Yes', '0'),
 ('default', 'smoothing', 'Yes', 'Yes', '0'),
 ('default', 'variableZoom', 'No', 'No', '0'),
 ('default', 'zoomCaption', 'off', 'off', '0'),
 ('default', 'expand', 'window', 'window', '0'),
 ('default', 'expandZoomMode', 'zoom', 'zoom', '0'),
 ('default', 'expandZoomOn', 'click', 'click', '0'),
 ('default', 'expandCaption', 'Yes', 'Yes', '0'),
 ('default', 'closeOnClickOutside', 'Yes', 'Yes', '0'),
 ('default', 'cssClass', 'blurred', 'blurred', '0'),
 ('default', 'hint', 'once', 'once', '0'),
 ('default', 'textHoverZoomHint', 'Hover to zoom', 'Hover to zoom', '0'),
 ('default', 'textClickZoomHint', 'Click to zoom', 'Click to zoom', '0'),
 ('default', 'textExpandHint', 'Click to expand', 'Click to expand', '0'),
 ('default', 'textBtnClose', 'Close', 'Close', '0'),
 ('default', 'textBtnNext', 'Next', 'Next', '0'),
 ('default', 'textBtnPrev', 'Previous', 'Previous', '0'),
 ('default', 'zoomModeForMobile', 'off', 'off', '0'),
 ('default', 'textHoverZoomHintForMobile', 'Touch to zoom', 'Touch to zoom', '0'),
 ('default', 'textClickZoomHintForMobile', 'Double tap to zoom', 'Double tap to zoom', '0'),
 ('default', 'textExpandHintForMobile', 'Tap to expand', 'Tap to expand', '0'),
 ('default', 'version', '3.3.6', '3.3.6', '0');
SQL;
        $database->setQuery($query);
        if(!$database->query()) {
            return JError::raiseWarning(500, $database->getError());
        }
    }

    $url = 'index.php?option=com_magiczoomplus&task=install';
?>
<style>
.magictoolbox-message-container h1 {
    color: #468847;
}
.magictoolbox-message-container {
    color: #468847;   
    background-color: #DFF0D8;
    border: 1px solid #D6E9C6;
    border-radius: 4px;
    margin-bottom: 18px;
    padding: 8px 35px 8px 14px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
</style>
<div class="magictoolbox-message-container">
<h1>Please wait...</h1>
<h2>The plugin will be installed automatically...</h2>
<h2>Please click <a href="<?php echo $url; ?>" style="color: black;">here</a> if you are not automatically redirected within <span id="redirect_timer">3</span> seconds</h2>
<script language="javascript" type="text/javascript">
var intervalCounter = 3;
var intervalID = setInterval(function() {
    if(intervalCounter) {
        intervalCounter--;
        document.getElementById('redirect_timer').innerHTML = intervalCounter;
    }
    if(!intervalCounter) {
        clearInterval(intervalID);
        document.location.href = '<?php echo $url; ?>';
    }
}, 1000);
</script>
</div>
<?php
    sendJoomlaMagiczoomplusModuleStat('install');
    return true;
}

function uninstallMagiczoomplusForJoomla() {

    if(version_compare(JVERSION, '1.6.0', '<')) {
        //NOTE: need to load lang file for uninstall string
        $lang = JFactory::getLanguage();
        $lang->load('com_magiczoomplus', JPATH_ADMINISTRATOR, null, false);
    }

    $database = JFactory::getDBO();

    //NOTE: uninstall plugin
    if(version_compare(JVERSION, '1.6.0', '<')) {
        $query = "DELETE FROM `#__plugins` WHERE element='magiczoomplus'";
    } else {
        $query = "DELETE FROM `#__extensions` WHERE element='magiczoomplus'";
    }
    $database->setQuery($query);
    $database->query();

    //$manifest = file_exists(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus'.DS.'magiczoomplus.xml') ? simplexml_load_file(JPATH_SITE.DS.'pugins'.DS.'system'.DS.'magiczoomplus'.DS.'magiczoomplus.xml') : false;//SimpleXMLElement
    //if($manifest) {
    //}
    if(is_file(JPATH_SITE.DS.'administrator'.DS.'language'.DS.'en-GB'.DS.'en-GB.plg_system_magiczoomplus.ini')) {
        JFile::delete(JPATH_SITE.DS.'administrator'.DS.'language'.DS.'en-GB'.DS.'en-GB.plg_system_magiczoomplus.ini');
    }
    if(is_file(JPATH_SITE.DS.'administrator'.DS.'language'.DS.'en-GB'.DS.'en-GB.plg_system_magiczoomplus.sys.ini')) {
        JFile::delete(JPATH_SITE.DS.'administrator'.DS.'language'.DS.'en-GB'.DS.'en-GB.plg_system_magiczoomplus.sys.ini');
    }
    if(is_dir(JPATH_SITE.DS.'media'.DS.'plg_system_magiczoomplus')) {
        JFolder::delete(JPATH_SITE.DS.'media'.DS.'plg_system_magiczoomplus');
    }
    if(version_compare(JVERSION, '1.6.0', '<')) {
        if(is_dir(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus_classes')) {
            JFolder::delete(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus_classes');
        }
        if(is_file(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus.php')) {
            JFile::delete(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus.php');
        }
        if(is_file(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus.xml')) {
            JFile::delete(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus.xml');
        }
    } else {
        if(is_dir(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus')) {
            JFolder::delete(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'magiczoomplus');
        }
    }


    //if(is_dir(JPATH_SITE.DS.'media'.DS.'com_magiczoomplus')) {
    //    JFolder::delete(JPATH_SITE.DS.'media'.DS.'com_magiczoomplus');
    //}

    echo '<div style="background-color: #C3D2E5;">
          <p style="color: #0055BB;font-weight: bold;">'.JText::_('COM_MAGICZOOMPLUS_UNINSTALL_TEXT').'</p>
          </div>';

    sendJoomlaMagiczoomplusModuleStat('uninstall');
    return true;

}

class com_magiczoomplusInstallerScript {

    function preflight($type, $parent) {
        return true;
    }

    function install($parent) {
        return installMagiczoomplusForJoomla();
    }

    function update($parent) {
        return installMagiczoomplusForJoomla();
    }

    function uninstall($parent) {
        return uninstallMagiczoomplusForJoomla();
    }

    function postflight($type, $parent) {
        return true;
    }

}

function sendJoomlaMagiczoomplusModuleStat($action = '') {

    //NOTE: don't send from working copy
    if('working' == 'v3.3.6' || 'working' == 'v5.2.5') {
        return;
    }

    /* 

    $hostname = 'www.magictoolbox.com';

    $url = $_SERVER['HTTP_HOST'].JURI::root(true);
    $url = urlencode(urldecode($url));

    if(class_exists('joomlaVersion')) {
        //old joomla, 1.0.x
        $versionObj = new joomlaVersion();
    } elseif(class_exists('JVersion')) {
        $versionObj = new JVersion();
    } else {
        return;
    }

    $platformVersion = $versionObj->getShortVersion();

    $path = "api/stat/?action={$action}&tool_name=magiczoomplus&license=trial&tool_version=v5.2.5&module_version=v3.3.6&platform_name=joomla&platform_version={$platformVersion}&url={$url}";

    $handle = @fsockopen('ssl://' . $hostname, 443, $errno, $errstr, 30);
    if($handle) {
        $headers = "GET /{$path} HTTP/1.1\r\n";
        $headers .= "Host: {$hostname}\r\n";
        $headers .= "Connection: Close\r\n\r\n";
        fwrite($handle, $headers);
        fclose($handle);
    }

    */

}