You are here

function content_theme_nodeapi in Content Theme 6

Implementation of hook_nodeapi().

File

./content_theme.module, line 248
This module allows to use different themes than the site default on content creating, editing, and viewing pages.

Code

function content_theme_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  switch ($op) {
    case 'load':
      $result = db_query('SELECT theme FROM {content_theme_node} WHERE nid = %d AND action = "edit"', $node->nid);
      $node->content_theme_content_node_edit = ($theme = db_fetch_object($result)) ? $theme->theme : '-content_type-';
      $result = db_query('SELECT theme FROM {content_theme_node} WHERE nid = %d AND action = "view"', $node->nid);
      $node->content_theme_content_node_view = ($theme = db_fetch_object($result)) ? $theme->theme : '-content_type-';
      break;
    case 'update':
      db_query('DELETE FROM {content_theme_node} WHERE nid = %d', $node->nid);
    case 'insert':
      $theme = isset($node->content_theme_content_node_edit) ? $node->content_theme_content_node_edit : '-content_type-';
      if ($theme != '-content_type-') {
        db_query('INSERT INTO {content_theme_node} (nid, action, theme) VALUES (%d, "edit", "%s")', $node->nid, $theme);
      }
      $theme = isset($node->content_theme_content_node_view) ? $node->content_theme_content_node_view : '-content_type-';
      if ($theme != '-content_type-') {
        db_query('INSERT INTO {content_theme_node} (nid, action, theme) VALUES (%d, "view", "%s")', $node->nid, $theme);
      }
      break;
    case 'delete':
      db_query('DELETE FROM {content_theme_node} WHERE nid = %d', $node->nid);
      break;
  }
}