1. PHP / Говнокод #5481

    +36

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    /**
     * Implementation of hook_access().
     *
     * Node modules may implement node_access() to determine the operations
     * users may perform on nodes. This example uses a very common access pattern.
     */
    function node_example_access($op, $node, $account) {
      if ($op == 'create') {
        return user_access('create example content', $account);
      }
    
      if ($op == 'update') {
        if (user_access('edit any example content', $account) || (user_access('edit own example content', $account) && ($account->uid == $node->uid))) {
          return TRUE;
        }
      }
    
      if ($op == 'delete') {
        if (user_access('delete any example content', $account) || (user_access('delete own example content', $account) && ($account->uid == $node->uid))) {
          return TRUE;
        }
      }
    }

    http://api.drupal.org/api/examples/node_example--node_example.module/6/source
    тут еще много.
    но факт что те кто это пишут таки нужные люди. сама документация достаточно достоверна

    Запостил: brainstorm, 02 Февраля 2011

    Комментарии (9) RSS

    • а... в моем случае будет говнолесенка - у меня гуляет тип материала ищо + доп. значения. омг в опщем.
      Ответить
    • вот (какого хуя (ц) ) зачем операцию надо было передавать как параметр? очень западло было разделить на три функции
      Ответить
      • потомушо тада будет ну просто дохуя функций!111
        Ответить
        • не дохуя.
          но вот $op='read'; обломов не будет - сразу скажут, что сам дурак
          Ответить
          • ну никто внутри модуля не мешает разделить тащемта. многие так и делают. чтобы лесенка адская не была. как правило все сводится к проверкам $account->uid и вызов user_access() такчто код хуков несложен
            Ответить
            • но в ядре такая хрень - это жесть
              Ответить
              • если будет дохуя хуков еще hook_access_*
                hook_nodeapi_*
                итд - если по операции делить - то имхо это будет очень слишком дохуя :)
                Ответить

    Добавить комментарий