/[drupal]/contributions/modules/skeleton/skeleton.module
ViewVC logotype

Diff of /contributions/modules/skeleton/skeleton.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.18, Thu Mar 12 18:27:26 2009 UTC revision 1.19, Thu Jul 16 18:12:35 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2    
3  // $Id: skeleton.module,v 1.17 2009/03/12 18:22:29 deviantintegral Exp $  // $Id: skeleton.module,v 1.18 2009/03/12 18:27:26 deviantintegral Exp $
4    
5  /**  /**
6   * @file   * @file
# Line 71  function skeleton_menu() { Line 71  function skeleton_menu() {
71      'file' => 'skeleton_admin.inc',      'file' => 'skeleton_admin.inc',
72    );    );
73    $items['admin/content/skeleton/sync'] = array(    $items['admin/content/skeleton/sync'] = array(
74      'page callback' => 'drupal_get_form',      'page callback' => 'skeleton_sync_page',
     'page arguments' => array('skeleton_sync_form'),  
75      'access arguments' => array('configure skeleton outlines'),      'access arguments' => array('configure skeleton outlines'),
76      'type' => MENU_LOCAL_TASK,      'type' => MENU_LOCAL_TASK,
77      'title' => 'Synchronize',      'title' => 'Synchronize',
# Line 333  function skeleton_token_load($token_id) Line 332  function skeleton_token_load($token_id)
332  function skeleton_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {  function skeleton_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
333    switch ($op) {    switch ($op) {
334      case 'load':      case 'load':
335        if ($template = db_fetch_object(db_query("SELECT skeleton_id, template_id, tokens FROM {skeleton_template_node} WHERE nid = %d", $node->nid))) {        if ($template = db_fetch_object(db_query("SELECT skeleton_id, template_id, tokens FROM {skeleton_template_node} WHERE nid = %d AND template_status != 'overridden'", $node->nid))) {
336          $node->skeleton_template = new stdClass();          $node->skeleton_template = new stdClass();
337          $node->skeleton_template->skeleton_id = $template->skeleton_id;          $node->skeleton_template->skeleton_id = $template->skeleton_id;
338          $node->skeleton_template->template_id = $template->template_id;          $node->skeleton_template->template_id = $template->template_id;
# Line 351  function skeleton_nodeapi(&$node, $op, $ Line 350  function skeleton_nodeapi(&$node, $op, $
350        }        }
351        break;        break;
352      case 'update':      case 'update':
     case 'delete':  
353        if (!$node->skeleton_template->keep_connected) {        if (!$node->skeleton_template->keep_connected) {
354          db_query("DELETE FROM {skeleton_template_node} WHERE nid = %d", $node->nid);          db_query("UPDATE {skeleton_template_node} SET template_status = '%s' WHERE nid = %d", 'overridden', $node->nid);
355        }        }
356        break;        break;
357        case 'delete':
358          db_query("DELETE FROM {skeleton_template_node} WHERE nid = %d", $node->nid);
359          break;
360    }    }
361  }  }
362    
# Line 376  function skeleton_form_alter(&$form, $fo Line 377  function skeleton_form_alter(&$form, $fo
377      module_load_include('inc', 'skeleton', 'skeleton_template');      module_load_include('inc', 'skeleton', 'skeleton_template');
378      skeleton_alter_node_form($form, $form_state, $form_id);      skeleton_alter_node_form($form, $form_state, $form_id);
379    }    }
380    else if ($form_node == $form_id && arg(0) == 'admin' && arg(2) == 'skeleton' && arg(3) == 'skeleton' && arg(5) == 'create') {    else if ($form_node == $form_id && (arg(0) == 'admin' && arg(2) == 'skeleton' && arg(3) == 'skeleton' && arg(5) == 'create')
381        || (arg(0) == 'admin' && arg(2) == 'skeleton' && arg(3) == 'sync')) {
382      // We need skeleton_id to be defined so forms validate properly. This value      // We need skeleton_id to be defined so forms validate properly. This value
383      // should always be provided by the function instantiating the skeleton.      // should always be provided by the function instantiating the skeleton.
384      $form['skeleton_id'] = array('#type' => 'hidden', '#value' => $form_state['values']['skeleton_id']);      $form['skeleton_id'] = array('#type' => 'hidden', '#value' => $form_state['values']['skeleton_id']);
385      $form['template_id'] = array('#type' => 'hidden', '#value' => $form_state['values']['template_id']);      $form['template_id'] = array('#type' => 'hidden', '#value' => $form_state['values']['template_id']);
386      $form['tokens'] = array('#type' => 'hidden', '#value' => $form_state['values']['tokens']);      $form['tokens'] = array('#type' => 'hidden', '#value' => $form_state['values']['tokens']);
387    }    }
388  }  }
389    
390  /**  /**
# Line 396  function skeleton_form_alter(&$form, $fo Line 398  function skeleton_form_alter(&$form, $fo
398   *   FALSE otherwise.   *   FALSE otherwise.
399   */   */
400  function _skeleton_template_connected($node) {  function _skeleton_template_connected($node) {
401    return user_access('configure skeleton outlines') && db_result(db_query("SELECT COUNT(1) FROM {skeleton_template_node} WHERE nid = %d", $node->nid));    return user_access('configure skeleton outlines') && db_result(db_query("SELECT COUNT(1) FROM {skeleton_template_node} WHERE nid = %d AND template_status != 'overridden'", $node->nid));
402  }  }
403    
404  /**  /**

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

  ViewVC Help
Powered by ViewVC 1.1.2