Your IP : 10.10.0.253


Current Path : /var/www/administrator/components/com_jw_disqus/
Upload File :
Current File : /var/www/administrator/components/com_jw_disqus/script.jw_disqus.php

<?php
/**
 * @version    3.7.0
 * @package    Disqus Comments (for Joomla)
 * @author     JoomlaWorks - https://www.joomlaworks.net
 * @copyright  Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
 * @license    https://www.joomlaworks.net/license
 */

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

class Com_jw_disqusInstallerScript
{
    public function postflight($type, $parent)
    {
        $db = JFactory::getDBO();
        $db->setQuery("UPDATE #__extensions SET enabled = 0 WHERE client_id = 1 AND element = ".$db->Quote($parent->get('element')));
        $db->query();
        $status = new stdClass;
        $status->plugins = array();
        $src = $parent->getParent()->getPath('source');
        $manifest = $parent->getParent()->manifest;
        $plugins = $manifest->xpath('plugins/plugin');
        foreach ($plugins as $plugin) {
            $name = (string)$plugin->attributes()->plugin;
            $group = (string)$plugin->attributes()->group;
            $path = $src.'/plugins/'.$group.'/'.$name;
            $installer = new JInstaller;
            $result = $installer->install($path);
            if ($result) {
                if (JFile::exists(JPATH_SITE.'/plugins/'.$group.'/'.$name.'/'.$name.'.xml')) {
                    JFile::delete(JPATH_SITE.'/plugins/'.$group.'/'.$name.'/'.$name.'.xml');
                }
                JFile::move(JPATH_SITE.'/plugins/'.$group.'/'.$name.'/'.$name.'.j25.xml', JPATH_SITE.'/plugins/'.$group.'/'.$name.'/'.$name.'.xml');
            }
            $query = "UPDATE #__extensions SET enabled=1, ordering=99 WHERE type='plugin' AND element=".$db->Quote($name)." AND folder=".$db->Quote($group);
            $db->setQuery($query);
            $db->query();
            $status->plugins[] = array('name' => $name, 'group' => $group, 'result' => $result);
        }
        $this->installationResults($status);
    }
    public function uninstall($parent)
    {
        $db = JFactory::getDBO();
        $status = new stdClass;
        $status->plugins = array();
        $manifest = $parent->getParent()->manifest;
        $plugins = $manifest->xpath('plugins/plugin');
        foreach ($plugins as $plugin) {
            $name = (string)$plugin->attributes()->plugin;
            $group = (string)$plugin->attributes()->group;
            $query = "SELECT `extension_id` FROM #__extensions WHERE `type`='plugin' AND element = ".$db->Quote($name)." AND folder = ".$db->Quote($group);
            $db->setQuery($query);
            $extensions = $db->loadColumn();
            if (count($extensions)) {
                foreach ($extensions as $id) {
                    $installer = new JInstaller;
                    $result = $installer->uninstall('plugin', $id);
                }
                $status->plugins[] = array('name' => $name, 'group' => $group, 'result' => $result);
            }
        }
        $this->uninstallationResults($status);
    }

    private function installationResults($status)
    {
        $language = JFactory::getLanguage();
        $language->load('com_jw_disqus');
        $rows = 0; ?>
		<style>
			@import url("https://unpkg.com/purecss@1.0.0/build/pure-min.css");
			.pure-table {width:80%;}
		</style>

		<h2><?php echo JText::_('COM_JW_DISQUS_INSTALLATION_STATUS'); ?></h2>
		<table class="pure-table pure-table-striped">
			<thead>
				<tr>
					<th colspan="2"><?php echo JText::_('COM_JW_DISQUS_EXTENSION'); ?></th>
					<th><?php echo JText::_('COM_JW_DISQUS_STATUS'); ?></th>
				</tr>
			</thead>
			<tfoot>
				<tr>
					<td colspan="3"></td>
				</tr>
			</tfoot>
			<tbody>
				<tr>
					<td colspan="2"><?php echo JText::_('COM_JW_DISQUS_COMPONENT'); ?></td>
					<td><strong><?php echo JText::_('COM_JW_DISQUS_INSTALLED'); ?></strong></td>
				</tr>
				<?php if (count($status->plugins)): ?>
				<tr>
					<td><?php echo JText::_('COM_JW_DISQUS_PLUGIN'); ?></td>
					<td><?php echo JText::_('COM_JW_DISQUS_GROUP'); ?></td>
					<td></td>
				</tr>
				<?php foreach ($status->plugins as $plugin): ?>
				<tr>
					<td><?php echo ucfirst($plugin['name']); ?></td>
					<td><?php echo ucfirst($plugin['group']); ?></td>
					<td><strong><?php echo ($plugin['result']) ? JText::_('COM_JW_DISQUS_INSTALLED') : JText::_('COM_JW_DISQUS_NOT_INSTALLED'); ?></strong></td>
				</tr>
				<?php endforeach; ?>
				<?php endif; ?>
			</tbody>
		</table>
		<?php
    }

    private function uninstallationResults($status)
    {
        $language = JFactory::getLanguage();
        $language->load('com_jw_disqus');
        $rows = 0; ?>
		<style>
			@import url("https://unpkg.com/purecss@1.0.0/build/pure-min.css");
			.pure-table {width:80%;}
		</style>

		<h2><?php echo JText::_('COM_JW_DISQUS_REMOVAL_STATUS'); ?></h2>
		<table class="pure-table pure-table-striped">
			<thead>
				<tr>
					<th colspan="2"><?php echo JText::_('COM_JW_DISQUS_EXTENSION'); ?></th>
					<th><?php echo JText::_('COM_JW_DISQUS_STATUS'); ?></th>
				</tr>
			</thead>
			<tfoot>
				<tr>
					<td colspan="3"></td>
				</tr>
			</tfoot>
			<tbody>
				<tr>
					<td colspan="2"><?php echo JText::_('COM_JW_DISQUS_COMPONENT'); ?></td>
					<td><strong><?php echo JText::_('COM_JW_DISQUS_REMOVED'); ?></strong></td>
				</tr>
				<?php if (count($status->plugins)): ?>
				<tr>
					<td><?php echo JText::_('COM_JW_DISQUS_PLUGIN'); ?></td>
					<td><?php echo JText::_('COM_JW_DISQUS_GROUP'); ?></td>
					<td></td>
				</tr>
				<?php foreach ($status->plugins as $plugin): ?>
				<tr>
					<td><?php echo ucfirst($plugin['name']); ?></td>
					<td><?php echo ucfirst($plugin['group']); ?></td>
					<td><strong><?php echo ($plugin['result']) ? JText::_('COM_JW_DISQUS_REMOVED') : JText::_('COM_JW_DISQUS_NOT_REMOVED'); ?></strong></td>
				</tr>
				<?php endforeach; ?>
				<?php endif; ?>
			</tbody>
		</table>
		<?php
    }
}