private function getAssignableParents($dim_id, $otype_id) { $parents = Members::findAll(array("conditions" => array("`object_type_id` IN (\n\t\t\tSELECT `parent_object_type_id` FROM `" . DimensionObjectTypeHierarchies::instance()->getTableName() . "` WHERE `dimension_id` = ? AND `child_object_type_id` = ?\n\t\t)", $dim_id, $otype_id))); $parents_info = array(); foreach ($parents as $parent) { $parents_info[] = array('id' => $parent->getId(), 'name' => $parent->getName()); } $dim_obj_type = DimensionObjectTypes::findById(array('dimension_id' => $dim_id, 'object_type_id' => $otype_id)); if ($dim_obj_type && $dim_obj_type->getIsRoot()) { array_unshift($parents_info, array('id' => 0, 'name' => lang('none'))); } return $parents_info; }