Changeset 2945
- Timestamp:
- 07/23/08 17:23:10 (1 month ago)
- Files:
-
- trunk/project/modules/devel/cms3/heading/classes/headingelementinformationservices.class.php (modified) (3 diffs)
- trunk/project/modules/devel/cms3/heading/classes/headingservices.class.php (modified) (2 diffs)
- trunk/project/modules/devel/cms3/heading/install/scripts/install.pdo_mysql.sql (modified) (1 diff)
- trunk/project/modules/devel/cms3/heading/tests/heading_headingtest.class.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/project/modules/devel/cms3/heading/classes/headingelementinformationservices.class.php
r2942 r2945 146 146 */ 147 147 public function getNextVersion ($pPublicId) { 148 return $this->getMaxVersion ($pPublicId) + 1; 149 } 150 151 /** 152 * Donne le numéro de version maximum pour un identifiant donné 153 * 154 * @param int $pPublicId l'identifiant publique de l'élément dont on souhaite connaitre le numéro de version 155 * @return int le numéro de version a venir 156 */ 157 public function getMaxVersion ($pPublicId){ 148 158 $parameters = _daoSp ()->addCondition ('public_id_hei', '=', $pPublicId) 149 159 ->orderby (array('version_hei', 'DESC')) 150 160 ->setLimit (0, 1); 151 $results = _dao('headingelementinformation')->findBy ($parameters);152 153 return $results[0]->version_hei+1;154 161 if (count ($results = _dao('headingelementinformation')->findBy ($parameters)) <= 1){ 162 throw new CopixException ('Element inexistant '.$pPublicId); 163 } 164 return $results[0]->version_hei; 155 165 } 156 166 … … 159 169 */ 160 170 public function getHeadingPathFromId ($pId){ 161 CopixClassesFactory::fileInclude('heading|headingelementinformation');162 171 $parameters = _daoSp ()->addCondition ('id_helt', '=', $pId); 163 172 if (_dao('headingelementinformation')->findBy ($parameters) !== false) { 164 return HeadingServices::getPathFromId ($pId);173 return _class ('heading|headingelementinformation')->getPathFromId($pId); 165 174 } 166 175 } … … 170 179 */ 171 180 public function getHeadingPathFromPublicId ($pId){ 172 CopixClassesFactory::fileInclude('heading|headingelementinformation');173 181 $parameters = _daoSp ()->addCondition ('public_id_hei', '=', $pId); 174 182 if (_dao('headingelementinformation')->findBy ($parameters) !== false) { 175 return HeadingServices::getPathFromPublicId($pId); 176 } 183 return _class ('heading|headingelementinformation')->getPathFromPublicId($pId); 184 } 185 } 186 187 /** 188 * Récupération du public id de la rubrique parente de l'élément de public id donné 189 * 190 * @param int $pPublicId l'identifiant publique de l'élément dont on souhaite connaitre la rubrique parente 191 * @param int $pVersion si donné, la version de l'élément que l'on va chercher. Si null, on prendra la version maximale 192 * @return int 193 */ 194 public function getParentHeadingPublicIdFromPublicId ($pPublicId, $pVersion = null) { 195 if ($pVersion === null){ 196 $pVersion = $this->getMaxVersion ($pPublicId); 197 } 198 //on recherche par identifiant public et version 199 $sp = _daoSP () ->addCondition ('public_id_hei', '=', $pPublicId) 200 ->addCondition ('version_hei', '=', $pVersion); 201 if (count ($results = _dao ('heading|headingelementinformation')->findBy ($sp)) <= 0){ 202 throw new CopixException ('Element / Version inexistant '.$pPublicId.'-'.$pVersion); 203 } 204 //on retourne l'identifiant de la rubrique parente 205 return $results[0]->parent_heading_public_id_hei; 177 206 } 178 207 } trunk/project/modules/devel/cms3/heading/classes/headingservices.class.php
r2942 r2945 20 20 CopixDB::begin (); 21 21 try { 22 //récupération de la rubrique parente23 $parentPublicId = 0;24 25 22 //création de l'enregistrement 26 23 $record = _record ('heading')->initFromDbObject (_ppo ($pHeadingDescription)); … … 29 26 $record->id_helt = $record->id_head; 30 27 $record->type_hei = 'heading'; 31 $record->parent_heading_public_id_hei = $p arentPublicId;28 $record->parent_heading_public_id_hei = $pHeadingDescription->parent_heading_public_id_hei; 32 29 $record->caption_hei = $pHeadingDescription->caption_hei; 33 30 trunk/project/modules/devel/cms3/heading/install/scripts/install.pdo_mysql.sql
r2944 r2945 37 37 ) AUTO_INCREMENT=0 ; 38 38 39 INSERT INTO `heading` (`id_head`, `public_id_hei` `description_head`) VALUES39 INSERT INTO `heading` (`id_head`, `public_id_hei`, `description_head`) VALUES 40 40 (0, 0, NULL); trunk/project/modules/devel/cms3/heading/tests/heading_headingtest.class.php
r2942 r2945 26 26 } 27 27 28 public function creationArbo (){28 public function testCreationArbo (){ 29 29 $r1 = _ppo (array ('parent_heading_public_id_hei'=>0, 30 'caption_hei'=>'R 2'30 'caption_hei'=>'R1' 31 31 )); 32 32 _class ('heading|headingservices')->insert ($r1); … … 46 46 )); 47 47 _class ('heading|headingservices')->insert ($r11); 48 49 $r12 = _ppo (array ('parent_heading_public_id_hei'=>$r1->public_id_hei, 50 'caption_hei'=>'R12' 51 )); 52 _class ('heading|headingservices')->insert ($r12); 53 54 $r121 = _ppo (array ('parent_heading_public_id_hei'=>$r12->public_id_hei, 55 'caption_hei'=>'R121' 56 )); 57 _class ('heading|headingservices')->insert ($r121); 58 59 $r122 = _ppo (array ('parent_heading_public_id_hei'=>$r12->public_id_hei, 60 'caption_hei'=>'R122', 61 'description_head'=>'Description de la rubrique 122' 62 )); 63 _class ('heading|headingservices')->insert ($r122); 64 65 return compact ('r1', 'r2', 'r3', 'r11', 'r12', 'r121'); 66 } 67 68 public function testGetPath (){ 69 $headingCreated = $this->testCreationArbo (); 48 70 } 49 71
