function edit() { if (!can_manage_dimension_members(logged_user())) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } $member = Members::findById(get_id()); if (!$member instanceof Member) { flash_error(lang('member dnx')); ajx_current("empty"); return; } $ret = array(); Hook::fire('check_additional_member_permissions', array('action' => 'edit', 'member' => $member, 'pg_id' => logged_user()->getPermissionGroupId()), $ret); if (count($ret) > 0 && !array_var($ret, 'ok')) { flash_error(array_var($ret, 'message')); ajx_current("empty"); return; } $this->setTemplate('add'); $member_data = array_var($_POST, 'member'); if (!is_array($member_data)) { // New ! Permissions $permission_parameters = permission_member_form_parameters($member); tpl_assign('permission_parameters', $permission_parameters); //-- tpl_assign("member", $member); $member_data['name'] = $member->getName(); $member_data['description'] = $member->getDescription(); $current_dimension = $member->getDimension(); if (!$current_dimension instanceof Dimension) { flash_error("dimension dnx"); ajx_current("empty"); return; } tpl_assign("current_dimension", $current_dimension); $ot_ids = implode(",", DimensionObjectTypes::getObjectTypeIdsByDimension($current_dimension->getId())); $dimension_obj_types = ObjectTypes::findAll(array("conditions" => "`id` IN ({$ot_ids})")); $dimension_obj_types_info = array(); foreach ($dimension_obj_types as $ot) { $info = $ot->getArrayInfo(array('id', 'name', 'type')); $info['name'] = lang(array_var($info, 'name')); $dimension_obj_types_info[] = $info; } tpl_assign('dimension_obj_types', $dimension_obj_types_info); tpl_assign('obj_type_sel', $member->getObjectTypeId()); tpl_assign('parents', self::getAssignableParents($member->getDimensionId(), $member->getObjectTypeId())); tpl_assign('parent_sel', $member->getParentMemberId()); tpl_assign("member_data", $member_data); tpl_assign('can_change_type', false); $restricted_dim_defs = DimensionMemberRestrictionDefinitions::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId()))); $ot_with_restrictions = array(); foreach ($restricted_dim_defs as $rdef) { if (!isset($ot_with_restrictions[$rdef->getObjectTypeId()])) { $ot_with_restrictions[$rdef->getObjectTypeId()] = true; } } tpl_assign('ot_with_restrictions', $ot_with_restrictions); $associations = DimensionMemberAssociations::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId()))); $ot_with_associations = array(); foreach ($associations as $assoc) { if (!isset($ot_with_associations[$assoc->getObjectTypeId()])) { $ot_with_associations[$assoc->getObjectTypeId()] = true; } } tpl_assign('ot_with_associations', $ot_with_associations); } else { try { $old_parent = $member->getParentMemberId(); $ok = $this->saveMember($member_data, $member, false); Env::useHelper('permissions'); save_member_permissions_background(logged_user(), $member, array_var($_REQUEST, 'permissions'), $old_parent); if ($ok) { ApplicationLogs::createLog($member, ApplicationLogs::ACTION_EDIT); $ret = null; Hook::fire('after_edit_member', $member, $ret); //evt_add("reload dimension tree", array('dim_id' => $member->getDimensionId(), 'mid' => $member->getId(), 'pid' => $member->getParentMemberId())); evt_add("update dimension tree node", array('dim_id' => $member->getDimensionId(), 'member_id' => $member->getId())); } } catch (Exception $e) { DB::rollback(); flash_error($e->getMessage()); ajx_current("empty"); } } }
function edit() { if (!can_manage_dimension_members(logged_user())) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } $member = Members::findById(get_id()); if (!$member instanceof Member) { flash_error(lang('member dnx')); ajx_current("empty"); return; } $this->setTemplate('add'); $member_data = array_var($_POST, 'member'); if (!is_array($member_data)) { // New ! Permissions $permission_parameters = permission_member_form_parameters($member); tpl_assign('permission_parameters', $permission_parameters); //-- tpl_assign("member", $member); $member_data['name'] = $member->getName(); $current_dimension = $member->getDimension(); if (!$current_dimension instanceof Dimension) { flash_error("dimension dnx"); ajx_current("empty"); return; } tpl_assign("current_dimension", $current_dimension); $ot_ids = implode(",", DimensionObjectTypes::getObjectTypeIdsByDimension($current_dimension->getId())); $dimension_obj_types = ObjectTypes::findAll(array("conditions" => "`id` IN ({$ot_ids})")); $dimension_obj_types_info = array(); foreach ($dimension_obj_types as $ot) { $info = $ot->getArrayInfo(array('id', 'name', 'type')); $info['name'] = lang(array_var($info, 'name')); $dimension_obj_types_info[] = $info; } tpl_assign('dimension_obj_types', $dimension_obj_types_info); tpl_assign('obj_type_sel', $member->getObjectTypeId()); tpl_assign('parents', self::getAssignableParents($member->getDimensionId(), $member->getObjectTypeId())); tpl_assign('parent_sel', $member->getParentMemberId()); tpl_assign("member_data", $member_data); tpl_assign('can_change_type', false); $restricted_dim_defs = DimensionMemberRestrictionDefinitions::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId()))); $ot_with_restrictions = array(); foreach ($restricted_dim_defs as $rdef) { if (!isset($ot_with_restrictions[$rdef->getObjectTypeId()])) { $ot_with_restrictions[$rdef->getObjectTypeId()] = true; } } tpl_assign('ot_with_restrictions', $ot_with_restrictions); $associations = DimensionMemberAssociations::findAll(array("conditions" => array("`dimension_id` = ?", $member->getDimensionId()))); $ot_with_associations = array(); foreach ($associations as $assoc) { if (!isset($ot_with_associations[$assoc->getObjectTypeId()])) { $ot_with_associations[$assoc->getObjectTypeId()] = true; } } tpl_assign('ot_with_associations', $ot_with_associations); } else { $ok = $this->saveMember($member_data, $member, false); save_member_permissions($member); // NEW member permissions if ($ok) { $ret = null; Hook::fire('after_edit_member', $member, $ret); evt_add("reload dimension tree", $member->getDimensionId()); // ApplicationLogs::createLog($member, ApplicationLogs::ACTION_EDIT, false, true); } } }
, isManageable: <?php echo (int) $dimension->getIsManageable(); ?> , quickAdd: <?php echo intval($dimension->getOptionValue('quickAdd')) ? 'true' : 'false'; ?> , minHeight: 10 //animate: false, //animCollapse: false } <?php $dim_obj_types = DimensionObjectTypes::getObjectTypeIdsByDimension($dimension->getId()); $dim_obj_type_descendants[$dimension->getId()] = array(); foreach ($dim_obj_types as $ot_id) { $all_child_ots = DimensionObjectTypeHierarchies::getAllChildrenObjectTypeIds($dimension->getId(), $ot_id); $dim_obj_type_descendants[$dimension->getId()][$ot_id] = array_values($all_child_ots); } ?> <?php } ?> ]; og.dimension_object_type_descendants = Ext.util.JSON.decode('<?php echo json_encode($dim_obj_type_descendants); ?> ');