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

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\phpMyAdmin1\   drwxrwxrwx
Free 4.08 GB of 39.52 GB (10.32%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     gis_data_editor.php (15.33 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Editor for Geometry data types.
 *
 * @package PhpMyAdmin
 */

/**
 * Escapes special characters if the variable is set.
 * Returns an empty string otherwise.
 *
 * @param string $variable variable to be escaped
 *
 * @return string escaped variable
 */
function escape($variable)
{
    return isset(
$variable) ? htmlspecialchars($variable) : '';
}

require_once 
'libraries/common.inc.php';
require_once 
'libraries/gis/GIS_Factory.class.php';
require_once 
'libraries/gis/GIS_Visualization.class.php';
require_once 
'libraries/tbl_gis_visualization.lib.php';

// Get data if any posted
$gis_data = array();
if (
PMA_isValid($_REQUEST['gis_data'], 'array')) {
    
$gis_data $_REQUEST['gis_data'];
}

$gis_types = array(
    
'POINT',
    
'MULTIPOINT',
    
'LINESTRING',
    
'MULTILINESTRING',
    
'POLYGON',
    
'MULTIPOLYGON',
    
'GEOMETRYCOLLECTION'
);

// Extract type from the initial call and make sure that it's a valid one.
// Extract from field's values if availbale, if not use the column type passed.
if (! isset($gis_data['gis_type'])) {
    if (isset(
$_REQUEST['type']) && $_REQUEST['type'] != '') {
        
$gis_data['gis_type'] = strtoupper($_REQUEST['type']);
    }
    if (isset(
$_REQUEST['value']) && trim($_REQUEST['value']) != '') {
        
$start = (substr($_REQUEST['value'], 01) == "'") ? 0;
        
$gis_data['gis_type'] = substr(
            
$_REQUEST['value'], $startstrpos($_REQUEST['value'], "(") - $start
        
);
    }
    if ((! isset(
$gis_data['gis_type']))
        || (! 
in_array($gis_data['gis_type'], $gis_types))
    ) {
        
$gis_data['gis_type'] = $gis_types[0];
    }
}
$geom_type $gis_data['gis_type'];

// Generate parameters from value passed.
$gis_obj PMA_GIS_Factory::factory($geom_type);
if (isset(
$_REQUEST['value'])) {
    
$gis_data array_merge(
        
$gis_data$gis_obj->generateParams($_REQUEST['value'])
    );
}

// Generate Well Known Text
$srid = (isset($gis_data['srid']) && $gis_data['srid'] != '')
    ? 
htmlspecialchars($gis_data['srid']) : 0;
$wkt $gis_obj->generateWkt($gis_data0);
$wkt_with_zero $gis_obj->generateWkt($gis_data0'0');
$result "'" $wkt "'," $srid;

// Generate PNG or SVG based visualization
$format = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER <= 8)
    ? 
'png' 'svg';
$visualizationSettings = array(
    
'width' => 450,
    
'height' => 300,
    
'spatialColumn' => 'wkt'
);
$data = array(array('wkt' => $wkt_with_zero'srid' => $srid));
$visualization PMA_GIS_visualizationResults(
    
$data$visualizationSettings$format
);
$open_layers PMA_GIS_visualizationResults($data$visualizationSettings'ol');

// If the call is to update the WKT and visualization make an AJAX response
if (isset($_REQUEST['generate']) && $_REQUEST['generate'] == true) {
    
$extra_data = array(
        
'result'        => $result,
        
'visualization' => $visualization,
        
'openLayers'    => $open_layers,
    );
    
$response PMA_Response::getInstance();
    
$response->addJSON($extra_data);
    exit;
}

ob_start();

echo 
'<form id="gis_data_editor_form" action="gis_data_editor.php" method="post">';
echo 
'<input type="hidden" id="pmaThemeImage"'
    
' value="' $GLOBALS['pmaThemeImage'] . '" />';
echo 
'<div id="gis_data_editor">';

echo 
'<h3>';
printf(
    
__('Value for the column "%s"'),
    
htmlspecialchars($_REQUEST['field'])
);
echo 
'</h3>';

echo 
'<input type="hidden" name="field" value="'
    
htmlspecialchars($_REQUEST['field']) . '" />';
// The input field to which the final result should be added
// and corresponding null checkbox
if (isset($_REQUEST['input_name'])) {
    echo 
'<input type="hidden" name="input_name" value="'
        
htmlspecialchars($_REQUEST['input_name']) . '" />';
}
echo 
PMA_URL_getHiddenInputs();

echo 
'<!-- Visualization section -->';
echo 
'<div id="placeholder" style="width:450px;height:300px;'
    
. ($srid != 'display:none;' '') . '">';
echo 
$visualization;
echo 
'</div>';

echo 
'<div id="openlayersmap" style="width:450px;height:300px;'
    
. ($srid == 'display:none;' '') . '">';
echo 
'</div>';

echo 
'<div class="choice" style="float:right;clear:right;">';
echo 
'<input type="checkbox" id="choice" value="useBaseLayer"'
    
. ($srid != ' checked="checked"' '') . '/>';
echo 
'<label for="choice">' .  __("Use OpenStreetMaps as Base Layer") . '</label>';
echo 
'</div>';

echo 
'<script language="javascript" type="text/javascript">';
echo 
$open_layers;
echo 
'</script>';
echo 
'<!-- End of visualization section -->';


echo 
'<!-- Header section - Inclueds GIS type selector and input field for SRID -->';
echo 
'<div id="gis_data_header">';
echo 
'<select name="gis_data[gis_type]" class="gis_type">';
foreach (
$gis_types as $gis_type) {
    echo 
'<option value="' $gis_type '"';
    if (
$geom_type == $gis_type) {
        echo 
' selected="selected"';
    }
    echo 
'>' $gis_type '</option>';
}
echo 
'</select>';
echo 
'&nbsp;&nbsp;&nbsp;&nbsp;';
/* l10n: Spatial Reference System Identifier */
echo '<label for="srid">' .  __('SRID:') . '</label>';
echo 
'<input name="gis_data[srid]" type="text" value="' $srid '" />';
echo 
'</div>';
echo 
'<!-- End of header section -->';

echo 
'<!-- Data section -->';
echo 
'<div id="gis_data">';

$geom_count 1;
if (
$geom_type == 'GEOMETRYCOLLECTION') {
    
$geom_count = (isset($gis_data[$geom_type]['geom_count']))
        ? 
$gis_data[$geom_type]['geom_count'] : 1;
    if (isset(
$gis_data[$geom_type]['add_geom'])) {
        
$geom_count++;
    }
    echo 
'<input type="hidden" name="gis_data[GEOMETRYCOLLECTION][geom_count]"'
        
' value="' $geom_count '" />';
}

for (
$a 0$a $geom_count$a++) {

    if (
$geom_type == 'GEOMETRYCOLLECTION') {
        echo 
'<br/><br/>';
        
printf(__('Geometry %d:'), $a 1);
        echo 
'<br/>';
        if (isset(
$gis_data[$a]['gis_type'])) {
            
$type $gis_data[$a]['gis_type'];
        } else {
            
$type $gis_types[0];
        }
        echo 
'<select name="gis_data[' $a '][gis_type]" class="gis_type">';
        foreach (
array_slice($gis_types06) as $gis_type) {
            echo 
'<option value="' $gis_type '"';
            if (
$type == $gis_type) {
                echo 
' selected="selected"';
            }
            echo 
'>' $gis_type '</option>';
        }
        echo 
'</select>';
    } else {
        
$type $geom_type;
    }

    if (
$type == 'POINT') {
        echo 
'<br/>';
        echo 
__('Point:');
        echo 
'<label for="x">' __("X") . '</label>';
        echo 
'<input name="gis_data[' $a '][POINT][x]" type="text"'
            
' value="' escape($gis_data[$a]['POINT']['x']) . '" />';
        echo 
'<label for="y">' __("Y") . '</label>';
        echo 
'<input name="gis_data[' $a '][POINT][y]" type="text"'
            
' value="' escape($gis_data[$a]['POINT']['y']) . '" />';

    } elseif (
$type == 'MULTIPOINT' || $type == 'LINESTRING') {
        
$no_of_points = isset($gis_data[$a][$type]['no_of_points'])
            ? 
$gis_data[$a][$type]['no_of_points'] : 1;
        if (
$type == 'LINESTRING' && $no_of_points 2) {
            
$no_of_points 2;
        }
        if (
$type == 'MULTIPOINT' && $no_of_points 1) {
            
$no_of_points 1;
        }

        if (isset(
$gis_data[$a][$type]['add_point'])) {
            
$no_of_points++;
        }
        echo 
'<input type="hidden" value="' $no_of_points '"'
            
' name="gis_data[' $a '][' $type '][no_of_points]" />';

        for (
$i 0$i $no_of_points$i++) {
            echo 
'<br/>';
            
printf(__('Point %d'), $i 1);
            echo 
': ';
            echo 
'<label for="x">' .  __("X") . '</label>';
            echo 
'<input type="text"'
                
' name="gis_data[' $a '][' $type '][' $i '][x]"'
                
' value="' escape($gis_data[$a][$type][$i]['x']) . '" />';
            echo 
'<label for="y">' __("Y") . '</label>';
            echo 
'<input type="text"'
                
' name="gis_data[' $a '][' $type '][' $i '][y]"'
                
' value="' escape($gis_data[$a][$type][$i]['y']) . '" />';
        }
        echo 
'<input type="submit"'
            
' name="gis_data[' $a '][' $type '][add_point]"'
            
' class="add addPoint" value="' __("Add a point") . '" />';

    } elseif (
$type == 'MULTILINESTRING' || $type == 'POLYGON') {
        
$no_of_lines = isset($gis_data[$a][$type]['no_of_lines'])
            ? 
$gis_data[$a][$type]['no_of_lines'] : 1;
        if (
$no_of_lines 1) {
            
$no_of_lines 1;
        }
        if (isset(
$gis_data[$a][$type]['add_line'])) {
            
$no_of_lines++;
        }
        echo 
'<input type="hidden" value="' $no_of_lines '"'
            
' name="gis_data[' $a '][' $type '][no_of_lines]" />';

        for (
$i 0$i $no_of_lines$i++) {
            echo 
'<br/>';
            if (
$type == 'MULTILINESTRING') {
                
printf(__('Linestring %d:'), $i 1);
            } else {
                if (
$i == 0) {
                    echo 
__('Outer ring:');
                } else {
                    
printf(__('Inner ring %d:'), $i);
                }
            }

            
$no_of_points = isset($gis_data[$a][$type][$i]['no_of_points'])
                ? 
$gis_data[$a][$type][$i]['no_of_points'] : 2;
            if (
$type == 'MULTILINESTRING' && $no_of_points 2) {
                
$no_of_points 2;
            }
            if (
$type == 'POLYGON' && $no_of_points 4) {
                
$no_of_points 4;
            }
            if (isset(
$gis_data[$a][$type][$i]['add_point'])) {
                
$no_of_points++;
            }
            echo 
'<input type="hidden" value="' $no_of_points '"'
                
' name="gis_data[' $a '][' $type '][' $i
                
'][no_of_points]" />';

            for (
$j 0$j $no_of_points$j++) {
                echo(
'<br/>');
                
printf(__('Point %d'), $j 1);
                echo 
': ';
                echo 
'<label for="x">' .  __("X") . '</label>';
                echo 
'<input type="text" name="gis_data[' $a '][' $type ']['
                    
$i '][' $j '][x]" value="'
                    
escape($gis_data[$a][$type][$i][$j]['x']) . '" />';
                echo 
'<label for="y">' __("Y") . '</label>';
                echo 
'<input type="text" name="gis_data[' $a '][' $type ']['
                    
$i '][' $j '][y]"' ' value="'
                    
escape($gis_data[$a][$type][$i][$j]['x']) . '" />';
            }
            echo 
'<input type="submit" name="gis_data[' $a '][' $type ']['
                
$i '][add_point]"'
                
' class="add addPoint" value="' __("Add a point") . '" />';
        }
        
$caption = ($type == 'MULTILINESTRING')
            ? 
__('Add a linestring')
            : 
__('Add an inner ring');
        echo 
'<br/>';
        echo 
'<input type="submit"'
            
' name="gis_data[' $a '][' $type '][add_line]"'
            
' class="add addLine" value="' $caption '" />';

    } elseif (
$type == 'MULTIPOLYGON') {
        
$no_of_polygons = isset($gis_data[$a][$type]['no_of_polygons'])
            ? 
$gis_data[$a][$type]['no_of_polygons'] : 1;
        if (
$no_of_polygons 1) {
            
$no_of_polygons 1;
        }
        if (isset(
$gis_data[$a][$type]['add_polygon'])) {
            
$no_of_polygons++;
        }
        echo 
'<input type="hidden"'
            
' name="gis_data[' $a '][' $type '][no_of_polygons]"'
            
' value="' $no_of_polygons '" />';

        for (
$k 0$k $no_of_polygons$k++) {
            echo 
'<br/>';
            
printf(__('Polygon %d:'), $k 1);
            
$no_of_lines = isset($gis_data[$a][$type][$k]['no_of_lines'])
                ? 
$gis_data[$a][$type][$k]['no_of_lines'] : 1;
            if (
$no_of_lines 1) {
                
$no_of_lines 1;
            }
            if (isset(
$gis_data[$a][$type][$k]['add_line'])) {
                
$no_of_lines++;
            }
            echo 
'<input type="hidden"'
                
' name="gis_data[' $a '][' $type '][' $k
                
'][no_of_lines]"' ' value="' $no_of_lines '" />';

            for (
$i 0$i $no_of_lines$i++) {
                echo 
'<br/><br/>';
                if (
$i == 0) {
                    echo 
__('Outer ring:');
                } else {
                    
printf(__('Inner ring %d:'), $i);
                }

                
$no_of_points = isset($gis_data[$a][$type][$k][$i]['no_of_points'])
                    ? 
$gis_data[$a][$type][$k][$i]['no_of_points'] : 4;
                if (
$no_of_points 4) {
                    
$no_of_points 4;
                }
                if (isset(
$gis_data[$a][$type][$k][$i]['add_point'])) {
                    
$no_of_points++;
                }
                echo 
'<input type="hidden"'
                    
' name="gis_data[' $a '][' $type '][' $k '][' $i
                    
'][no_of_points]"' ' value="' $no_of_points '" />';

                for (
$j 0$j $no_of_points$j++) {
                    echo 
'<br/>';
                    
printf(__('Point %d'), $j 1);
                    echo 
': ';
                    echo 
'<label for="x">' .  __("X") . '</label>';
                    echo 
'<input type="text"'
                        
' name="gis_data[' $a '][' $type '][' $k ']['
                        
$i '][' $j '][x]"'
                        
' value="' escape($gis_data[$a][$type][$k][$i][$j]['x'])
                        . 
'" />';
                    echo 
'<label for="y">' __("Y") . '</label>';
                    echo 
'<input type="text"'
                        
' name="gis_data[' $a '][' $type '][' $k ']['
                        
$i '][' $j '][y]"'
                        
' value="' escape($gis_data[$a][$type][$k][$i][$j]['y'])
                        . 
'" />';
                }
                echo 
'<input type="submit"'
                    
' name="gis_data[' $a '][' $type '][' $k '][' $i
                    
'][add_point]"'
                    
' class="add addPoint" value="' __("Add a point") . '" />';
            }
            echo 
'<br/>';
            echo 
'<input type="submit"'
                
' name="gis_data[' $a '][' $type '][' $k '][add_line]"'
                
' class="add addLine" value="' __('Add an inner ring') . '" />';
            echo 
'<br/>';
        }
        echo 
'<br/>';
        echo 
'<input type="submit"'
            
' name="gis_data[' $a '][' $type '][add_polygon]"'
            
' class="add addPolygon" value="' .  __('Add a polygon') . '" />';
    }
}
if (
$geom_type == 'GEOMETRYCOLLECTION') {
    echo 
'<br/><br/>';
    echo 
'<input type="submit" name="gis_data[GEOMETRYCOLLECTION][add_geom]"'
        
'class="add addGeom" value="' __("Add geometry") . '" />';
}
echo 
'</div>';
echo 
'<!-- End of data section -->';

echo 
'<br/>';
echo 
'<input type="submit" name="gis_data[save]" value="' __('Go') . '" />';

echo 
'<div id="gis_data_output">';
echo 
'<h3>' __('Output') . '</h3>';
echo 
'<p>';
echo 
__(
    
'Choose "GeomFromText" from the "Function" column and paste the'
    
' string below into the "Value" field.'
);
echo 
'</p>';
echo 
'<textarea id="gis_data_textarea" cols="95" rows="5">';
echo 
$result;
echo 
'</textarea>';
echo 
'</div>';

echo 
'</div>';
echo 
'</form>';

PMA_Response::getInstance()->addJSON('gis_editor'ob_get_contents());
ob_end_clean();
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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