node_get_types
modules/node/node.module, строка 412
- Версии
- 5 – 6
node_get_types($op = 'types', $node = NULL, $reset = FALSE)
Формирует список доступных типов нод и возвращает те из них, которые определены параметрами.
Параметры
$op
Формат, в котором функция должна вернуть список типов. Если этот параметр равен 'type'
, 'module'
или 'name'
, функция вернет только заданный тип нод. Если же этот параметр равен 'types'
или 'names'
, будут возвращены все типы нод.
$node
Объект ноды, массив или строка, указывающие на тип ноды, который нужно вернуть. Значение по умолчанию (NULL
) вернет все доступные типы нод.
$reset
Обнулять ли внутренний кеш, который формирует эта функция (по умолчанию FALSE
).
Возвращаемое значение
Либо массив всех доступных типов нод, либо отдельный тип ноды. Возвращает FALSE
если запрошенный тип нод не найден.
Код
<?php
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;
}
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии