Projet

Général

Profil

Révision 7e72b748

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

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/ctools/CHANGELOG.txt
1
Current API VERSION: 2.0. See API.txt for more information.
2

  
3
ctools 7.x-1.x-dev
4
==================
5
#1008120: "New custom content" shows empty form if custom content panes module is not enabled.
6
#999302 by troky: Fix jump menu. Apparently this wasn't actually committed the last time it was committed.
7
#1065976 by tekante and David_Rothstein: Reset plugin static cache during module enable to prevent stale data from harming export ui.
8
#1016510 by EclipseGC: Make the taxonomy system page functional.
9

  
10
ctools 7.x-1.x-alpha2 (05-Jan-2011)
11
===================================
12

  
13
#911396 by alex_b: Prevent notices in export UI.
14
#919768 by mikey_p: Allow url options to be sent to ctools_ajax_command_url().
15
#358953 by cedarm: Allow term context to return lowercase, spaces to dashes versions of terms.
16
#931434 by EclipseGc: Argument plugin for node revision ID.
17
#910656: CTools AJAX sample wizard demo "domesticated" checkbox value not stored.
18
#922442 by EugenMayer, neclimdul and voxpelli: Make sure ctools_include can handle '' or NULL directory.
19
#919956 by traviss359: Correct example in wizard advanced help.
20
#942968: Fix taxonomy term access rule with tag term vocabs.
21
#840344: node add argument had crufty code causing notices.
22
#944462 by longhairedgit: Invalid character in regex causes rare notice.
23
#938778 by dereine: Fix profile content type for D7 updates.
24
Add detach event to modal close so that wysiwyg can detach the editor.
25
Variant titles showing up as blank if more than one variant on a page.
26
#940016: token support was not yet updated for D7.
27
#940446: Skip validation on back and cancel buttons in all wizards.
28
#954492: Redirect not always working in wizard.inc
29
#955348: Lack of redirect on "Update" button in Page Manager causing data loss sometimes.
30
#941778: Update and save button should not appear in the "Add variant" path.
31
#955070 by EclipseGc: Update ctools internal page tokens to work properly on content all content.
32
#956890 by EclipseGc: Update views_content to not use views dependency since that is gone.
33
#954728 by EclipseGc: Update node template page function name to not collide with new hook_node_view().
34
#946534 by EclipseGc: Add support for field content on all entitities.
35
#952586 by EclipseGc: Fix node_author content type.
36
#959206: If a context is not set when rendering content, attempt to guess the context (fixes Views panes where "From context" was added but pane was never edited.)
37
#961654 by benshell: drupal_alter() only supports 4 arguments.
38
#911362 by alex_b: Facilitate plugin cache resets for tests.
39
#945360 by naxoc: node_tag_new() not updated to D7.
40
#953804 by EclipseGc: Fix node comment rendering.
41
#953542 by EclipseGc: Fix node rendering.
42
#953776 by EclipseGc: Fix node link rendering.
43
#954772 by EclipseGc: Fix node build mode selection in node content type.
44
#954762 by EclipseGc: Fix comment forbidden theme call.
45
#954894 by EclipseGc: Fix breadcrumb content type.
46
#955180 by EclipseGc: Fix page primary navigation type.
47
#957190 by EclipseGc: Fix page secondary navigation type.
48
#957194 by EclipseGc: Remove mission content type, since D7 no longer has a site mission.
49
#957348 by EclipseGc: Fix search form URL path.
50
#952586 by andypost: Use format_username for displaying unlinked usernames.
51
#963800 by benshell: Fix query to fetch custom block title.
52
#983496 by Amitaibu: Fix term argument to use proper load function.
53
#989484 by Amitaibu: Fix notice in views plugin.
54
#982496: Fix token context.
55
#995026: Fix export UI during enable/disable which would throw notices and not properly set/unset menu items.
56
#998870 by Amitaibu: Fix notice when content has no icon by using function already designed for that.
57
#983576 by Amitaibu: Node view fallback task showed white screen.
58
#1004644 by pillarsdotnet: Update a missed theme() call to D7.
59
#1006162 by aspilicious: .info file cleanup.
60
#998312 by dereine: Support the expanded/hidden options that Views did for dependent.js
61
#955030: Remove no longer supported footer message content type.
62
Fix broken query in term context config.
63
#992022 by pcambra: Fix node autocomplete.
64
#946302 by BerdArt and arywyr: Fix PHP 5.3 reference error.
65
#980528 by das-peter: Notice fix with entity settings.
66
#999302 by troky: ctools_jump_menu() needed updating to new form parameters.
67
#964174: stylizer plugin theme delegation was in the wrong place, causing errors.
68
#991658 by burlap: Fully load the "user" context for the logged in user because not all fields are in $user.
69
#1014866 by das-peter: Smarter title panes, notice fix on access plugin descriptions.
70
#1015662 by troky: plugin .info files were not using correct filepaths.
71
#941780 by EclipseGc: Restore the "No blocks" functionality.
72
#951048 by EclipseGc: Tighter entity integration so that new entities are automatic contexts and relationships.
73
#941800 by me and aspilicious: Use Drupal 7 #machine_name automation on page manager pages and all export_ui defaults.
74
Disabled exportables and pages not properly greyed out.
75
#969208 by me and benshell: Get user_view and user profile working.
76
#941796: Recategorize blocks
77

  
78
ctools 7.x-1.x-alpha1
79
=====================
80

  
81
Changelog reset for 7.x
82
Basic conversion done during sprint.
drupal7/sites/all/modules/ctools/bulk_export/bulk_export.info
5 5
package = Chaos tool suite
6 6
version = CTOOLS_MODULE_VERSION
7 7

  
8

  
9
; Information added by Drupal.org packaging script on 2016-11-22
10
version = "7.x-1.12"
8
; Information added by Drupal.org packaging script on 2018-02-04
9
version = "7.x-1.13"
11 10
core = "7.x"
12 11
project = "ctools"
13
datestamp = "1479787162"
12
datestamp = "1517704095"
14 13

  
drupal7/sites/all/modules/ctools/bulk_export/bulk_export.module
137 137
      // Add hook_ctools_plugin_api at the top of the module code, if there is any.
