jogosultság - user access

makgab képe

Üdv!

A _permission fv-ben definiáltam jogosultságokat

function mymodule_permission() {
  return array(
      'administer mymodule' => array(
      'title' => t('Administer mymodule'),
      'description' => t('Administer mymodule permission'),
      ),
      'lister mymodule' => array(
      'title' => t('Lister mymodule'),
      'description' => t('Lister mymodule permission'),
      ),
      // ...stb.
  );
}

A _menu függvényben használom:

function mymodule_menu() {
  $items = array();
  $items['mymodule_main'] = array(
  'title' => t('Mymodule Main'),
  'access callback' => 'user_access'
  'access arguments' => array('administer mymodule','lister mymodule'),
  );
  // ...stb.
  return $items;
}

Azt irja vissza: "Nincs megfelelő jogosultság a lap megtekintéséhez."
és:
Notice: Trying to get property of non-object user_access() függvényben (/var/www/html/drupal7/modules/user/user.module 798 sor).

Ha csak ez van:

  'access arguments' => array('administer mymodule'),

akkor van jogom az oldalhoz.

Az 'access arguments'-nek hogy lehet több értéket adni?
Mit csinálok rosszul?

Tehát csak annyit szeretnék, hogy az 'administer mymodule' és 'lister mymodule' joggal rendelkezők érjék el a menüt.

Drupal verzió: 
aboros képe

_egy_ string megy be és opcionális egy user account.

saját access callbacket kell írnod, ami megcsinálja mindkét user_accesst és TRUE vagy FALSE értékkel tér vissza aszerint amit szeretnél.

<?php
function mymodule_mycustom_access_check_vagy_akarmi_fgv() {
  if (user_access('egyik jogosultság') && user_access('másik jogosultság')) {
    return TRUE;
  } else {
    return FALSE;
  }
}
?>

vagy ilyesmi.
a menü deklarációban ezt a függvényt adod meg access callbacknek.
1
0

-
clear: both;

dj képe

function mymodule_mycustom_access_check_vagy_akarmi_fgv() {
  return (user_access('egyik jogosultság') && user_access('másik jogosultság'));
}
0
0

Üdv!
Dudás József

makgab képe

Aha...
Így kell megadnom a jogokat:

  'access callback' => 'mymodule_user_access'
  'access arguments' => array(array('administer mymodule','lister mymodule')),

Így a mymodule_user_acces() fv-ben tömbként kezelhetem a kérdéses jogokat.
Köszönöm a segítséget!

0
0