Révision 136a805a
Ajouté par Assos Assos il y a plus de 7 ans
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"> </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"> </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 |
Formats disponibles : Unified diff
Weekly update of contrib modules