Viewing file: Export_Relation_Schema.class.php (5.94 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Contains PMA_Export_Relation_Schema class which is inherited * by all schema classes. * * @package PhpMyAdmin */ if (! defined('PHPMYADMIN')) { exit; }
/** * This class is inherited by all schema classes * It contains those methods which are common in them * it works like factory pattern * * @package PhpMyAdmin */ class PMA_Export_Relation_Schema { private $_pageTitle; public $showGrid; public $showColor; public $tableDimension; public $sameWide; public $withDoc; public $showKeys; public $orientation; public $paper; public $pageNumber; public $exportType;
/** * Set Page Number * * @param integer $value Page Number of the document to be created * * @return void * * @access public */ public function setPageNumber($value) { $this->pageNumber = isset($value) ? $value : 1; }
/** * Set Show Grid * * @param boolean $value show grid of the document or not * * @return void * * @access public */ public function setShowGrid($value) { $this->showGrid = (isset($value) && $value == 'on') ? 1 : 0; }
/** * Sets showColor * * @param string $value 'on' to set the the variable * * @return void */ public function setShowColor($value) { $this->showColor = (isset($value) && $value == 'on') ? 1 : 0; }
/** * Set Table Dimension * * @param boolean $value show table co-ordinates or not * * @return void * * @access public */ public function setTableDimension($value) { $this->tableDimension = (isset($value) && $value == 'on') ? 1 : 0; }
/** * Set same width of All Tables * * @param boolean $value set same width of all tables or not * * @return void * * @access public */ public function setAllTablesSameWidth($value) { $this->sameWide = (isset($value) && $value == 'on') ? 1 : 0; }
/** * Set Data Dictionary * * @param boolean $value show selected database data dictionary or not * * @return void * * @access public */ public function setWithDataDictionary($value) { $this->withDoc = (isset($value) && $value == 'on') ? 1 : 0; }
/** * Set Show only keys * * @param boolean $value show only keys or not * * @return void * * @access public */ public function setShowKeys($value) { $this->showKeys = (isset($value) && $value == 'on') ? 1 : 0; }
/** * Set Orientation * * @param string $value Orientation will be portrait or landscape * * @return void * * @access public */ public function setOrientation($value) { $this->orientation = (isset($value) && $value == 'P') ? 'P' : 'L'; }
/** * Set type of paper * * @param string $value paper type can be A4 etc * * @return void * * @access public */ public function setPaper($value) { $this->paper = isset($value) ? $value : 'A4'; }
/** * Set title of the page * * @param string $title title of the page displayed at top of the document * * @return void * * @access public */ public function setPageTitle($title) { $this->_pageTitle=$title; }
/** * Set type of export relational schema * * @param string $value can be pdf,svg,dia,eps etc * * @return void * * @access public */ public function setExportType($value) { $this->exportType=$value; }
/** * get all tables involved or included in page * * @param string $db name of the database * @param integer $pageNumber page no. whose tables will be fetched in an array * * @return Array an array of tables * * @access public */ public function getAllTables($db, $pageNumber) { global $cfgRelation;
// Get All tables $tab_sql = 'SELECT table_name FROM ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_Util::backquote($cfgRelation['table_coords']) . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\'' . ' AND pdf_page_number = ' . $pageNumber;
$tab_rs = PMA_queryAsControlUser( $tab_sql, null, PMA_DatabaseInterface::QUERY_STORE ); if (! $tab_rs || ! $GLOBALS['dbi']->numRows($tab_rs) > 0) { $this->dieSchema('', __('This page does not contain any tables!')); } //Fix undefined error $alltables = array(); while ($curr_table = @$GLOBALS['dbi']->fetchAssoc($tab_rs)) { $alltables[] = PMA_Util::sqlAddSlashes($curr_table['table_name']); } return $alltables; }
/** * Displays an error message * * @param integer $pageNumber ID of the chosen page * @param string $type Schema Type * @param string $error_message The error mesage * * @global array the PMA configuration array * @global string $db the current database name * * @access public * * @return void */ function dieSchema($pageNumber, $type = '', $error_message = '') { global $db;
echo "<p><strong>" . __("SCHEMA ERROR: ") . $type . "</strong></p>" . "\n"; if (!empty($error_message)) { $error_message = htmlspecialchars($error_message); } echo '<p>' . "\n"; echo ' ' . $error_message . "\n"; echo '</p>' . "\n"; echo '<a href="schema_edit.php?' . PMA_URL_getCommon($db) . '&do=selectpage&chpage=' . htmlspecialchars($pageNumber) . '&action_choose=0' . '">' . __('Back') . '</a>'; echo "\n"; exit; } } ?>
|