function reload_dimensions_js()
 {
     ajx_current("empty");
     $dimensions = Dimensions::findAll();
     $ot_extra_cond = "";
     Hook::fire('available_object_types_extra_cond', null, $ot_extra_cond);
     $ots = ObjectTypes::getAvailableObjectTypesWithTimeslots($ot_extra_cond);
     $dims_info = array();
     $perms_info = array();
     foreach ($dimensions as $dim) {
         $dims_info[$dim->getId()] = array();
         $perms_info[$dim->getId()] = array();
         $members = $dim->getAllMembers();
         foreach ($members as $member) {
             $mem_info = array();
             $mem_info['id'] = $member->getId();
             $mem_info['name'] = clean($member->getName());
             $mem_info['ot'] = $member->getObjectTypeId();
             $mem_info['path'] = $dim->getIsManageable() ? trim(clean($member->getPath())) : '';
             $mem_info['ico'] = $member->getIconClass();
             $mem_info['color'] = $member->getMemberColor();
             $mem_info['parent_id'] = $member->getParentMemberId();
             $mem_info['archived'] = $member->getArchivedById();
             $p_info = array();
             if ($dim->getIsManageable()) {
                 foreach ($ots as $ot) {
                     $p_info[$ot->getId()] = $dim->getDefinesPermissions() ? can_read(logged_user(), array($member), $ot->getId()) : true;
                 }
             }
             $dims_info[$dim->getId()][$member->getId()] = $mem_info;
             $perms_info[$dim->getId()][$member->getId()] = $p_info;
         }
     }
     ajx_extra_data(array("dims" => $dims_info, "perms" => $perms_info));
 }