Changeset 10014

Show
Ignore:
Timestamp:
11/28/08 07:03:03 (1 month ago)
Author:
afz
Message:

auto load translated of pages in staticpage gadget same as site language if exist

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/0.8/jaws/html/gadgets/StaticPage/HTML.php

    r9959 r10014  
    4040     * @return string 
    4141     */ 
    42     function Page($id = null) 
     42    function Page($page_id = null) 
    4343    { 
    4444        $request =& Jaws_Request::getInstance(); 
     
    4949 
    5050        $model = $GLOBALS['app']->LoadGadget('StaticPage', 'Model'); 
    51         if (!is_null($id)) { 
    52             $page = $model->GetPage($id); 
     51        $page_id = is_null($page_id)? $post['id'] : $page_id; 
     52        $page_language = $post['language']; 
     53        if (empty($page_language)) { 
     54            // if page language not set try to load language traslation of page that same as site language 
     55            $page_language = $GLOBALS['app']->GetLanguage(); 
     56            if (!$model->TranslationExists($page_id, $page_language)) { 
     57                $page_language = null; 
     58            } 
     59        } 
     60 
     61        if (empty($page_language)) { 
     62            $page = $model->GetPage($page_id); 
    5363        } else { 
    54             $page = $model->GetPage($post['id'], $post['language']); 
     64            $page = $model->GetPage($page_id, $page_language); 
    5565        } 
    5666 
  • branches/0.8/jaws/html/gadgets/StaticPage/Model.php

    r9936 r10014  
    260260            SELECT 
    261261                COUNT([translation_id]) AS total 
    262             FROM [[static_pages_translation]] 
    263             WHERE [base_id] = {id} AND [language] = {language}'; 
     262            FROM [[static_pages_translation]] spt 
     263            INNER JOIN [[static_pages]] sp ON spt.[base_id] = sp.[page_id] 
     264            '; 
     265 
     266        if (is_numeric($page_id)) { 
     267            $sql .= 'WHERE sp.[page_id] = {id} AND spt.[language] = {language}'; 
     268        } else { 
     269            $sql .= 'WHERE sp.[fast_url] = {id} AND spt.[language] = {language}'; 
     270        } 
     271 
    264272 
    265273        $params             = array();