function node_get_types in Drupal 6
Same name and namespace in other branches
- 4 modules/node.module \node_get_types()
- 5 modules/node/node.module \node_get_types()
Builds a list of available node types, and returns all or part of this list.
Parameters
$op: The format in which to return the list: 'type', 'types', 'module', 'name', or 'names'. See return value section below for details.
$node: A node object, an array representation of a node object, or a node type name string. See return value section below for details.
$reset: Whether or not to reset this function's internal cache (defaults to FALSE).
Return value
If $node is supplied and it doesn't correspond to a known node type, or if $op is 'type', 'name', or 'module' and $node is not given, the function returns FALSE. Otherwise, the return value depends on the value of $op:
- 'types': An array of all available node type objects, keyed by machine name.
- 'type': The single node type object indicated by $node.
- 'names': An array of the display names of all available node types, keyed by machine name and sorted by display name.
- 'name': The single node type display name indicated by $node.
- 'module': The name of the node type module indicated by $node.
49 calls to node_get_types()
- blogapi_admin_settings in modules/
blogapi/ blogapi.module - blog_form in modules/
blog/ blog.module - Implementation of hook_form().
- book_admin_settings in modules/
book/ book.admin.inc - Builds and returns the book settings form.
- comment_update_6002 in modules/
comment/ comment.install - Changed comment settings from global to per-node -- copy global settings to all node types.
- forum_form in modules/
forum/ forum.module - Implementation of hook_form().
File
- modules/
node/ node.module, line 425 - The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.
Code
function node_get_types($op = 'types', $node = NULL, $reset = FALSE) {
static $_node_types, $_node_names;
if ($reset || !isset($_node_types)) {
list($_node_types, $_node_names) = _node_types_build();
}
if ($node) {
if (is_array($node)) {
$type = $node['type'];
}
elseif (is_object($node)) {
$type = $node->type;
}
elseif (is_string($node)) {
$type = $node;
}
if (!isset($_node_types[$type])) {
return FALSE;
}
}
switch ($op) {
case 'types':
return $_node_types;
case 'type':
return isset($_node_types[$type]) ? $_node_types[$type] : FALSE;
case 'module':
return isset($_node_types[$type]->module) ? $_node_types[$type]->module : FALSE;
case 'names':
return $_node_names;
case 'name':
return isset($_node_names[$type]) ? $_node_names[$type] : FALSE;
}
}