!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.68 (Linux) PHP/7.4.33. PHP/7.4.33 

uname -a: Linux bjb2293782.nichost.ru 6.6.151-1.el8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Aug 10
11:16:02 MSK 2026 x86_64
 

uid=12584(bjb2293782) gid=12584(bjb2293782) groups=12584(bjb2293782)  

Safe-mode: OFF (not secure)

/usr/share/php/Composer/Util/   drwxr-xr-x
Free 60.23 GB of 99.95 GB (60.26%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     SyncHelper.php (2.71 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php declare(strict_types=1);

/*
 * This file is part of Composer.
 *
 * (c) Nils Adermann <naderman@naderman.de>
 *     Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Composer\Util;

use 
Composer\Downloader\DownloaderInterface;
use 
Composer\Downloader\DownloadManager;
use 
Composer\Package\PackageInterface;
use 
React\Promise\PromiseInterface;

class 
SyncHelper
{
    
/**
     * Helps you download + install a single package in a synchronous way
     *
     * This executes all the required steps and waits for promises to complete
     *
     * @param Loop                                $loop        Loop instance which you can get from $composer->getLoop()
     * @param DownloaderInterface|DownloadManager $downloader  DownloadManager instance or Downloader instance you can get from $composer->getDownloadManager()->getDownloader('zip') for example
     * @param string                              $path        The installation path for the package
     * @param PackageInterface                    $package     The package to install
     * @param PackageInterface|null               $prevPackage The previous package if this is an update and not an initial installation
     */
    
public static function downloadAndInstallPackageSync(Loop $loop$downloaderstring $pathPackageInterface $package, ?PackageInterface $prevPackage null): void
    
{
        
assert($downloader instanceof DownloaderInterface || $downloader instanceof DownloadManager);

        
$type $prevPackage !== null 'update' 'install';

        try {
            
self::await($loop$downloader->download($package$path$prevPackage));

            
self::await($loop$downloader->prepare($type$package$path$prevPackage));

            if (
$type === 'update' && $prevPackage !== null) {
                
self::await($loop$downloader->update($package$prevPackage$path));
            } else {
                
self::await($loop$downloader->install($package$path));
            }
        } catch (\
Exception $e) {
            
self::await($loop$downloader->cleanup($type$package$path$prevPackage));
            throw 
$e;
        }

        
self::await($loop$downloader->cleanup($type$package$path$prevPackage));
    }

    
/**
     * Waits for a promise to resolve
     *
     * @param Loop                  $loop    Loop instance which you can get from $composer->getLoop()
     * @phpstan-param PromiseInterface<mixed>|null $promise
     */
    
public static function await(Loop $loop, ?PromiseInterface $promise null): void
    
{
        if (
$promise !== null) {
            
$loop->wait([$promise]);
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0046 ]--