138 138
      if ($api_code) {
139 139
        foreach ($api_code as $api_hook => $text) {
140
          $api =  "\n/**\n";
140
          $api = "\n/**\n";
141 141
          $api .= " * Implements hook_$api_hook().\n";
142 142
          $api .= " */\n";
143 143
          $api .= "function {$module_name}_$api_hook(\$module, \$api) {\n";
......
148 148
      }
149 149

  
150 150
      if ($module_code) {
151
        $module =  "<?php\n\n";
151
        $module = "<?php\n\n";
152 152
        $module .= "/**\n";
153 153
        $module .= " * @file\n";
154 154
        $module .= " * Bulk export of objects generated by Bulk export module.\n";
......
193 193

  
194 194
/**
195 195
 * FAPI definition for the bulk exporter form.
196
 *
197 196
 */
198 197
function bulk_export_export_form($form, &$form_state) {
199 198

  
drupal7/sites/all/modules/ctools/css/button.css
1

  
2 1
.ctools-button-processed {
3 2
  border-style: solid;
4 3
  border-width: 1px;
drupal7/sites/all/modules/ctools/css/collapsible-div.css
1

  
2 1
.ctools-collapsible-container .ctools-toggle {
3 2
  float: left;
4 3
  width: 21px;
drupal7/sites/all/modules/ctools/css/ctools.css
5 5
}
6 6

  
7 7
.ctools-owns-lock {
8
  background: #FFFFDD none repeat scroll 0 0;
9
  border: 1px solid #F0C020;
8
  background: #ffffdd none repeat scroll 0 0;
9
  border: 1px solid #f0c020;
10 10
  padding: 1em;
11 11
}
12 12

  
drupal7/sites/all/modules/ctools/css/dropbutton.css
1

  
2 1
.ctools-dropbutton-processed {
3 2
  padding-right: 18px;
4 3
  position: relative;
drupal7/sites/all/modules/ctools/css/dropdown.css
49 49
html.js div.ctools-dropdown div.ctools-dropdown-container ul li li a {
50 50
  padding-left: 25px;
51 51
  width: 150px;
52
  color: #027AC6;
52
  color: #027ac6;
53 53
}
54 54

  
55 55
html.js div.ctools-dropdown div.ctools-dropdown-container ul li a {
56 56
  text-decoration: none;
57 57
  padding-left: 5px;
58 58
  width: 170px;
59
  color: #027AC6;
59
  color: #027ac6;
60 60
}
61 61

  
62 62
html.js div.ctools-dropdown div.ctools-dropdown-container ul li span {
......
69 69
}
70 70

  
71 71
html.js .ctools-dropdown-hover {
72
  background-color: #ECECEC;
72
  background-color: #ececec;
73 73
}
drupal7/sites/all/modules/ctools/css/modal.css
79 79
  float: none;
80 80
}
81 81

  
82
div.ctools-modal-content .modal-form .no-float label  {
82
div.ctools-modal-content .modal-form .no-float label {
83 83
  width: auto;
84 84
}
85 85

  
drupal7/sites/all/modules/ctools/css/stylizer.css
1

  
2 1
/* Farbtastic placement */
3 2
.color-form {
4 3
  max-width: 50em;
......
32 31
  clear: left; /* LTR */
33 32
  width: 14em;
34 33
}
35
.color-form .form-text, .color-form .form-select {
34
.color-form .form-text,
35
.color-form .form-select {
36 36
  float: left; /* LTR */
37 37
}
38 38
.color-form .form-text {
......
84 84
  cursor: default;
85 85
}
86 86

  
87
.ctools-style-icons .form-item  {
87
.ctools-style-icons .form-item {
88 88
  width: 100px;
89 89
  float: left;
90 90
  margin: 0 3px !important;
drupal7/sites/all/modules/ctools/css/wizard.css
1

  
2 1
.wizard-trail {
3 2
  font-size: 120%;
4 3
}
drupal7/sites/all/modules/ctools/ctools.api.php
17 17
 * Inform CTools about plugin types.
18 18
 *
19 19
 * @return array
20
 *  An array of plugin types, keyed by the type name.
21
 *  See the advanced help topic 'plugins-creating' for details of the array
22
 *  properties.
20
 *   An array of plugin types, keyed by the type name.
21
 *   See the advanced help topic 'plugins-creating' for details of the array
22
 *   properties.
23 23
 */
24 24
function hook_ctools_plugin_type() {
25 25
  $plugins['my_type'] = array(
......
65 65
 *   directory location is being requested.
66 66
 * @param string $plugin_type
67 67
 *   The name of the plugin type for which a base directory is being requested.
68
 *
68 69
 * @return string
69 70
 *   The path where CTools' plugin system should search for plugin files,
70 71
 *   relative to your module's root. Omit leading and trailing slashes.
......
94 95
    // Yes, this is exactly like Form 2 - just a different reasoning for it.
95 96
    return "plugins/$plugin_type";
96 97
  }
97
  // Finally, if nothing matches, it's safe to return nothing at all (or NULL).
98
  // Finally, if nothing matches, it's safe to return nothing at all (== NULL).
98 99
}
99 100

  
100 101
/**
......
155 156
 * allow to use it in the math expression api.
156 157
 *
157 158
 * @param $functions
158
 *    An array which has the functions as value.
159
 *   An array which has the functions as value.
159 160
 */
160 161
function hook_ctools_math_expression_functions_alter(&$functions) {
161 162
  // Allow to convert from degrees to radiant.
......
200 201
 */
201 202
function hook_ctools_content_subtype_alter($subtype, $plugin) {
202 203
  // Force a particular subtype of a particular plugin to render last.
203
  if ($plugin['module'] == 'some_plugin_module' && $plugin['name'] == 'some_plugin_name' && $subtype['subtype_id'] == 'my_subtype_id') {
204
  if ($plugin['module'] === 'some_plugin_module'
205
    && $plugin['name'] === 'some_plugin_name'
206
    && $subtype['subtype_id'] === 'my_subtype_id'
207
  ) {
204 208
    $subtype['render last'] = TRUE;
205 209
  }
206 210
}
......
228 232
  }
229 233
}
230 234

  
235
/**
236
 * Alter the conversion of context items by ctools context plugin convert()s.
237
 *
238
 * @param ctools_context $context
239
 *   The current context plugin object. If this implemented a 'convert'
240
 *   function, the value passed in has been processed by that function.
241
 * @param string $converter
242
 *   A string associated with the plugin type, identifying the operation.
243
 * @param string $value
244
 *   The value being converted; this is the only return from the function.
245
 * @param $converter_options
246
 *   Array of key-value pairs to pass to a converter function from higher
247
 *   levels.
248
 *
249
 * @see ctools_context_convert_context()
250
 */
251
function hook_ctools_context_converter_alter($context, $converter, &$value, $converter_options) {
252
  if ($converter === 'mystring') {
253
    $value = 'fixed';
254
  }
255
}
256

  
231 257
/**
232 258
 * Alter the definition of entity context plugins.
233 259
 *
......
266 292
  $settings['lower case'] = TRUE;
267 293
}
268 294

  
295
/**
296
 * Let other modules modify the context handler before it is rendered.
297
 *
298
 * @param object $handler
299
 *   A handler for a current task and subtask.
300
 * @param array $contexts
301
 *   An associative array of contexts.
302
 * @param array $args
303
 *   An array for current args.
304
 *
305
 * @see ctools_context_handler_pre_render()
306
 */
307
function ctools_context_handler_pre_render($handler, $contexts, $args) {
308
  $handler->conf['css_id'] = 'my-id';
309
}
310

  
269 311
/**
270 312
 * @} End of "addtogroup hooks".
271 313
 */
drupal7/sites/all/modules/ctools/ctools.info
12 12
files[] = tests/css.test
13 13
files[] = tests/css_cache.test
14 14
files[] = tests/ctools.plugins.test
15
files[] = tests/ctools.test
15 16
files[] = tests/math_expression.test
16 17
files[] = tests/math_expression_stack.test
17 18
files[] = tests/object_cache.test
19
files[] = tests/object_cache_unit.test
20
files[] = tests/page_tokens.test
21
files[] = tests/uuid_with_uuid.test
22
files[] = tests/uuid_without_uuid.test
18 23

  
19
; Information added by Drupal.org packaging script on 2016-11-22
20
version = "7.x-1.12"
24
; Dependencies that are only used for the tests.
25
; @see tests/uuid_with_uuid.test
26
test_dependencies[] = uuid
27

  
28
; Information added by Drupal.org packaging script on 2018-02-04
29
version = "7.x-1.13"
21 30
core = "7.x"
22 31
project = "ctools"
23
datestamp = "1479787162"
32
datestamp = "1517704095"
24 33

  
drupal7/sites/all/modules/ctools/ctools.install
40 40
 * Implements hook_schema().
41 41
 */
42 42
function ctools_schema() {
43
  return ctools_schema_3();
43
  return ctools_schema_4();
44
}
45

  
46
/**
47
 * Version 4 of the CTools schema.
48
 */
49
function ctools_schema_4() {
50
  $schema = ctools_schema_3();
51

  
52
  // Update the 'name' field to be 255 bytes long:
53
  $schema['ctools_object_cache']['fields']['name']['length'] = 255;
54

  
55
  return $schema;
44 56
}
45 57

  
46 58
/**
......
49 61
function ctools_schema_3() {
50 62
  $schema = ctools_schema_2();
51 63

  
52
  // update the 'obj' field to be 128 bytes long:
64
  // Update the 'obj' field to be 128 bytes long:
53 65
  $schema['ctools_object_cache']['fields']['obj']['length'] = 128;
54 66

  
55 67
  return $schema;
......
61 73
function ctools_schema_2() {
62 74
  $schema = ctools_schema_1();
63 75

  
64
  // update the 'name' field to be 128 bytes long:
76
  // Update the 'name' field to be 128 bytes long:
65 77
  $schema['ctools_object_cache']['fields']['name']['length'] = 128;
66 78

  
67 79
  // Update the 'data' field to be type 'blob'.
......
95 107
        'serialize' => TRUE,
96 108
      ),
97 109
      'filter' => array(
98
         'type' => 'int',
99
         'size' => 'tiny',
100
         'description' => 'Whether or not this CSS needs to be filtered.',
101
       ),
110
        'type' => 'int',
111
        'size' => 'tiny',
112
        'description' => 'Whether or not this CSS needs to be filtered.',
113
      ),
102 114
    ),
103 115
    'primary key' => array('cid'),
104 116
  );
......
197 209
  if ($result) {
198 210
    db_delete('system')->condition('name', 'panels_views')->execute();
199 211
    module_enable(array('views_content'), TRUE);
200
 }
212
  }
201 213
}
202 214

  
203 215
/**
......
216 228
}
217 229

  
218 230
/**
219
 * ctools_custom_content table was originally here, but is now moved to
231
 * The ctools_custom_content table was originally here, but is now moved to
220 232
 * its own module.
221 233
 */
222 234
function ctools_update_6007() {
......
230 242
}
231 243

  
232 244
/**
233
 * ctools_object_cache needs to be defined as a blob.
245
 * The ctools_object_cache needs to be defined as a blob.
234 246
 */
235 247
function ctools_update_6008() {
236 248
  db_delete('ctools_object_cache')
237 249
    ->execute();
238 250

  
239 251
  db_change_field('ctools_object_cache', 'data', 'data', array(
240
      'type' => 'blob',
241
      'size' => 'big',
242
      'description' => 'Serialized data being stored.',
243
      'serialize' => TRUE,
244
    )
252
    'type' => 'blob',
253
    'size' => 'big',
254
    'description' => 'Serialized data being stored.',
255
    'serialize' => TRUE,
256
  )
245 257
  );
246 258
}
247 259

  
......
263 275
    'description' => 'The type of the object this cache is attached to; this essentially represents the owner so that several sub-systems can use this cache.',
264 276
  ));
265 277
}
278

  
279
/**
280
 * Increase the length of the ctools_object_cache.name column to 255.
281
 */
282
function ctools_update_7002() {
283
  db_change_field('ctools_object_cache', 'name', 'name', array(
284
    'type' => 'varchar',
285
    'length' => '255',
286
    'not null' => TRUE,
287
  ));
288
}
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.11');
26
define('CTOOLS_MODULE_VERSION', '7.x-1.13');
27 27

  
28 28
/**
29 29
 * Test the CTools API version.
......
75 75
 *   The minimum version of CTools necessary for your software to run with it.
76 76
 * @param $maximum
77 77
 *   The maximum version of CTools allowed for your software to run with it.
78
 *
79
 * @return bool
80
 *   TRUE if the running ctools is usable, FALSE otherwise.
78 81
 */
79 82
function ctools_api_version($minimum, $maximum = NULL) {
80 83
  if (version_compare(CTOOLS_API_VERSION, $minimum, '<')) {
......
89 92
}
90 93

  
91 94
// -----------------------------------------------------------------------
92
// General utility functions
93

  
95
// General utility functions.
94 96
/**
95 97
 * Include .inc files as necessary.
96 98
 *
......
118 120
 * @param $dir
119 121
 *   Optional subdirectory containing the include file.
120 122
 */
123

  
121 124
function ctools_include($file, $module = 'ctools', $dir = 'includes') {
122 125
  static $used = array();
123 126

  
......
147 150
/**
148 151
 * Add an arbitrary path to the $form_state so it can work with form cache.
149 152
 *
150
 * module_load_include uses an unfortunately annoying syntax to work, making it
151
 * difficult to translate the more simple $path + $file syntax.
153
 * The module_load_include() function uses an unfortunately annoying syntax to
154
 * work, making it difficult to translate the more simple $path + $file syntax.
152 155
 */
153 156
function ctools_form_include_file(&$form_state, $filename) {
154 157
  if (!isset($form_state['build_info']['args'])) {
......
172 175
 *   Optional module containing the include.
173 176
 * @param $dir
174 177
 *   Optional subdirectory containing the include file.
178
 *
179
 * @return string
180
 *   A string containing the appropriate path from drupal root.
175 181
 */
176 182
function ctools_image_path($image, $module = 'ctools', $dir = 'images') {
177 183
  return drupal_get_path('module', $module) . "/$dir/" . $image;
......
211 217
 *   Optional module containing the include.
212 218
 * @param $dir
213 219
 *   Optional subdirectory containing the include file.
220
 *
221
 * @return string
222
 *   A string containing the appropriate path from drupal root.
214 223
 */
215 224
function ctools_attach_css($file, $module = 'ctools', $dir = 'css') {
216 225
  return drupal_get_path('module', $module) . "/$dir/$file.css";
......
249 258
 *   Optional module containing the include.
250 259
 * @param $dir
251 260
 *   Optional subdirectory containing the include file.
261
 *
262
 * @return string
263
 *   A string containing the appropriate path from drupal root.
252 264
 */
253 265
function ctools_attach_js($file, $module = 'ctools', $dir = 'js') {
254 266
  return drupal_get_path('module', $module) . "/$dir/$file.js";
......
267 279
  return user_roles();
268 280
}
269 281

  
270
/*
271
 * Break x,y,z and x+y+z into an array. Numeric only.
282
/**
283
 * Parse integer sequences of the form "x,y,z" or "x+y+z" into separate values.
284
 *
285
 * A string with integers separated by comma (,) is reported as an 'and' set;
286
 * separation by a plus sign (+) or a space ( ) is an 'or' set. The meaning
287
 * of this is up to the caller. Negative or fractional numbers are not
288
 * recognised.
289
 *
290
 * Additional space characters within or around the sequence are not allowed.
272 291
 *
273 292
 * @param $str
274 293
 *   The string to parse.
275 294
 *
276
 * @return $object
277
 *   An object containing
278
 *   - operator: Either 'and' or 'or'
279
 *   - value: An array of numeric values.
295
 * @return object
296
 *   An object containing the properties:
297
 *
298
 *   - operator: Either 'and' or 'or' when there are multiple matched values.
299
 *   Absent when invalid_input is TRUE or there is only one value.
300
 *   - value: An array of integers (never strings) from $str. An empty array is
301
 *   returned if the input is empty. A single integer input is returned
302
 *   as a single value, but no 'operator' is defined.
303
 *   - invalid_input: TRUE if input could not be parsed and the values array
304
 *   will contain just -1. This property is otherwise absent.
280 305
 */
281 306
function ctools_break_phrase($str) {
282 307
  $object = new stdClass();
......
286 311
    $object->operator = 'or';
287 312
    $object->value = preg_split('/[+ ]/', $str);
288 313
  }
289
  else if (preg_match('/^([0-9]+,)*[0-9]+$/', $str)) {
314
  elseif (preg_match('/^([0-9]+,)*[0-9]+$/', $str)) {
290 315
    $object->operator = 'and';
291 316
    $object->value = explode(',', $str);
292 317
  }
......
304 329

  
305 330
  // Doubly ensure that all values are numeric only.
306 331
  foreach ($object->value as $id => $value) {
307
    $object->value[$id] = intval($value);
332
    $object->value[$id] = (int) $value;
308 333
  }
309 334

  
310 335
  return $object;
......
314 339
 * Set a token/value pair to be replaced later in the request, specifically in
315 340
 * ctools_page_token_processing().
316 341
 *
317
 * @param $token
342
 * @param string $token
318 343
 *   The token to be replaced later, during page rendering.  This should
319
 *    ideally be a string inside of an HTML comment, so that if there is
320
 *    no replacement, the token will not render on the page.
321
 * @param $type
344
 *   ideally be a string inside of an HTML comment, so that if there is
345
 *   no replacement, the token will not render on the page.
346
 *   If $token is NULL, the token set is not changed, but is still
347
 *   returned.
348
 * @param string $type
322 349
 *   The type of the token. Can be either 'variable', which will pull data
323
 *   directly from the page variables
324
 * @param $argument
325
 *   If $type == 'variable' then argument should be the key to fetch from
326
 *   the $variables. If $type == 'callback' then it should either be the
327
 *   callback, or an array that will be sent to call_user_func_array().
328
 *
329
 * @return
350
 *   directly from the page variables, or 'callback', which causes a function
351
 *   to be called to calculate the value. No other values are supported.
352
 * @param string|array $argument
353
 *   For $type of:
354
 *   - 'variable': argument should be the key to fetch from the $variables.
355
 *   - 'callback': then it should either be the callback function name as a
356
 *     string, or an array that will be sent to call_user_func_array(). Argument
357
 *     arrays must not use array keys (i.e. $a[0] is the first and $a[1] the
358
 *     second element, etc.)
359
 *
360
 * @return array
330 361
 *   A array of token/variable names to be replaced.
331 362
 */
332 363
function ctools_set_page_token($token = NULL, $type = NULL, $argument = NULL) {
333
  static $tokens = array();
364
  $tokens = &drupal_static('ctools_set_page_token', array());
334 365

  
335 366
  if (isset($token)) {
336 367
    $tokens[$token] = array($type, $argument);
......
339 370
}
340 371

  
341 372
/**
342
 * Easily set a token from the page variables.
373
 * Reset the defined page tokens within this request.
374
 *
375
 * Introduced for simpletest purposes. Normally not needed.
376
 */
377
function ctools_reset_page_tokens() {
378
  drupal_static_reset('ctools_set_page_token');
379
}
380

  
381
/**
382
 * Set a replacement token from the containing element's children during #post_render.
343 383
 *
344 384
 * This function can be used like this:
345
 * $token = ctools_set_variable_token('tabs');
385
 *   $token = ctools_set_variable_token('tabs');
346 386
 *
347
 * $token will then be a simple replacement for the 'tabs' about of the
348
 * variables available in the page template.
387
 * The token "<!-- ctools-page-tabs -->" would then be replaced by the value of
388
 * this element's (sibling) render array key 'tabs' during post-render (or be
389
 * deleted if there was no such key by that point).
390
 *
391
 * @param string $token
392
 *   The token string for the page callback, e.g. 'title'.
393
 *
394
 * @return string
395
 *   The constructed token.
396
 *
397
 * @see ctools_set_callback_token()
398
 * @see ctools_page_token_processing()
349 399
 */
350 400
function ctools_set_variable_token($token) {
351 401
  $string = '<!-- ctools-page-' . $token . ' -->';
......
354 404
}
355 405

  
356 406
/**
357
 * Easily set a token from the page variables.
407
 * Set a replacement token from the value of a function during #post_render.
358 408
 *
359 409
 * This function can be used like this:
360
 * $token = ctools_set_variable_token('id', 'mymodule_myfunction');
410
 *   $token = ctools_set_callback_token('id', 'mymodule_myfunction');
411
 *
412
 * Or this (from its use in ctools_page_title_content_type_render):
413
 *   $token = ctools_set_callback_token('title', array(
414
 *       'ctools_page_title_content_type_token', $conf['markup'], $conf['id'], $conf['class']
415
 *     )
416
 *   );
417
 *
418
 * The token (e.g: "<!-- ctools-page-id-1b7f84d1c8851290cc342631ac663053 -->")
419
 * would then be replaced during post-render by the return value of:
420
 *
421
 *   ctools_page_title_content_type_token($value_markup, $value_id, $value_class);
422
 *
423
 * @param string $token
424
 *   The token string for the page callback, e.g. 'title'.
425
 *
426
 * @param string|array $callback
427
 *   For callback functions that require no args, the name of the function as a
428
 *   string; otherwise an array of two or more elements: the function name
429
 *   followed by one or more function arguments.
430
 *
431
 *   NB: the value of $callback must be a procedural (non-class) function that
432
 *   passes the php function_exists() check.
433
 *
434
 *   The callback function itself will be called with args dependent
435
 *   on $callback. If:
436
 *    - $callback is a string, the function is called with a reference to the
437
 *      render array;
438
 *    - $callback is an array, the function is called with $callback merged
439
 *      with an array containing a reference to the render array.
440
 *
441
 * @return string
442
 *   The constructed token.
443
 *
444
 * @see ctools_set_variable_token()
445
 * @see ctools_page_token_processing()
361 446
 */
362 447
function ctools_set_callback_token($token, $callback) {
363 448
  // If the callback uses arguments they are considered in the token.
......
384 469
/**
385 470
 * Wrapper function to create UUIDs via ctools, falls back on UUID module
386 471
 * if it is enabled. This code is a copy of uuid.inc from the uuid module.
472
 *
387 473
 * @see http://php.net/uniqid#65879
388 474
 */
389

  
390 475
function ctools_uuid_generate() {
391 476
  if (!module_exists('uuid')) {
392 477
    ctools_include('uuid');
......
413 498

  
414 499
/**
415 500
 * Check that a string appears to be in the format of a UUID.
501
 *
416 502
 * @see http://drupal.org/project/uuid
417 503
 *
418 504
 * @param $uuid
......
468 554
 */
469 555
function ctools_class_remove($classes, $hook = 'html') {
470 556
  if (!is_array($classes)) {
557
    // @todo Consider using explode(' ', $classes);
558
    // @todo Consider checking that $classes is a string before adding.
471 559
    $classes = array($classes);
472 560
  }
473 561

  
......
480 568
  }
481 569
}
482 570

  
483
// -----------------------------------------------------------------------
484
// Drupal core hooks
571
/**
572
 * Reset the storage used for ctools_class_add and ctools_class_remove.
573
 *
574
 * @see ctools_class_add()
575
 * @see ctools_class_remove()
576
 */
577
function ctools_class_reset() {
578
  drupal_static_reset('ctools_process_classes');
579
}
580

  
581
/**
582
 * Return the classes for the body (added by ctools_class_add).
583
 *
584
 * @return array
585
 *   A copy of the array of classes to add to the body tag. If none have been
586
 *   added, this will be an empty array.
587
 *
588
 * @see ctools_class_add()
589
 */
590
function ctools_get_classes() {
591
  return drupal_static('ctools_process_classes', array());
592
}
485 593

  
594
// -----------------------------------------------------------------------
595
// Drupal core hooks.
486 596
/**
487 597
 * Implement hook_init to keep our global CSS at the ready.
488 598
 */
599

  
489 600
function ctools_init() {
490 601
  ctools_add_css('ctools');
491 602
  // If we are sure that CTools' AJAX is in use, change the error handling.
......
504 615
 * Shutdown handler used during ajax operations to help catch fatal errors.
505 616
 */
506 617
function ctools_shutdown_handler() {
507
  if (function_exists('error_get_last') AND ($error = error_get_last())) {
618
  if (function_exists('error_get_last') && ($error = error_get_last())) {
508 619
    switch ($error['type']) {
509 620
      case E_ERROR:
510 621
      case E_CORE_ERROR:
......
583 694

  
584 695
/**
585 696
 * Implements hook_element_info_alter().
586
 *
587 697
 */
588 698
function ctools_element_info_alter(&$type) {
589 699
  ctools_include('dependent');
......
619 729

  
620 730
// -----------------------------------------------------------------------
621 731
// FAPI hooks that must be in the .module file.
622

  
623 732
/**
624 733
 * Alter the comment form to get a little more control over it.
625 734
 */
735

  
626 736
function ctools_form_comment_form_alter(&$form, &$form_state) {
627 737
  if (!empty($form_state['ctools comment alter'])) {
628 738
    // Force the form to post back to wherever we are.
......
640 750

  
641 751
// -----------------------------------------------------------------------
642 752
// CTools hook implementations.
643

  
644 753
/**
645 754
 * Implementation of hook_ctools_plugin_directory() to let the system know
646 755
 * where all our own plugins are.
647 756
 */
757

  
648 758
function ctools_ctools_plugin_directory($owner, $plugin_type) {
649 759
  if ($owner == 'ctools') {
650 760
    return 'plugins/' . $plugin_type;
......
665 775

  
666 776
// -----------------------------------------------------------------------
667 777
// Drupal theme preprocess hooks that must be in the .module file.
668

  
669 778
/**
670 779
 * A theme preprocess function to automatically allow panels-based node
671 780
 * templates based upon input when the panel was configured.
672 781
 */
782

  
673 783
function ctools_preprocess_node(&$vars) {
674 784
  // The 'ctools_template_identifier' attribute of the node is added when the pane is
675 785
  // rendered.
......
679 789
  }
680 790
}
681 791

  
682

  
683 792
/**
684 793
 * Implements hook_page_alter().
685 794
 *
686 795
 * Last ditch attempt to remove sidebar regions if the "no blocks"
687 796
 * functionality has been activated.
688 797
 *
689
 * @see ctools_block_list_alter().
798
 * @see ctools_block_list_alter()
690 799
 */
691 800
function ctools_page_alter(&$page) {
692 801
  $check = drupal_static('ctools_set_no_blocks', TRUE);
......
716 825
        case 'variable':
717 826
          $tokens[$token] = isset($elements[$argument]) ? $elements[$argument] : '';
718 827
          break;
828

  
719 829
        case 'callback':
720 830
          if (is_string($argument) && function_exists($argument)) {
721 831
            $tokens[$token] = $argument($elements);
......
744 854
    return;
745 855
  }
746 856

  
747
  $classes = drupal_static('ctools_process_classes', array());
857
  $classes = ctools_get_classes();
748 858

  
749 859
  // Process the classses to add.
750 860
  if (!empty($classes[$hook]['add'])) {
......
758 868
    $variables['classes_array'] = array_diff($variables['classes_array'], $remove_classes);
759 869
  }
760 870

  
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'] = array_unique(array_merge($variables['classes_array'], $variables['attributes_array']['class']));
764
    $variables['attributes'] = $variables['attributes_array'] ? drupal_attributes($variables['attributes_array']) : '';
765
  }
766

  
767 871
  // Since this runs after template_process(), we need to re-implode the
768 872
  // classes array.
769 873
  $variables['classes'] = implode(' ', $variables['classes_array']);
......
771 875

  
772 876
// -----------------------------------------------------------------------
773 877
// Menu callbacks that must be in the .module file.
774

  
775 878
/**
776 879
 * Determine if the current user has access via a plugin.
777 880
 *
......
795 898
 * @return
796 899
 *   TRUE if access is granted, false if otherwise.
797 900
 */
901

  
798 902
function ctools_access_menu($access) {
799 903
  // Short circuit everything if there are no access tests.
800 904
  if (empty($access['plugins'])) {
......
823 927
 *   An indexed array of zero or more permission strings to be checked by
824 928
 *   user_access().
825 929
 *
826
 * @return
930
 * @return bool
827 931
 *   Iff all checks pass will this function return TRUE. If an invalid argument
828 932
 *   is passed (e.g., not a string), this function errs on the safe said and
829 933
 *   returns FALSE.
......
885 989

  
886 990
// -----------------------------------------------------------------------
887 991
// Caching callbacks on behalf of export-ui.
888

  
889 992
/**
890 993
 * Menu access callback for various tasks of export-ui.
891 994
 */
......
929 1032
}
930 1033

  
931 1034
/**
932
 * Callback for access control ajax form on behalf of export ui
1035
 * Callback for access control ajax form on behalf of export ui.
933 1036
 *
934 1037
 * Returns the cached access config and contexts used.
935 1038
 * Note that this is assuming that access will be in $item->access -- if it
......
962 1065
}
963 1066

  
964 1067
/**
965
 * Implement hook_block_list_alter() to potentially remove blocks.
1068
 * Implements hook_block_list_alter().
966 1069
 *
1070
 * Used to potentially remove blocks.
967 1071
 * This exists in order to replicate Drupal 6's "no blocks" functionality.
968 1072
 */
969 1073
function ctools_block_list_alter(&$blocks) {
......
1026 1130
    case 'entity_id:taxonomy_term':
1027 1131
      $plugin['no ui'] = TRUE;
1028 1132
      break;
1133

  
1029 1134
    case 'entity:user':
1030 1135
      $plugin = ctools_get_context('user');
1031 1136
      unset($plugin['no ui']);
......
1059 1164
function ctools_field_create_instance($instance) {
1060 1165
  ctools_flush_field_caches();
1061 1166
}
1167

  
1062 1168
/**
1063 1169
 * Implements hook_field_delete_field().
1064 1170
 */
1065 1171
function ctools_field_delete_field($field) {
1066 1172
  ctools_flush_field_caches();
1067 1173
}
1174

  
1068 1175
/**
1069 1176
 * Implements hook_field_delete_instance().
1070 1177
 */
1071 1178
function ctools_field_delete_instance($instance) {
1072 1179
  ctools_flush_field_caches();
1073 1180
}
1181

  
1074 1182
/**
1075 1183
 * Implements hook_field_update_field().
1076 1184
 */
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 2016-11-22
9
version = "7.x-1.12"
8
; Information added by Drupal.org packaging script on 2018-02-04
9
version = "7.x-1.13"
10 10
core = "7.x"
11 11
project = "ctools"
12
datestamp = "1479787162"
12
datestamp = "1517704095"
13 13

  
drupal7/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.install
1 1
<?php
2 2

  
3
/**
4
 * @file
5
 */
6

  
3 7
/**
4 8
 * Schema for customizable access rulesets.
5 9
 */
drupal7/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.module
2 2

  
3 3
/**
4 4
 * @file
5
 * ctools_access_ruleset module
5
 * The ctools_access_ruleset module.
6 6
 *
7 7
 * This module allows styles to be created and managed on behalf of modules
8 8
 * that implement styles.
......
30 30
 */
31 31
function ctools_access_ruleset_ctools_plugin_directory($module, $plugin) {
32 32
  // Most of this module is implemented as an export ui plugin, and the
33
  // rest is in ctools/includes/ctools_access_ruleset.inc
33
  // rest is in ctools/includes/ctools_access_ruleset.inc.
34 34
  if ($module == 'ctools' && ($plugin == 'export_ui' || $plugin == 'access')) {
35 35
    return 'plugins/' . $plugin;
36 36
  }
......
47 47
    'description' => t('Custom rulesets are combinations of access plugins you can use for access control, selection criteria and pane visibility.'),
48 48
  );
49 49

  
50
   // Load all mini panels and their displays.
50
  // Load all mini panels and their displays.
51 51
  ctools_include('export');
52 52
  $items = ctools_export_crud_load_all('ctools_access_ruleset');
53 53
  $count = 0;
drupal7/sites/all/modules/ctools/ctools_access_ruleset/plugins/access/ruleset.inc
35 35
    $plugin['required context'] = array();
36 36
    foreach ($item->requiredcontexts as $context) {
37 37
      $info = ctools_get_context($context['name']);
38
      // TODO: allow an optional setting
38
      // TODO: allow an optional setting.
39 39
      $plugin['required context'][] = new ctools_context_required($context['identifier'], $info['context name']);
40 40
    }
41 41
  }
......
72 72
}
73 73

  
74 74
/**
75
 * Settings form for the 'by ruleset' access plugin
75
 * Settings form for the 'by ruleset' access plugin.
76 76
 */
77 77
function ctools_ruleset_ctools_access_settings(&$form, &$form_state, $conf) {
78 78
  if (!empty($form_state['plugin']['ruleset']->admin_description)) {
......
106 106
    return check_plain($plugin['ruleset']->admin_title);
107 107
  }
108 108
}
109

  
drupal7/sites/all/modules/ctools/ctools_access_ruleset/plugins/export_ui/ctools_access_ruleset.inc
1 1
<?php
2 2

  
3
/**
4
 * @file
5
 */
6

  
3 7
$plugin = array(
4 8
  'schema' => 'ctools_access_ruleset',
5 9
  'access' => 'administer ctools access ruleset',
......
26 30
    ),
27 31
  ),
28 32
);
29

  
drupal7/sites/all/modules/ctools/ctools_access_ruleset/plugins/export_ui/ctools_access_ruleset_ui.class.php
2 2

  
3 3
class ctools_access_ruleset_ui extends ctools_export_ui {
4 4

  
5
  function edit_form_context(&$form, &$form_state) {
5
  public function edit_form_context(&$form, &$form_state) {
6 6
    ctools_include('context-admin');
7 7
    ctools_context_admin_includes();
8 8
    ctools_add_css('ruleset');
......
27 27
    ctools_context_add_relationship_form($module, $form, $form_state, $form['right']['relationships_table'], $form_state['item'], $name);
28 28
  }
29 29

  
30
  function edit_form_rules(&$form, &$form_state) {
30
  public function edit_form_rules(&$form, &$form_state) {
31 31
    // The 'access' UI passes everything via $form_state, unlike the 'context' UI.
32 32
    // The main difference is that one is about 3 years newer than the other.
33 33
    ctools_include('context');
......
43 43
    $form = ctools_access_admin_form($form, $form_state);
44 44
  }
45 45

  
46
  function edit_form_rules_submit(&$form, &$form_state) {
46
  public function edit_form_rules_submit(&$form, &$form_state) {
47 47
    $form_state['item']->access['logic'] = $form_state['values']['logic'];
48 48
  }
49 49

  
50
  function edit_form_submit(&$form, &$form_state) {
50
  public function edit_form_submit(&$form, &$form_state) {
51 51
    parent::edit_form_submit($form, $form_state);
52 52
  }
53

  
53 54
}
drupal7/sites/all/modules/ctools/ctools_ajax_sample/css/ctools-ajax-sample.css
1 1
div.ctools-sample-modal-content {
2
	background:none;
3
	border:0;
4
	color:#000000;
5
	margin:0;
6
	padding:0;
7
	text-align:left;
2
  background: none;
3
  border: 0;
4
  color: #000;
5
  margin: 0;
6
  padding: 0;
7
  text-align: left;
8 8
}
9
div.ctools-sample-modal-content .modal-scroll{
10
	overflow:hidden;
11
	overflow-y:auto;
9
div.ctools-sample-modal-content .modal-scroll {
10
  overflow: hidden;
11
  overflow-y: auto;
12 12
}
13 13
div.ctools-sample-modal-content #popups-overlay {
14
  background-color:transparent;
14
  background-color: transparent;
15 15
}
16 16
div.ctools-sample-modal-content #popups-loading {
17
  width:248px;
18
  position:absolute;
19
  display:none;
20
  opacity:1;
17
  width: 248px;
18
  position: absolute;
19
  display: none;
20
  opacity: 1;
21 21
  -moz-border-radius: 8px;
22 22
  -webkit-border-radius: 8px;
23
  z-index:99;
23
  z-index: 99;
24 24
}
25 25
div.ctools-sample-modal-content #popups-loading span.popups-loading-message {
26
  background:#FFF url(../images/loading-large.gif) no-repeat 8px center;
27
  display:block;
28
  color:#444444;
29
  font-family:Arial;
30
  font-size:22px;
31
  font-weight:bold;
32
  height:36px;
33
  line-height:36px;
34
  padding:0 40px;
26
  background: #fff url(../images/loading-large.gif) no-repeat 8px center;
27
  display: block;
28
  color: #444;
29
  font-family: Arial, serif;
30
  font-size: 22px;
31
  font-weight: bold;
32
  height: 36px;
33
  line-height: 36px;
34
  padding: 0 40px;
35 35
}
36 36
div.ctools-sample-modal-content #popups-loading table,
37 37
div.ctools-sample-modal-content .popups-box table {
38
	margin:0px;
38
  margin: 0;
39 39
}
40 40
div.ctools-sample-modal-content #popups-loading tbody,
41 41
div.ctools-sample-modal-content .popups-box tbody {
42
	border:none;
42
  border: none;
43 43
}
44 44
div.ctools-sample-modal-content .popups-box tr {
45
	background-color:transparent;
45
  background-color: transparent;
46 46
}
47 47
div.ctools-sample-modal-content td.popups-border {
48 48
  background: url(../images/popups-border.png);
49
  background-color:transparent;
49
  background-color: transparent;
50 50
  border: none;
51 51
}
52 52
div.ctools-sample-modal-content td.popups-tl,
......
54 54
div.ctools-sample-modal-content td.popups-bl,
55 55
div.ctools-sample-modal-content td.popups-br {
56 56
  background-repeat: no-repeat;
57
  height:10px;
58
  padding:0px;
57
  height: 10px;
58
  padding: 0;
59
}
60
div.ctools-sample-modal-content td.popups-tl {
61
  background-position: 0 0;
59 62
}
60
div.ctools-sample-modal-content td.popups-tl { background-position: 0px 0px; }
61 63
div.ctools-sample-modal-content td.popups-t,
62 64
div.ctools-sample-modal-content td.popups-b {
63
  background-position: 0px -40px;
65
  background-position: 0 -40px;
64 66
  background-repeat: repeat-x;
65 67
}
66
div.ctools-sample-modal-content td.popups-tr { background-position: 0px -10px; width: 10px; }
68
div.ctools-sample-modal-content td.popups-tr {
69
  background-position: 0 -10px;
70
  width: 10px;
71
}
67 72
div.ctools-sample-modal-content td.popups-cl,
68 73
div.ctools-sample-modal-content td.popups-cr {
69 74
  background-position: -10px 0;
70 75
  background-repeat: repeat-y;
71
  width:10px;
76
  width: 10px;
72 77
}
73 78
div.ctools-sample-modal-content td.popups-cl,
74 79
div.ctools-sample-modal-content td.popups-cr,
75
div.ctools-sample-modal-content td.popups-c { padding:0; border: none; }
76
div.ctools-sample-modal-content td.popups-c { background:#fff; }
77
div.ctools-sample-modal-content td.popups-bl { background-position: 0px -20px; }
78
div.ctools-sample-modal-content td.popups-br { background-position: 0px -30px; width: 10px; }
80
div.ctools-sample-modal-content td.popups-c {
81
  padding: 0;
82
  border: none;
83
}
84
div.ctools-sample-modal-content td.popups-c {
85
  background: #fff;
86
}
87
div.ctools-sample-modal-content td.popups-bl {
88
  background-position: 0 -20px;
89
}
90
div.ctools-sample-modal-content td.popups-br {
91
  background-position: 0 -30px;
92
  width: 10px;
93
}
79 94

  
80 95
div.ctools-sample-modal-content .popups-box,
81 96
div.ctools-sample-modal-content #popups-loading {
82
  border: 0px solid #454545;
83
  opacity:1;
84
  overflow:hidden;
85
  padding:0;
86
  background-color:transparent;
97
  border: 0 solid #454545;
98
  opacity: 1;
99
  overflow: hidden;
100
  padding: 0;
101
  background-color: transparent;
87 102
}
88 103
div.ctools-sample-modal-content .popups-container {
89
  overflow:hidden;
90
  height:100%;
91
  background-color:#fff;
104
  overflow: hidden;
105
  height: 100%;
106
  background-color: #fff;
92 107
}
93 108
div.ctools-sample-modal-content div.popups-title {
94
  -moz-border-radius-topleft: 0px;
95
  -webkit-border-radius-topleft: 0px;
96
  margin-bottom:0px;
97
  background-color:#ff7200;
98
  border:1px solid #ce5c00;
99
  padding:4px 10px 5px;
100
  color:white;
101
  font-size:1em;
102
  font-weight:bold;
109
  -moz-border-radius-topleft: 0;
110
  -webkit-border-radius-topleft: 0;
111
  margin-bottom: 0;
112
  background-color: #ff7200;
113
  border: 1px solid #ce5c00;
114
  padding: 4px 10px 5px;
115
  color: white;
116
  font-size: 1em;
117
  font-weight: bold;
103 118
}
104 119
div.ctools-sample-modal-content .popups-body {
105
  background-color:#fff;
106
  padding:8px;
120
  background-color: #fff;
121
  padding: 8px;
107 122
}
108 123
div.ctools-sample-modal-content .popups-box .popups-buttons,
109 124
div.ctools-sample-modal-content .popups-box .popups-footer {
110
  background-color:#fff;
125
  background-color: #fff;
111 126
}
112 127
div.ctools-sample-modal-content .popups-title a.close {
113 128
  color: #fff;
114
  text-decoration:none;
129
  text-decoration: none;
115 130
}
116 131
div.ctools-sample-modal-content .popups-close {
117
	font-size:120%;
118
	float:right;
119
	text-align:right;
132
  font-size: 120%;
133
  float: right;
134
  text-align: right;
120 135
}
121 136
div.ctools-sample-modal-content .modal-loading-wrapper {
122
	width:220px;
123
	height:19px;
124
	margin:0 auto;
125
	margin-top:2%;
137
  width: 220px;
138
  height: 19px;
139
  margin: 0 auto;
140
  margin-top: 2%;
126 141
}
127 142

  
128
div.ctools-sample-modal-content tbody{
129
	border:none;
143
div.ctools-sample-modal-content tbody {
144
  border: none;
130 145
}
131 146

  
132 147
div.ctools-sample-modal-content .modal-content .modal-throbber-wrapper img {
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 2016-11-22
9
version = "7.x-1.12"
8
; Information added by Drupal.org packaging script on 2018-02-04
9
version = "7.x-1.13"
10 10
core = "7.x"
11 11
project = "ctools"
12
datestamp = "1479787162"
12
datestamp = "1517704095"
13 13

  
drupal7/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.install
1 1
<?php
2 2

  
3 3
/**
4
 * @file 
4
 * @file
5 5
 */
6 6

  
7 7
/**
8
 * Implementation of hook_install() 
8
 * Implementation of hook_install()
9 9
 */
10 10
function ctools_ajax_sample_install() {
11 11

  
12 12
}
13 13

  
14 14
/**
15
 * Implementation of hook_uninstall() 
15
 * Implementation of hook_uninstall()
16 16
 */
17 17
function ctools_ajax_sample_uninstall() {
18 18

  
drupal7/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.module
8 8

  
9 9
// ---------------------------------------------------------------------------
10 10
// Drupal hooks.
11

  
12 11
/**
13
 *  Implementation of hook_menu()
12
 * Implementation of hook_menu()
14 13
 */
14

  
15 15
function ctools_ajax_sample_menu() {
16 16
  $items['ctools_ajax_sample'] = array(
17
      'title' => 'Chaos Tools AJAX Demo',
18
      'page callback' => 'ctools_ajax_sample_page',
19
      'access callback' => TRUE,
20
      'type' => MENU_NORMAL_ITEM,
17
    'title' => 'Chaos Tools AJAX Demo',
18
    'page callback' => 'ctools_ajax_sample_page',
19
    'access callback' => TRUE,
20
    'type' => MENU_NORMAL_ITEM,
21 21
  );
22 22
  $items['ctools_ajax_sample/simple_form'] = array(
23 23
    'title' => 'Simple Form',
......
26 26
    'type' => MENU_CALLBACK,
27 27
  );
28 28
  $items['ctools_ajax_sample/%ctools_js/hello'] = array(
29
      'title' => 'Hello World',
30
      'page callback' => 'ctools_ajax_sample_hello',
31
      'page arguments' => array(1),
32
      'access callback' => TRUE,
33
      'type' => MENU_CALLBACK,
29
    'title' => 'Hello World',
30
    'page callback' => 'ctools_ajax_sample_hello',
31
    'page arguments' => array(1),
32
    'access callback' => TRUE,
33
    'type' => MENU_CALLBACK,
34 34
  );
35 35
  $items['ctools_ajax_sample/%ctools_js/tablenix/%'] = array(
36
      'title' => 'Hello World',
37
      'page callback' => 'ctools_ajax_sample_tablenix',
38
      'page arguments' => array(1, 3),
39
      'access callback' => TRUE,
40
      'type' => MENU_CALLBACK,
36
    'title' => 'Hello World',
37
    'page callback' => 'ctools_ajax_sample_tablenix',
38
    'page arguments' => array(1, 3),
39
    'access callback' => TRUE,
40
    'type' => MENU_CALLBACK,
41 41
  );
42 42
  $items['ctools_ajax_sample/%ctools_js/login'] = array(
43
      'title' => 'Login',
44
      'page callback' => 'ctools_ajax_sample_login',
45
      'page arguments' => array(1),
46
      'access callback' => TRUE,
47
      'type' => MENU_CALLBACK,
43
    'title' => 'Login',
44
    'page callback' => 'ctools_ajax_sample_login',
45
    'page arguments' => array(1),
46
    'access callback' => TRUE,
47
    'type' => MENU_CALLBACK,
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff