__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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) 2021 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\CMS\Console;

use Joomla\CMS\Application\ConsoleApplication;
use Joomla\CMS\Factory;
use Joomla\Component\Scheduler\Administrator\Model\TaskModel;
use Joomla\Component\Scheduler\Administrator\Table\TaskTable;
use Joomla\Component\Scheduler\Administrator\Task\Task;
use Joomla\Console\Application;
use Joomla\Console\Command\AbstractCommand;
use Joomla\Utilities\ArrayHelper;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;

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

/**
 * Console command to change the state of tasks.
 *
 * @since 4.1.0
 */
class TasksStateCommand extends AbstractCommand
{
    /**
     * The default command name
     *
     * @var    string
     * @since  4.1.0
     */
    protected static $defaultName = 'scheduler:state';

    /**
     * The console application object
     *
     * @var Application
     *
     * @since 4.1.0
     */
    protected $application;

    /**
     * @var SymfonyStyle
     *
     * @since  4.1.0
     */
    private $ioStyle;

    /**
     * Internal function to execute the command.
     *
     * @param   InputInterface   $input   The input to inject into the command.
     * @param   OutputInterface  $output  The output to inject into the command.
     *
     * @return  integer  The command exit code
     *
     * @since   4.1.0
     * @throws \Exception
     */
    protected function doExecute(InputInterface $input, OutputInterface $output): int
    {
        Factory::getApplication()->getLanguage()->load('joomla', JPATH_ADMINISTRATOR);

        $this->configureIO($input, $output);
        $this->ioStyle->title('Change Task State');

        $id    = (string) $input->getOption('id');
        $state = (string) $input->getOption('state');

        // Try to validate and process ID, if passed
        if (\strlen($id)) {
            if (!Task::isValidId($id)) {
                $this->ioStyle->error('Invalid id passed!');

                return 2;
            }

            $id = (is_numeric($id)) ? ($id + 0) : $id;
        }

        // Try to validate and process state, if passed
        if (\strlen($state)) {
            // If we get the logical state, we try to get the enumeration (but as a string)
            if (!is_numeric($state)) {
                $state = (string) ArrayHelper::arraySearch($state, Task::STATE_MAP);
            }

            if (!\strlen($state) || !Task::isValidState($state)) {
                $this->ioStyle->error('Invalid state passed!');

                return 2;
            }
        }

        // If we didn't get ID as a flag, ask for it interactively
        while (!Task::isValidId($id)) {
            $id = $this->ioStyle->ask('Please specify the ID of the task');
        }

        // If we didn't get state as a flag, ask for it interactively
        while ($state === false || !Task::isValidState($state)) {
            $state = (string) $this->ioStyle->ask('Should the state be "enable" (1), "disable" (0) or "trash" (-2)');

            // Ensure we have the enumerated value (still as a string)
            $state = (Task::isValidState($state)) ? $state : ArrayHelper::arraySearch($state, Task::STATE_MAP);
        }

        // Finally, the enumerated state and id in their pure form
        $state = (int) $state;
        $id    = (int) $id;

        /** @var ConsoleApplication $app */
        $app = $this->getApplication();

        /** @var TaskModel $taskModel */
        $taskModel = $app->bootComponent('com_scheduler')->getMVCFactory()->createModel('Task', 'Administrator');

        $task = $taskModel->getItem($id);

        // We couldn't fetch that task :(
        if (empty($task->id)) {
            $this->ioStyle->error("Task ID '{$id}' does not exist!");

            return 1;
        }

        // If the item is checked-out we need a check in (currently not possible through the CLI)
        if ($taskModel->isCheckedOut($task)) {
            $this->ioStyle->error("Task ID '{$id}' is checked out!");

            return 1;
        }

        /** @var TaskTable $table */
        $table = $taskModel->getTable();

        $action = Task::STATE_MAP[$state];

        if (!$table->publish($id, $state)) {
            $this->ioStyle->error("Can't {$action} Task ID '{$id}'");

            return 3;
        }

        $this->ioStyle->success("Task ID {$id} {$action}.");

        return 0;
    }

    /**
     * Configure the IO.
     *
     * @param   InputInterface   $input   The input to inject into the command.
     * @param   OutputInterface  $output  The output to inject into the command.
     *
     * @return  void
     *
     * @since  4.1.0
     */
    private function configureIO(InputInterface $input, OutputInterface $output): void
    {
        $this->ioStyle = new SymfonyStyle($input, $output);
    }

    /**
     * Configure the command.
     *
     * @return  void
     *
     * @since   4.1.0
     */
    protected function configure(): void
    {
        $this->addOption('id', 'i', InputOption::VALUE_REQUIRED, 'The id of the task to change state.');
        $this->addOption('state', 's', InputOption::VALUE_REQUIRED, 'The new state of the task, can be 1/enable, 0/disable, or -2/trash.');

        $help = "<info>%command.name%</info> changes the state of a task.
		\nUsage: <info>php %command.full_name%</info>";

        $this->setDescription('Enable, disable or trash a scheduled task');
        $this->setHelp($help);
    }
}

Filemanager

Name Type Size Permission Actions
Loader Folder 0775
AddUserCommand.php File 8.49 KB 0664
AddUserToGroupCommand.php File 7.98 KB 0664
ChangeUserPasswordCommand.php File 4.32 KB 0664
CheckJoomlaUpdatesCommand.php File 4.81 KB 0664
CheckUpdatesCommand.php File 3.36 KB 0664
CleanCacheCommand.php File 2.68 KB 0664
CoreUpdateChannelCommand.php File 5.05 KB 0664
DeleteUserCommand.php File 5.72 KB 0664
ExtensionDiscoverCommand.php File 3.51 KB 0664
ExtensionDiscoverInstallCommand.php File 6.38 KB 0664
ExtensionDiscoverListCommand.php File 2.89 KB 0664
ExtensionInstallCommand.php File 5.82 KB 0664
ExtensionRemoveCommand.php File 5.84 KB 0664
ExtensionsListCommand.php File 6.03 KB 0664
FinderIndexCommand.php File 15.36 KB 0664
GetConfigurationCommand.php File 8.81 KB 0664
ListUserCommand.php File 3.85 KB 0664
MaintenanceDatabaseCommand.php File 4.7 KB 0664
RemoveOldFilesCommand.php File 4.74 KB 0664
RemoveUserFromGroupCommand.php File 8.67 KB 0664
SessionGcCommand.php File 3.62 KB 0664
SessionMetadataGcCommand.php File 2.87 KB 0664
SetConfigurationCommand.php File 11.95 KB 0664
SiteCreatePublicFolderCommand.php File 4.41 KB 0664
SiteDownCommand.php File 2.84 KB 0664
SiteUpCommand.php File 2.82 KB 0664
TasksListCommand.php File 4.08 KB 0664
TasksRunCommand.php File 5.08 KB 0664
TasksStateCommand.php File 5.71 KB 0664
UpdateCoreCommand.php File 13.54 KB 0664
Filemanager