diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
| commit | 5bf66662a9bdd62c5bccab15e607cd95cfb8fcab (patch) | |
| tree | 39a1a4629749056191c05dfd899f931701b7acf3 /srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia | |
| parent | 5afd237bbd22028b85532b8c0b3fcead49a00764 (diff) | |
| download | ft_server-master.tar.gz ft_server-master.tar.bz2 ft_server-master.zip | |
Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my famillyHEADmaster
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia')
4 files changed, 0 insertions, 887 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/Dia.php b/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/Dia.php deleted file mode 100644 index b9941a5..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/Dia.php +++ /dev/null @@ -1,190 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Classes to create relation schema in Dia format. - * - * @package PhpMyAdmin - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Schema\Dia; - -use PhpMyAdmin\Core; -use PhpMyAdmin\Response; -use XMLWriter; - -/** - * This Class inherits the XMLwriter class and - * helps in developing structure of DIA Schema Export - * - * @package PhpMyAdmin - * @access public - * @see https://www.php.net/manual/en/book.xmlwriter.php - */ -class Dia extends XMLWriter -{ - /** - * The "Dia" constructor - * - * Upon instantiation This starts writing the Dia XML document - * - * @see XMLWriter::openMemory(),XMLWriter::setIndent(),XMLWriter::startDocument() - */ - public function __construct() - { - $this->openMemory(); - /* - * Set indenting using three spaces, - * so output is formatted - */ - $this->setIndent(true); - $this->setIndentString(' '); - /* - * Create the XML document - */ - $this->startDocument('1.0', 'UTF-8'); - } - - /** - * Starts Dia Document - * - * dia document starts by first initializing dia:diagram tag - * then dia:diagramdata contains all the attributes that needed - * to define the document, then finally a Layer starts which - * holds all the objects. - * - * @param string $paper the size of the paper/document - * @param float $topMargin top margin of the paper/document in cm - * @param float $bottomMargin bottom margin of the paper/document in cm - * @param float $leftMargin left margin of the paper/document in cm - * @param float $rightMargin right margin of the paper/document in cm - * @param string $orientation orientation of the document, portrait or landscape - * - * @return void - * - * @access public - * @see XMLWriter::startElement(),XMLWriter::writeAttribute(), - * XMLWriter::writeRaw() - */ - public function startDiaDoc( - $paper, - $topMargin, - $bottomMargin, - $leftMargin, - $rightMargin, - $orientation - ) { - if ($orientation == 'P') { - $isPortrait = 'true'; - } else { - $isPortrait = 'false'; - } - $this->startElement('dia:diagram'); - $this->writeAttribute('xmlns:dia', 'http://www.lysator.liu.se/~alla/dia/'); - $this->startElement('dia:diagramdata'); - $this->writeRaw( - '<dia:attribute name="background"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="pagebreak"> - <dia:color val="#000099"/> - </dia:attribute> - <dia:attribute name="paper"> - <dia:composite type="paper"> - <dia:attribute name="name"> - <dia:string>#' . $paper . '#</dia:string> - </dia:attribute> - <dia:attribute name="tmargin"> - <dia:real val="' . $topMargin . '"/> - </dia:attribute> - <dia:attribute name="bmargin"> - <dia:real val="' . $bottomMargin . '"/> - </dia:attribute> - <dia:attribute name="lmargin"> - <dia:real val="' . $leftMargin . '"/> - </dia:attribute> - <dia:attribute name="rmargin"> - <dia:real val="' . $rightMargin . '"/> - </dia:attribute> - <dia:attribute name="is_portrait"> - <dia:boolean val="' . $isPortrait . '"/> - </dia:attribute> - <dia:attribute name="scaling"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="fitto"> - <dia:boolean val="false"/> - </dia:attribute> - </dia:composite> - </dia:attribute> - <dia:attribute name="grid"> - <dia:composite type="grid"> - <dia:attribute name="width_x"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="width_y"> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="visible_x"> - <dia:int val="1"/> - </dia:attribute> - <dia:attribute name="visible_y"> - <dia:int val="1"/> - </dia:attribute> - <dia:composite type="color"/> - </dia:composite> - </dia:attribute> - <dia:attribute name="color"> - <dia:color val="#d8e5e5"/> - </dia:attribute> - <dia:attribute name="guides"> - <dia:composite type="guides"> - <dia:attribute name="hguides"/> - <dia:attribute name="vguides"/> - </dia:composite> - </dia:attribute>' - ); - $this->endElement(); - $this->startElement('dia:layer'); - $this->writeAttribute('name', 'Background'); - $this->writeAttribute('visible', 'true'); - $this->writeAttribute('active', 'true'); - } - - /** - * Ends Dia Document - * - * @return void - * @access public - * @see XMLWriter::endElement(),XMLWriter::endDocument() - */ - public function endDiaDoc() - { - $this->endElement(); - $this->endDocument(); - } - - /** - * Output Dia Document for download - * - * @param string $fileName name of the dia document - * - * @return void - * @access public - * @see XMLWriter::flush() - */ - public function showOutput($fileName) - { - if (ob_get_clean()) { - ob_end_clean(); - } - $output = $this->flush(); - Response::getInstance()->disable(); - Core::downloadHeader( - $fileName, - 'application/x-dia-diagram', - strlen($output) - ); - print $output; - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php b/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php deleted file mode 100644 index ee04f0d..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php +++ /dev/null @@ -1,238 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Classes to create relation schema in Dia format. - * - * @package PhpMyAdmin - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Schema\Dia; - -use PhpMyAdmin\Plugins\Schema\Dia\TableStatsDia; -use PhpMyAdmin\Plugins\Schema\Eps\TableStatsEps; -use PhpMyAdmin\Plugins\Schema\ExportRelationSchema; -use PhpMyAdmin\Plugins\Schema\Pdf\TableStatsPdf; -use PhpMyAdmin\Plugins\Schema\Svg\TableStatsSvg; -use PhpMyAdmin\Relation; - -/** - * Dia Relation Schema Class - * - * Purpose of this class is to generate the Dia XML Document - * which is used for representing the database diagrams in Dia IDE - * This class uses Database Table and Reference Objects of Dia and with - * the combination of these objects actually helps in preparing Dia XML. - * - * Dia XML is generated by using XMLWriter php extension and this class - * inherits ExportRelationSchema class has common functionality added - * to this class - * - * @package PhpMyAdmin - * @name Dia_Relation_Schema - */ -class DiaRelationSchema extends ExportRelationSchema -{ - /** - * @var TableStatsDia[]|TableStatsEps[]|TableStatsPdf[]|TableStatsSvg[] - */ - private $_tables = []; - /** @var RelationStatsDia[] Relations */ - private $_relations = []; - private $_topMargin = 2.8222000598907471; - private $_bottomMargin = 2.8222000598907471; - private $_leftMargin = 2.8222000598907471; - private $_rightMargin = 2.8222000598907471; - public static $objectId = 0; - - /** - * The "PhpMyAdmin\Plugins\Schema\Dia\DiaRelationSchema" constructor - * - * Upon instantiation This outputs the Dia XML document - * that user can download - * - * @param string $db database name - * - * @see Dia,TableStatsDia,RelationStatsDia - */ - public function __construct($db) - { - parent::__construct($db, new Dia()); - - $this->setShowColor(isset($_REQUEST['dia_show_color'])); - $this->setShowKeys(isset($_REQUEST['dia_show_keys'])); - $this->setOrientation($_REQUEST['dia_orientation']); - $this->setPaper($_REQUEST['dia_paper']); - - $this->diagram->startDiaDoc( - $this->paper, - $this->_topMargin, - $this->_bottomMargin, - $this->_leftMargin, - $this->_rightMargin, - $this->orientation - ); - - $alltables = $this->getTablesFromRequest(); - - foreach ($alltables as $table) { - if (! isset($this->_tables[$table])) { - $this->_tables[$table] = new TableStatsDia( - $this->diagram, - $this->db, - $table, - $this->pageNumber, - $this->showKeys, - $this->offline - ); - } - } - - $seen_a_relation = false; - foreach ($alltables as $one_table) { - $exist_rel = $this->relation->getForeigners($this->db, $one_table, '', 'both'); - if (! $exist_rel) { - continue; - } - - $seen_a_relation = true; - foreach ($exist_rel as $master_field => $rel) { - /* put the foreign table on the schema only if selected - * by the user - * (do not use array_search() because we would have to - * to do a === false and this is not PHP3 compatible) - */ - if ($master_field != 'foreign_keys_data') { - if (in_array($rel['foreign_table'], $alltables)) { - $this->_addRelation( - $one_table, - $master_field, - $rel['foreign_table'], - $rel['foreign_field'], - $this->showKeys - ); - } - continue; - } - - foreach ($rel as $one_key) { - if (! in_array($one_key['ref_table_name'], $alltables)) { - continue; - } - - foreach ($one_key['index_list'] as $index => $one_field) { - $this->_addRelation( - $one_table, - $one_field, - $one_key['ref_table_name'], - $one_key['ref_index_list'][$index], - $this->showKeys - ); - } - } - } - } - $this->_drawTables(); - - if ($seen_a_relation) { - $this->_drawRelations(); - } - $this->diagram->endDiaDoc(); - } - - /** - * Output Dia Document for download - * - * @return void - * @access public - */ - public function showOutput() - { - $this->diagram->showOutput($this->getFileName('.dia')); - } - - /** - * Defines relation objects - * - * @param string $masterTable The master table name - * @param string $masterField The relation field in the master table - * @param string $foreignTable The foreign table name - * @param string $foreignField The relation field in the foreign table - * @param bool $showKeys Whether to display ONLY keys or not - * - * @return void - * - * @access private - * @see TableStatsDia::__construct(),RelationStatsDia::__construct() - */ - private function _addRelation( - $masterTable, - $masterField, - $foreignTable, - $foreignField, - $showKeys - ) { - if (! isset($this->_tables[$masterTable])) { - $this->_tables[$masterTable] = new TableStatsDia( - $this->diagram, - $this->db, - $masterTable, - $this->pageNumber, - $showKeys - ); - } - if (! isset($this->_tables[$foreignTable])) { - $this->_tables[$foreignTable] = new TableStatsDia( - $this->diagram, - $this->db, - $foreignTable, - $this->pageNumber, - $showKeys - ); - } - $this->_relations[] = new RelationStatsDia( - $this->diagram, - $this->_tables[$masterTable], - $masterField, - $this->_tables[$foreignTable], - $foreignField - ); - } - - /** - * Draws relation references - * - * connects master table's master field to - * foreign table's foreign field using Dia object - * type Database - Reference - * - * @return void - * - * @access private - * @see RelationStatsDia::relationDraw() - */ - private function _drawRelations() - { - foreach ($this->_relations as $relation) { - $relation->relationDraw($this->showColor); - } - } - - /** - * Draws tables - * - * Tables are generated using Dia object type Database - Table - * primary fields are underlined and bold in tables - * - * @return void - * - * @access private - * @see TableStatsDia::tableDraw() - */ - private function _drawTables() - { - foreach ($this->_tables as $table) { - $table->tableDraw($this->showColor); - } - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/RelationStatsDia.php b/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/RelationStatsDia.php deleted file mode 100644 index bd44532..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/RelationStatsDia.php +++ /dev/null @@ -1,228 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Contains PhpMyAdmin\Plugins\Schema\Dia\RelationStatsDia class - * - * @package PhpMyAdmin - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Schema\Dia; - -/** - * Relation preferences/statistics - * - * This class fetches the table master and foreign fields positions - * and helps in generating the Table references and then connects - * master table's master field to foreign table's foreign key - * in dia XML document. - * - * @package PhpMyAdmin - * @name Relation_Stats_Dia - * @see PMA_DIA - */ -class RelationStatsDia -{ - protected $diagram; - /** - * Defines properties - */ - public $srcConnPointsRight; - public $srcConnPointsLeft; - public $destConnPointsRight; - public $destConnPointsLeft; - public $masterTableId; - public $foreignTableId; - public $masterTablePos; - public $foreignTablePos; - public $referenceColor; - - /** - * The "PhpMyAdmin\Plugins\Schema\Dia\RelationStatsDia" constructor - * - * @param Dia $diagram The DIA diagram - * @param TableStatsDia $master_table The master table name - * @param string $master_field The relation field in the master table - * @param TableStatsDia $foreign_table The foreign table name - * @param string $foreign_field The relation field in the foreign table - * - * @see Relation_Stats_Dia::_getXy - */ - public function __construct( - $diagram, - $master_table, - $master_field, - $foreign_table, - $foreign_field - ) { - $this->diagram = $diagram; - $src_pos = $this->_getXy($master_table, $master_field); - $dest_pos = $this->_getXy($foreign_table, $foreign_field); - $this->srcConnPointsLeft = $src_pos[0]; - $this->srcConnPointsRight = $src_pos[1]; - $this->destConnPointsLeft = $dest_pos[0]; - $this->destConnPointsRight = $dest_pos[1]; - $this->masterTablePos = $src_pos[2]; - $this->foreignTablePos = $dest_pos[2]; - $this->masterTableId = $master_table->tableId; - $this->foreignTableId = $foreign_table->tableId; - } - - /** - * Each Table object have connection points - * which is used to connect to other objects in Dia - * we detect the position of key in fields and - * then determines its left and right connection - * points. - * - * @param TableStatsDia $table The current table name - * @param string $column The relation column name - * - * @return array Table right,left connection points and key position - * - * @access private - */ - private function _getXy($table, $column) - { - $pos = array_search($column, $table->fields); - // left, right, position - $value = 12; - if ($pos != 0) { - return [ - $pos + $value + $pos, - $pos + $value + $pos + 1, - $pos, - ]; - } - return [ - $pos + $value, - $pos + $value + 1, - $pos, - ]; - } - - /** - * Draws relation references - * - * connects master table's master field to foreign table's - * foreign field using Dia object type Database - Reference - * Dia object is used to generate the XML of Dia Document. - * Database reference Object and their attributes are involved - * in the combination of displaying Database - reference on Dia Document. - * - * @param boolean $showColor Whether to use one color per relation or not - * if showColor is true then an array of $listOfColors - * will be used to choose the random colors for - * references lines. we can change/add more colors to - * this - * - * @return boolean|void - * - * @access public - * @see PDF - */ - public function relationDraw($showColor) - { - ++DiaRelationSchema::$objectId; - /* - * if source connection points and destination connection - * points are same then return it false and don't draw that - * relation - */ - if ($this->srcConnPointsRight == $this->destConnPointsRight) { - if ($this->srcConnPointsLeft == $this->destConnPointsLeft) { - return false; - } - } - - if ($showColor) { - $listOfColors = [ - 'FF0000', - '000099', - '00FF00', - ]; - shuffle($listOfColors); - $this->referenceColor = '#' . $listOfColors[0] . ''; - } else { - $this->referenceColor = '#000000'; - } - - $this->diagram->writeRaw( - '<dia:object type="Database - Reference" version="0" id="' - . DiaRelationSchema::$objectId . '"> - <dia:attribute name="obj_pos"> - <dia:point val="3.27,18.9198"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="2.27,8.7175;17.7679,18.9198"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="orth_points"> - <dia:point val="3.27,18.9198"/> - <dia:point val="2.27,18.9198"/> - <dia:point val="2.27,14.1286"/> - <dia:point val="17.7679,14.1286"/> - <dia:point val="17.7679,9.3375"/> - <dia:point val="16.7679,9.3375"/> - </dia:attribute> - <dia:attribute name="orth_orient"> - <dia:enum val="0"/> - <dia:enum val="1"/> - <dia:enum val="0"/> - <dia:enum val="1"/> - <dia:enum val="0"/> - </dia:attribute> - <dia:attribute name="orth_autoroute"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="' . $this->referenceColor . '"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="line_style"> - <dia:enum val="0"/> - <dia:real val="1"/> - </dia:attribute> - <dia:attribute name="corner_radius"> - <dia:real val="0"/> - </dia:attribute> - <dia:attribute name="end_arrow"> - <dia:enum val="22"/> - </dia:attribute> - <dia:attribute name="end_arrow_length"> - <dia:real val="0.5"/> - </dia:attribute> - <dia:attribute name="end_arrow_width"> - <dia:real val="0.5"/> - </dia:attribute> - <dia:attribute name="start_point_desc"> - <dia:string>#1#</dia:string> - </dia:attribute> - <dia:attribute name="end_point_desc"> - <dia:string>#n#</dia:string> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.59999999999999998"/> - </dia:attribute> - <dia:connections> - <dia:connection handle="0" to="' - . $this->masterTableId . '" connection="' - . $this->srcConnPointsRight . '"/> - <dia:connection handle="1" to="' - . $this->foreignTableId . '" connection="' - . $this->destConnPointsRight . '"/> - </dia:connections> - </dia:object>' - ); - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/TableStatsDia.php b/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/TableStatsDia.php deleted file mode 100644 index b3ae5a0..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Schema/Dia/TableStatsDia.php +++ /dev/null @@ -1,231 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Contains PhpMyAdmin\Plugins\Schema\Dia\TableStatsDia class - * - * @package PhpMyAdmin - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Schema\Dia; - -use PhpMyAdmin\Plugins\Schema\ExportRelationSchema; -use PhpMyAdmin\Plugins\Schema\TableStats; - -/** - * Table preferences/statistics - * - * This class preserves the table co-ordinates,fields - * and helps in drawing/generating the Tables in dia XML document. - * - * @package PhpMyAdmin - * @name Table_Stats_Dia - * @see PMA_DIA - */ -class TableStatsDia extends TableStats -{ - public $tableId; - public $tableColor; - - /** - * The "PhpMyAdmin\Plugins\Schema\Dia\TableStatsDia" constructor - * - * @param Dia $diagram The current dia document - * @param string $db The database name - * @param string $tableName The table name - * @param integer $pageNumber The current page number (from the - * $cfg['Servers'][$i]['table_coords'] table) - * @param boolean $showKeys Whether to display ONLY keys or not - * @param boolean $offline Whether the coordinates are sent from the browser - */ - public function __construct( - $diagram, - $db, - $tableName, - $pageNumber, - $showKeys = false, - $offline = false - ) { - parent::__construct( - $diagram, - $db, - $pageNumber, - $tableName, - $showKeys, - false, - $offline - ); - - /** - * Every object in Dia document needs an ID to identify - * so, we used a static variable to keep the things unique - */ - $this->tableId = ++DiaRelationSchema::$objectId; - } - - /** - * Displays an error when the table cannot be found. - * - * @return void - */ - protected function showMissingTableError() - { - ExportRelationSchema::dieSchema( - $this->pageNumber, - "DIA", - sprintf(__('The %s table doesn\'t exist!'), $this->tableName) - ); - } - - /** - * Do draw the table - * - * Tables are generated using object type Database - Table - * primary fields are underlined in tables. Dia object - * is used to generate the XML of Dia Document. Database Table - * Object and their attributes are involved in the combination - * of displaying Database - Table on Dia Document. - * - * @param boolean $showColor Whether to show color for tables text or not - * if showColor is true then an array of $listOfColors - * will be used to choose the random colors for tables - * text we can change/add more colors to this array - * - * @return void - * - * @access public - * @see Dia - */ - public function tableDraw($showColor) - { - if ($showColor) { - $listOfColors = [ - 'FF0000', - '000099', - '00FF00', - ]; - shuffle($listOfColors); - $this->tableColor = '#' . $listOfColors[0] . ''; - } else { - $this->tableColor = '#000000'; - } - - $factor = 0.1; - - $this->diagram->startElement('dia:object'); - $this->diagram->writeAttribute('type', 'Database - Table'); - $this->diagram->writeAttribute('version', '0'); - $this->diagram->writeAttribute('id', '' . $this->tableId . ''); - $this->diagram->writeRaw( - '<dia:attribute name="obj_pos"> - <dia:point val="' - . ($this->x * $factor) . ',' . ($this->y * $factor) . '"/> - </dia:attribute> - <dia:attribute name="obj_bb"> - <dia:rectangle val="' - . ($this->x * $factor) . ',' . ($this->y * $factor) . ';9.97,9.2"/> - </dia:attribute> - <dia:attribute name="meta"> - <dia:composite type="dict"/> - </dia:attribute> - <dia:attribute name="elem_corner"> - <dia:point val="' - . ($this->x * $factor) . ',' . ($this->y * $factor) . '"/> - </dia:attribute> - <dia:attribute name="elem_width"> - <dia:real val="5.9199999999999999"/> - </dia:attribute> - <dia:attribute name="elem_height"> - <dia:real val="3.5"/> - </dia:attribute> - <dia:attribute name="text_colour"> - <dia:color val="' . $this->tableColor . '"/> - </dia:attribute> - <dia:attribute name="line_colour"> - <dia:color val="#000000"/> - </dia:attribute> - <dia:attribute name="fill_colour"> - <dia:color val="#ffffff"/> - </dia:attribute> - <dia:attribute name="line_width"> - <dia:real val="0.10000000000000001"/> - </dia:attribute> - <dia:attribute name="name"> - <dia:string>#' . $this->tableName . '#</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="visible_comment"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="tagging_comment"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="underline_primary_key"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="bold_primary_keys"> - <dia:boolean val="true"/> - </dia:attribute> - <dia:attribute name="normal_font"> - <dia:font family="monospace" style="0" name="Courier"/> - </dia:attribute> - <dia:attribute name="name_font"> - <dia:font family="sans" style="80" name="Helvetica-Bold"/> - </dia:attribute> - <dia:attribute name="comment_font"> - <dia:font family="sans" style="0" name="Helvetica"/> - </dia:attribute> - <dia:attribute name="normal_font_height"> - <dia:real val="0.80000000000000004"/> - </dia:attribute> - <dia:attribute name="name_font_height"> - <dia:real val="0.69999999999999996"/> - </dia:attribute> - <dia:attribute name="comment_font_height"> - <dia:real val="0.69999999999999996"/> - </dia:attribute>' - ); - - $this->diagram->startElement('dia:attribute'); - $this->diagram->writeAttribute('name', 'attributes'); - - foreach ($this->fields as $field) { - $this->diagram->writeRaw( - '<dia:composite type="table_attribute"> - <dia:attribute name="name"> - <dia:string>#' . $field . '#</dia:string> - </dia:attribute> - <dia:attribute name="type"> - <dia:string>##</dia:string> - </dia:attribute> - <dia:attribute name="comment"> - <dia:string>##</dia:string> - </dia:attribute>' - ); - unset($pm); - $pm = 'false'; - if (in_array($field, $this->primary)) { - $pm = 'true'; - } - if ($field == $this->displayfield) { - $pm = 'false'; - } - $this->diagram->writeRaw( - '<dia:attribute name="primary_key"> - <dia:boolean val="' . $pm . '"/> - </dia:attribute> - <dia:attribute name="nullable"> - <dia:boolean val="false"/> - </dia:attribute> - <dia:attribute name="unique"> - <dia:boolean val="' . $pm . '"/> - </dia:attribute> - </dia:composite>' - ); - } - $this->diagram->endElement(); - $this->diagram->endElement(); - } -} |
