Beispiel #1
0
 public function deleteTags()
 {
     $query = "\n            SELECT *\n            FROM " . Tag::getTableName() . " tag\n            WHERE type_id='" . $this->escape($this->getId()) . "'\n        ";
     $rows = $this->queryAndFetch($query);
     $deletedTags = array();
     foreach ($rows as $values) {
         $tag = new Tag($this->getSource());
         $tag->setValues($values);
         $deletedTags[] = $tag->delete();
     }
     return $deletedTags;
 }
Beispiel #2
0
 public function deleteSynonymes()
 {
     $query = "\n            SELECT *\n            FROM " . Tag::getTableName() . " tag\n            WHERE mastertag_id='" . $this->escape($this->getId()) . "'\n        ";
     $rows = $this->queryAndFetch($query);
     foreach ($rows as $values) {
         $tag = new Tag($this->getSource());
         $tag->setValues($values);
         $tag->delete();
     }
     return $this;
 }
Beispiel #3
0
<?php

use PMD\Capital\Configuration\DataSource;
use PMD\Capital\Module\Tag\Model\Tag;
use PMD\Capital\Model\ObjectType;
use PMD\Capital\Module\Tag\Model\Type;
use PMD\Capital\Module\Tag\Model\Association;
use PMD\Capital\Module\Tag\Model\AssociationType;
$tagDataSource = DataSource::get('new');
$tagDataSource->query('DROP TABLE ' . Tag::getTableName() . '');
$tagDataSource->query('DROP TABLE ' . ObjectType::getTableName() . '');
$tagDataSource->query('DROP TABLE ' . Type::getTableName() . '');
$tagDataSource->query('DROP TABLE ' . Association::getTableName() . '');
$tagDataSource->query('DROP TABLE ' . AssociationType::getTableName() . '');
echo "Create pmd_tag table\n";
$query = "\n        CREATE TABLE `" . Tag::getTableName() . "` (\n        `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n        `parent_id` INT(32),\n        `mastertag_id` INT(32),\n        `type_id` INT(32) UNSIGNED,\n        `caption` VARCHAR(100) NOT NULL,\n        `leftbound` INT(32) UNSIGNED,\n        `rightbound` INT(32) UNSIGNED,\n        `datecreation` DATETIME,\n        `datemodification` DATETIME,\n        `slug` VARCHAR(100) NOT NULL,\n        `data` TEXT,\n        PRIMARY KEY (`id`),\n        INDEX `pmdtag_parentid` (`parent_id`),\n        INDEX `pmdtag_mastertagid` (`mastertag_id`),\n        INDEX `pmdtag_bounds` (`leftbound`, `rightbound`),\n        INDEX `pmdtag_keyword` (`caption`),\n        INDEX `pmdtag_slug` (`slug`)\n    )\n    COLLATE='utf8_general_ci'\n    ENGINE=InnoDB\n;\n";
$tagDataSource->query($query);
echo "Create pmd_tagtype table\n";
$query = "\n        CREATE TABLE `" . Type::getTableName() . "` (\n        `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n        `parent_id` INT(32),\n        `caption` VARCHAR(100) NOT NULL,\n        `qname` VARCHAR(100) NOT NULL,\n        `leftbound` INT(32) UNSIGNED,\n        `rightbound` INT(32) UNSIGNED,\n        `datecreation` DATETIME,\n        `datemodification` DATETIME,\n        `data` TEXT,\n        PRIMARY KEY (`id`),\n        INDEX `pmdtagtype_parentid` (`parent_id`),\n        INDEX `pmdtagtype_qname` (`qname`),\n        INDEX `pmdtagtype_bounds` (`leftbound`, `rightbound`),\n        INDEX `pmdtagtype_caption` (`caption`)\n    )\n    COLLATE='utf8_general_ci'\n    ENGINE=InnoDB\n;\n";
$tagDataSource->query($query);
echo "Create pmd_tagassociation table\n";
$query = "\n        CREATE TABLE `" . Association::getTableName() . "` (\n        `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n        `tag_id` INT(32) UNSIGNED NOT NULL,\n        `object_id` INT(32) UNSIGNED NOT NULL,\n        `objecttype_id` INT(32) UNSIGNED NOT NULL,\n        `type_id` INT(32) UNSIGNED NOT NULL,\n        `datecreation` DATETIME,\n        `datemodification` DATETIME,\n        PRIMARY KEY (`id`),\n        INDEX `pmdtagassociation_tagid` (`tag_id`),\n        INDEX `pmdtagassociation_objectid` (`object_id`),\n        INDEX `pmdtagassociation_objecttypeid` (`objecttype_id`)\n    )\n    COLLATE='utf8_general_ci'\n    ENGINE=InnoDB\n;\n";
$tagDataSource->query($query);
echo "Create pmd_objecttype table\n";
$query = "\n        CREATE TABLE `" . ObjectType::getTableName() . "` (\n        `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n        `parent_id` INT(32),\n        `qname` VARCHAR(100) NOT NULL,\n        `caption` VARCHAR(100) NOT NULL,\n        `leftbound` INT(32) UNSIGNED,\n        `rightbound` INT(32) UNSIGNED,\n        `datecreation` DATETIME,\n        `datemodification` DATETIME,\n        `data` TEXT,\n        PRIMARY KEY (`id`),\n        INDEX `pmdobjecttype_parentid` (`parent_id`),\n        INDEX `pmdobjecttype_qname` (`qname`),\n        INDEX `pmdobjecttype_caption` (`caption`),\n        INDEX `pmdobjecttype_bounds` (`leftbound`, `rightbound`)\n    )\n    COLLATE='utf8_general_ci'\n    ENGINE=InnoDB\n;\n";
$tagDataSource->query($query);
echo "Create pmd_tagassociationtype table\n";
$query = "\n        CREATE TABLE `" . AssociationType::getTableName() . "` (\n        `id` INT(32) UNSIGNED NOT NULL AUTO_INCREMENT,\n        `qname` VARCHAR(100) NOT NULL,\n        `caption` VARCHAR(100) NOT NULL,\n        `datecreation` DATETIME,\n        `datemodification` DATETIME,\n        PRIMARY KEY (`id`),\n        INDEX `pmdassociationtype_qname` (`qname`),\n        INDEX `pmdassociationtype_caption` (`caption`)\n    )\n    COLLATE='utf8_general_ci'\n    ENGINE=InnoDB\n;\n";
$tagDataSource->query($query);