Función hook_access Drupal 5.x

El hook access dentro del api drupal 5.x para el desarrollo de módulos nos ayuda a definir los permisos de acceso (por ejemplo para crear un tipo de nodo). La cuenta administrativa (con id #1 en la tabla) no tendrá problema para pasar por los permisos de acceso de cualquier módulo. Si no se define este hook para un módulo que defina un tipo de dato, todos los controles de acceso fallarán y sólo el administrador o los usuarios que tengan el permiso "administrar nodos" podrán verlos. Parámetros: $op: es la operación a realizar. Por ejemplo:
  • create
  • delete
  • update
  • delete
  • view
Valor de return Se retorna true si la acción se puede realizar, de lo contrario, se retorna false. Ej.
<span style="color: #000000;">1.    <span style="color: #ff0000;"><span style="color: #0000bb;">2.    </span><span style="color: #007700;">function </span><span style="color: #0000bb;">hook_access</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$op</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$node</span><span style="color: #007700;">) {
</span><span style="color: #0000bb;">3.      </span><span style="color: #007700;">global </span><span style="color: #0000bb;">$user</span><span style="color: #007700;">;
</span><span style="color: #0000bb;">4.
5.      </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">$op </span><span style="color: #007700;">== </span><span style="color: #dd0000;">'create'</span><span style="color: #007700;">) {</span><span style="color: #0000bb;">
6.        </span><span style="color: #007700;">return </span><span style="color: #0000bb;">user_access</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'create stories'</span><span style="color: #007700;">);
</span><span style="color: #0000bb;">7.      </span><span style="color: #007700;">}</span><span style="color: #0000bb;">
8.
9.      </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">$op </span><span style="color: #007700;">== </span><span style="color: #dd0000;">'update' </span><span style="color: #007700;">|| </span><span style="color: #0000bb;">$op </span><span style="color: #007700;">== </span><span style="color: #dd0000;">'delete'</span><span style="color: #007700;">) {
</span><span style="color: #0000bb;">10.        </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">user_access</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'edit own stories'</span><span style="color: #007700;">) &amp;&amp; (</span><span style="color: #0000bb;">$user</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">uid </span><span style="color: #007700;">== </span><span style="color: #0000bb;">$node</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">uid</span><span style="color: #007700;">)) {</span><span style="color: #0000bb;">
11.          </span><span style="color: #007700;">return </span><span style="color: #0000bb;">TRUE</span><span style="color: #007700;">;
</span><span style="color: #0000bb;">12.        </span><span style="color: #007700;">}</span><span style="color: #0000bb;">
13.      </span><span style="color: #007700;">}
</span><span style="color: #0000bb;">14.    </span><span style="color: #007700;">}
</span><span style="color: #0000bb;">15.    ?&gt;</span></span></span>
Fuente: http://drupa.org/api/function/hook_access/5 Saludos ...
Sin votos aún

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

CAPTCHA
Esta pregunta es para probar si tu eres un humano y para prevenir spam en el sitio.
7 + 8 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.