web-dev-qa-db-ja.com

フィールドで定義された権限

状態フィールドを持つコンテンツがいくつかあります。 同じ状態のユーザーにこのコンテンツの削除を許可したいと思います。
これをDrupalに実装できますか?
PHPコードで実装できますか?

1
user780

custom.info

PS。 <?php?>タグを含めないでください。

; $Id:
name = Custom
description = Custom validate node delete permission
package = Custom
core = 6.x

custom.module

  <?php
    /*
     * file
     */
    function MYMODULE_form_alter(&$form, &$form_state< $form_id){
      switch($form_id){
        case 'node_delete_confirm':
          $form['#validate'][] = 'my_custom_validate';
          break;
      }
    }

    function my_custom_validate($form, &$form_state){
      $nid = $form_state['values']['nid'];
      $node = node_load($nid);
      if(/* conditions */) {
        // some procedure to check fields
        $message = t('You have not any permission to delete this node!');
        form_set_error('nid', $message);
      }
    }
  ?>

このファイルを/sites/all/modules/custom/*.*に配置し、モジュール管理ページでアクティブ化します。楽しい。

1
dobeerman