because of changes in User Schema etc PDF Schema wasn't working, It is fixed now
This commit is contained in:
@@ -1,6 +1,22 @@
|
|||||||
<?php
|
<?php
|
||||||
// Using Abstract Factory Pattern for exporting relational Schema in different Formats !
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
abstract class PMA_Export_Relation_Schema
|
/**
|
||||||
|
*
|
||||||
|
* @version $Id$
|
||||||
|
* @package phpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is inherited by all schema classes
|
||||||
|
* It contains those methods which are common in them
|
||||||
|
*
|
||||||
|
* @name
|
||||||
|
* @author Muhammad Adnan <hiddenpearls@gmail.com>
|
||||||
|
* @copyright
|
||||||
|
* @license
|
||||||
|
*/
|
||||||
|
|
||||||
|
class PMA_Export_Relation_Schema
|
||||||
{
|
{
|
||||||
private $_pageTitle; // Title of the page
|
private $_pageTitle; // Title of the page
|
||||||
private $_autoLayoutType; // Internal or Foreign Key Relations;
|
private $_autoLayoutType; // Internal or Foreign Key Relations;
|
||||||
@@ -31,7 +47,7 @@ abstract class PMA_Export_Relation_Schema
|
|||||||
// echo $tab_sql;
|
// echo $tab_sql;
|
||||||
$tab_rs = PMA_query_as_controluser($tab_sql, null, PMA_DBI_QUERY_STORE);
|
$tab_rs = PMA_query_as_controluser($tab_sql, null, PMA_DBI_QUERY_STORE);
|
||||||
if (!$tab_rs || !PMA_DBI_num_rows($tab_rs) > 0) {
|
if (!$tab_rs || !PMA_DBI_num_rows($tab_rs) > 0) {
|
||||||
$this->PMA_SCHEMA_die('',__('No tables'));
|
$this->_die('',__('No tables'));
|
||||||
} while ($curr_table = @PMA_DBI_fetch_assoc($tab_rs)) {
|
} while ($curr_table = @PMA_DBI_fetch_assoc($tab_rs)) {
|
||||||
$alltables[] = PMA_sqlAddslashes($curr_table['table_name']);
|
$alltables[] = PMA_sqlAddslashes($curr_table['table_name']);
|
||||||
}
|
}
|
||||||
@@ -47,7 +63,7 @@ abstract class PMA_Export_Relation_Schema
|
|||||||
/**
|
/**
|
||||||
* Displays an error message
|
* Displays an error message
|
||||||
*/
|
*/
|
||||||
function PMA_Schema_die($type = '',$error_message = '')
|
function _die($type = '',$error_message = '')
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
|
@@ -219,7 +219,7 @@ class PMA_PDF extends TCPDF {
|
|||||||
*/
|
*/
|
||||||
function Error($error_message = '')
|
function Error($error_message = '')
|
||||||
{
|
{
|
||||||
PMA_Relation_Schema::PMA_Schema_die($error_message);
|
PMA_Export_Relation_Schema::_die($error_message);
|
||||||
} // end of the "Error()" method
|
} // end of the "Error()" method
|
||||||
function Header()
|
function Header()
|
||||||
{
|
{
|
||||||
@@ -822,15 +822,24 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema
|
|||||||
* @access private
|
* @access private
|
||||||
* @see PMA_PDF
|
* @see PMA_PDF
|
||||||
*/
|
*/
|
||||||
function __construct($page_number, $show_info = 0, $change_color = 0, $show_grid = 0, $all_table_same_wide = 0, $orientation = 'L', $paper = 'A4', $show_keys = 0)
|
function __construct()
|
||||||
{
|
{
|
||||||
global $pdf, $db, $cfgRelation, $with_doc;
|
//global $pdf,$db,$export_type,$cfgRelation,$pdf_page_number,$show_keys,$change_color,$show_table_dimension,$orientation, $with_doc,$show_grid,$paper;
|
||||||
|
global $pdf,$db,$export_type,$cfgRelation,$pdf_page_number,$show_grid,$show_keys,$change_color,$show_color,$show_info,$all_table_same_wide,$show_table_dimension,$orientation, $with_doc,$show_grid,$paper;
|
||||||
|
$pdf_page_number = isset($pdf_page_number) ? $pdf_page_number : 1;
|
||||||
|
$show_grid = (isset($show_grid) && $show_grid == 'on') ? 1 : 0;
|
||||||
|
$change_color = (isset($show_color) && $show_color == 'on') ? 1 : 0;
|
||||||
|
$show_info = (isset($show_table_dimension) && $show_table_dimension == 'on') ? 1 : 0;
|
||||||
|
$all_table_same_wide = (isset($all_table_same_wide) && $all_table_same_wide == 'on') ? 1 : 0;
|
||||||
|
$with_doc = (isset($with_doc) && $with_doc == 'on') ? 1 : 0;
|
||||||
|
$orientation = (isset($orientation) && $orientation == 'P') ? 'P' : 'L';
|
||||||
|
$paper = isset($paper) ? $paper : 'A4';
|
||||||
|
$show_keys = (isset($show_keys) && $show_keys == 'on') ? 1 : 0;
|
||||||
|
|
||||||
$this->setSameWidthTables($all_table_same_wide);
|
$this->setSameWidthTables($all_table_same_wide);
|
||||||
|
|
||||||
// Initializes a new document
|
// Initializes a new document
|
||||||
$pdf = new PMA_PDF('L', 'mm', $paper);
|
$pdf = new PMA_PDF('L', 'mm', $paper);
|
||||||
$pdf->SetTitle(sprintf(__('Schema of the %s database - Page %s'), $GLOBALS['db'], $page_number));
|
$pdf->SetTitle(sprintf(__('Schema of the %s database - Page %s'), $GLOBALS['db'], $pdf_page_number));
|
||||||
$pdf->setCMargin(0);
|
$pdf->setCMargin(0);
|
||||||
$pdf->Open();
|
$pdf->Open();
|
||||||
$pdf->SetAuthor('phpMyAdmin ' . PMA_VERSION);
|
$pdf->SetAuthor('phpMyAdmin ' . PMA_VERSION);
|
||||||
@@ -839,29 +848,10 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema
|
|||||||
$pdf->AddFont('DejaVuSans', 'B', 'dejavusansb.php');
|
$pdf->AddFont('DejaVuSans', 'B', 'dejavusansb.php');
|
||||||
$pdf->AddFont('DejaVuSerif', '', 'dejavuserif.php');
|
$pdf->AddFont('DejaVuSerif', '', 'dejavuserif.php');
|
||||||
$pdf->AddFont('DejaVuSerif', 'B', 'dejavuserifb.php');
|
$pdf->AddFont('DejaVuSerif', 'B', 'dejavuserifb.php');
|
||||||
// $this->ff = PMA_PDF_FONT;
|
|
||||||
|
|
||||||
$pdf->SetFont($this->ff, '', 14);
|
$pdf->SetFont($this->ff, '', 14);
|
||||||
$pdf->SetAutoPageBreak('auto');
|
$pdf->SetAutoPageBreak('auto');
|
||||||
|
$alltables = $this->getAllTables($db,$pdf_page_number);
|
||||||
|
|
||||||
|
|
||||||
// Gets tables on this page
|
|
||||||
/* $tab_sql = 'SELECT table_name FROM ' . PMA_backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_backquote($cfgRelation['table_coords'])
|
|
||||||
. ' WHERE db_name = \'' . PMA_sqlAddslashes($db) . '\''
|
|
||||||
. ' AND pdf_page_number = ' . $page_number;
|
|
||||||
echo $tab_sql;
|
|
||||||
$tab_rs = PMA_query_as_controluser($tab_sql, null, PMA_DBI_QUERY_STORE);
|
|
||||||
if (!$tab_rs || !PMA_DBI_num_rows($tab_rs) > 0) {
|
|
||||||
$pdf->PMA_PDF_die(__('No tables'));
|
|
||||||
// die('No tables');
|
|
||||||
} while ($curr_table = @PMA_DBI_fetch_assoc($tab_rs)) {
|
|
||||||
$alltables[] = PMA_sqlAddslashes($curr_table['table_name']);
|
|
||||||
// $intable = '\'' . implode('\', \'', $alltables) . '\'';
|
|
||||||
}*/
|
|
||||||
$alltables=$this->getAllTables($db,$page_number);
|
|
||||||
|
|
||||||
|
|
||||||
// make doc //
|
|
||||||
if ($with_doc) {
|
if ($with_doc) {
|
||||||
$pdf->SetAutoPageBreak('auto', 15);
|
$pdf->SetAutoPageBreak('auto', 15);
|
||||||
$pdf->setCMargin(1);
|
$pdf->setCMargin(1);
|
||||||
@@ -881,7 +871,6 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* snip */
|
/* snip */
|
||||||
|
|
||||||
foreach ($alltables as $table) {
|
foreach ($alltables as $table) {
|
||||||
if (!isset($this->tables[$table])) {
|
if (!isset($this->tables[$table])) {
|
||||||
$this->tables[$table] = new PMA_RT_Table($table, $this->ff, $this->_tablewidth, $show_keys, $show_info);
|
$this->tables[$table] = new PMA_RT_Table($table, $this->ff, $this->_tablewidth, $show_keys, $show_info);
|
||||||
@@ -937,10 +926,7 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema
|
|||||||
} // end if
|
} // end if
|
||||||
} // end while
|
} // end while
|
||||||
|
|
||||||
/* print '<pre>';
|
|
||||||
print_r(get_object_vars($this));
|
|
||||||
print '</pre>';
|
|
||||||
exit();*/
|
|
||||||
|
|
||||||
if ($seen_a_relation) {
|
if ($seen_a_relation) {
|
||||||
$this->PMA_RT_drawRelations($change_color);
|
$this->PMA_RT_drawRelations($change_color);
|
||||||
@@ -948,6 +934,7 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema
|
|||||||
|
|
||||||
$this->PMA_RT_drawTables($change_color);
|
$this->PMA_RT_drawTables($change_color);
|
||||||
|
|
||||||
|
|
||||||
$this->PMA_RT_showRt();
|
$this->PMA_RT_showRt();
|
||||||
} // end of the "PMA_RT()" Constructor method
|
} // end of the "PMA_RT()" Constructor method
|
||||||
/**
|
/**
|
||||||
@@ -1074,6 +1061,7 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema
|
|||||||
if (empty($filename)) {
|
if (empty($filename)) {
|
||||||
$filename = $pdf_page_number . '.pdf';
|
$filename = $pdf_page_number . '.pdf';
|
||||||
}
|
}
|
||||||
|
//exit();
|
||||||
// $pdf->Output($db . '_' . $filename, TRUE);
|
// $pdf->Output($db . '_' . $filename, TRUE);
|
||||||
$pdf->Output($db . '_' . $filename, 'I'); // destination: Inline
|
$pdf->Output($db . '_' . $filename, 'I'); // destination: Inline
|
||||||
} // end of the "PMA_RT_showRt()" method
|
} // end of the "PMA_RT_showRt()" method
|
||||||
|
@@ -705,16 +705,15 @@ class PMA_User_Schema
|
|||||||
|
|
||||||
private function _processExportSchema()
|
private function _processExportSchema()
|
||||||
{
|
{
|
||||||
$pdf_page_number = isset($pdf_page_number) ? $pdf_page_number : 1;
|
/**
|
||||||
$show_grid = (isset($show_grid) && $show_grid == 'on') ? 1 : 0;
|
* Settings for relation stuff
|
||||||
$show_color = (isset($show_color) && $show_color == 'on') ? 1 : 0;
|
*/
|
||||||
$show_table_dimension = (isset($show_table_dimension) && $show_table_dimension == 'on') ? 1 : 0;
|
require_once './libraries/transformations.lib.php';
|
||||||
$all_table_same_wide = (isset($all_table_same_wide) && $all_table_same_wide == 'on') ? 1 : 0;
|
require_once './libraries/Index.class.php';
|
||||||
$with_doc = (isset($with_doc) && $with_doc == 'on') ? 1 : 0;
|
/**
|
||||||
$orientation = (isset($orientation) && $orientation == 'P') ? 'P' : 'L';
|
* default is PDF
|
||||||
$paper = isset($paper) ? $paper : 'A4';
|
*/
|
||||||
$show_keys = (isset($show_keys) && $show_keys == 'on') ? 1 : 0;
|
$export_type = isset($export_type) ? $export_type : 'pdf';
|
||||||
$export_type = isset($export_type) ? $export_type : 'pdf'; // default is PDF
|
|
||||||
PMA_DBI_select_db($db);
|
PMA_DBI_select_db($db);
|
||||||
|
|
||||||
include("./libraries/schema/".ucfirst($export_type)."_Relation_Schema.class.php");
|
include("./libraries/schema/".ucfirst($export_type)."_Relation_Schema.class.php");
|
||||||
|
@@ -2977,9 +2977,11 @@ if(!class_exists('TCPDF', false)) {
|
|||||||
switch($dest) {
|
switch($dest) {
|
||||||
case 'I': {
|
case 'I': {
|
||||||
//Send to standard output
|
//Send to standard output
|
||||||
if(ob_get_contents()) {
|
//if(ob_get_contents()) {
|
||||||
$this->Error('Some data has already been output, can\'t send PDF file');
|
// $this->Error('Some data has already been output, can\'t send PDF file');
|
||||||
}
|
//}
|
||||||
|
ob_end_clean();
|
||||||
|
ob_start();
|
||||||
if(php_sapi_name()!='cli') {
|
if(php_sapi_name()!='cli') {
|
||||||
//We send to a browser
|
//We send to a browser
|
||||||
header('Content-Type: application/pdf');
|
header('Content-Type: application/pdf');
|
||||||
@@ -2994,9 +2996,10 @@ if(!class_exists('TCPDF', false)) {
|
|||||||
}
|
}
|
||||||
case 'D': {
|
case 'D': {
|
||||||
//Download file
|
//Download file
|
||||||
if(ob_get_contents()) {
|
// if(ob_get_contents()) {
|
||||||
$this->Error('Some data has already been output, can\'t send PDF file');
|
// $this->Error(ob_get_contents().'Some data has already been output, can\'t send PDF file');
|
||||||
}
|
//}
|
||||||
|
|
||||||
if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) {
|
if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) {
|
||||||
header('Content-Type: application/force-download');
|
header('Content-Type: application/force-download');
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user