!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/home/mnnews/public_html/login/phpmyadmin/libraries/sql-parser/src/Statements/   drwxr-xr-x
Free 1.91 GB of 27.03 GB (7.05%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/**
* `ALTER` statement.
*
* @package    SqlParser
* @subpackage Statements
*/
namespace SqlParserStatements;

use
SqlParserParser;
use
SqlParserStatement;
use
SqlParserToken;
use
SqlParserTokensList;
use
SqlParserComponentsAlterOperation;
use
SqlParserComponentsExpression;
use
SqlParserComponentsOptionsArray;

/**
* `ALTER` statement.
*
* @category   Statements
* @package    SqlParser
* @subpackage Statements
* @author     Dan Ungureanu <udan1107@gmail.com>
* @license    http://opensource.org/licenses/GPL-2.0 GNU Public License
*/
class AlterStatement extends Statement
{

    
/**
     * Table affected.
     *
     * @var Expression
     */
    
public $table;

    
/**
     * Column affected by this statement.
     *
     * @var AlterOperation[]
     */
    
public $altered = array();

    
/**
     * Options of this statement.
     *
     * @var array
     */
    
public static $OPTIONS = array(
        
'ONLINE'                        => 1,
        
'OFFLINE'                       => 1,
        
'IGNORE'                        => 2,
    );

    
/**
     * @param Parser     $parser The instance that requests parsing.
     * @param TokensList $list   The list of tokens to be parsed.
     *
     * @return void
     */
    
public function parse(Parser $parser, TokensList $list)
    {
        ++
$list->idx; // Skipping `ALTER`.
        
$this->options = OptionsArray::parse(
            
$parser,
            
$list,
            static::
$OPTIONS
        
);

        
// Skipping `TABLE`.
        
$list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'TABLE');

        
// Parsing affected table.
        
$this->table = Expression::parse(
            
$parser, $list, array(
            
'noAlias' => true,
            
'noBrackets' => true,
            )
        );
        ++
$list->idx; // Skipping field.

        /**
         * The state of the parser.
         *
         * Below are the states of the parser.
         *
         *      0 -----------------[ alter operation ]-----------------> 1
         *
         *      1 -------------------------[ , ]-----------------------> 0
         *
         * @var int $state
         */
        
$state = 0;

        for (;
$list->idx < $list->count; ++$list->idx) {

            
/**
             * Token parsed at this moment.
             *
             * @var Token $token
             */
            
$token = $list->tokens[$list->idx];

            
// End of statement.
            
if ($token->type === Token::TYPE_DELIMITER) {
                break;
            }

            
// Skipping whitespaces and comments.
            
if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
                continue;
            }

            if (
$state === 0) {
                
$this->altered[] = AlterOperation::parse($parser, $list);
                
$state = 1;
            } else if (
$state === 1) {
                if ((
$token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) {
                    
$state = 0;
                }
            }
        }
    }

    
/**
     * @return string
     */
    
public function build()
    {
        
$tmp = array();
        foreach (
$this->altered as $altered) {
            
$tmp[] = $altered::build($altered);
        }

        return
'ALTER ' . OptionsArray::build($this->options)
            .
' TABLE ' . Expression::build($this->table)
            .
' ' . implode(', ', $tmp);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0044 ]--