!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16. PHP/5.4.16 

uname -a: Linux roko-bkp 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 

uid=48(apache) gid=48(apache) groups=48(apache),1003(webmaster) 

Safe-mode: OFF (not secure)

/var/www/html/site/ipanel/app/core/doctrine/Doctrine/Query/   drwxr-xr-x
Free 9.26 GB of 93.48 GB (9.9%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     JoinCondition.php (6 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 *  $Id: JoinCondition.php 6859 2009-12-05 00:12:51Z kriswallsmith $
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * This software consists of voluntary contributions made by many individuals
 * and is licensed under the LGPL. For more information, see
 * <http://www.phpdoctrine.org>.
 */

/**
 * Doctrine_Query_JoinCondition
 *
 * @package     Doctrine
 * @subpackage  Query
 * @license     http://www.opensource.org/licenses/lgpl-license.php LGPL
 * @link        www.phpdoctrine.org
 * @since       1.0
 * @version     $Revision: 6859 $
 * @author      Konsta Vesterinen <kvesteri@cc.hut.fi>
 */
class Doctrine_Query_JoinCondition extends Doctrine_Query_Condition
{
    public function 
load($condition)
    {
        
$condition trim($condition);
        
$e $this->_tokenizer->sqlExplode($condition);

        foreach (
$e as $k => $v) {
          if ( ! 
$v) {
            unset(
$e[$k]);
          }
        }
        
$e array_values($e);

        if ((
$l count($e)) > 2) {
            
$leftExpr $this->query->parseClause($e[0]);
            
$operator  $e[1];

            if (
$l == 4) {
                
// FIX: "field NOT IN (XXX)" issue
                // Related to ticket #1329
                
$operator .= ' ' $e[2]; // Glue "NOT" and "IN"
                
$e[2] = $e[3]; // Move "(XXX)" to previous index

                
unset($e[3]); // Remove unused index
            
} else if ($l >= 5) {
                
// FIX: "field BETWEEN field2 AND field3" issue
                // Related to ticket #1488
                
$e[2] .= ' ' $e[3] . ' ' $e[4];

                unset(
$e[3], $e[4]); // Remove unused indexes
            
}

            if (
substr(trim($e[2]), 01) != '(') {
                
$expr = new Doctrine_Expression($e[2], $this->query->getConnection());
                
$e[2] = $expr->getSql();
            }

            
// We need to check for agg functions here
            
$rightMatches = array();
            
$hasRightAggExpression $this->_processPossibleAggExpression($e[2], $rightMatches);

            
// Defining needed information
            
$value $e[2];

            if (
substr($value01) == '(') {
                
// trim brackets
                
$trimmed   $this->_tokenizer->bracketTrim($value);
                
$trimmed_upper strtoupper($trimmed);

                if (
substr($trimmed_upper04) == 'FROM' || substr($trimmed_upper06) == 'SELECT') {
                    
// subquery found
                    
$q $this->query->createSubquery()
                        ->
parseDqlQuery($trimmedfalse);
                    
$value   '(' $q->getSqlQuery() . ')';
                    
$q->free();
                } elseif (
substr($trimmed_upper04) == 'SQL:') {
                    
// Change due to bug "(" XXX ")"
                    //$value = '(' . substr($trimmed, 4) . ')';
                    
$value substr($trimmed4);
                } else {
                    
// simple in expression found
                    
$e $this->_tokenizer->sqlExplode($trimmed',');
                    
$value = array();

                    foreach (
$e as $part) {
                        
$value[] = $this->parseLiteralValue($part);
                    }

                    
$value '(' implode(', '$value) . ')';
                }
            } else {
                
// Possible expression found (field1 AND field2)
                // In relation to ticket #1488
                
$e     $this->_tokenizer->bracketExplode($value, array(' AND '' \&\& '), '('')');
                
$value = array();

                foreach (
$e as $part) {
                    
$value[] = $this->parseLiteralValue($part);
                }

                
$value implode(' AND '$value);
            }

            switch (
$operator) {
                case 
'<':
                case 
'>':
                case 
'=':
                case 
'!=':
                default:
                    
$rightExpr = (($hasRightAggExpression) ? $rightMatches[1] . '(' '')
                              . 
$value
                              
. (($hasRightAggExpression) ? ')' $rightMatches[3] : '') ;

                    
$condition  $leftExpr ' ' $operator ' ' $rightExpr;
            }

            return 
$condition;
        }

        
$parser = new Doctrine_Query_Where($this->query$this->_tokenizer);

        return 
$parser->parse($condition);
    }


    protected function 
_processPossibleAggExpression(& $expr, & $matches = array())
    {
        
$hasAggExpr preg_match('/(.*[^\s\(\=])\(([^\)]*)\)(.*)/'$expr$matches);

        if (
$hasAggExpr) {
            
$expr $matches[2];

            
// We need to process possible comma separated items
            
if (substr(trim($matches[3]), 01) == ',') {
                
$xplod $this->_tokenizer->sqlExplode(trim($matches[3], ' )'), ',');

                
$matches[3] = array();

                foreach (
$xplod as $part) {
                    if (
$part != '') {
                        
$matches[3][] = $this->parseLiteralValue($part);
                    }
                }

                
$matches[3] = '), ' implode(', '$matches[3]);
            }
        }

        return 
$hasAggExpr;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0049 ]--