File

developer/examples/node_access_example.install
View source
<?php

/**
 * Implementation of hook_install().
 */
function node_access_example_install() {
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      db_query("\n          CREATE TABLE {node_access_example} (\n            nid int(10) unsigned NOT NULL default '0' PRIMARY KEY,\n            private int,\n            KEY node_example_nid (nid)\n          ) /*!40100 DEFAULT CHARACTER SET utf8 */;\n      ");
      break;
    case 'pgsql':
      db_query("\n          CREATE TABLE {node_access_example} (\n            nid int NOT NULL default '0',\n            private int,\n            PRIMARY KEY (nid));\n      ");
      break;
  }
}

/**
 * Implementation of hook_enable().
 *
 * A node access module needs to force a rebuild of the node access table
 * when it is enabled to ensure that things are set up.
 */
function node_access_example_enable() {
  node_access_rebuild();
}

/**
 * Implementation of hook_disable().
 *
 * A node access module needs to force a rebuild of the node access table
 * when it is disabled to ensure that its entries are removed from the table.
 */
function node_access_example_disable() {
  node_access_example_disabling(TRUE);
  node_access_rebuild();
}

/**
 * Implementation of hook_uninstall().
 */
function node_access_example_uninstall() {
  if (db_table_exists('node_access_example')) {
    db_query("DROP TABLE {node_access_example}");
  }
}

Functions