public function print_field($field, $data, $object) { $user = FW4_User::get_user(); if (!isset($data->id)) { $has_siblings = false; foreach ($field->xpath('following-sibling::*') as $sibling) { if ($sibling->getName() == 'header') { break; } if (isset($sibling['require']) && $user->id !== 0) { $require_fields = explode('.', $sibling['require']); $require_field = $user; foreach ($require_fields as $current_field) { if (isset($require_field[$current_field]) && $require_field[$current_field]) { $require_field = $require_field[$current_field]; } else { $require_field = false; break; } } if (!$require_field) { continue; } } if ($sibling->getName() != 'object' && $sibling->getName() != 'recursive' && $sibling->getName() != 'slug' && $sibling->getName() != 'family') { $has_siblings = true; } } if (!$has_siblings) { return false; } } else { $has_siblings = false; foreach ($field->xpath('following-sibling::*') as $sibling) { if ($sibling->getName() == 'header') { break; } if (isset($sibling['require']) && $user->id !== 0) { $require_fields = explode('.', $sibling['require']); $require_field = $user; foreach ($require_fields as $current_field) { if (isset($require_field[$current_field]) && $require_field[$current_field]) { $require_field = $require_field[$current_field]; } else { $require_field = false; break; } } if (!$require_field) { continue; } } if (isset($object['is_version']) && $sibling->getName() == 'object') { continue; } if ($sibling->getName() == 'recursive' && (isset($sibling['levels']) && FW4_Admin::$recursive_levels >= $sibling['levels'] || isset($object['editing_disabled']))) { continue; } if ($sibling->getName() == 'family' && isset($object['editing_disabled'])) { continue; } if ($sibling->getName() != 'slug' && $sibling->getName() != 'creator' && $sibling->getName() != 'export') { $has_siblings = true; } } if (!$has_siblings) { return false; } } FW4_Admin::$has_headers = true; ?> <h2><?php echo strval($field); ?> </h2><?php }