__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2021 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/

use Joomla\CMS\Factory;
use Joomla\CMS\Installer\Installer;

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

class com_sppagebuilderInstallerScript {
  
  /**
  * method to uninstall the component
  *
  * @return void
  */
  
  public function uninstall($parent)
  {
    $db = Factory::getDBO();
    $status = new stdClass;
    $status->modules = array();
    $manifest = $parent->getParent()->manifest;
    
    // Uninstall Plugins
    $plugins = $manifest->xpath('plugins/plugin');
    
    foreach ($plugins as $plugin)
    {
      $name = (string)$plugin->attributes()->name;
      $group = (string)$plugin->attributes()->group;
      
      $db = Factory::getDbo();
      $query = $db->getQuery(true);
      $query->select($db->quoteName(array('extension_id')));
      $query->from($db->quoteName('#__extensions'));
      $query->where($db->quoteName('type') . ' = '. $db->quote('plugin'));
      $query->where($db->quoteName('element') . ' = '. $db->quote($name));
      $query->where($db->quoteName('folder') . ' = '. $db->quote($group));
      $db->setQuery($query);
      $extensions = $db->loadColumn();
      
      if (count((array) $extensions))
      {
        foreach ($extensions as $id)
        {
          $installer = new Installer;
          $result = $installer->uninstall('plugin', $id);
        }
        $status->plugins[] = array('name' => $name, 'result' => $result);
      }
    }
    
    // Uninstall Modules
    $modules = $manifest->xpath('modules/module');
    foreach ($modules as $module)
    {
      $name = (string)$module->attributes()->module;
      $client = (string)$module->attributes()->client;
      $db = Factory::getDBO();
      $query = "SELECT `extension_id` FROM `#__extensions` WHERE `type`='module' AND element = ".$db->Quote($name)."";
      $db->setQuery($query);
      $extensions = $db->loadColumn();
      if (count((array) $extensions))
      {
        foreach ($extensions as $id)
        {
          $installer = new Installer;
          $result = $installer->uninstall('module', $id);
        }
        $status->modules[] = array('name' => $name, 'client' => $client, 'result' => $result);
      }
    }
  }
  
  /**
  * method to run after an install/update/uninstall method
  *
  * @return void
  */
  
  public function postflight($type, $parent) {

    if ($type == 'uninstall')
    {
      return true;
    }

    $db = Factory::getDbo();
    $status = new stdClass;
    $status->modules = array();
    $src = $parent->getParent()->getPath('source');
    $manifest = $parent->getParent()->manifest;

    // Install Plugins
    $plugins = $manifest->xpath('plugins/plugin');
    foreach ($plugins as $plugin) {
      $name = (string)$plugin->attributes()->name;
      $group = (string)$plugin->attributes()->group;
      $activate = (string)$plugin->attributes()->activate;
      $path = $src . '/plugins/' . $group . '/' . $name;

      $installer = new Installer;
      $result = $installer->install($path);

      if ($result && $activate == "true") {
        $db = Factory::getDbo();
        $query = $db->getQuery(true);
        $fields = array($db->quoteName('enabled') . ' = 1');

        $conditions = array(
          $db->quoteName('type') . ' = ' . $db->quote('plugin'),
          $db->quoteName('element') . ' = ' . $db->quote($name),
          $db->quoteName('folder') . ' = ' . $db->quote($group)
        );

        $query->update($db->quoteName('#__extensions'))->set($fields)->where($conditions);
        $db->setQuery($query);
        $db->execute();
      }
    }
    
    // Install Modules
    $modules = $manifest->xpath('modules/module');
    foreach ($modules as $module)
    {
      $name = (string)$module->attributes()->module;
      $client = (string)$module->attributes()->client;
      $path = $src . '/modules/' . $client . '/' . $name;
      
      $activate = (string)$module->attributes()->activate;
      $position = (isset($module->attributes()->position) && $module->attributes()->position) ? (string)$module->attributes()->position : '';
      $ordering = (isset($module->attributes()->ordering) && $module->attributes()->ordering) ? (string)$module->attributes()->ordering : 0;
      $platform = (isset($module->attributes()->platform) && $module->attributes()->platform) ? (string)$module->attributes()->platform : 'universal';

      if($platform == 'joomla3' && JVERSION >= 4)
      {
        return;
      }
      
      $installer = new Installer;
      $result = $installer->install($path);
      
      if($client == 'administrator')
      {
        // check module status
        $db = Factory::getDbo();
        $query = $db->getQuery(true);
        $fields = array();

        $fields[] = $db->quoteName('published') . ' = 1 ';

        if ($position)
        {
          $fields[] = $db->quoteName('position') . ' = ' . $db->quote($position);
        }

        if ($ordering)
        {
          $fields[] = $db->quoteName('ordering') . ' = ' . $db->quote($ordering);
        }

        $conditions = array(
          $db->quoteName('module') . ' = ' . $db->quote($name)
        );

        $query->update($db->quoteName('#__modules'))->set($fields)->where($conditions);
        $db->setQuery($query);
        $db->execute();
        
        // Retrive ID
        $db = Factory::getDbo();
        $query = $db->getQuery(true);
        $query->select($db->quoteName(array('id')));
        $query->from($db->quoteName('#__modules'));
        $query->where($db->quoteName('module') . ' = ' . $db->quote($name));
        $db->setQuery($query);
        $id = (int) $db->loadResult();
        
        if($id) {
          $db = Factory::getDbo();
          $db->setQuery("INSERT IGNORE INTO #__modules_menu (`moduleid`,`menuid`) VALUES (".$id.", 0)");
          $db->execute();
        }
      }
    }
  }
}

Filemanager

Name Type Size Permission Actions
assets Folder 0775
controllers Folder 0775
helpers Folder 0775
models Folder 0775
sql Folder 0775
tables Folder 0775
views Folder 0775
access.xml File 1.69 KB 0664
config.xml File 2.46 KB 0664
controller.php File 1.87 KB 0664
installer.script.php File 5.91 KB 0664
sppagebuilder.php File 825 B 0664
sppagebuilder.xml File 2.42 KB 0664
Filemanager