Your IP : 216.73.216.231


Current Path : /home/digilove/public_html/components/com_payzito/packages/payzito_loader/
Upload File :
Current File : /home/digilove/public_html/components/com_payzito/packages/payzito_loader/payzito_loader.php

<?php

defined('_JEXEC') OR die('Payzito Joomla Restricted Access');

class plgSystemPayzito_loader extends JPlugin
{
    function __construct(&$subject,$config)
    {
        parent::__construct($subject,$config);
    }

    public function onAfterInitialise()
    {
        $this->handleEvents('onAfterInitialise');
    }

    function onAfterRoute()
    {
        $this->handleEvents('onAfterRoute');
    }

    public function onAfterRender()
    {
        $this->handleEvents('onAfterRender');
    }

    function onExtensionAfterSave()
    {
        $this->handleEvents('onExtensionAfterSave');
    }

    function onGetIcons()
    {
        $this->handleEvents('onGetIcons');
    }

    function onInstallerBeforePackageDownload(&$url,&$headers)
    {
        list($url,$headers) = $this->handleEvents('onInstallerBeforePackageDownload',[$url,$headers]);
    }

    function onPageCacheIsExcluded()
    {
        if(JFactory::getApplication()->input->getCmd('option') == 'com_payzito')
        {
            return true;
        }
    }

    private function handleEvents($event,$params=[])
    {
        if(!$this->isInInstallArea())
        {
            @include JPATH_ROOT.str_replace('/',DIRECTORY_SEPARATOR,'/components/com_payzito/includes/libraries/base.php');
            if(!class_exists('PAConnector'))
            {
                return false;
            }

            return PAConnector::handleEvents($event,$params);
        }
        elseif($event == 'onAfterInitialise')
        {
            @include_once JPATH_ROOT.str_replace('/',DIRECTORY_SEPARATOR,'/components/com_payzito/includes/setup/setup.php');
            PASetup::apply();
            return true;
        }
        else
        {
            return $params;
        }
    }

    private function isInInstallArea()
    {
        if($this->isBackend())
        {
            $app = JFactory::getApplication();

            if(
                $app->getSession()->get('payzito_setup_ready') ||
                isset($GLOBALS['payzito_setup_ready']) ||
                isset($_POST['PAAction'])
            )
            {
                return true;
            }
        }
        return false;
    }

    private function isBackend()
    {
        $app = JFactory::getApplication();

        if(version_compare(JVERSION,'4.0.0','>='))
        {
            return $app->isClient('administrator');
        }
        else
        {
            return $app->isAdmin();
        }
    }
}