Changeset 12036

Show
Ignore:
Timestamp:
09/06/07 12:57:33 (1 year ago)
Author:
bergie
Message:

Add support for object schema or component -specific metadata schemas (custom metadata editors)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.admin.folder/documentation/CHANGES

    r12029 r12036  
    1010  + Localization changes 
    1111  + Added folder classification feature to folder editing 
     12  + Added support for object schema or component -specific metadata schema usage 
    1213 
    13142007-06-07 adrenalin 
  • trunk/midcom/midcom.admin.folder/handler/metadata.php

    r5074 r12036  
    9595        $this->_controller->schemadb =& $this->_schemadb; 
    9696         
    97         $this->_controller->set_storage($this->_object, 'metadata'); 
     97        // Check if we have metadata schema defined in the schemadb specific for the object's schema or component 
     98        $object_schema = $this->_object->get_parameter('midcom.helper.datamanager2', 'schema_name'); 
     99        $component_schema = str_replace('.', '_', $_MIDCOM->get_context_data(MIDCOM_CONTEXT_COMPONENT)); 
     100        if (   $object_schema == '' 
     101            || !isset($this->_schemadb[$object_schema])) 
     102        { 
     103            if (isset($this->_schemadb[$component_schema])) 
     104            { 
     105                // No specific metadata schema for object, fall back to component-specific metadata schema 
     106                $object_schema = $component_schema; 
     107            } 
     108            else 
     109            { 
     110                // No metadata schema for component, fall back to default 
     111                $object_schema = 'metadata'; 
     112            } 
     113        } 
     114         
     115        $this->_controller->set_storage($this->_object, $object_schema); 
    98116         
    99117