Changeset 14452
- Timestamp:
- 01/17/08 10:31:18 (11 months ago)
- Files:
-
- trunk/midcom/midcom.core/midcom/baseclasses/core/dbobject.php (modified) (1 diff)
- trunk/midcom/midcom.core/midcom/helper/reflector.php (moved) (moved from trunk/midcom/midgard.admin.asgard/reflector.php) (12 diffs)
- trunk/midcom/midcom.core/midcom/helper/reflector_tree.php (moved) (moved from trunk/midcom/midgard.admin.asgard/reflector_tree.php) (11 diffs)
- trunk/midcom/midcom.helper.datamanager2/exec/chooser_handler.php (modified) (2 diffs)
- trunk/midcom/midgard.admin.asgard/config/config.inc (modified) (1 diff)
- trunk/midcom/midgard.admin.asgard/exec/test.php (modified) (5 diffs)
- trunk/midcom/midgard.admin.asgard/handler/object/manage.php (modified) (2 diffs)
- trunk/midcom/midgard.admin.asgard/handler/type.php (modified) (2 diffs)
- trunk/midcom/midgard.admin.asgard/handler/undelete.php (modified) (4 diffs)
- trunk/midcom/midgard.admin.asgard/midcom/interfaces.php (modified) (2 diffs)
- trunk/midcom/midgard.admin.asgard/navigation.php (modified) (4 diffs)
- trunk/midcom/midgard.admin.asgard/plugin.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/midcom/midcom.core/midcom/baseclasses/core/dbobject.php
r14431 r14452 1160 1160 1161 1161 /** 1162 * Internal helper function, called upon successful delete. It will delete all children of an object as well. 1163 * 1164 * @param MidgardObject &$object A class inherited from one of the MgdSchema driven Midgard classes supporting the above callbacks. 1165 * @return boolean Indicating Success. 1166 * @access private 1167 */ 1168 function _delete_children(&$object) 1169 { 1170 } 1171 1172 /** 1162 1173 * Internal helper function, called upon successful delete. It will unconditionally 1163 1174 * drop all privileges assigned to the given object. trunk/midcom/midcom.core/midcom/helper/reflector.php
r14424 r14452 1 1 <?php 2 2 /** 3 * @package mid gard.admin.asgard3 * @package midcom 4 4 * @author The Midgard Project, http://www.midgard-project.org 5 5 * @version $Id: acl_editor.php 5538 2007-03-20 13:22:41Z rambo $ … … 10 10 /** 11 11 * The Grand Unified Reflector 12 * @package mid gard.admin.asgard12 * @package midcom 13 13 */ 14 class mid gard_admin_asgard_reflector extends midcom_baseclasses_components_purecode14 class midcom_helper_reflector extends midcom_baseclasses_components_purecode 15 15 { 16 16 … … 26 26 * @param string/midgard_object $src classname or object 27 27 */ 28 function mid gard_admin_asgard_reflector($src)28 function midcom_helper_reflector($src) 29 29 { 30 30 $this->_component = 'midgard.admin.asgard'; … … 41 41 42 42 // Resolve root class name 43 $this->_mgdschema_class = mid gard_admin_asgard_reflector::resolve_baseclass($this->_original_class);43 $this->_mgdschema_class = midcom_helper_reflector::resolve_baseclass($this->_original_class); 44 44 45 45 // Could not resolve root class name … … 91 91 $classname = $src; 92 92 } 93 if (!isset($GLOBALS['mid gard_admin_asgard_reflector_singletons'][$classname]))94 { 95 $GLOBALS['mid gard_admin_asgard_reflector_singletons'][$classname] = new midgard_admin_asgard_reflector($src);96 } 97 return $GLOBALS['mid gard_admin_asgard_reflector_singletons'][$classname];93 if (!isset($GLOBALS['midcom_helper_reflector_singletons'][$classname])) 94 { 95 $GLOBALS['midcom_helper_reflector_singletons'][$classname] = new midcom_helper_reflector($src); 96 } 97 return $GLOBALS['midcom_helper_reflector_singletons'][$classname]; 98 98 } 99 99 … … 105 105 { 106 106 // Use cache if we have it 107 if (!isset($GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache']))108 { 109 $GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache'] = array();110 } 111 if (isset($GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache'][$this->_mgdschema_class]))112 { 113 return $GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache'][$this->_mgdschema_class];107 if (!isset($GLOBALS['midcom_helper_reflector_get_component_l10n_cache'])) 108 { 109 $GLOBALS['midcom_helper_reflector_get_component_l10n_cache'] = array(); 110 } 111 if (isset($GLOBALS['midcom_helper_reflector_get_component_l10n_cache'][$this->_mgdschema_class])) 112 { 113 return $GLOBALS['midcom_helper_reflector_get_component_l10n_cache'][$this->_mgdschema_class]; 114 114 } 115 115 debug_push_class(__CLASS__, __FUNCTION__); … … 121 121 debug_add("Could not get MidCOM DBA classname for type {$this->_mgdschema_class}, using our own l10n", MIDCOM_LOG_INFO); 122 122 debug_pop(); 123 $GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache'][$this->_mgdschema_class] = $this->_l10n;123 $GLOBALS['midcom_helper_reflector_get_component_l10n_cache'][$this->_mgdschema_class] = $this->_l10n; 124 124 return $this->_l10n; 125 125 } … … 130 130 debug_add("Could not resolve component for DBA class {$midcom_dba_classname}, using our own l10n", MIDCOM_LOG_INFO); 131 131 debug_pop(); 132 $GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache'][$this->_mgdschema_class] = $this->_l10n;132 $GLOBALS['midcom_helper_reflector_get_component_l10n_cache'][$this->_mgdschema_class] = $this->_l10n; 133 133 return $this->_l10n; 134 134 } … … 142 142 debug_add("Got l10n handler for component {$component}, returning that"); 143 143 debug_pop(); 144 $GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache'][$this->_mgdschema_class] =& $component_l10n;144 $GLOBALS['midcom_helper_reflector_get_component_l10n_cache'][$this->_mgdschema_class] =& $component_l10n; 145 145 return $component_l10n; 146 146 } … … 149 149 debug_add("Everything else failed, using our own l10n for type {$this->_mgdschema_class}", MIDCOM_LOG_WARN); 150 150 debug_pop(); 151 $GLOBALS['mid gard_admin_asgard_reflector_get_component_l10n_cache'][$this->_mgdschema_class] = $this->_l10n;151 $GLOBALS['midcom_helper_reflector_get_component_l10n_cache'][$this->_mgdschema_class] = $this->_l10n; 152 152 return $this->_l10n; 153 153 } … … 747 747 function is_same_class($class_one, $class_two) 748 748 { 749 $one = mid gard_admin_asgard_reflector::resolve_baseclass($class_one);750 $two = mid gard_admin_asgard_reflector::resolve_baseclass($class_two);749 $one = midcom_helper_reflector::resolve_baseclass($class_one); 750 $two = midcom_helper_reflector::resolve_baseclass($class_two); 751 751 if ($one == $two) 752 752 { 753 753 return true; 754 754 } 755 if (mid gard_admin_asgard_reflector::class_rewrite($one) == $two)755 if (midcom_helper_reflector::class_rewrite($one) == $two) 756 756 { 757 757 return true; 758 758 } 759 if ($one == mid gard_admin_asgard_reflector::class_rewrite($two))759 if ($one == midcom_helper_reflector::class_rewrite($two)) 760 760 { 761 761 return true; … … 786 786 /** 787 787 * I hope we don't need these workarounds but in case we do, keep them handy 788 function mid gard_admin_asgard_reflector_get_property_parent(&$src)788 function midcom_helper_reflector_get_property_parent(&$src) 789 789 { 790 790 return midgard_object_class::get_property_parent($src); 791 791 } 792 792 793 function mid gard_admin_asgard_reflector_get_property_up(&$src)793 function midcom_helper_reflector_get_property_up(&$src) 794 794 { 795 795 return midgard_object_class::get_property_up($src); trunk/midcom/midcom.core/midcom/helper/reflector_tree.php
r14390 r14452 1 1 <?php 2 2 /** 3 * @package mid gard.admin.asgard3 * @package midcom 4 4 * @author The Midgard Project, http://www.midgard-project.org 5 5 * @version $Id: acl_editor.php 5538 2007-03-20 13:22:41Z rambo $ … … 9 9 10 10 /** @ ignore */ 11 if (!class_exists('mid gard_admin_asgard_reflector'))11 if (!class_exists('midcom_helper_reflector')) 12 12 { 13 13 require_once('reflector.php'); … … 16 16 /** 17 17 * The Grand Unified Reflector, Tree information 18 * @package mid gard.admin.asgard18 * @package midcom 19 19 */ 20 class mid gard_admin_asgard_reflector_tree extends midgard_admin_asgard_reflector20 class midcom_helper_reflector_tree extends midcom_helper_reflector 21 21 { 22 22 23 function mid gard_admin_asgard_reflector_tree($src)24 { 25 parent::mid gard_admin_asgard_reflector($src);23 function midcom_helper_reflector_tree($src) 24 { 25 parent::midcom_helper_reflector($src); 26 26 } 27 27 … … 36 36 $classname = $src; 37 37 } 38 if (!isset($GLOBALS['mid gard_admin_asgard_reflector_tree_singletons'][$classname]))39 { 40 $GLOBALS['mid gard_admin_asgard_reflector_tree_singletons'][$classname] = new midgard_admin_asgard_reflector_tree($src);41 } 42 return $GLOBALS['mid gard_admin_asgard_reflector_tree_singletons'][$classname];38 if (!isset($GLOBALS['midcom_helper_reflector_tree_singletons'][$classname])) 39 { 40 $GLOBALS['midcom_helper_reflector_tree_singletons'][$classname] = new midcom_helper_reflector_tree($src); 41 } 42 return $GLOBALS['midcom_helper_reflector_tree_singletons'][$classname]; 43 43 } 44 44 … … 52 52 { 53 53 $schema_type =& $this->_mgdschema_class; 54 $root_classes = mid gard_admin_asgard_reflector_tree::get_root_classes();54 $root_classes = midcom_helper_reflector_tree::get_root_classes(); 55 55 if (!in_array($schema_type, $root_classes)) 56 56 { … … 264 264 return false; 265 265 } 266 $resolver = new mid gard_admin_asgard_reflector_tree($object);266 $resolver = new midcom_helper_reflector_tree($object); 267 267 if (!$resolver) 268 268 { 269 269 debug_push_class(__CLASS__, __FUNCTION__); 270 debug_add("Could not instantiate mid gard_admin_asgard_reflector_tree from \$object", MIDCOM_LOG_ERROR);270 debug_add("Could not instantiate midcom_helper_reflector_tree from \$object", MIDCOM_LOG_ERROR); 271 271 debug_pop(); 272 272 return false; … … 319 319 320 320 // Reflection magick 321 $resolver = new mid gard_admin_asgard_reflector_tree($object);321 $resolver = new midcom_helper_reflector_tree($object); 322 322 $ref =& $resolver->_mgd_reflector; 323 323 $schema_type =& $resolver->_mgdschema_class; … … 426 426 return false; 427 427 } 428 $resolver = new mid gard_admin_asgard_reflector_tree($object);428 $resolver = new midcom_helper_reflector_tree($object); 429 429 if (!$resolver) 430 430 { 431 431 debug_push_class(__CLASS__, __FUNCTION__); 432 debug_add("Could not instantiate mid gard_admin_asgard_reflector_tree from \$object", MIDCOM_LOG_ERROR);432 debug_add("Could not instantiate midcom_helper_reflector_tree from \$object", MIDCOM_LOG_ERROR); 433 433 debug_pop(); 434 434 return false; … … 702 702 $link_class = $ref->get_link_name($property); 703 703 debug_add("got link_class '{$link_class}' for property '{$property}' in type '{$prospect_type}'"); 704 if (mid gard_admin_asgard_reflector::is_same_class($link_class, $schema_type))704 if (midcom_helper_reflector::is_same_class($link_class, $schema_type)) 705 705 { 706 706 debug_pop(); … … 722 722 if (empty($root_classes)) 723 723 { 724 $root_classes = mid gard_admin_asgard_reflector_tree::_resolve_root_classes();724 $root_classes = midcom_helper_reflector_tree::_resolve_root_classes(); 725 725 } 726 726 return $root_classes; … … 754 754 755 755 // Class extensions mapping 756 $schema_type = mid gard_admin_asgard_reflector::class_rewrite($schema_type);756 $schema_type = midcom_helper_reflector::class_rewrite($schema_type); 757 757 758 758 // Make sure we only add classes once trunk/midcom/midcom.helper.datamanager2/exec/chooser_handler.php
r14087 r14452 252 252 { 253 253 $linked_type = $reflector->get_link_name($reflector_key); 254 // $linked_type_reflector = mid gard_admin_asgard_reflector::get($linked_type);254 // $linked_type_reflector = midcom_helper_reflector::get($linked_type); 255 255 // $type = $reflector->get_midgard_type($reflector_key); 256 256 // $type_label = midgard_admin_asgard_plugin::get_type_label($linked_type); … … 264 264 // debug_print_r('$object',$object; 265 265 266 // $reflector_tree = new mid gard_admin_asgard_reflector_tree($object);266 // $reflector_tree = new midcom_helper_reflector_tree($object); 267 267 // debug_print_r('$reflector_tree',$reflector_tree); 268 268 } trunk/midcom/midgard.admin.asgard/config/config.inc
r14064 r14452 125 125 'net_nemein_tag', 126 126 'org_openpsa_query', 127 /* Persons a s toplevel is mostly harmful as there can be really many entries */127 /* Persons and groups as toplevel is mostly harmful as there can be really many entries */ 128 128 'midgard_person', 129 129 'org_openpsa_person', 130 'midgard_group', 131 'org_openpsa_organization', 130 132 ), 131 133 // Classes that should always be listed as root class (mainly workaround for schema bugs) trunk/midcom/midgard.admin.asgard/exec/test.php
r13956 r14452 15 15 echo "</pre>\n"; 16 16 17 $root_types = mid gard_admin_asgard_reflector_tree::get_root_classes();18 echo "<hr/>\nroot_types (from mid gard_admin_asgard_reflector_tree::get_root_classes())<pre>\n";17 $root_types = midcom_helper_reflector_tree::get_root_classes(); 18 echo "<hr/>\nroot_types (from midcom_helper_reflector_tree::get_root_classes())<pre>\n"; 19 19 print_r($root_types); 20 20 echo "</pre>\n"; 21 21 22 22 $topic = new midcom_db_topic('9615374e7b9411db8a62e709ab0e585a585a'); 23 $children = mid gard_admin_asgard_reflector_tree::get_child_objects($topic);23 $children = midcom_helper_reflector_tree::get_child_objects($topic); 24 24 echo "<hr/>\nchildren of topic {$topic->extra}<pre>\n"; 25 25 print_r($children); 26 26 echo "</pre>\n"; 27 27 28 $parent = mid gard_admin_asgard_reflector_tree::get_parent($topic);28 $parent = midcom_helper_reflector_tree::get_parent($topic); 29 29 $parent_class = get_class($parent); 30 30 do 31 31 { 32 32 echo "got {$parent_class} {$parent->guid} as parent<br>\n"; 33 $siblings = mid gard_admin_asgard_reflector_tree::get_child_objects($parent);33 $siblings = midcom_helper_reflector_tree::get_child_objects($parent); 34 34 echo "** and the following as siblings (parents children) <pre>\n"; 35 35 print_r($siblings); 36 36 echo "</pre>\n"; 37 $parent = mid gard_admin_asgard_reflector_tree::get_parent($parent);37 $parent = midcom_helper_reflector_tree::get_parent($parent); 38 38 $parent_class = get_class($parent); 39 39 } while (!empty($parent)); … … 41 41 $_MIDCOM->componentloader->load('org.openpsa.projects'); 42 42 $type = 'org_openpsa_task'; 43 $ref = mid gard_admin_asgard_reflector_tree::get($type);43 $ref = midcom_helper_reflector_tree::get($type); 44 44 $label = $ref->get_class_label(); 45 45 echo "Class label for {$type} '{$label}'<br/>\n"; … … 50 50 51 51 $type = 'midgard_topic'; 52 $ref = mid gard_admin_asgard_reflector_tree::get($type);52 $ref = midcom_helper_reflector_tree::get($type); 53 53 $label = $ref->get_class_label(); 54 54 echo "Class label for {$type} '{$label}'<br/>\n"; … … 62 62 foreach($root_types as $schema_type) 63 63 { 64 $ref = mid gard_admin_asgard_reflector_tree::get($schema_type);64 $ref = midcom_helper_reflector_tree::get($schema_type); 65 65 $count = $ref->count_root_objects(); 66 66 echo "Found {$count} root objects for type <tt>{$schema_type}</tt><br/>\n"; … … 74 74 foreach ($_MIDGARD['schema']['types'] as $schema_type => $val) 75 75 { 76 $ref = mid gard_admin_asgard_reflector::get($schema_type);76 $ref = midcom_helper_reflector::get($schema_type); 77 77 $label_pro = $ref->get_label_property(); 78 78 echo "label property for {$schema_type} is {$label_pro}<br>\n"; trunk/midcom/midgard.admin.asgard/handler/object/manage.php
r14385 r14452 299 299 { 300 300 $linked_type = $this->_reflector->get_link_name($key); 301 $linked_type_reflector = mid gard_admin_asgard_reflector::get($linked_type);301 $linked_type_reflector = midcom_helper_reflector::get($linked_type); 302 302 $field_type = $this->_reflector->get_midgard_type($key); 303 303 … … 712 712 { 713 713 // Figure out the linking property 714 $new_type_reflector = mid gard_admin_asgard_reflector::get($new_type);714 $new_type_reflector = midcom_helper_reflector::get($new_type); 715 715 $link_properties = $new_type_reflector->get_link_properties(); 716 $type_to_link_to = mid gard_admin_asgard_reflector::class_rewrite(get_class($this->_object));716 $type_to_link_to = midcom_helper_reflector::class_rewrite(get_class($this->_object)); 717 717 foreach ($link_properties as $new_type_property => $link) 718 718 { 719 $linked_type = mid gard_admin_asgard_reflector::class_rewrite($link['class']);720 721 if (mid gard_admin_asgard_reflector::is_same_class( $linked_type, $type_to_link_to))719 $linked_type = midcom_helper_reflector::class_rewrite($link['class']); 720 721 if (midcom_helper_reflector::is_same_class( $linked_type, $type_to_link_to)) 722 722 { 723 723 $parent_property = $link['target']; trunk/midcom/midgard.admin.asgard/handler/type.php
r14385 r14452 54 54 { 55 55 $this->type = $args[0]; 56 $root_types = mid gard_admin_asgard_reflector_tree::get_root_classes();56 $root_types = midcom_helper_reflector_tree::get_root_classes(); 57 57 /*if (!in_array($this->type, $root_types)) 58 58 { … … 75 75 MIDCOM_TOOLBAR_URL => "__mfa/asgard/object/create/{$this->type}/", 76 76 MIDCOM_TOOLBAR_LABEL => sprintf($_MIDCOM->i18n->get_string('create %s', 'midcom'), midgard_admin_asgard_plugin::get_type_label($this->type)), 77 MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/' . mid gard_admin_asgard_reflector_tree::get_create_icon($this->type),77 MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/' . midcom_helper_reflector_tree::get_create_icon($this->type), 78 78 ) 79 79 ); trunk/midcom/midgard.admin.asgard/handler/undelete.php
r14385 r14452 209 209 function _undelete($guids, $type) 210 210 { 211 $ref = mid gard_admin_asgard_reflector_tree::get($type);211 $ref = midcom_helper_reflector_tree::get($type); 212 212 foreach ($guids as $guid) 213 213 { … … 276 276 function _purge($guids, $type) 277 277 { 278 $ref = mid gard_admin_asgard_reflector_tree::get($type);278 $ref = midcom_helper_reflector_tree::get($type); 279 279 foreach ($guids as $guid) 280 280 { … … 397 397 398 398 $this->type = $args[0]; 399 $root_types = mid gard_admin_asgard_reflector_tree::get_root_classes();399 $root_types = midcom_helper_reflector_tree::get_root_classes(); 400 400 401 401 $data['view_title'] = midgard_admin_asgard_plugin::get_type_label($this->type); … … 413 413 } 414 414 $data['type'] = $this->type; 415 $data['reflector'] = mid gard_admin_asgard_reflector::get($data['type']);415 $data['reflector'] = midcom_helper_reflector::get($data['type']); 416 416 $data['label_property'] = $data['reflector']->get_label_property(); 417 417 trunk/midcom/midgard.admin.asgard/midcom/interfaces.php
r14174 r14452 26 26 $this->_autoload_files = array 27 27 ( 28 'reflector.php',29 'reflector_tree.php',30 28 'navigation.php', 31 29 'plugin.php', … … 52 50 // Enable jQuery 53 51 $_MIDCOM->enable_jquery(); 52 53 // Load reflector 54 if (!class_exists('midcom_helper_reflector_tree')) 55 { 56 $filename = MIDCOM_ROOT . "/midcom/helper/reflector_tree.php"; 57 require_once($filename); 58 } 54 59 55 60 return true; trunk/midcom/midgard.admin.asgard/navigation.php
r14084 r14452 53 53 $this->_request_data =& $request_data; 54 54 55 $this->root_types = mid gard_admin_asgard_reflector_tree::get_root_classes();55 $this->root_types = midcom_helper_reflector_tree::get_root_classes(); 56 56 57 57 if (array_key_exists('current_type', $this->_request_data)) … … 112 112 if (!isset($this->_reflectors[$classname])) 113 113 { 114 $this->_reflectors[$classname] = mid gard_admin_asgard_reflector_tree::get($object);114 $this->_reflectors[$classname] = midcom_helper_reflector_tree::get($object); 115 115 } 116 116 return $this->_reflectors[$classname]; … … 147 147 return; 148 148 } 149 $siblings = mid gard_admin_asgard_reflector_tree::get_child_objects($object);149 $siblings = midcom_helper_reflector_tree::get_child_objects($object); 150 150 if ( is_array($siblings) 151 151 && count($siblings) > 0) … … 280 280 if ( isset($root_object) 281 281 && (is_a($root_object, $root_type) 282 || mid gard_admin_asgard_reflector::is_same_class($root_type,$root_object->__midcom_class_name__))282 || midcom_helper_reflector::is_same_class($root_type,$root_object->__midcom_class_name__)) 283 283 || in_array($root_type, $this->expanded_root_types)) 284 284 { trunk/midcom/midgard.admin.asgard/plugin.php
r14174 r14452 381 381 function get_type_label($type) 382 382 { 383 $ref = mid gard_admin_asgard_reflector_tree::get($type);383 $ref = midcom_helper_reflector_tree::get($type); 384 384 return $ref->get_class_label(); 385 385 } … … 429 429 $_MIDCOM->bind_view_to_object($object); 430 430 $_MIDCOM->set_26_request_metadata($object->metadata->revised, $object->guid); 431 $data['object_reflector'] = mid gard_admin_asgard_reflector::get($object);432 $data['tree_reflector'] = mid gard_admin_asgard_reflector_tree::get($object);431 $data['object_reflector'] = midcom_helper_reflector::get($object); 432 $data['tree_reflector'] = midcom_helper_reflector_tree::get($object); 433 433 434 434 $data['object'] =& $object; … … 711 711 { 712 712 $i++; 713 $parent_reflector = mid gard_admin_asgard_reflector::get($parent);713 $parent_reflector = midcom_helper_reflector::get($parent); 714 714 $parent_label = $parent_reflector->get_object_label($parent); 715 715 $breadcrumb[] = array
