public function getObjectType() { if ($this->objectType == null) { $object = new ObjectType($this->getSource()); $object->loadById($this->getValue['objecttype_id']); $this->{$objectType} = $object; } return $this->objectType; }
<?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; ini_set('memory_limit', '-1'); $oldModel = DataSource::get('old'); $newModel = DataSource::get('new'); $ezObjectType = new ObjectType($newModel); $ezObjectType->loadBy('qname', 'ezobject'); $defaultAssociation = new AssociationType($newModel); $defaultAssociation->loadBy('qname', 'default'); $query = "\n SELECT DISTINCT\n tag.keyword,\n association.object_id\n FROM eztags_attribute_link association\n JOIN eztags tag\n ON tag.id=association.keyword_id\n\n"; $rows = $oldModel->queryAndFetch($query); $newModel->autocommit(false); foreach ($rows as $row) { $tag = new Tag($newModel); $tag->loadBy('caption', $row['keyword']); $association = new Association($newModel); $association->setValue('tag_id', $tag->getId()); $association->setValue('object_id', $row['object_id']); $association->setObjectType($ezObjectType); $association->setType($defaultAssociation); $association->insert(); echo $tag->getValue('caption') . "\t" . $row['object_id'] . "\n"; } $newModel->commit(); //print_r($rows);
$tagDataSource = DataSource::get('new'); echo "Create default association type\n"; $query = "\n INSERT INTO " . AssociationType::getTableName() . " (\n qname,\n caption,\n datecreation\n ) VALUES (\n 'default',\n 'Association par défaut',\n NOW()\n );\n"; $tagDataSource->query($query); echo "Create related object association type\n"; $query = "\n INSERT INTO " . AssociationType::getTableName() . " (\n qname,\n caption,\n datecreation\n ) VALUES (\n 'related',\n 'Relation de contenu',\n NOW()\n );\n"; $tagDataSource->query($query); echo "Create Default Object type\n"; $query = "\n INSERT INTO pmd_objecttype (\n qname,\n caption,\n datecreation\n ) VALUES (\n 'default',\n 'Type par défaut',\n NOW()\n )\n"; $tagDataSource->query($query); $parentId = $tagDataSource->getLastInsertId(); echo "Create Tag Object type\n"; $query = "\n INSERT INTO pmd_objecttype (\n parent_id,\n qname,\n caption,\n datecreation\n ) VALUES (\n " . $parentId . ",\n 'tag',\n 'Tag',\n NOW()\n )\n"; $tagDataSource->query($query); echo "Construction de l'arbre des types\n"; $tree = new ObjectType(); $tree->setSource($tagDataSource); $tree->buildTree(); echo "Create Default tag type\n"; $query = "\n INSERT INTO " . Type::getTableName() . " (\n qname,\n caption,\n datecreation,\n data\n ) VALUES (\n 'default',\n 'Type par défaut',\n NOW(),\n ''\n )\n"; $tagDataSource->query($query); $tagTypeTree = new Type($tagDataSource); $rootTypeNode = $tagTypeTree->getRoot(); $rootTypeNode->setValue('data', ' { "attributes": { "title": { "caption": "Titre", "mandatory": false, "type": "text", "default": null,
<?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('old'); //selection de toutes les relations pagehub/tag de l'ancien système $query = "SELECT * FROM eztags"; $rows = $tagDataSource->queryAndFetch($query); $relatedAssociation = new AssociationType('new'); $relatedAssociation->loadBy('qname', 'related'); $tagType = new ObjectType('new'); $tagType->loadBy('qname', 'tag'); foreach ($rows as $values) { $query = "\n SELECT\n DISTINCT\n originTag.id as tagId,\n originTag.remote_id as pagehubId,\n originTag.keyword as fromKeyword,\n destinationTag.id as destinationId,\n destinationTag.keyword as destinationKeyword\n FROM eztags originTag\n JOIN eztags_attribute_link link\n ON link.object_id=originTag.remote_id\n JOIN eztags destinationTag\n ON destinationTag.id=link.keyword_id\n WHERE originTag.id=" . $values['id'] . "\n "; $relationData = $tagDataSource->queryAndFetch($query); if (!empty($relationData)) { foreach ($relationData as $values) { //récupération du tag d'origine dans la nouvelle bdd $fromTag = new Tag('new'); $fromTag->loadBy('caption', $values['fromKeyword']); $relatedTag = new Tag('new'); $relatedTag->loadBy('caption', $values['destinationKeyword']); //récupération pour le related tag if ($fromTag->getId() && $relatedTag->getId()) { $association = new Association('new'); $association->setType($relatedAssociation); $association->setObjectType($tagType);
<?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->autocommit(false); $rootObjectType = new ObjectType($tagDataSource); $rootObjectType->loadBy('qname', 'default'); $rootObjectTypeId = $rootObjectType->getId(); echo "Create ezObject Object type\n"; $query = "\n INSERT INTO " . ObjectType::getTableName() . " (\n qname,\n caption,\n parent_id,\n datecreation\n ) VALUES (\n 'ezobject',\n 'Objet EzPublish',\n '" . $rootObjectTypeId . "',\n NOW()\n )\n"; $tagDataSource->query($query); echo "Construction de l'arbre des types d'objet\n"; $tree = new ObjectType(); $tree->setSource($tagDataSource); $tree->reset(); $tree->buildTree(); $contentTagType = new Type($tagDataSource); $contentTagType->loadBy('qname', 'content'); echo "Create Company tag type\n"; $contentTagId = $contentTagType->getId(); $query = "\n INSERT INTO " . Type::getTableName() . " (\n parent_id,\n qname,\n caption,\n datecreation,\n data\n ) VALUES (\n " . $contentTagId . ",\n 'company',\n 'Entreprise',\n NOW(),\n '" . '{ "attributes": { "isin": { "caption" : "Code ISIN", "mandatory": false, "type": "text",
<?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);