Changeset 3115

Show
Ignore:
Timestamp:
06/04/07 05:08:39 (1 month ago)
Author:
demian
Message:

dynamic navigation improvements

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/navigation/classes/NavigationDAO.php

    r3112 r3115  
    538538        } 
    539539 
     540        if (isset($section['languages'])) { 
     541            $aLanguages = $section['languages']; 
     542            unset($section['languages']); 
     543        } 
     544 
    540545        $nodeId = $this->nestedSet->createSubNode($section['parent_id'], $section); 
    541546        if (PEAR::isError($nodeId)) { 
     
    547552        // add translation 
    548553        if ($this->conf['translation']['container'] == 'db') { 
    549             // fetch fallback lang 
    550             $lang = SGL_Translation::getFallbackLangID(); 
    551             // insert translation 
    552             $ok = $this->trans->add($nodeId, 'nav', array($lang => $section['title'])); 
     554            if (!isset($aLanguages)) { 
     555                // fetch fallback lang 
     556                $langId = SGL_Translation::getFallbackLangID(); 
     557                $aLanguages = array($langId => $section['title']); 
     558            } 
     559            foreach ($aLanguages as $langId => $sectionTitle) { 
     560                // insert translation 
     561                $langId = SGL_Translation::transformLangID($langId, SGL_LANG_ID_TRANS2); 
     562                $ok = $this->trans->add($nodeId, 'nav', array($langId => $sectionTitle)); 
     563            } 
     564        } 
     565 
     566        // add alias 
     567        if (isset($section['uriAlias'])) { 
     568            $urlAliasId = $this->dbh->nextId($this->conf['table']['uri_alias']); 
     569            $ok = $this->addUriAlias($urlAliasId, $section['uriAlias'], $nodeId); 
     570            // duplicated alias 
     571            if (PEAR::isError($ok)) { 
     572                SGL_Error::pop(); 
     573            // update resource uri with alias id 
     574            } else { 
     575                $resourceUri = 'uriAlias:' . $urlAliasId . ':' 
     576                    . $section['resource_uri']; 
     577                $this->nestedSet->updateNode($nodeId, 
     578                    array('resource_uri' => $resourceUri)); 
     579            } 
    553580        } 
    554581