Changeset 16377

Show
Ignore:
Timestamp:
05/14/08 14:49:12 (2 months ago)
Author:
rambo
Message:

forward port r16376 with a note to use the new API later

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.core/midcom/baseclasses/core/dbobject.php

    r16127 r16377  
    12611261        } 
    12621262 
     1263        if (   isset($object->lang) 
     1264            && !empty($object->name)) 
     1265        { 
     1266            /** 
     1267             * ML Object with non-empty name 
     1268             * 
     1269             * Check that we're doing anything stupid like overwriting name  
     1270             * derived in "lang0" with one derived from localized title 
     1271             */ 
     1272            // FIXME: use midgard_connection::get_default_lang() with 1.9/2.0 
     1273            $fallback_language = mgd_get_default_lang(); 
     1274            if ($object->lang != $fallback_language) 
     1275            { 
     1276                debug_push_class(__CLASS__, __FUNCTION__); 
     1277                debug_add("Not regenerating name for {$object->guid}, current version is not the fallback-language one", MIDCOM_LOG_INFO); 
     1278                debug_add("\$object->lang={$object->lang} != \$fallback_language={$fallback_language}"); 
     1279                debug_pop(); 
     1280                // This is localized version of the object, do not overwrite name silently abort instead 
     1281                return true; 
     1282            } 
     1283        } 
     1284 
    12631285        $name = midcom_generate_urlname_from_string($object->$titlefield); 
    12641286        // Strip the incrementing count suffix from name for checking 
  • trunk/midcom/net.nemein.calendar/event.php

    r16375 r16377  
    248248    } 
    249249 
     250    /** 
     251     * Clears the name field if user is not allowed to set it explicitly 
     252     * 
     253     * But only when in the fallback language 
     254     */ 
     255    function _check_clear_name() 
     256    { 
     257        // FIXME: use midgard_connection::get_default_lang() with 1.9/2.0 
     258        $fallback_language = mgd_get_default_lang(); 
     259        /* 
     260        debug_push_class(__CLASS__, __FUNCTION__); 
     261        debug_add("checking lang"); 
     262        $fallback_language = mgd_get_default_lang(); 
     263        debug_add("if (\$this->lang={$this->lang} != \$fallback_language={$fallback_language})"); 
     264        debug_pop(); 
     265        */ 
     266        if ($this->lang != $fallback_language) 
     267        { 
     268            return; 
     269        } 
     270        if (!$this->_config->get('allow_name_change')) 
     271        { 
     272            $this->name = ''; 
     273        } 
     274    } 
     275 
    250276    function _on_creating() 
    251277    { 
    252         if (!$this->_config->get('allow_name_change')) 
    253         { 
    254             $this->name = ''; 
    255         } 
    256  
     278        $this->_check_clear_name(); 
    257279        if (!$this->_check_time_range()) 
    258280        { 
     
    268290    function _on_updating() 
    269291    { 
    270         if (   !$this->_config->get('allow_name_change') 
    271             && !isset($GLOBALS['net_nemein_calendar_event_dba__on_updated_loop_{$this->guid}'])) 
    272         { 
    273             $this->name = ''; 
     292        if (!isset($GLOBALS['net_nemein_calendar_event_dba__on_updated_loop_{$this->guid}'])) 
     293        { 
     294            $this->_check_clear_name(); 
    274295        } 
    275296 
     
    293314    function _on_created() 
    294315    { 
     316        // In theory we should never be able to loop here since it goes on to the update callbacks, but better to be safe 
    295317        if (isset($GLOBALS['net_nemein_calendar_event_dba__on_created_loop_{$this->guid}'])) 
    296318        {