Projet

Général

Profil

Révision 136a805a

Ajouté par Assos Assos il y a plus de 7 ans

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/ctools/bulk_export/bulk_export.info
6 6
version = CTOOLS_MODULE_VERSION
7 7

  
8 8

  
9
; Information added by Drupal.org packaging script on 2015-08-19
10
version = "7.x-1.9"
9
; Information added by Drupal.org packaging script on 2016-08-17
10
version = "7.x-1.10"
11 11
core = "7.x"
12 12
project = "ctools"
13
datestamp = "1440020680"
13
datestamp = "1471454104"
14 14

  
drupal7/sites/all/modules/ctools/ctools.info
2 2
description = A library of helpful tools by Merlin of Chaos.
3 3
core = 7.x
4 4
package = Chaos tool suite
5
version = CTOOLS_MODULE_VERSION
6 5
files[] = includes/context.inc
7 6
files[] = includes/css-cache.inc
8 7
files[] = includes/math-expr.inc
9 8
files[] = includes/stylizer.inc
10 9
files[] = tests/css_cache.test
11 10

  
12
; Information added by Drupal.org packaging script on 2015-08-19
13
version = "7.x-1.9"
11
; Information added by Drupal.org packaging script on 2016-08-17
12
version = "7.x-1.10"
14 13
core = "7.x"
15 14
project = "ctools"
16
datestamp = "1440020680"
15
datestamp = "1471454104"
17 16

  
drupal7/sites/all/modules/ctools/ctools.module
23 23
 *   ; Requires CTools v7.x-1.4 or newer.
24 24
 *   dependencies[] = ctools (>=1.4)
25 25
 */
26
define('CTOOLS_MODULE_VERSION', '7.x-1.9');
26
define('CTOOLS_MODULE_VERSION', '7.x-1.10');
27 27

  
28 28
/**
29 29
 * Test the CTools API version.
......
758 758
    $variables['classes_array'] = array_diff($variables['classes_array'], $remove_classes);
759 759
  }
760 760

  
761
  // Update the classes within the attributes array to match the classes array
762
  if (isset($variables['attributes_array']['class'])) {
763
    $variables['attributes_array']['class'] = $variables['classes_array'];
764
    $variables['attributes'] = $variables['attributes_array'] ? drupal_attributes($variables['attributes_array']) : '';
765
  }
766

  
761 767
  // Since this runs after template_process(), we need to re-implode the
762 768
  // classes array.
763 769
  $variables['classes'] = implode(' ', $variables['classes_array']);
drupal7/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.info
5 5
version = CTOOLS_MODULE_VERSION
6 6
dependencies[] = ctools
7 7

  
8
; Information added by Drupal.org packaging script on 2015-08-19
9
version = "7.x-1.9"
8
; Information added by Drupal.org packaging script on 2016-08-17
9
version = "7.x-1.10"
10 10
core = "7.x"
11 11
project = "ctools"
12
datestamp = "1440020680"
12
datestamp = "1471454104"
13 13

  
drupal7/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.info
5 5
dependencies[] = ctools
6 6
core = 7.x
7 7

  
8
; Information added by Drupal.org packaging script on 2015-08-19
9
version = "7.x-1.9"
8
; Information added by Drupal.org packaging script on 2016-08-17
9
version = "7.x-1.10"
10 10
core = "7.x"
11 11
project = "ctools"
12
datestamp = "1440020680"
12
datestamp = "1471454104"
13 13

  
drupal7/sites/all/modules/ctools/ctools_custom_content/ctools_custom_content.info
5 5
version = CTOOLS_MODULE_VERSION
6 6
dependencies[] = ctools
7 7

  
8
; Information added by Drupal.org packaging script on 2015-08-19
9
version = "7.x-1.9"
8
; Information added by Drupal.org packaging script on 2016-08-17
9
version = "7.x-1.10"
10 10
core = "7.x"
11 11
project = "ctools"
12
datestamp = "1440020680"
12
datestamp = "1471454104"
13 13

  
drupal7/sites/all/modules/ctools/ctools_custom_content/plugins/export_ui/ctools_custom_content_ui.class.php
23 23
      '#title' => t('Title'),
24 24
    );
25 25

  
26
    $form['title_heading'] = array(
27
      '#title' => t('Title heading'),
28
      '#type' => 'select',
29
      '#default_value' => isset($form_state['item']->settings['title_heading']) ? $form_state['item']->settings['title_heading'] : 'h2',
30
      '#options' => array(
31
        'h1' => t('h1'),
32
        'h2' => t('h2'),
33
        'h3' => t('h3'),
34
        'h4' => t('h4'),
35
        'h5' => t('h5'),
36
        'h6' => t('h6'),
37
        'div' => t('div'),
38
        'span' => t('span'),
39
      ),
40
    );
41

  
26 42
    $form['body'] = array(
27 43
      '#type' => 'text_format',
28 44
      '#title' => t('Body'),
......
43 59

  
44 60
    // Since items in our settings are not in the schema, we have to do these manually:
45 61
    $form_state['item']->settings['title'] = $form_state['values']['title'];
62
    $form_state['item']->settings['title_heading'] = $form_state['values']['title_heading'];
46 63
    $form_state['item']->settings['body'] = $form_state['values']['body']['value'];
47 64
    $form_state['item']->settings['format'] = $form_state['values']['body']['format'];
48 65
    $form_state['item']->settings['substitute'] = $form_state['values']['substitute'];
drupal7/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.info
8 8
dependencies[] = advanced_help
9 9
core = 7.x
10 10

  
11
; Information added by Drupal.org packaging script on 2015-08-19
12
version = "7.x-1.9"
11
; Information added by Drupal.org packaging script on 2016-08-17
12
version = "7.x-1.10"
13 13
core = "7.x"
14 14
project = "ctools"
15
datestamp = "1440020680"
15
datestamp = "1471454104"
16 16

  
drupal7/sites/all/modules/ctools/includes/context.inc
42 42
  var $restrictions = array();
43 43
  var $empty = FALSE;
44 44

  
45
  function ctools_context($type = 'none', $data = NULL) {
45
  function __construct($type = 'none', $data = NULL) {
46 46
    $this->type  = $type;
47 47
    $this->data  = $data;
48 48
    $this->title = t('Unknown context');
......
119 119
   * @param ...
120 120
   *   One or more keywords to use for matching which contexts are allowed.
121 121
   */
