!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/plugins/transformations/abstract/   drwxr-xr-x
Free 1.92 GB of 27.03 GB (7.09%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     DateFormatTransformationsPlugin.class.php (5.39 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Abstract class for the date format transformations plugins
*
* @package    PhpMyAdmin-Transformations
* @subpackage DateFormat
*/
if (! defined('PHPMYADMIN')) {
    exit;
}

/* Get the transformations interface */
require_once 'libraries/plugins/TransformationsPlugin.class.php';

/**
* Provides common methods for all of the date format transformations plugins.
*
* @package PhpMyAdmin
*/
abstract class DateFormatTransformationsPlugin extends TransformationsPlugin
{
    
/**
     * Gets the transformation description of the specific plugin
     *
     * @return string
     */
    
public static function getInfo()
    {
        return
__(
            
'Displays a TIME, TIMESTAMP, DATETIME or numeric unix timestamp'
            
. ' column as formatted date. The first option is the offset (in'
            
. ' hours) which will be added to the timestamp (Default: 0). Use'
            
. ' second option to specify a different date/time format string.'
            
. ' Third option determines whether you want to see local date or'
            
. ' UTC one (use "local" or "utc" strings) for that. According to'
            
. ' that, date format has different value - for "local" see the'
            
. ' documentation for PHP\'s strftime() function and for "utc" it'
            
. ' is done using gmdate() function.'
        
);
    }

    
/**
     * Does the actual work of each specific transformations plugin.
     *
     * @param string $buffer  text to be transformed
     * @param array  $options transformation options
     * @param string $meta    meta information
     *
     * @return string
     */
    
public function applyTransformation($buffer, $options = array(), $meta = '')
    {
        
// possibly use a global transform and feed it with special options

        // further operations on $buffer using the $options[] array.
        
if (empty($options[0])) {
            
$options[0] = 0;
        }

        if (empty(
$options[2])) {
            
$options[2] = 'local';
        } else {
            
$options[2] = /*overload*/mb_strtolower($options[2]);
        }

        if (empty(
$options[1])) {
            if (
$options[2] == 'local') {
                
$options[1] = __('%B %d, %Y at %I:%M %p');
            } else {
                
$options[1] = 'Y-m-d  H:i:s';
            }
        }

        
$timestamp = -1;

        
// INT columns will be treated as UNIX timestamps
        // and need to be detected before the verification for
        // MySQL TIMESTAMP
        
if ($meta->type == 'int') {
            
$timestamp = $buffer;

            
// Detect TIMESTAMP(6 | 8 | 10 | 12 | 14)
            // TIMESTAMP (2 | 4) not supported here.
            // (Note: prior to MySQL 4.1, TIMESTAMP has a display size
            // for example TIMESTAMP(8) means YYYYMMDD)
        
} else if (preg_match('/^(\d{2}){3,7}$/', $buffer)) {

            if (
/*overload*/mb_strlen($buffer) == 14
                
|| /*overload*/mb_strlen($buffer) == 8
            
) {
                
$offset = 4;
            } else {
                
$offset = 2;
            }

            
$aDate = array();
            
$aDate['year']   = (int)/*overload*/mb_substr($buffer, 0, $offset);
            
$aDate['month']  = (int)/*overload*/mb_substr($buffer, $offset, 2);
            
$aDate['day']    = (int)/*overload*/mb_substr($buffer, $offset + 2, 2);
            
$aDate['hour']   = (int)/*overload*/mb_substr($buffer, $offset + 4, 2);
            
$aDate['minute'] = (int)/*overload*/mb_substr($buffer, $offset + 6, 2);
            
$aDate['second'] = (int)/*overload*/mb_substr($buffer, $offset + 8, 2);

            if (
checkdate($aDate['month'], $aDate['day'], $aDate['year'])) {
                
$timestamp = mktime(
                    
$aDate['hour'],
                    
$aDate['minute'],
                    
$aDate['second'],
                    
$aDate['month'],
                    
$aDate['day'],
                    
$aDate['year']
                );
            }
            
// If all fails, assume one of the dozens of valid strtime() syntaxes
            // (http://www.gnu.org/manual/tar-1.12/html_chapter/tar_7.html)
        
} else {
            if (
preg_match('/^[0-9]\d{1,9}$/', $buffer)) {
                
$timestamp = (int)$buffer;
            } else {
                
$timestamp = strtotime($buffer);
            }
        }

        
// If all above failed, maybe it's a Unix timestamp already?
        
if ($timestamp < 0 && preg_match('/^[1-9]\d{1,9}$/', $buffer)) {
            
$timestamp = $buffer;
        }

        
// Reformat a valid timestamp
        
if ($timestamp >= 0) {
            
$timestamp -= $options[0] * 60 * 60;
            
$source = $buffer;
            if (
$options[2] == 'local') {
                
$text = PMA_Util::localisedDate(
                    
$timestamp,
                    
$options[1]
                );
            } elseif (
$options[2] == 'utc') {
                
$text = gmdate($options[1], $timestamp);
            } else {
                
$text = 'INVALID DATE TYPE';
            }
            
$buffer = '<dfn onclick="alert(\'' . $source . '\');" title="'
                
. $source . '">' . $text . '</dfn>';
        }

        return
$buffer;
    }

    
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */


    /**
     * Gets the transformation name of the specific plugin
     *
     * @return string
     */
    
public static function getName()
    {
        return
"Date Format";
    }
}

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