Comprobar los permisos de un nodo específico utilizando node_access en Drupal

RECU-0555 (Recurso Ejemplo)

Descripción

La función db_rewrite_sql es una solución para obtener listados de nodos pero, para determinar qué usuario tiene acceso a un nodo específico, es un poco complejo.

Ejemplos

$node = node_load(arg(2));
$access = db_result(db_query(db_rewrite_sql(“SELECT n.nid FROM {node}
n WHERE n.nid = %d“), $node->nid));
if ($access) {
drupal_set_message(check_plain($node->title));
}

Es facil simplificar el uso de la función node_access:

$node = node_load(arg(2));
if (node_access(’view’, $node)) {
drupal_set_message(check_plain($node->title));
}

Usando node_access, el primer parámetro es la operación que se quiere tratar, pudiendo ser una vista, actualización, borrado o alta. Esta función es útil para determinar si se crean enlaces como "crea más productos" o "borre este producto"

Contenidos relacionados

Pautas