403Webshell
Server IP : 104.21.84.107  /  Your IP : 104.23.197.209
Web Server : Apache/2.4.63 (Ubuntu)
System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.4.5
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/icaoc/libraries/src/Toolbar/Button/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/icaoc/libraries/src/Toolbar/Button/DropdownButton.php
<?php

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

namespace Joomla\CMS\Toolbar\Button;

use Joomla\CMS\Toolbar\ToolbarButton;

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

/**
 * Render dropdown buttons.
 *
 * @method self toggleSplit(bool $value)
 * @method self toggleButtonClass(string $value)
 * @method bool getToggleSplit()
 * @method string getToggleButtonClass()
 *
 * @since  4.0.0
 */
class DropdownButton extends AbstractGroupButton
{
    /**
     * Property layout.
     *
     * @var    string
     * @since  4.0.0
     */
    protected $layout = 'joomla.toolbar.dropdown';

    /**
     * Prepare options for this button.
     *
     * @param   array  $options  The options about this button.
     *
     * @return  void
     *
     * @since   4.0.0
     * @throws  \Exception
     */
    protected function prepareOptions(array &$options)
    {
        parent::prepareOptions($options);

        $childToolbar          = $this->getChildToolbar();
        $options['hasButtons'] = \count($childToolbar->getItems()) > 0;
        $buttons               = $childToolbar->getItems();

        if ($options['hasButtons']) {
            if ($this->getOption('toggleSplit', true)) {
                /** @var ToolbarButton $button */
                $button = array_shift($buttons);

                $childToolbar->setItems($buttons);

                $options['button']        = $button->render();
                $options['caretClass']    = $options['toggleButtonClass'] ?? $button->getButtonClass();
                $options['dropdownItems'] = $childToolbar->render(['is_child' => true]);
            } else {
                $options['dropdownItems'] = $childToolbar->render(['is_child' => true]);

                $button = new BasicButton($this->getName(), $this->getText(), $options);

                $options['button'] = $button
                    ->setParent($this->parent)
                    ->buttonClass($button->getButtonClass() . ' dropdown-toggle')
                    ->attributes(
                        [
                            'data-bs-toggle' => 'dropdown',
                            'data-bs-target' => '#' . $this->fetchId(),
                            'aria-haspopup'  => 'true',
                            'aria-expanded'  => 'false',
                        ]
                    )
                    ->render();
            }
        }
    }

    /**
     * Get the button CSS Id.
     *
     * @return  string  Button CSS Id
     *
     * @since   4.0.0
     */
    protected function fetchId()
    {
        return $this->parent->getName() . '-dropdown-' . $this->getName();
    }

    /**
     * Method to configure available option accessors.
     *
     * @return  array
     *
     * @since   4.0.0
     */
    protected static function getAccessors(): array
    {
        return array_merge(
            parent::getAccessors(),
            [
                'toggleSplit',
                'toggleButtonClass',
            ]
        );
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit