Changeset 2945

Show
Ignore:
Timestamp:
07/23/08 17:23:10 (1 month ago)
Author:
alexandrej
Message:

Mise à jour Heading

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/project/modules/devel/cms3/heading/classes/headingelementinformationservices.class.php

    r2942 r2945  
    146146     */ 
    147147    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){ 
    148158        $parameters = _daoSp ()->addCondition ('public_id_hei', '=', $pPublicId) 
    149159                               ->orderby (array('version_hei', 'DESC')) 
    150160                               ->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; 
    155165    } 
    156166     
     
    159169     */ 
    160170    public function getHeadingPathFromId ($pId){ 
    161         CopixClassesFactory::fileInclude('heading|headingelementinformation'); 
    162171        $parameters = _daoSp ()->addCondition ('id_helt', '=', $pId); 
    163172        if (_dao('headingelementinformation')->findBy ($parameters) !== false) { 
    164             return HeadingServices::getPathFromId ($pId);  
     173            return _class ('heading|headingelementinformation')->getPathFromId($pId); 
    165174        } 
    166175    }    
     
    170179     */ 
    171180    public function getHeadingPathFromPublicId ($pId){ 
    172         CopixClassesFactory::fileInclude('heading|headingelementinformation'); 
    173181        $parameters = _daoSp ()->addCondition ('public_id_hei', '=', $pId); 
    174182        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; 
    177206    }    
    178207} 
  • trunk/project/modules/devel/cms3/heading/classes/headingservices.class.php

    r2942 r2945  
    2020        CopixDB::begin (); 
    2121        try { 
    22             //récupération de la rubrique parente 
    23             $parentPublicId = 0; 
    24  
    2522            //création de l'enregistrement 
    2623            $record = _record ('heading')->initFromDbObject (_ppo ($pHeadingDescription)); 
     
    2926            $record->id_helt = $record->id_head; 
    3027            $record->type_hei = 'heading'; 
    31             $record->parent_heading_public_id_hei = $parentPublicId
     28            $record->parent_heading_public_id_hei = $pHeadingDescription->parent_heading_public_id_hei
    3229            $record->caption_hei = $pHeadingDescription->caption_hei; 
    3330 
  • trunk/project/modules/devel/cms3/heading/install/scripts/install.pdo_mysql.sql

    r2944 r2945  
    3737) AUTO_INCREMENT=0 ; 
    3838 
    39 INSERT INTO `heading` (`id_head`, `public_id_hei` `description_head`) VALUES 
     39INSERT INTO `heading` (`id_head`, `public_id_hei`, `description_head`) VALUES 
    4040(0, 0, NULL); 
  • trunk/project/modules/devel/cms3/heading/tests/heading_headingtest.class.php

    r2942 r2945  
    2626    } 
    2727     
    28     public function creationArbo (){ 
     28    public function testCreationArbo (){ 
    2929        $r1 = _ppo (array ('parent_heading_public_id_hei'=>0, 
    30                             'caption_hei'=>'R2
     30                            'caption_hei'=>'R1
    3131                    )); 
    3232        _class ('heading|headingservices')->insert ($r1); 
     
    4646                    )); 
    4747        _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 (); 
    4870    } 
    4971