404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.143.110.79: ~ $
<?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;
        }
    }
}

Filemanager

Name Type Size Permission Actions
upload Folder 0755
AbstractImportCsv.php File 2.95 KB 0644
ImportCsv.php File 26.41 KB 0644
ImportLdi.php File 5.02 KB 0644
ImportMediawiki.php File 21 KB 0644
ImportOds.php File 13.67 KB 0644
ImportShp.php File 10.46 KB 0644
ImportSql.php File 6.01 KB 0644
ImportXml.php File 10.64 KB 0644
README File 4.52 KB 0644
ShapeFile.php File 2.84 KB 0644
ShapeRecord.php File 4.67 KB 0644