!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

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

Safe-mode: OFF (not secure)

/usr/share/phpmyadmin/libraries/classes/Controllers/   drwxr-xr-x
Free 83.31 GB of 96.73 GB (86.13%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     GisDataEditorController.php (4.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Editor for Geometry data types.
 */

declare(strict_types=1);

namespace 
PhpMyAdmin\Controllers;

use 
PhpMyAdmin\Core;
use 
PhpMyAdmin\Gis\GisFactory;
use 
PhpMyAdmin\Gis\GisVisualization;
use function 
array_merge;
use function 
in_array;
use function 
intval;
use function 
mb_strpos;
use function 
mb_strtoupper;
use function 
mb_substr;
use function 
substr;
use function 
trim;

/**
 * Editor for Geometry data types.
 */
class GisDataEditorController extends AbstractController
{
    public function 
index(): void
    
{
        global 
$gis_data$gis_types$start$geom_type$gis_obj$srid$wkt$wkt_with_zero$PMA_Theme;
        global 
$result$visualizationSettings$data$visualization$open_layers$geom_count$dbi;

        if (! isset(
$_POST['field'])) {
            return;
        }

        
// Get data if any posted
        
$gis_data = [];
        if (
Core::isValid($_POST['gis_data'], 'array')) {
            
$gis_data $_POST['gis_data'];
        }

        
$gis_types = [
            
'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 available, if not use the column type passed.
        
if (! isset($gis_data['gis_type'])) {
            if (isset(
$_POST['type']) && $_POST['type'] != '') {
                
$gis_data['gis_type'] = mb_strtoupper($_POST['type']);
            }
            if (isset(
$_POST['value']) && trim($_POST['value']) != '') {
                
$start substr($_POST['value'], 01) == "'" 0;
                
$gis_data['gis_type'] = mb_substr(
                    
$_POST['value'],
                    
$start,
                    
mb_strpos($_POST['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 GisFactory::factory($geom_type);
        if (
$gis_obj === false) {
            return;
        }

        if (isset(
$_POST['value'])) {
            
$gis_data array_merge(
                
$gis_data,
                
$gis_obj->generateParams($_POST['value'])
            );
        }

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

        
// Generate SVG based visualization
        
$visualizationSettings = [
            
'width' => 450,
            
'height' => 300,
            
'spatialColumn' => 'wkt',
            
'mysqlVersion' => $dbi->getVersion(),
            
'isMariaDB' => $dbi->isMariaDB(),
        ];
        
$data = [
            [
                
'wkt' => $wkt_with_zero,
                
'srid' => $srid,
            ],
        ];
        
$visualization GisVisualization::getByData($data$visualizationSettings)
            ->
toImage('svg');

        
$open_layers GisVisualization::getByData($data$visualizationSettings)
            ->
asOl();

        
// If the call is to update the WKT and visualization make an AJAX response
        
if (isset($_POST['generate']) && $_POST['generate'] == true) {
            
$this->response->addJSON([
                
'result' => $result,
                
'visualization' => $visualization,
                
'openLayers' => $open_layers,
            ]);

            return;
        }

        
$geom_count 1;
        if (
$geom_type === 'GEOMETRYCOLLECTION') {
            
$geom_count = isset($gis_data[$geom_type]['geom_count'])
                ? 
intval($gis_data[$geom_type]['geom_count']) : 1;
            if (isset(
$gis_data[$geom_type]['add_geom'])) {
                
$geom_count++;
            }
        }

        
$templateOutput $this->template->render('gis_data_editor_form', [
            
'width' => $visualizationSettings['width'],
            
'height' => $visualizationSettings['height'],
            
'theme_image_path' => $PMA_Theme->getImgPath(),
            
'field' => $_POST['field'],
            
'input_name' => $_POST['input_name'],
            
'srid' => $srid,
            
'visualization' => $visualization,
            
'open_layers' => $open_layers,
            
'gis_types' => $gis_types,
            
'geom_type' => $geom_type,
            
'geom_count' => $geom_count,
            
'gis_data' => $gis_data,
            
'result' => $result,
        ]);

        
$this->response->addJSON(['gis_editor' => $templateOutput]);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0045 ]--