/[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.5, Mon Dec 8 22:01:40 2008 UTC revision 1.6, Fri Apr 3 20:38:20 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: override_node_options.module,v 1.4 2008/12/06 22:29:28 timmillwood Exp $  // $Id: override_node_options.module,v 1.5 2008/12/08 22:01:40 timmillwood Exp $
3    
4  /**  /**
5   * @file   * @file
# Line 132  function override_node_options_admin_set Line 132  function override_node_options_admin_set
132  function override_node_options_form_alter(&$form, $form_state, $form_id) {  function override_node_options_form_alter(&$form, $form_state, $form_id) {
133    if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id && !user_access('administer nodes')) {    if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id && !user_access('administer nodes')) {
134      $node = $form['#node'];      $node = $form['#node'];
135    
136        /* make sure the preview shows the correct values */
137        if($node->op == 'Preview') {
138          _override_node_options_apply_keys($node);
139        }
140    
141      if(user_access('override ' . $form['type']['#value'] . ' published option') || user_access('override ' . $form['type']['#value'] . ' promote to front page option') || user_access('override ' . $form['type']['#value'] . ' sticky option') || user_access('override ' . $form['type']['#value'] . ' revision option')){      if(user_access('override ' . $form['type']['#value'] . ' published option') || user_access('override ' . $form['type']['#value'] . ' promote to front page option') || user_access('override ' . $form['type']['#value'] . ' sticky option') || user_access('override ' . $form['type']['#value'] . ' revision option')){
142    
143      $form['options'] = array(      $form['options'] = array(
# Line 224  function override_node_options_form_alte Line 229  function override_node_options_form_alte
229  }  }
230    
231    
232    function _override_node_options_apply_keys(&$node){
233    
234        $keys = array(
235              'override_publishing_status' => 'status',
236              'override_publishing_promote' => 'promote',
237              'override_publishing_sticky' => 'sticky',
238              'override_publishing_revision' => 'revision'
239            );
240            foreach ($keys as $override_key => $real_key) {
241              if (isset($node->$override_key)) {
242                $node->$real_key = $node->$override_key;
243              }
244               else {
245                  $options = variable_get('node_options_' . $node->type, NULL);
246                  foreach($options as $default){
247                      $node->$default = TRUE;
248                  }
249              }
250            }
251    
252    }
253    
254  /**  /**
255   * Implementation of hook_nodeapi().   * Implementation of hook_nodeapi().
256   */   */
# Line 234  function override_node_options_nodeapi(& Line 261  function override_node_options_nodeapi(&
261        // options.        // options.
262        // TODO: Once in core, remove adminster nodes check.        // TODO: Once in core, remove adminster nodes check.
263        if (!user_access('administer nodes')) {        if (!user_access('administer nodes')) {
264          $keys = array(  
265            'override_publishing_status' => 'status',          _override_node_options_apply_keys($node);
266            'override_publishing_promote' => 'promote',  
           'override_publishing_sticky' => 'sticky',  
           'override_publishing_revision' => 'revision'  
         );  
         foreach ($keys as $override_key => $real_key) {  
           if (isset($node->$override_key)) {  
             $node->$real_key = $node->$override_key;  
           }  
         }  
267          if(user_access('override authored on option')){          if(user_access('override authored on option')){
268          // Node creation date override          // Node creation date override
269          if ($node->date !== $node->override_authored_on || !empty($node->override_authored_on)) {          if ($node->date !== $node->override_authored_on || !empty($node->override_authored_on)) {
270           $node->created = !empty($node->override_authored_on) ? strtotime($node->override_authored_on) : time();           $node->created = !empty($node->override_authored_on) ? strtotime($node->override_authored_on) : time();
271          }          }
272          }          }
273          if ($node->name !== $node->override_authored_by) {          if (isset($node->override_authored_by) && ($node->name !== $node->override_authored_by)) {
274            if (!empty($node->override_authored_by)) {            if (!empty($node->override_authored_by)) {
275              $account = user_load(array('name' => $node->override_authored_by));              $account = user_load(array('name' => $node->override_authored_by));
276              $node->uid = $account->uid;              $node->uid = $account->uid;

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.2