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

Diff of /contributions/modules/override_node_options/override_node_options.module

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

revision 1.7, Sat Apr 4 07:57:26 2009 UTC revision 1.8, Thu Apr 9 13:41:47 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: override_node_options.module,v 1.6 2009/04/03 20:38:20 timmillwood Exp $  // $Id:
3    
4  /**  /**
5   * @file   * @file
# Line 143  function override_node_options_form_alte Line 143  function override_node_options_form_alte
143      $form['options'] = array(      $form['options'] = array(
144            '#type' => 'fieldset',            '#type' => 'fieldset',
145            '#title' => t('Publishing options'),            '#title' => t('Publishing options'),
146            '#collapsible' => variable_get('override_node_options_collapsible', 1),            '#collapsible' => variable_get('override_node_options_pocollapsible', 1),
147            '#collapsed' => variable_get('override_node_options_collapsed', 1), '#weight' => 25);            '#collapsed' => variable_get('override_node_options_pocollapsed', 1), '#weight' => 25);
148      }      }
149      if(user_access('override ' . $form['type']['#value'] . ' published option')){      if(user_access('override ' . $form['type']['#value'] . ' published option')){
150            $form['options']['override_publishing_status']   = array(            $form['options']['override_publishing_status']   = array(
# Line 176  function override_node_options_form_alte Line 176  function override_node_options_form_alte
176      $form['author'] = array(      $form['author'] = array(
177            '#type' => 'fieldset',            '#type' => 'fieldset',
178            '#title' => t('Authoring information'),            '#title' => t('Authoring information'),
179            '#collapsible' => variable_get('override_node_options_collapsible', 1),            '#collapsible' => variable_get('override_node_options_aicollapsible', 1),
180            '#collapsed' => variable_get('override_node_options_collapsed', 1), '#weight' => 20);            '#collapsed' => variable_get('override_node_options_aicollapsed', 1), '#weight' => 20);
181      }      }
182      if(user_access('override ' . $form['type']['#value'] . ' authored by option')){      if(user_access('override ' . $form['type']['#value'] . ' authored by option')){
183            $form['author']['override_authored_by'] = array(            $form['author']['override_authored_by'] = array(
184            '#type' => 'textfield',            '#type' => 'textfield',
185            '#title' => t('Authored by'),            '#title' => t('Authored by'),
186            '#maxlength' => 60,            '#maxlength' => 60,
187            '#default_value' => $node->name ? $node->name : '',            '#default_value' => $node->name,
188            '#weight' => -1,            '#weight' => -1,
189            '#description' => t('Leave blank for %anonymous.', array('%anonymous' => variable_get('anonymous', t('Anonymous')))),            '#description' => t('Leave blank for %anonymous.', array('%anonymous' => variable_get('anonymous', t('Anonymous')))),
190            );            );
# Line 230  function override_node_options_form_alte Line 230  function override_node_options_form_alte
230    
231    
232  function _override_node_options_apply_keys(&$node){  function _override_node_options_apply_keys(&$node){
   
233      $keys = array(      $keys = array(
234            'override_publishing_status' => 'status',            'override_publishing_status' => 'status',
235            'override_publishing_promote' => 'promote',            'override_publishing_promote' => 'promote',
# Line 239  function _override_node_options_apply_ke Line 238  function _override_node_options_apply_ke
238          );          );
239    
240          $options = variable_get('node_options_' . $node->type, NULL);          $options = variable_get('node_options_' . $node->type, NULL);
241            if($options){
242          foreach ($options as $option){          foreach ($options as $option){
243              $default->$option = $option;              $default->$option = $option;
244          }          }
245            }
246    
247          foreach ($keys as $override_key => $real_key) {          foreach ($keys as $override_key => $real_key) {
248            if (isset($node->$override_key)) {            if (isset($node->$override_key)) {
# Line 252  function _override_node_options_apply_ke Line 253  function _override_node_options_apply_ke
253                    }                    }
254                }                }
255    
256            // Node creation date override
257            if ($node->date !== $node->override_authored_on || !empty($node->override_authored_on)) {
258             $node->date = $node->override_authored_on;
259             $node->created = !empty($node->override_authored_on) ? strtotime($node->override_authored_on) : time();
260            }
261    
262    
263              if (!empty($node->override_authored_by)) {
264                $account = user_load(array('name' => $node->override_authored_by));
265                $node->name = $account->name;
266                $node->uid = $account->uid;
267              }
268              elseif ($node->override_authored_by == "")  {
269                $node->name = "";
270                $node->uid = 0;
271              }
272    
273  }  }
274    
275  /**  /**
# Line 266  function override_node_options_nodeapi(& Line 284  function override_node_options_nodeapi(&
284        if (!user_access('administer nodes')) {        if (!user_access('administer nodes')) {
285    
286          _override_node_options_apply_keys($node);          _override_node_options_apply_keys($node);
287    
         if(user_access('override authored on option')){  
         // Node creation date override  
         if ($node->date !== $node->override_authored_on || !empty($node->override_authored_on)) {  
          $node->created = !empty($node->override_authored_on) ? strtotime($node->override_authored_on) : time();  
         }  
         }  
         if (isset($node->override_authored_by) && ($node->name !== $node->override_authored_by)) {  
           if (!empty($node->override_authored_by)) {  
             $account = user_load(array('name' => $node->override_authored_by));  
             $node->uid = $account->uid;  
           }  
           else {  
             $node->uid = 0;  
           }  
         }  
   
   
   
288        }        }
289        break;        break;
290    }    }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.2