122
  function ctools_context_required($title) {
122
  function __construct($title) {
123 123
    $args = func_get_args();
124 124
    $this->title = array_shift($args);
125 125

  
......
204 204
 */
205 205
class ctools_context_optional extends ctools_context_required {
206 206
  var $required = FALSE;
207
  function ctools_context_optional() {
208
    $args = func_get_args();
209
    call_user_func_array(array($this, 'ctools_context_required'), $args);
210
  }
211 207

  
212 208
  /**
213 209
   * Add the 'empty' context which is possible for optional
......
1163 1159
  }
1164 1160

  
1165 1161
  foreach ($required as $r) {
1166
    $context = clone(array_shift($contexts));
1162
    $context = clone array_shift($contexts);
1167 1163
    $context->identifier = $r['identifier'];
1168 1164
    $context->page_title = isset($r['title']) ? $r['title'] : '';
1169 1165
    $context->keyword    = $r['keyword'];
drupal7/sites/all/modules/ctools/includes/export.inc
1227 1227
    $output .= "  \${$export['identifier']}s = array();\n\n";
1228 1228
    foreach ($objects as $object) {
1229 1229
      $output .= ctools_export_crud_export($table, $object, '  ');
1230
      $output .= "  \${$export['identifier']}s['" . check_plain($object->$export['key']) . "'] = \${$export['identifier']};\n\n";
1230
      $output .= "  \${$export['identifier']}s['" . check_plain($object->{$export['key']}) . "'] = \${$export['identifier']};\n\n";
1231 1231
    }
1232 1232
    $output .= "  return \${$export['identifier']}s;\n";
1233 1233
    $output .= "}\n";
drupal7/sites/all/modules/ctools/includes/fields.inc
137 137
 */
138 138
function ctools_fields_get_field_formatter_info($fields) {
139 139
  $info = array();
140
  $field_info = module_invoke_all('field_formatter_info');
140
  $field_info = field_info_formatter_types();
141 141
  foreach ($fields as $field) {
142 142
    foreach ($field_info as $format_name => $formatter_info) {
143 143
      if (in_array($field['type'], $formatter_info['field types'])) {
......
145 145
      }
146 146
    }
147 147
  }
148
  drupal_alter('field_formatter_info', $info);
149 148
  return $info;
150 149
}
151 150

  
drupal7/sites/all/modules/ctools/includes/math-expr.inc
99 99
        'sqrt','abs','ln','log',
100 100
        'time', 'ceil', 'floor', 'min', 'max', 'round');
101 101

  
102
    function ctools_math_expr() {
102
    function __construct() {
103 103
        // make the variables a little more accurate
104 104
        $this->v['pi'] = pi();
105 105
        $this->v['e'] = exp(1);
drupal7/sites/all/modules/ctools/includes/plugins.inc
474 474
        }
475 475
        else {
476 476

  
477
          require_once DRUPAL_ROOT . '/' . $file->uri;
477
          include_once DRUPAL_ROOT . '/' . $file->uri;
478 478
          // .inc files have a special format for the hook identifier.
479 479
          // For example, 'foo.inc' in the module 'mogul' using the plugin
480 480
          // whose hook is named 'borg_type' should have a function named (deep breath)
drupal7/sites/all/modules/ctools/js/dependent.js
97 97
          else {
98 98
            switch ($(trigger).attr('type')) {
99 99
              case 'checkbox':
100
                var val = $(trigger).attr('checked') ? true : false;
100
                // **This check determines if using a jQuery version 1.7 or newer which requires the use of the prop function instead of the attr function when not called on an attribute
101
                if ($().prop) {
102
                  var val = $(trigger).prop('checked') ? true : false;
103
                }
104
                else {
105
                  var val = $(trigger).attr('checked') ? true : false;
106
                }
101 107

  
102 108
                if (val) {
103 109
                  $(trigger).siblings('label').removeClass('hidden-options').addClass('expanded-options');
......
148 154
                len++;
149 155
              }
150 156

  
151
              var object = $('#' + id + '-wrapper');
152
              if (!object.size()) {
153
                // Some elements can't use the parent() method or they can
154
                // damage things. They are guaranteed to have wrappers but
155
                // only if dependent.inc provided them. This check prevents
156
                // problems when multiple AJAX calls cause settings to build
157
                // up.
158
                var $original = $('#' + id);
159
                if ($original.is('fieldset') || $original.is('textarea')) {
160
                  continue;
161
                }
162

  
163
                object = $('#' + id).parent();
157
              var $original = $('#' + id);
158
              if ($original.is('fieldset') || $original.is('textarea')) {
159
                continue;
164 160
              }
165 161

  
162
              var object = $original.parent();
163

  
166 164
              if (Drupal.settings.CTools.dependent[id].type == 'disable') {
167 165
                if (Drupal.settings.CTools.dependent[id].num <= len) {
168 166
                  // Show if the element if criteria is matched
169
                  object.attr('disabled', false);
170
                  object.addClass('dependent-options');
171
                  object.children().attr('disabled', false);
167
                  // **This check determines if using a jQuery version 1.7 or newer which requires the use of the prop function instead of the attr function when not called on an attribute
168
                  if (typeof $().prop == 'function') {
169
                    object.prop('disabled', false);
170
                    object.addClass('dependent-options');
171
                    object.children().prop('disabled', false);
172
                  }
173
                  else {
174
                    object.attr('disabled', false);
175
                    object.addClass('dependent-options');
176
                    object.children().attr('disabled', false);
177
                  }
172 178
                }
173 179
                else {
174 180
                  // Otherwise hide. Use css rather than hide() because hide()
175 181
                  // does not work if the item is already hidden, for example,
176 182
                  // in a collapsed fieldset.
177
                  object.attr('disabled', true);
178
                  object.children().attr('disabled', true);
183
                  // **This check determines if using a jQuery version 1.7 or newer which requires the use of the prop function instead of the attr function when not called on an attribute
184
                  if (typeof $().prop == 'function') {
185
                    object.prop('disabled', true);
186
                    object.children().prop('disabled', true);
187
                  }
188
                  else {
189
                    object.attr('disabled', true);
190
                    object.children().attr('disabled', true);
191
                  }
179 192
                }
180 193
              }
181 194
              else {
drupal7/sites/all/modules/ctools/js/modal.js
121 121
   */
122 122
  Drupal.theme.prototype.CToolsModalDialog = function () {
123 123
    var html = ''
124
    html += '  <div id="ctools-modal">'
125
    html += '    <div class="ctools-modal-content">' // panels-modal-content
126
    html += '      <div class="modal-header">';
127
    html += '        <a class="close" href="#">';
128
    html +=            Drupal.CTools.Modal.currentSettings.closeText + Drupal.CTools.Modal.currentSettings.closeImage;
129
    html += '        </a>';
130
    html += '        <span id="modal-title" class="modal-title">&nbsp;</span>';
131
    html += '      </div>';
132
    html += '      <div id="modal-content" class="modal-content">';
133
    html += '      </div>';
124
    html += '<div id="ctools-modal">'
125
    html += '  <div class="ctools-modal-content">' // panels-modal-content
126
    html += '    <div class="modal-header">';
127
    html += '      <a class="close" href="#">';
128
    html +=          Drupal.CTools.Modal.currentSettings.closeText + Drupal.CTools.Modal.currentSettings.closeImage;
129
    html += '      </a>';
130
    html += '      <span id="modal-title" class="modal-title">&nbsp;</span>';
131
    html += '    </div>';
132
    html += '    <div id="modal-content" class="modal-content">';
134 133
    html += '    </div>';
135 134
    html += '  </div>';
135
    html += '</div>';
136 136

  
137 137
    return html;
138 138
  }
......
142 142
   */
143 143
  Drupal.theme.prototype.CToolsModalThrobber = function () {
144 144
    var html = '';
145
    html += '  <div id="modal-throbber">';
146
    html += '    <div class="modal-throbber-wrapper">';
147
    html +=        Drupal.CTools.Modal.currentSettings.throbber;
148
    html += '    </div>';
145
    html += '<div id="modal-throbber">';
146
    html += '  <div class="modal-throbber-wrapper">';
147
    html +=      Drupal.CTools.Modal.currentSettings.throbber;
149 148
    html += '  </div>';
149
    html += '</div>';
150 150

  
151 151
    return html;
152 152
  };
......
265 265
          }
266 266
          // An empty event means we were triggered via .click() and
267 267
          // in jquery 1.4 this won't trigger a submit.
268
          if (event.bubbles == undefined) {
268
          // We also have to check jQuery version to prevent
269
          // IE8 + jQuery 1.4.4 to break on other events
270
          // bound to the submit button.
271
          if (jQuery.fn.jquery === '1.4' && typeof event.bubbles === "undefined") {
269 272
            $(this.form).trigger('submit');
270 273
            return false;
271 274
          }
drupal7/sites/all/modules/ctools/js/stylizer.js
5 5

  
6 6
  Drupal.CTools.Stylizer.addFarbtastic = function(context) {
7 7
    // This behavior attaches by ID, so is only valid once on a page.
8
    if ($('ctools_stylizer_color_scheme_form .color-form.Stylizer-processed').size()) {
8
    if ($('#ctools_stylizer_color_scheme_form .color-form.Stylizer-processed').size()) {
9 9
      return;
10 10
    }
11 11

  
drupal7/sites/all/modules/ctools/page_manager/page_manager.admin.inc
1542 1542
 * Rearrange the order of variants.
1543 1543
 */
1544 1544
function page_manager_handler_rearrange($form, &$form_state) {
1545
  ctools_include('context-task-handler');
1545 1546
  $page = $form_state['page'];
1546 1547

  
1547 1548
  $form['handlers'] = array('#tree' => TRUE);
......
1552 1553
    }
1553 1554
    $handler = $page->handlers[$id];
1554 1555
    $plugin = page_manager_get_task_handler($handler->handler);
1555

  
1556
    $object = ctools_context_handler_get_task_object($page->task, $page->subtask, $handler);
1557
    $display = new stdClass();
1558
    $display->context = ctools_context_load_contexts($object, TRUE);
1559
    $content = page_manager_get_handler_title($plugin, $handler, $page->task, $page->subtask_id);
1560
    $access = ctools_access_group_summary(!empty($handler->conf['access']) ? $handler->conf['access'] : array(), $display->context);
1561
    if ($access) {
1562
      $access = t('This panel will be selected if @conditions.', array('@conditions' => $access));
1563
    }
1564
    else {
1565
      $access = t('This panel will always be selected.');
1566
    }
1567
    $content .= '<div>' . $access . '</div>';
1556 1568
    $form['handlers'][$id]['title'] = array(
1557
      '#markup' => page_manager_get_handler_title($plugin, $handler, $page->task, $page->subtask_id),
1569
      '#markup' => $content,
1558 1570
    );
1559 1571

  
1560 1572
    $form['handlers'][$id]['weight'] = array(
drupal7/sites/all/modules/ctools/page_manager/page_manager.info
5 5
package = Chaos tool suite
6 6
version = CTOOLS_MODULE_VERSION
7 7

  
8
; Information added by Drupal.org packaging script on 2015-08-19
9
version = "7.x-1.9"
8
; Information added by Drupal.org packaging script on 2016-08-17
9
version = "7.x-1.10"
10 10
core = "7.x"
11 11
project = "ctools"
12
datestamp = "1440020680"
12
datestamp = "1471454104"
13 13

  
drupal7/sites/all/modules/ctools/page_manager/page_manager.module
1202 1202
    foreach ($objects as $object) {
1203 1203
      // Have to implement our own because this export func sig requires it
1204 1204
      $code .= $export['export callback']($object, TRUE, '  ');
1205
      $code .= "  \${$export['identifier']}s['" . check_plain($object->$export['key']) . "'] = \${$export['identifier']};\n\n";
1205
      $code .= "  \${$export['identifier']}s['" . check_plain($object->{$export['key']}) . "'] = \${$export['identifier']};\n\n";
1206 1206
    }
1207 1207
    $code .= "  return \${$export['identifier']}s;\n";
1208 1208
    $code .= "}\n";
drupal7/sites/all/modules/ctools/plugins/arguments/term.inc
18 18
  'context' => 'ctools_term_context',
19 19
  'default' => array('input_form' => 'tid', 'breadcrumb' => TRUE, 'transform' => FALSE),
20 20
  'settings form' => 'ctools_term_settings_form',
21
  'settings form validate' => 'ctools_term_settings_form_validate',
21 22
  'placeholder form' => 'ctools_term_ctools_argument_placeholder',
22 23
  'breadcrumb' => 'ctools_term_breadcrumb',
23 24
);
......
31 32
    return ctools_context_create_empty('entity:taxonomy_term');
32 33
  }
33 34

  
35
  if (isset($conf['vocabularies'])) {
36
    $vocabularies = $conf['vocabularies'];
37
  }
38
  else {
39
    $vids = isset($conf['vids']) ? $conf['vids'] : array();
40

  
41
    // Convert legacy use of vids to machine names.
42
    $vocabularies = _ctools_term_vocabulary_machine_name_convert($vids);
43
  }
44

  
34 45
  if (is_object($arg)) {
35 46
    $term = $arg;
36 47
  }
......
50 61
        }
51 62

  
52 63
        $terms = taxonomy_get_term_by_name($arg);
53

  
54
        $conf['vids'] = is_array($conf['vids']) ? array_filter($conf['vids']) : NULL;
55
        if ((count($terms) > 1) && isset($conf['vids'])) {
64
        // If only one term is found, fall through to vocabulary check below.
65
        if ((count($terms) > 1) && $vocabularies) {
56 66
          foreach ($terms as $potential) {
57
            foreach ($conf['vids'] as $vid => $active) {
58
              if ($active && $potential->vid == $vid) {
67
            foreach ($vocabularies as $machine_name) {
68
              if ($potential->vocabulary_machine_name == $machine_name) {
59 69
                $term = $potential;
60 70
                // break out of the foreaches AND the case
61 71
                break 3;
......
72 82
    }
73 83
  }
74 84

  
75
  if (!empty($conf['vids']) && array_filter($conf['vids']) && empty($conf['vids'][$term->vid])) {
85
  if ($vocabularies && !isset($vocabularies[$term->vocabulary_machine_name])) {
76 86
    return NULL;
77 87
  }
78 88

  
......
98 108
  $vocabularies = taxonomy_get_vocabularies();
99 109
  $options = array();
100 110
  foreach ($vocabularies as $vid => $vocab) {
101
    $options[$vid] = $vocab->name;
111
    $options[$vocab->machine_name] = $vocab->name;
112
  }
113

  
114
  // Fallback on legacy 'vids', when no vocabularies are available.
115
  if (empty($conf['vocabularies']) && !empty($conf['vids'])) {
116
    $conf['vocabularies'] = _ctools_term_vocabulary_machine_name_convert(array_filter($conf['vids']));
117
    unset($conf['vids']);
102 118
  }
103
  $form['settings']['vids'] = array(
119

  
120
  $form['settings']['vocabularies'] = array(
104 121
    '#title' => t('Limit to these vocabularies'),
105 122
    '#type' => 'checkboxes',
106 123
    '#options' => $options,
107
    '#default_value' => !empty($conf['vids']) ? $conf['vids'] : array(),
124
    '#default_value' => !empty($conf['vocabularies']) ? $conf['vocabularies'] : array(),
108 125
    '#description' => t('If no vocabularies are checked, terms from all vocabularies will be accepted.'),
109 126
  );
110 127

  
......
123 140
//  return $form;
124 141
}
125 142

  
143
function ctools_term_settings_form_validate (&$form, &$form_state) {
144
  // Filter the selected vocabularies to avoid storing redundant data.
145
  $vocabularies = array_filter($form_state['values']['settings']['vocabularies']);
146
  form_set_value($form['settings']['vocabularies'], $vocabularies, $form_state);
147
}
148

  
126 149
/**
127 150
 * Form fragment to get an argument to convert a placeholder for preview.
128 151
 */
......
161 184
  $breadcrumb = array_merge(drupal_get_breadcrumb(), array_reverse($breadcrumb));
162 185
  drupal_set_breadcrumb($breadcrumb);
163 186
}
187

  
188
/**
189
 * Helper function to convert convert legacy vocabulary ids into machine names.
190
 *
191
 * @param array $vids
192
 *   Array of either vids.
193
 * @return array
194
 *   A keyed array of machine names.
195
 */
196
function _ctools_term_vocabulary_machine_name_convert($vids) {
197
  $vocabularies = taxonomy_vocabulary_load_multiple($vids);
198
  $return = array();
199
  foreach($vocabularies as $vocabulary) {
200
    $return[$vocabulary->machine_name] = $vocabulary->machine_name;
201
  }
202
  return $return;
203
}
drupal7/sites/all/modules/ctools/plugins/content_types/comment/comment_links.inc
26 26
    return;
27 27
  }
28 28

  
29
  $comment = isset($context->data) ? clone($context->data) : NULL;
29
  $comment = isset($context->data) ? clone $context->data : NULL;
30 30
  $block = new stdClass();
31 31
  $block->module = 'comment';
32 32
  $block->delta  = $comment->cid;
drupal7/sites/all/modules/ctools/plugins/content_types/comment/comment_reply_form.inc
25 25

  
26 26
function ctools_comment_reply_form_content_type_render($subtype, $conf, $panel_args, $context) {
27 27

  
28
  $comment = ($context[1]->identifier == t('No context')) ? NULL : clone($context[1]->data);
28
  $comment = ($context[1]->identifier == t('No context')) ? NULL : clone $context[1]->data;
29 29
  $block = new stdClass();
30 30
  $block->module = 'comments';
31 31
  if ($comment) $block->delta  = $comment->cid;
drupal7/sites/all/modules/ctools/plugins/content_types/custom/custom.inc
16 16
$plugin = array(
17 17
  'title' => t('Custom content'),
18 18
  'no title override' => TRUE,
19
  'defaults' => array('admin_title' => '', 'title' => '', 'body' => '', 'format' => filter_default_format(), 'substitute' => TRUE),
19
  'defaults' => array('admin_title' => '', 'title' => '', 'title_heading' => 'h2', 'body' => '', 'format' => filter_default_format(), 'substitute' => TRUE),
20 20
  'js' => array('misc/autocomplete.js', 'misc/textarea.js', 'misc/collapse.js'),
21 21
  // Make sure the edit form is only used for some subtypes.
22 22
  'edit form' => '',
......
135 135
        $settings = array(
136 136
          'admin_title' => t('Missing/deleted content'),
137 137
          'title' => '',
138
          'title_heading' => '',
138 139
          'body' => '',
139 140
          'format' => filter_default_format(),
140 141
          'substitute' => TRUE,
......
180 181
  $block          = new stdClass();
181 182
  $block->subtype = ++$delta;
182 183
  $block->title   = filter_xss_admin($settings['title']);
184
  $block->title_heading = isset($settings['title_heading']) ? $settings['title_heading'] : 'h2';
185

  
183 186

  
184 187
  // Add keyword substitutions if we were configured to do so.
185 188
  $content = $settings['body'];
......
277 280
    '#description' => t('This title will be used administratively to identify this pane. If blank, the regular title will be used.'),
278 281
  );
279 282

  
283
  // Copy over the title override settings for a title heading.
284
  $form['aligner_start'] = array(
285
    '#markup' => '<div class="option-text-aligner clearfix">',
286
  );
287

  
280 288
  $form['title'] = array(
281 289
    '#type' => 'textfield',
282 290
    '#default_value' => $settings['title'],
283 291
    '#title' => t('Title'),
292
    '#id' => 'override-title-textfield',
293
  );
294

  
295
  $form['title_heading'] = array(
296
    '#type' => 'select',
297
    '#default_value' => isset($settings['title_heading']) ? $settings['title_heading'] : 'h2',
298
    '#options' => array(
299
      'h1' => t('h1'),
300
      'h2' => t('h2'),
301
      'h3' => t('h3'),
302
      'h4' => t('h4'),
303
      'h5' => t('h5'),
304
      'h6' => t('h6'),
305
      'div' => t('div'),
306
      'span' => t('span'),
307
    ),
308
    '#id' => 'override-title-heading',
309
  );
310

  
311
  $form['aligner_stop'] = array(
312
    '#markup' => '</div>',
284 313
  );
285 314

  
286 315
  $form['body'] = array(
drupal7/sites/all/modules/ctools/plugins/content_types/entity_context/entity_field.inc
137 137
    $field_settings['settings'] = $conf['formatter_settings'];
138 138
  }
139 139

  
140
  $clone = clone $entity;
140 141
  $all_values = field_get_items($entity_type, $entity, $field_name, $language);
141
  if (!is_array($all_values)) {
142
    // Do not render if the field is empty.
143
    return;
144
  }
145 142

  
146
  // Reverse values.
147
  if (isset($conf['delta_reversed']) && $conf['delta_reversed']) {
148
    $all_values = array_reverse($all_values, TRUE);
149
  }
143
  if (is_array($all_values)) {
144
    // Reverse values.
145
    if (isset($conf['delta_reversed']) && $conf['delta_reversed']) {
146
      $all_values = array_reverse($all_values, TRUE);
147
    }
148

  
149
    if (isset($conf['delta_limit'])) {
150
      $offset = intval($conf['delta_offset']);
151
      $limit = !empty($conf['delta_limit']) ? $conf['delta_limit'] : NULL;
152
      $all_values = array_slice($all_values, $offset, $limit, TRUE);
153
    }
150 154

  
151
  if (isset($conf['delta_limit'])) {
152
    $offset = intval($conf['delta_offset']);
153
    $limit = !empty($conf['delta_limit']) ? $conf['delta_limit'] : NULL;
154
    $all_values = array_slice($all_values, $offset, $limit, TRUE);
155
    $clone->{$field_name}[$language] = $all_values;
155 156
  }
156 157

  
157
  $clone = clone $entity;
158
  $clone->{$field_name}[$language] = $all_values;
159 158
  $field_output = field_view_field($entity_type, $clone, $field_name, $field_settings, $language);
160 159

  
161 160
  if (!empty($field_output) && !empty($conf['override_title'])) {
......
270 269
    $identifier = $context->identifier;
271 270
  }
272 271
  else {
273
    $type = 'ctools_entity_field_content_type_admin_title';
274
    $message = t('Context is missing for field: @name', array('@name' => $subtype));
275
    $variables = array($subtype, $conf, $context);
276
    watchdog($type, $message, $variables, $severity = WATCHDOG_NOTICE);
272
    watchdog('ctools_entity_field_content_type_admin_title', 'Context is missing for field: @name', array('@name' => $subtype), WATCHDOG_NOTICE);
277 273
    $identifier = t('Unknown');
278 274
  }
279 275

  
drupal7/sites/all/modules/ctools/plugins/content_types/node/node.inc
66 66

  
67 67
  // Don't store viewed node data on the node, this can mess up other
68 68
  // views of the node.
69
  $node = clone($node);
69
  $node = clone $node;
70 70

  
71 71
  $block->module = 'node';
72 72
  $block->delta = $node->nid;
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_attachments.inc
14 14
);
15 15

  
16 16
function ctools_node_attachments_content_type_render($subtype, $conf, $panel_args, $context) {
17
  $node = isset($context->data) ? clone($context->data) : NULL;
17
  $node = isset($context->data) ? clone $context->data : NULL;
18 18
  $block = new stdClass();
19 19
  $block->module = 'attachments';
20 20

  
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_book_children.inc
16 16
}
17 17

  
18 18
function ctools_node_book_children_content_type_render($subtype, $conf, $panel_args, $context) {
19
  $node = isset($context->data) ? clone($context->data) : NULL;
19
  $node = isset($context->data) ? clone $context->data : NULL;
20 20
  $block = new stdClass();
21 21
  $block->module = 'book_children';
22 22

  
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_book_nav.inc
16 16
}
17 17

  
18 18
function ctools_node_book_nav_content_type_render($subtype, $conf, $panel_args, $context) {
19
  $node = isset($context->data) ? clone($context->data) : NULL;
19
  $node = isset($context->data) ? clone $context->data : NULL;
20 20
  $block = new stdClass();
21 21
  $block->module = 'book_nav';
22 22

  
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_comment_form.inc
17 17
}
18 18

  
19 19
function ctools_node_comment_form_content_type_render($subtype, $conf, $panel_args, $context) {
20
  $node = isset($context->data) ? clone($context->data) : NULL;
20
  $node = isset($context->data) ? clone $context->data : NULL;
21 21
  $block = new stdClass();
22 22
  $block->module = 'comments';
23 23
  $block->delta  = $node->nid;
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_comment_wrapper.inc
23 23
 * Render the node comments.
24 24
 */
25 25
function ctools_node_comment_wrapper_content_type_render($subtype, $conf, $panel_args, $context) {
26
  $node = isset($context->data) ? clone($context->data) : NULL;
26
  $node = isset($context->data) ? clone $context->data : NULL;
27 27
  $block = new stdClass();
28 28
  $block->module = 'comments';
29 29
  $block->delta  = $node->nid;
......
77 77

  
78 78
/**
79 79
 * Returns an edit form for the comment wrapper.
80
 */ 
80
 */
81 81
function ctools_node_comment_wrapper_content_type_edit_form($form, &$form_state) {
82 82
  $conf = $form_state['conf'];
83 83
  $form['mode'] = array(
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_comments.inc
20 20
}
21 21

  
22 22
function ctools_node_comments_content_type_render($subtype, $conf, $panel_args, $context) {
23
  $node = isset($context->data) ? clone($context->data) : NULL;
23
  $node = isset($context->data) ? clone $context->data : NULL;
24 24
  $block = new stdClass();
25 25
  $block->module = 'comments';
26 26
  $block->delta  = $node->nid;
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_content.inc
31 31
    return;
32 32
  }
33 33

  
34
  $node = isset($context->data) ? clone($context->data) : NULL;
34
  $node = isset($context->data) ? clone $context->data : NULL;
35 35
  $block = new stdClass();
36 36
  $block->module = 'node';
37 37
  $block->delta  = $node->nid;
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_links.inc
29 29
    return;
30 30
  }
31 31

  
32
  $node = isset($context->data) ? clone($context->data) : NULL;
32
  $node = isset($context->data) ? clone $context->data : NULL;
33 33
  $block = new stdClass();
34 34
  $block->module = 'node';
35 35
  $block->delta  = $node->nid;
drupal7/sites/all/modules/ctools/plugins/content_types/node_context/node_type_desc.inc
18 18
 * based on the module and delta supplied in the configuration.
19 19
 */
20 20
function ctools_node_type_desc_content_type_render($subtype, $conf, $panel_args, $context) {
21
  $node = isset($context->data) ? clone($context->data) : NULL;
21
  $node = isset($context->data) ? clone $context->data : NULL;
22 22
  $block = new stdClass();
23 23
  $block->module = 'node_type';
24 24

  
drupal7/sites/all/modules/ctools/plugins/content_types/term_context/term_description.inc
14 14
);
15 15

  
16 16
function ctools_term_description_content_type_render($subtype, $conf, $panel_args, $context) {
17
  $term = isset($context->data) ? clone($context->data) : NULL;
17
  $term = isset($context->data) ? clone $context->data : NULL;
18 18
  $block = new stdClass();
19 19
  $block->module = 'node_type';
20 20

  
drupal7/sites/all/modules/ctools/plugins/content_types/term_context/term_list.inc
21 21
);
22 22

  
23 23
function ctools_term_list_content_type_render($subtype, $conf, $panel_args, $context) {
24
  $term = isset($context->data) ? clone($context->data) : NULL;
24
  $term = isset($context->data) ? clone $context->data : NULL;
25 25
  $block = new stdClass();
26 26
  $block->module = 'term-list';
27 27
  $path = empty($conf['path']) ? 'taxonomy/term/%tid' : $conf['path'];
drupal7/sites/all/modules/ctools/plugins/content_types/user_context/profile_fields.inc
21 21
 * 'Render' callback for the 'profile fields' content type.
22 22
 */
23 23
function ctools_profile_fields_content_type_render($subtype, $conf, $panel_args, $context) {
24
  $account = isset($context->data) ? clone($context->data) : NULL;
24
  $account = isset($context->data) ? clone $context->data : NULL;
25 25
  $block = new stdClass();
26 26
  $block->module = 'profile fields';
27 27

  
drupal7/sites/all/modules/ctools/plugins/content_types/user_context/user_profile.inc
20 20
 * Render the user profile content type.
21 21
 */
22 22
function ctools_user_profile_content_type_render($subtype, $conf, $panel_args, $context) {
23
  $account = isset($context->data) ? clone($context->data) : NULL;
23
  $account = isset($context->data) ? clone $context->data : NULL;
24 24
  if (!$account) {
25 25
    return NULL;
26 26
  }
drupal7/sites/all/modules/ctools/plugins/content_types/user_context/user_signature.inc
13 13
);
14 14

  
15 15
function ctools_user_signature_content_type_render($subtype, $conf, $panel_args, $context) {
16
  $account = isset($context->data) ? clone($context->data) : NULL;
16
  $account = isset($context->data) ? clone $context->data : NULL;
17 17
  $block = new stdClass();
18 18
  $block->module = 'user-signature';
19 19

  
drupal7/sites/all/modules/ctools/plugins/content_types/vocabulary_context/vocabulary_terms.inc
21 21
 * list of terms for the input vocabulary.
22 22
 */
23 23
function ctools_vocabulary_terms_content_type_render($subtype, $conf, $panel_args, $context) {
24
  $vocab = isset($context->data) ? clone($context->data) : NULL;
24
  $vocab = isset($context->data) ? clone $context->data : NULL;
25 25
  $max_depth = (!empty($conf['max_depth']) ? (int)$conf['max_depth'] : NULL);
26 26
  if ($conf['tree'] == FALSE) {
27 27
    $terms = taxonomy_get_tree($vocab->vid, 0, $max_depth);
drupal7/sites/all/modules/ctools/plugins/relationships/entity_from_field.inc
185 185
        $loaded_to_entity = array_shift($loaded_to_entity);
186 186

  
187 187
        // Pass current user account and entity type to access callback.
188
        if (isset($to_entity_info['access callback']) && function_exists($to_entity_info['access callback']) && !call_user_func($to_entity_info['access callback'], 'view', $loaded_to_entity)) {
188
        if (isset($to_entity_info['access callback']) && function_exists($to_entity_info['access callback']) && !call_user_func($to_entity_info['access callback'], 'view', $loaded_to_entity, $account, $to_entity)) {
189 189
          return ctools_context_create_empty('entity:' . $to_entity, NULL);
190 190
        }
191 191
        else {
drupal7/sites/all/modules/ctools/stylizer/stylizer.info
6 6
dependencies[] = ctools
7 7
dependencies[] = color
8 8

  
9
; Information added by Drupal.org packaging script on 2015-08-19
10
version = "7.x-1.9"
9
; Information added by Drupal.org packaging script on 2016-08-17
10
version = "7.x-1.10"
11 11
core = "7.x"
12 12
project = "ctools"
13
datestamp = "1440020680"
13
datestamp = "1471454104"
14 14

  
drupal7/sites/all/modules/ctools/term_depth/plugins/access/term_depth.inc
25 25
 * Settings form for the 'term depth' access plugin.
26 26
 */
27 27
function term_depth_term_depth_ctools_access_settings($form, &$form_state, $conf) {
28
  // If no configuration was saved before, set some defaults.
29
  if (empty($conf)) {
30
    $conf = array(
31
      'vid' => 0,
32
    );
33
  }
34
  if (!isset($conf['vid'])) {
35
    $conf['vid'] = 0;
36
  }
37

  
28
  $vocabularies = taxonomy_get_vocabularies();
29
  $options = array();
38 30
  // Loop over each of the configured vocabularies.
39
  foreach (taxonomy_get_vocabularies() as $vid => $vocabulary) {
40
    $options[$vid] = $vocabulary->name;
31
  foreach ($vocabularies as $vid => $vocab) {
32
    $options[$vocab->machine_name] = $vocab->name;
41 33
  }
42 34

  
43
  $form['settings']['vid'] = array(
35
  _term_depth_convert_config_vid_to_vocabulary_name($conf);
36

  
37
  $form['settings']['vocabulary'] = array(
44 38
    '#title' => t('Vocabulary'),
45 39
    '#type' => 'select',
46 40
    '#options' => $options,
47 41
    '#description' => t('Select the vocabulary for this form. If there exists a parent term in that vocabulary, this access check will succeed.'),
48
    '#id' => 'ctools-select-vid',
49
    '#default_value' => $conf['vid'],
42
    '#id' => 'ctools-select-vocabulary',
43
    '#default_value' => !empty($conf['vocabulary']) ? $conf['vocabulary'] : array(),
50 44
    '#required' => TRUE,
51 45
  );
52 46

  
......
61 55
  return $form;
62 56
}
63 57

  
58
/**
59
 * @param $conf
60
 */
61
function _term_depth_convert_config_vid_to_vocabulary_name(&$conf) {
62
  // Fallback on legacy 'vid', when no vocabularies are available.
63
  if (empty($conf['vocabulary']) && !empty($conf['vid'])) {
64
    $conf['vocabulary'] = reset(_ctools_term_vocabulary_machine_name_convert(array($conf['vid'])));
65
    unset($conf['vid']);
66
  }
67
}
68

  
64 69
/**
65 70
 * Submit function for the access plugins settings.
66 71
 *
67
 * We cast all settings to numbers to ensure they can be safely handled.
68 72
 */
69 73
function term_depth_term_depth_ctools_access_settings_submit($form, $form_state) {
70
  foreach (array('depth', 'vid') as $key) {
71
    $form_state['conf'][$key] = (integer) $form_state['values']['settings'][$key];
72
  }
74
  $form_state['conf']['depth'] = (integer) $form_state['values']['settings']['depth'];
75
  $form_state['conf']['vocabulary'] = array_filter($form_state['conf']['vocabulary']);
73 76
}
74 77

  
75 78
/**
......
82 85
    return FALSE;
83 86
  }
84 87

  
85
  // Get the $vid.
86
  if (!isset($conf['vid'])) {
88
  _term_depth_convert_config_vid_to_vocabulary_name($conf);
89

  
90
  // Get the $vocabulary.
91
  if (!isset($conf['vocabulary'])) {
87 92
    return FALSE;
88 93
  }
94
  $vocab = taxonomy_vocabulary_machine_name_load($conf['vocabulary']);
95
  if ($vocab->vid != $context->data->vid) {
96
    return FALSE;
97
  }
98

  
89 99
  $depth = _term_depth($context->data->tid);
90 100

  
91 101
  return ($depth == $conf['depth']);
......
95 105
 * Provide a summary description based upon the checked terms.
96 106
 */
97 107
function term_depth_term_depth_ctools_access_summary($conf, $context) {
98
  $vocab = taxonomy_vocabulary_load($conf['vid']);
99

  
100
  return t('"@term" has parent in vocabulary "@vocab" at @depth', array(
108
  _term_depth_convert_config_vid_to_vocabulary_name($conf);
109
  $vocab = taxonomy_vocabulary_machine_name_load($conf['vocabulary']);
110
  return t('"@term" is in vocabulary "@vocab" at depth @depth', array(
101 111
    '@term' => $context->identifier,
102 112
    '@vocab' => $vocab->name,
103 113
    '@depth' => $conf['depth'],
drupal7/sites/all/modules/ctools/term_depth/term_depth.info
5 5
package = Chaos tool suite
6 6
version = CTOOLS_MODULE_VERSION
7 7

  
8
; Information added by Drupal.org packaging script on 2015-08-19
9
version = "7.x-1.9"
8
; Information added by Drupal.org packaging script on 2016-08-17
9
version = "7.x-1.10"
10 10
core = "7.x"
11 11
project = "ctools"
12
datestamp = "1440020680"
12
datestamp = "1471454104"
13 13

  
drupal7/sites/all/modules/ctools/tests/ctools_export_test/ctools_export_test.info
8 8

  
9 9
files[] = ctools_export.test
10 10

  
11
; Information added by Drupal.org packaging script on 2015-08-19
12
version = "7.x-1.9"
11
; Information added by Drupal.org packaging script on 2016-08-17
12
version = "7.x-1.10"
13 13
core = "7.x"
14 14
project = "ctools"
15
datestamp = "1440020680"
15
datestamp = "1471454104"
16 16

  
drupal7/sites/all/modules/ctools/tests/ctools_plugin_test.info
12 12
files[] = math_expression_stack.test
13 13
hidden = TRUE
14 14

  
15
; Information added by Drupal.org packaging script on 2015-08-19
16
version = "7.x-1.9"
15
; Information added by Drupal.org packaging script on 2016-08-17
16
version = "7.x-1.10"
17 17
core = "7.x"
18 18
project = "ctools"
19
datestamp = "1440020680"
19
datestamp = "1471454104"
20 20

  
drupal7/sites/all/modules/ctools/views_content/plugins/content_types/views_panes.inc
321 321
function views_content_views_panes_add_defaults(&$conf, $view) {
322 322
  $pager = $view->display_handler->get_option('pager');
323 323

  
324
  if (empty($conf)) {
325
    $conf = array();
326
  }
327

  
324 328
  $conf += array(
325 329
    'link_to_view' => $view->display_handler->get_option('link_to_view'),
326 330
    'more_link' => $view->display_handler->get_option('use_more'),
drupal7/sites/all/modules/ctools/views_content/plugins/views/views_content.views.inc
25 25
        'use more' => TRUE,
26 26
        'accept attachments' => TRUE,
27 27
        'help topic' => 'display-pane',
28
        'contextual links locations' => array('panel_pane'),
28
        'contextual links locations' => array('panel_pane', 'view'),
29 29
      ),
30 30
      'ctools_context' => array(
31 31
        'title' => t('Context'),
drupal7/sites/all/modules/ctools/views_content/views_content.info
10 10
files[] = plugins/views/views_content_plugin_display_panel_pane.inc
11 11
files[] = plugins/views/views_content_plugin_style_ctools_context.inc
12 12

  
13
; Information added by Drupal.org packaging script on 2015-08-19
14
version = "7.x-1.9"
13
; Information added by Drupal.org packaging script on 2016-08-17
14
version = "7.x-1.10"
15 15
core = "7.x"
16 16
project = "ctools"
17
datestamp = "1440020680"
17
datestamp = "1471454104"
18 18

  
drupal7/sites/all/modules/forum_access/CHANGELOG.txt
5 5
forum_access 7.x-1.x-dev:
6 6

  
7 7

  
8
forum_access 7.x-1.3 (2016-08-16):
9
  Bug fixed:
10
    - #2783863: Remove call to non-existent _forum_access_preprocess_comment() function.
11
    - #2463055 by DrCord: Fix 'Use of undefined constant uids' notice.
12
    - #2276445 by Bastlynn: Avoid a notice when a comment pending for notification has been deleted.
13
    - #2147183 by sadashiv: Notices in user_role_delete() when upgrading from D6 to D7.
14
    - #2005352 by EAnushan: Avoid trashing the saved tid when another module calls menu_get_item() with a different $path.
15
    - #1849288: Clean up the helpful information for Content Access.
16
    - Avoid a notice on admin/index.
17
    - #1793504 by RedRat: Fix non-translatable string.
18

  
19

  
8 20
forum_access 7.x-1.2 (2012-09-15):
9 21
  Bug fixed:
10 22
    - #1775204: Avoid crashing the site if FA encounters CMA 1.x (when the upgrade instructions aren't being followed).
11 23

  
12

  
13 24
forum_access 7.x-1.1 (2012-09-02):
14 25
  Enhancements:
15 26
    - Fix all Coder complaints (no functional changes).
......
28 39
    - Fix forum_access_requirements() to always return an array().
29 40
    - Replace $_GET['q'] with current_path(), for D8.
30 41

  
31

  
32 42
forum_access 7.x-1.0 (2012-04-02):
33 43
forum_access 7.x-1.0-rc2 (2012-03-16):
34 44
  Bugs fixed:
drupal7/sites/all/modules/forum_access/forum_access.admin.inc
62 62
    );
63 63
    $form['forum_access']['update_choice'] = array(
64 64
      '#type' => 'radios',
65
      '#title' => 'Update the permissions',
65
      '#title' => t('Update the permissions'),
66 66
      '#description' => t('<em>If</em> you make any node access changes, then each node in this forum needs to be updated. Hover over the radiobuttons for details.'),
67 67
      '#options' => NULL,
68 68
      0 => array(
......
403 403
      $ca_priority = content_access_get_settings('priority', 'forum');
404 404
      $is_conflict = ($ca_priority >= $fa_priority && !empty($ca_interferes) || $ca_priority > $fa_priority);
405 405
      $variables += array(
406
        '!link'     => l(t('@Content_Access configuration for the %content_type type', $variables), 'admin/content/node-type/forum/access', array('html' => TRUE)),
406
        '!link'     => l(t('@Content_Access configuration for the %content_type type', $variables), 'admin/structure/types/manage/forum/access', array('html' => TRUE)),
407 407
        '%Advanced' => $tr('Advanced'),
408 408
      );
409 409
      $specifically = ($ca_priority == $fa_priority ? t('Specifically, any grants given by !Content_Access cannot be taken back by !Forum_Access.', $variables) : '');
......
795 795
 * Add warnings on Content Access admin forms where CA wants
796 796
 * to control the same content types as we do.
797 797
 */
798
function _forum_access_content_access_admin_form() {
799
  return;
800
  //TODO Fix when CA is released!
798
function _forum_access_content_access_admin_form($bundle) {
801 799
  $tr = 't';
802 800
  $l = 'l';
803 801
  $variables = array(
......
809 807
    '%Advanced' => $tr('Advanced'),
810 808
  );
811 809
  $dsm = 'drupal_set_message';
812
  if (arg(3) == 'forum') {
810
  if ($bundle->type == 'forum') {
813 811
    $dsm(t('Note: In Drupal, access can only be granted, not taken away. Whatever access you grant here will not be reflected in the !Forum_Access_link settings, but !Forum_Access can only allow <i>more</i> access, not less.', $variables)
814 812
      . '<br /><span class="error">' . t('Specifically, any rights granted to the %anonymous_user and/or the %authenticated_user will <b>override</b> the settings of !Forum_Access!', $variables) . '</span>'
815 813
      . '<br />' . t('To avoid conflicts with !Forum_Access settings, you may want to lower the priority of !Content_Access (under %Advanced below) below the priority of !Forum_Access for the content types that you want to be controlled by !Forum_Access.', $variables), 'warning');
816 814
  }
817 815
  else {
818
    $vid = _forum_access_get_vid();
819
    $vocabulary = taxonomy_vocabulary_load($vid);
820
    if (isset($vocabulary->nodes[arg(3)])) {
816
    $instances = field_info_instances('node', $bundle->type);
817
    if (isset($instances['taxonomy_forums'])) {
821 818
      $dsm(t('Note: Nodes of this content type can be put inside forums, where access to them will also be controlled by !Forum_Access.<br />In Drupal, access can only be granted, not taken away. Whatever access you grant here will not be reflected on the !Forum_Access_link settings, and vice versa, but any node access module can only allow <i>more</i> access, not less.', $variables), 'warning');
822 819
    }
823 820
  }
drupal7/sites/all/modules/forum_access/forum_access.info
10 10

  
11 11
files[] = tests/forum_access.test
12 12

  
13
; Information added by drupal.org packaging script on 2012-09-19
14
version = "7.x-1.2"
13
; Information added by Drupal.org packaging script on 2016-08-16
14
version = "7.x-1.3"
15 15
core = "7.x"
16 16
project = "forum_access"
17
datestamp = "1348083232"
17
datestamp = "1471309440"
18 18

  
drupal7/sites/all/modules/forum_access/forum_access.install
172 172
 */
173 173
function forum_access_update_7001() {
174 174
  // We don't need the Forum Moderator temporary role anymore.
175
  if ($moderator_rid = variable_get('forum_access_moderator_rid', NULL)) {
175
  if ($moderator_rid = (int) variable_get('forum_access_moderator_rid', NULL)) {
176 176
    user_role_delete($moderator_rid);
177 177
    variable_del('forum_access_moderator_rid');
178 178
  }
drupal7/sites/all/modules/forum_access/forum_access.module
15 15
 * Remind the user to upgrade to Chain Menu Access API 2.x.
16 16
 */
17 17
function forum_access_requirements($phase) {
18
  require_once DRUPAL_ROOT . '/includes/install.inc';
18 19
  $result = array();
19 20
  switch ( $phase ) {
20 21
    case 'update':
......
110 111

  
111 112
  if (is_numeric($comment)) {
112 113
    $comment = comment_load($comment);
114
    if (empty($comment)) {
115
      return FALSE;
116
    }
113 117
  }
114 118
  $node = node_load($comment->nid);
115 119

  
......
275 279
  }
276 280
  elseif ($form_id == 'content_access_admin_settings' && empty($_POST)) {
277 281
    _forum_access_module_load_include('admin.inc');
278
    _forum_access_content_access_admin_form();
282
    _forum_access_content_access_admin_form($form_state['build_info']['args'][0]);
279 283
  }
280 284
}
281 285

  
......
454 458
 * Saves the tid on the forum-specific pages.
455 459
 */
456 460
function forum_access_menu_get_item_alter(&$router_item, $path, $original_map) {
457
  switch ($original_map[0]) {
458

  
459
    case 'forum':
460
      if (empty($original_map[1])) {
461
        forum_access_current_tid(0);
462
      }
463
      elseif (is_numeric($original_map[1])) {
464
        forum_access_current_tid($original_map[1]);
465
      }
466
      break;
467

  
468
    case 'node':
469
      if (isset($original_map[1]) && is_numeric($nid = $original_map[1]) && ($node = node_load($nid)) && ($tid = _forum_access_get_tid($node))) {
470
        forum_access_current_tid($tid);
471
      }
472
      break;
461
  if (forum_access_current_tid() == 0) {
462
    switch ($original_map[0]) {
463
      case 'forum':
464
        if (isset($original_map[1]) && is_numeric($original_map[1])) {
465
          forum_access_current_tid($original_map[1]);
466
        }
467
        break;
468
      case 'node':
469
        if (isset($original_map[1]) && is_numeric($nid = $original_map[1]) && ($node = node_load($nid)) && ($tid = _forum_access_get_tid($node))) {
470
          forum_access_current_tid($tid);
471
        }
472
        break;
473
    }
473 474
  }
474 475
}
475 476

  
......
498 499
    foreach ($variables['forums'] as $tid => $forum) {
499 500
      $forum->forum_access_moderators = NULL;
500 501
      if ($uids = forum_access_get_moderator_uids($tid)) {
501
        $forum->forum_access_moderators = user_load_multiple(uids);
502
        $forum->forum_access_moderators = user_load_multiple($uids);
502 503
      }
503 504
    }
504 505
  }
......
526 527
  }
527 528
}
528 529

  
529
/**
530
 * Implements $modulename_preprocess_$hook() for comment.
531
 *
532
 * Recreate comment links (they've already been themed), and
533
 * remove those that aren't accessible to the user.
534
 */
535
function forum_access_preprocess_comment(&$variables) {
536
  if (isset($variables['node']->tid)) {
537
    _forum_access_module_load_include('node.inc');
538
    _forum_access_preprocess_comment($variables);
539
  }
540
}
541

  
542 530
/**
543 531
 * This is also required by ACL module.
544 532
 */
drupal7/sites/all/modules/panelizer/CHANGELOG.txt
1
Panelizer 7.x-3.3, 2016-08-17
2
-----------------------------
3
#2762351 by DamienMcKenna: Skip update 7300 if there are no records to process.
4
By dsnopek, japerry, mpotter, DamienMcKenna: Add support for the new Panels
5
  Storage API.
6
By dsnopek, japerry, mpotter, DamienMcKenna: Add support for the new Panels IPE
7
  access hook.
8
By DamienMcKenna: Moved panelizer_update_dependencies() to in front of the
9
  update scripts.
10

  
11

  
1 12
Panelizer 7.x-3.2, 2016-06-30
2 13
-----------------------------
3 14
#2416977 by Andrew M Riley: Confirm Navigation: Leave this Page (IPE w/
drupal7/sites/all/modules/panelizer/panelizer.info
34 34
; Tests: Standard node translations.
35 35
files[] = tests/panelizer.node_content_translation.test
36 36

  
37
; Tests: Panels IPE.
38
files[] = tests/panelizer.with_panels_ipe.test
39

  
37 40
; Todo: Tests: Pathauto integration.
38 41
test_dependencies[] = pathauto
39 42
files[] = tests/panelizer.with_pathauto.test
......
50 53
test_dependencies[] = workbench_moderation (>= 3.x)
51 54
files[] = tests/panelizer.with_workbench_moderation.test
52 55

  
53
; Information added by Drupal.org packaging script on 2016-07-01
54
version = "7.x-3.2"
56
; Information added by Drupal.org packaging script on 2016-08-17
57
version = "7.x-3.3"
55 58
core = "7.x"
56 59
project = "panelizer"
57
datestamp = "1467340740"
60
datestamp = "1471449520"
58 61

  
drupal7/sites/all/modules/panelizer/panelizer.install
228 228
  }
229 229
}
230 230

  
231
/**
232
 * Implements hook_update_dependencies().
233
 */
234
function panelizer_update_dependencies() {
235
  // Update 7115 requires UUID support in CTools and Panels.
236
  $dependencies['panelizer'][7115] = array(
237
    'panels' => 7302,
238
  );
239

  
240
  return $dependencies;
241
}
242

  
243 231
/**
244 232
 * Implements hook_requirements().
245 233
 */
......
360 348
  }
361 349
}
362 350

  
351
/**
352
 * Implements hook_update_dependencies().
353
 */
354
function panelizer_update_dependencies() {
355
  // Update 7115 requires UUID support in CTools and Panels.
356
  $dependencies['panelizer'][7115] = array(
357
    'panels' => 7302,
358
  );
359

  
360
  // These updates requires Panels storage support, which was added in
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff