1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* PDF schema export code
*
* @package PhpMyAdmin-Schema
* @subpackage SVG
*/
namespace PMA\libraries\plugins\schema;
use PMA\libraries\properties\options\items\BoolPropertyItem;
use PMA\libraries\properties\options\groups\OptionsPropertyMainGroup;
use PMA\libraries\properties\options\groups\OptionsPropertyRootGroup;
use PMA\libraries\plugins\SchemaPlugin;
use PMA\libraries\plugins\schema\svg\SvgRelationSchema;
use PMA\libraries\properties\plugins\SchemaPluginProperties;
/**
* Handles the schema export for the SVG format
*
* @package PhpMyAdmin-Schema
* @subpackage SVG
*/
class SchemaSvg extends SchemaPlugin
{
/**
* Constructor
*/
public function __construct()
{
$this->setProperties();
}
/**
* Sets the schema export SVG properties
*
* @return void
*/
protected function setProperties()
{
$schemaPluginProperties = new SchemaPluginProperties();
$schemaPluginProperties->setText('SVG');
$schemaPluginProperties->setExtension('svg');
$schemaPluginProperties->setMimeType('application/svg');
// create the root group that will be the options field for
// $schemaPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup(
"Format Specific Options"
);
// specific options main group
$specificOptions = new OptionsPropertyMainGroup("general_opts");
// add options common to all plugins
$this->addCommonOptions($specificOptions);
// create leaf items and add them to the group
$leaf = new BoolPropertyItem(
'all_tables_same_width',
__('Same width for all tables')
);
$specificOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($specificOptions);
// set the options for the schema export plugin property item
$schemaPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $schemaPluginProperties;
}
/**
* Exports the schema into SVG format.
*
* @param string $db database name
*
* @return bool Whether it succeeded
*/
public function exportSchema($db)
{
$export = new SvgRelationSchema($db);
$export->showOutput();
}
}
|