diff --git a/profiles/wcm_base/CHANGELOG.txt b/profiles/wcm_base/CHANGELOG.txt index badb66912227a0970228382f2ab76b1df6be0f2e..f6f76c2a81eb2ba035ec04c2658a536206252cad 100644 --- a/profiles/wcm_base/CHANGELOG.txt +++ b/profiles/wcm_base/CHANGELOG.txt @@ -1,3 +1,15 @@ +WCM Base 7.x-1.8-rc2, 2018-07-23 +-------------------------------- +- WCM Base: + - Updated Panopoly to 1.55. + - Updated Views to 3.20 and ctools to 1.14. + - Updated XML Sitemap up to version 2.4, per security advisory. +- OCIO News: + - Allow multiple tags in news views. + - Hide byline field from views if value is '<none>'. + - Hide empty views fields. +- OCIO WYSIWYG: Enable text format selection for all roles. + WCM Base 7.x-1.8-rc1, 2018-05-31 -------------------------------- - WCM Base: Added patch to rebuild Menu Block IDs on cache clear. diff --git a/profiles/wcm_base/modules/contrib/apps/apps.api.php b/profiles/wcm_base/modules/contrib/apps/apps.api.php index 9b3c3b6ee2347f978a7a50d9ad5ab399205f9527..b358385f24405f88b2bb204caefa7a93e90765bf 100644 --- a/profiles/wcm_base/modules/contrib/apps/apps.api.php +++ b/profiles/wcm_base/modules/contrib/apps/apps.api.php @@ -21,7 +21,7 @@ function hook_apps_app_info() { // The preferred way for an app to provide demo content is to have a module // that when enabled will add demo content, and when disabled will removed // demo content. - // This module should be a submodule or part of the manifest dependent + // This module should be a sub-module or part of the manifest dependent // modules. 'demo content module' => 'appname_demo_content', @@ -40,7 +40,7 @@ function hook_apps_app_info() { // This will be called after the app is enabled initially or when the app // has been uninstalled. 'status callback' => 'appname_app_status', - // This will provide permission configuration on the configre form. + // This will provide permission configuration on the configure form. // This will also set the permissions on install of the app. 'permissions' => array( 'access my app' => array('role 1', 'role 2'), diff --git a/profiles/wcm_base/modules/contrib/apps/apps.info b/profiles/wcm_base/modules/contrib/apps/apps.info index 6cf26821cf0cc46f7462d1e6e34c51cd9bea6b1e..e7db83dd58f576cfb7ec11762d31b8e9ba335318 100644 --- a/profiles/wcm_base/modules/contrib/apps/apps.info +++ b/profiles/wcm_base/modules/contrib/apps/apps.info @@ -12,9 +12,9 @@ files[] = apps.updater.inc files[] = apps.installer.inc files[] = apps.test -; Information added by Drupal.org packaging script on 2015-06-23 -version = "7.x-1.0" +; Information added by Drupal.org packaging script on 2017-04-19 +version = "7.x-1.1" core = "7.x" project = "apps" -datestamp = "1435090990" +datestamp = "1492626646" diff --git a/profiles/wcm_base/modules/contrib/apps/apps.installer.inc b/profiles/wcm_base/modules/contrib/apps/apps.installer.inc index 592aab47140c0210ca2629472bc6eeeeaeab44cc..9290ac56f80f9b5d39606a320194a7e056260525 100644 --- a/profiles/wcm_base/modules/contrib/apps/apps.installer.inc +++ b/profiles/wcm_base/modules/contrib/apps/apps.installer.inc @@ -64,7 +64,7 @@ function apps_download_apps_list($app) { foreach ($app[$download_key] as $dep) { if (!$dep['installed'] || $update) { if ($dep['installed'] && $update && !empty($dep['version']['version'])) { - $info_file_location = $download_type == 'module' ? drupal_get_path('module', $dep['version']['name']) : 'sites/all/libraries/' . $dep['version']['name']; + $info_file_location = $download_type == 'module' ? drupal_get_path('module', $dep['version']['name'], FALSE) : 'sites/all/libraries/' . $dep['version']['name']; if ($info = drupal_parse_info_file($info_file_location . '/' . APPS_APP_INFO)) { // if don't have current version of version the same, skip this download. if (empty($info['version']) || $dep['version']['version'] == $info['version']) { diff --git a/profiles/wcm_base/modules/contrib/apps/apps.manifest.inc b/profiles/wcm_base/modules/contrib/apps/apps.manifest.inc index 8972a33a738dc4dfefaa36a2ab79e523ebdcf743..c93c255ecc18f4a84fc32ed9c7f25fcef8f06c9b 100755 --- a/profiles/wcm_base/modules/contrib/apps/apps.manifest.inc +++ b/profiles/wcm_base/modules/contrib/apps/apps.manifest.inc @@ -22,7 +22,7 @@ function apps_server_local($server) { // is this server. if (isset($info->info['apps']) && (!isset($info->info['apps']['server']) || $info->info['apps']['server'] == $server['name'])) { $manifest = $info->info['apps']; - $app_path = drupal_get_path('module', $module); + $app_path = drupal_get_path('module', $module, FALSE); // Set some defaults, if needed. $manifest['machine_name'] = $module; @@ -427,7 +427,7 @@ function apps_manifest($server) { $apps = array(); foreach ($manifest['apps'] as $machine_name => $app) { $current_app_module = isset($modules[$machine_name]) ? $modules[$machine_name] : FALSE; - $app_info = isset($modules[$machine_name]) ? drupal_parse_info_file(drupal_get_path('module', $machine_name) . '/' . APPS_APP_INFO) : array(); + $app_info = isset($modules[$machine_name]) ? drupal_parse_info_file(drupal_get_path('module', $machine_name, FALSE) . '/' . APPS_APP_INFO) : array(); $app['enabled'] = $current_app_module && $current_app_module->status; $app['incompatible'] = FALSE; $app['installed'] = (bool) $current_app_module; diff --git a/profiles/wcm_base/modules/contrib/apps/apps.profile.inc b/profiles/wcm_base/modules/contrib/apps/apps.profile.inc index 777726d069c95e7e673af9643ac6099091333141..78376f7132ae4f77a4aa61d5fba57fafcbd83310 100644 --- a/profiles/wcm_base/modules/contrib/apps/apps.profile.inc +++ b/profiles/wcm_base/modules/contrib/apps/apps.profile.inc @@ -146,7 +146,7 @@ function apps_profile_apps_select_form($form, $form_state, &$install_state) { '#parents' => array('apps', $name), '#return_value' => $name, '#description' => - (!empty($app['logo']['path']) ? + (!empty($app['logo']['path']) ? theme('image', array('path' => $app['logo']['path'], 'height' => '32', 'width' => '32', 'attributes' => array('class' => array('apps-image')))) : '') . (!empty($app['description']) ? $app['description'] : '') . '<span class="clearfix"></span>', '#default_value' => in_array($name, $_SESSION['apps_server']['default apps']), diff --git a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.admin.inc b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.admin.inc index 5870b1b006dc0cd0514d774cf5700aebd7b48d38..b94473ec0076e08b61d0b5ab296554db2788a320 100644 --- a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.admin.inc +++ b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.admin.inc @@ -701,6 +701,7 @@ function breakpoints_add_style_form_submit($form, &$form_state) { if ($style) { foreach ($base['effects'] as $effect) { $effect['isid'] = $style['isid']; + $effect['data']['style_name'] = $new_style['name']; unset($effect['ieid']); image_effect_save($effect); } diff --git a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.info b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.info index fb716b191d8bd3097e0e7db47bc04c636276c1bc..4ab67b9f0d4da325b5cabde20b4d7829501b66aa 100644 --- a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.info +++ b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.info @@ -5,9 +5,9 @@ dependencies[] = ctools files[] = breakpoints.module files[] = breakpoints.test configure = admin/config/media/breakpoints -; Information added by Drupal.org packaging script on 2014-08-08 -version = "7.x-1.3" +; Information added by Drupal.org packaging script on 2018-03-08 +version = "7.x-1.6" core = "7.x" project = "breakpoints" -datestamp = "1407507528" +datestamp = "1520497694" diff --git a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.install b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.install index 354ef7c696c2ce0ff28f53fb85b9b9d7750f31d6..b06a639cb435d194f4a0ecaee757a5c638691ead 100644 --- a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.install +++ b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.install @@ -88,6 +88,7 @@ function breakpoints_schema() { 'minimum_version' => 1, 'current_version' => 1, ), + 'load all callback' => '_breakpoints_breakpoint_load_all_callback', ), ); $schema['breakpoint_group'] = array( @@ -152,6 +153,7 @@ function breakpoints_schema() { 'minimum_version' => 1, 'current_version' => 1, ), + 'load all callback' => 'breakpoints_breakpoint_group_load_all', ), ); return $schema; diff --git a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.module b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.module index 32365681bcbc3da451ea89c67fc027cb77467dc8..8504d4a816a00a1268a43beaa81f79606a6707c5 100644 --- a/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.module +++ b/profiles/wcm_base/modules/contrib/breakpoints/breakpoints.module @@ -61,6 +61,7 @@ function breakpoints_enable() { function breakpoints_themes_enabled($theme_list, $rebuild_menu = TRUE) { $themes = list_themes(); $updated = FALSE; + $new_breakpoint_group = FALSE; foreach ($theme_list as $theme_key) { if (isset($themes[$theme_key]->info['breakpoints'])) { $updated = TRUE; @@ -69,11 +70,15 @@ function breakpoints_themes_enabled($theme_list, $rebuild_menu = TRUE) { $multipliers = isset($themes[$theme_key]->info['multipliers']) ? $themes[$theme_key]->info['multipliers'] : array(); $settings = breakpoints_settings(); $current_multipliers = drupal_map_assoc($settings->multipliers); - // Build a group for each theme - $breakpoint_group = breakpoints_breakpoint_group_empty_object(); - $breakpoint_group->machine_name = $theme_key; - $breakpoint_group->name = $themes[$theme_key]->info['name']; - $breakpoint_group->type = BREAKPOINTS_SOURCE_TYPE_THEME; + $breakpoint_group = breakpoints_breakpoint_group_load($theme_key); + if(!$breakpoint_group) { + // Build a group for each theme + $new_breakpoint_group = TRUE; + $breakpoint_group = breakpoints_breakpoint_group_empty_object(); + $breakpoint_group->machine_name = $theme_key; + $breakpoint_group->name = $themes[$theme_key]->info['name']; + $breakpoint_group->type = BREAKPOINTS_SOURCE_TYPE_THEME; + } foreach ($theme_settings as $name => $media_query) { $breakpoint = breakpoints_breakpoint_load($name, $theme_key, 'theme'); if (!$breakpoint) { @@ -94,9 +99,14 @@ function breakpoints_themes_enabled($theme_list, $rebuild_menu = TRUE) { } breakpoints_settings_save($current_multipliers); breakpoints_breakpoint_group_save($breakpoint_group); - $message = t('The breakpoints from theme %theme are imported and !grouplink.', array( - '%theme' => check_plain($themes[$theme_key]->info['name']), - '!grouplink' => l(t('a new group is created'), 'admin/config/media/breakpoints/groups/' . $theme_key), + if($new_breakpoint_group) { + $message_text = 'The breakpoints from theme %theme are imported and <a href="@url">a new group is created</a>.'; + } else { + $message_text = 'The breakpoints from theme %theme are imported and <a href="@url">an existing group was updated</a>.'; + } + $message = t($message_text, array( + '%theme' => $themes[$theme_key]->info['name'], + '@url' => url('admin/config/media/breakpoints/groups/' . $theme_key), )); drupal_set_message($message, 'status'); } @@ -162,7 +172,7 @@ function breakpoints_menu() { ); $items['admin/config/media/breakpoints/settings'] = array( - 'title' => 'settings', + 'title' => 'Settings', 'description' => 'Manage breakpoint settings', 'page callback' => 'drupal_get_form', 'page arguments' => array('breakpoints_admin_settings_form'), @@ -330,7 +340,7 @@ function _breakpoints_sort_by_weight($a, $b) { * Sort breakpoints by weight. */ function _breakpoints_sort_by_weight_array($a, $b) { - return _breakpoints_sort_by_weight((object)$a, (object)$b); + return _breakpoints_sort_by_weight((object) $a, (object) $b); } /** @@ -342,9 +352,9 @@ function breakpoints_breakpoint_config_name($breakpoints_breakpoint) { } else { return drupal_strtolower('breakpoints' - . '.' . $breakpoints_breakpoint->source_type - . '.' . $breakpoints_breakpoint->source - . '.' . $breakpoints_breakpoint->name); + . '.' . $breakpoints_breakpoint->source_type + . '.' . $breakpoints_breakpoint->source + . '.' . $breakpoints_breakpoint->name); } } @@ -360,15 +370,32 @@ function breakpoints_breakpoint_load($name, $source, $source_type) { * Load a single breakpoint using the full config key. */ function breakpoints_breakpoint_load_by_fullkey($machine_name = NULL) { - // Use Ctools export API to fetch all presets from the DB as well as code. - ctools_include('export'); + $breakpoints = &drupal_static(__FUNCTION__); + + if (!isset($breakpoints)) { + $breakpoints = _breakpoints_breakpoint_load_all_callback(); + } + if ($machine_name) { - $breakpoints = ctools_export_load_object('breakpoints', 'names', array($machine_name)); $breakpoint = isset($breakpoints[$machine_name]) ? $breakpoints[$machine_name] : FALSE; return $breakpoint; } else { - $breakpoints = ctools_export_load_object('breakpoints'); + return $breakpoints; + } +} + +/** + * CTools export 'load all callback' CRUD callback for breakpoints. + */ +function _breakpoints_breakpoint_load_all_callback($reset = FALSE) { + if (!$reset && $cache = cache_get('breakpoints:breakpoints')) { + return $cache->data; + } + else { + ctools_include('export'); + $breakpoints = ctools_export_load_object('breakpoints', 'all'); + cache_set('breakpoints:breakpoints', $breakpoints); return $breakpoints; } } @@ -444,14 +471,13 @@ function breakpoints_breakpoint_load_all_theme($theme_key = '') { * Empty breakpoint object. */ function breakpoints_breakpoint_empty_object() { - return (object)breakpoints_breakpoint_empty_array(); + return (object) breakpoints_breakpoint_empty_array(); } /** * Empty breakpoint array. */ function breakpoints_breakpoint_empty_array() { - $config = breakpoints_settings(); return array( 'name' => '', 'machine_name' => '', @@ -468,20 +494,21 @@ function breakpoints_breakpoint_empty_array() { * Save a single breakpoint. */ function breakpoints_breakpoint_save(&$breakpoint) { + ctools_include('export'); + if (!isset($breakpoint->machine_name) || empty($breakpoint->machine_name)) { $breakpoint->machine_name = breakpoints_breakpoint_config_name($breakpoint); } $update = (isset($breakpoint->id) && is_numeric($breakpoint->id)) ? array('id') : array(); // Remove unused multipliers. $breakpoint->multipliers = array_filter($breakpoint->multipliers); - if(is_null($breakpoint->multipliers)){ + if (is_null($breakpoint->multipliers)){ $breakpoint->multipliers = array(); } // Add the '1x' multiplier. $breakpoint->multipliers = array_merge($breakpoint->multipliers, array('1x' => '1x')); $result = drupal_write_record('breakpoints', $breakpoint, $update); - // Reset CTools cache. - ctools_export_load_object_reset('breakpoints'); + breakpoints_breakpoint_reset(); return $result; } @@ -501,9 +528,17 @@ function breakpoints_breakpoint_delete_by_fullkey($key) { $sql = "DELETE FROM {breakpoints} where machine_name = :key"; db_query($sql, array(':key' => $key)); } - // Clear the Ctools export API cache. + breakpoints_breakpoint_reset(); +} + +/** + * Clears the breakpoint caches. + */ +function breakpoints_breakpoint_reset() { ctools_include('export'); ctools_export_load_object_reset('breakpoints'); + drupal_static_reset('breakpoints_breakpoint_load_by_fullkey'); + cache_clear_all('breakpoints:breakpoints', 'cache'); } /** @@ -532,14 +567,14 @@ function breakpoints_breakpoint_name_exists($machine_name) { function breakpoints_breakpoint_machine_name_exists($machine_name) { // Just try to load the breakpoint object, we profit from ctool's cache mechanism, // better that doing a query to the db every time this function is called. - return (bool)breakpoints_breakpoint_load_by_fullkey($machine_name); + return (bool) breakpoints_breakpoint_load_by_fullkey($machine_name); } /** * Empty breakpoint group object. */ function breakpoints_breakpoint_group_empty_object() { - return (object)breakpoints_breakpoint_group_empty_array(); + return (object) breakpoints_breakpoint_group_empty_array(); } /** @@ -573,23 +608,34 @@ function breakpoints_breakpoint_group_name_exists($machine_name) { /** * Load all breakpoint groups. */ -function breakpoints_breakpoint_group_load_all() { - return breakpoints_breakpoint_group_load(); +function breakpoints_breakpoint_group_load_all($reset = FALSE) { + $groups = &drupal_static(__FUNCTION__); + + if (!isset($groups)) { + if (!$reset && $cache = cache_get('breakpoints:groups')) { + return $cache->data; + } + else { + ctools_include('export'); + $groups = ctools_export_load_object('breakpoint_group', 'all'); + cache_set('breakpoints:groups', $groups); + } + } + + return $groups; } /** * Load a single breakpoint group. */ function breakpoints_breakpoint_group_load($name = NULL) { - // Use Ctools export API to fetch all presets from the DB as well as code. - ctools_include('export'); + $groups = breakpoints_breakpoint_group_load_all(); + if ($name) { - $groups = ctools_export_load_object('breakpoint_group', 'names', array($name)); $group = isset($groups[$name]) ? $groups[$name] : FALSE; return $group; } else { - $groups = ctools_export_load_object('breakpoint_group'); return $groups; } } @@ -628,14 +674,16 @@ function breakpoints_breakpoint_validate($breakpoint) { * Save a single breakpoint group. */ function breakpoints_breakpoint_group_save(&$breakpoint_group) { + ctools_include('export'); + $update = (isset($breakpoint_group->id) && is_numeric($breakpoint_group->id)) ? array('id') : array(); $result = drupal_write_record('breakpoint_group', $breakpoint_group, $update); // rebuild menu if we add a new group - if (empty ($update)) { + if (empty($update)) { variable_set('menu_rebuild_needed', TRUE); } - // Reset CTools cache. - ctools_export_load_object_reset('breakpoint_group'); + breakpoints_breakpoint_group_reset(); + return $result; } @@ -644,7 +692,7 @@ function breakpoints_breakpoint_group_save(&$breakpoint_group) { */ function breakpoints_breakpoint_group_delete($breakpoint_group) { $name = $breakpoint_group->machine_name; - return breakpoints_breakpoint_group_delete_by_fullkey($name); + breakpoints_breakpoint_group_delete_by_fullkey($name); } /** @@ -652,7 +700,7 @@ function breakpoints_breakpoint_group_delete($breakpoint_group) { */ function breakpoints_breakpoint_group_delete_by_name($machine_name) { $name = $machine_name; - return breakpoints_breakpoint_group_delete_by_fullkey($name); + breakpoints_breakpoint_group_delete_by_fullkey($name); } /** @@ -663,10 +711,18 @@ function breakpoints_breakpoint_group_delete_by_fullkey($key) { $sql = "DELETE FROM {breakpoint_group} where machine_name = :key"; db_query($sql, array(':key' => $key)); } - // Clear the Ctools export API cache. + variable_set('menu_rebuild_needed', TRUE); + breakpoints_breakpoint_group_reset(); +} + +/** + * Clears the breakpoint group caches. + */ +function breakpoints_breakpoint_group_reset() { ctools_include('export'); ctools_export_load_object_reset('breakpoint_group'); - variable_set('menu_rebuild_needed', TRUE); + drupal_static_reset('breakpoints_breakpoint_group_load_all'); + cache_clear_all('breakpoints:groups', 'cache'); } /** @@ -889,15 +945,25 @@ function breakpoint_group_features_export($data, &$export, $module_name = '') { * Implements hook_flush_caches(). */ function breakpoints_flush_caches() { - $themes = list_themes(); - foreach ($themes as $theme_key => $theme) { - if ($theme->status) { - $group = breakpoints_breakpoint_group_load($theme_key); - if ($group) { - breakpoints_breakpoints_group_reload($group, FALSE); - } - else { - breakpoints_themes_enabled(array($theme_key), FALSE); + if (variable_get('breakpoints_flush_caches_disabled', FALSE)) { + return; + } + + // hook_flush_caches gets invoked with both drupal_flush_all_caches and system_cron + // To avoid frequent menu/theme flushes, we must backtrace caller. + $backtrace = debug_backtrace(); + if (isset($backtrace[3]) && ($backtrace[3]['function'] == 'drupal_flush_all_caches') && empty($backtrace[3]['args'])) { + + $themes = list_themes(); + foreach ($themes as $theme_key => $theme) { + if ($theme->status) { + $group = breakpoints_breakpoint_group_load($theme_key); + if ($group) { + breakpoints_breakpoints_group_reload($group, FALSE); + } + else { + breakpoints_themes_enabled(array($theme_key), FALSE); + } } } } diff --git a/profiles/wcm_base/modules/contrib/breakpoints/tests/breakpoints_theme_test.info b/profiles/wcm_base/modules/contrib/breakpoints/tests/breakpoints_theme_test.info index 995c43dd5f98ecb09596f831532ff0982681a217..26bb72db3d4d8603152443785a769e0b934e6639 100644 --- a/profiles/wcm_base/modules/contrib/breakpoints/tests/breakpoints_theme_test.info +++ b/profiles/wcm_base/modules/contrib/breakpoints/tests/breakpoints_theme_test.info @@ -4,9 +4,9 @@ package = Other core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2014-08-08 -version = "7.x-1.3" +; Information added by Drupal.org packaging script on 2018-03-08 +version = "7.x-1.6" core = "7.x" project = "breakpoints" -datestamp = "1407507528" +datestamp = "1520497694" diff --git a/profiles/wcm_base/modules/contrib/breakpoints/tests/themes/breakpoints_test_theme/breakpoints_test_theme.info b/profiles/wcm_base/modules/contrib/breakpoints/tests/themes/breakpoints_test_theme/breakpoints_test_theme.info index 871f7f206aaf54663e7ce5db75d0a1f5086dc42d..d429e79ba06ed16a90c9dbd5b7971d6fdd4ef85b 100644 --- a/profiles/wcm_base/modules/contrib/breakpoints/tests/themes/breakpoints_test_theme/breakpoints_test_theme.info +++ b/profiles/wcm_base/modules/contrib/breakpoints/tests/themes/breakpoints_test_theme/breakpoints_test_theme.info @@ -9,9 +9,9 @@ breakpoints[narrow] = (min-width: 560px) breakpoints[wide] = (min-width: 851px) breakpoints[tv] = only screen and (min-width: 3456px) -; Information added by Drupal.org packaging script on 2014-08-08 -version = "7.x-1.3" +; Information added by Drupal.org packaging script on 2018-03-08 +version = "7.x-1.6" core = "7.x" project = "breakpoints" -datestamp = "1407507528" +datestamp = "1520497694" diff --git a/profiles/wcm_base/modules/contrib/ctools/UPGRADE.txt b/profiles/wcm_base/modules/contrib/ctools/UPGRADE.txt index 844ecce42ad4cff3ccb01a86ad83aa8ec656cd74..2fbfa4f748a0b75f0cf77116c6862b59d58c294f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/UPGRADE.txt +++ b/profiles/wcm_base/modules/contrib/ctools/UPGRADE.txt @@ -60,4 +60,4 @@ Upgrading from ctools-6.x-1.x to ctools-7.x-2.x: For all of these forms, the separate settings #trees in the form are now gone, so form ids may be adjusted. Also, these are now all real forms - using CTools form wizard instead of fake subforms as previously. \ No newline at end of file + using CTools form wizard instead of fake subforms as previously. diff --git a/profiles/wcm_base/modules/contrib/ctools/bulk_export/bulk_export.info b/profiles/wcm_base/modules/contrib/ctools/bulk_export/bulk_export.info index 59bbd18a1c1a0f08ed078d3da01f5257afaa3ebe..388cd6f7361644b0257f6eabee7000f9b2e3c7ed 100644 --- a/profiles/wcm_base/modules/contrib/ctools/bulk_export/bulk_export.info +++ b/profiles/wcm_base/modules/contrib/ctools/bulk_export/bulk_export.info @@ -5,9 +5,9 @@ dependencies[] = ctools package = Chaos tool suite version = CTOOLS_MODULE_VERSION -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/css/button.css b/profiles/wcm_base/modules/contrib/ctools/css/button.css index 9e95bed186ff875beb6056d71391680b6bdc9b96..de214080a46cd8675ef0b60965e9719270d87322 100644 --- a/profiles/wcm_base/modules/contrib/ctools/css/button.css +++ b/profiles/wcm_base/modules/contrib/ctools/css/button.css @@ -16,8 +16,7 @@ .ctools-no-js .ctools-content ul, .ctools-button-processed .ctools-content ul { - list-style-image: none; - list-style-type: none; + list-style: none none; margin-left: 0; } diff --git a/profiles/wcm_base/modules/contrib/ctools/css/collapsible-div.css b/profiles/wcm_base/modules/contrib/ctools/css/collapsible-div.css index d79261183b8ef8ab5f1e78e9adfe32671ed4f533..5366a0a87dd49a0c70c718d055be3c22513edb27 100644 --- a/profiles/wcm_base/modules/contrib/ctools/css/collapsible-div.css +++ b/profiles/wcm_base/modules/contrib/ctools/css/collapsible-div.css @@ -3,9 +3,7 @@ width: 21px; height: 21px; cursor: pointer; - background-position: 7px 7px; - background-repeat: no-repeat; - background-image: url(../images/collapsible-expanded.png); + background: url(../images/collapsible-expanded.png) no-repeat 7px 7px; } .ctools-collapsible-container .ctools-collapsible-handle { diff --git a/profiles/wcm_base/modules/contrib/ctools/ctools.info b/profiles/wcm_base/modules/contrib/ctools/ctools.info index 7c8d5f41ba091a2391080fb0f0903564d7566510..c9d0c63a501084fbd2f76623e8ef7502e725186b 100644 --- a/profiles/wcm_base/modules/contrib/ctools/ctools.info +++ b/profiles/wcm_base/modules/contrib/ctools/ctools.info @@ -18,16 +18,10 @@ files[] = tests/math_expression_stack.test files[] = tests/object_cache.test files[] = tests/object_cache_unit.test files[] = tests/page_tokens.test -files[] = tests/uuid_with_uuid.test -files[] = tests/uuid_without_uuid.test -; Dependencies that are only used for the tests. -; @see tests/uuid_with_uuid.test -test_dependencies[] = uuid - -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/ctools.install b/profiles/wcm_base/modules/contrib/ctools/ctools.install index 47f01fb768cddecc2c460bb725cbcfee7ca234c8..d50bc9f8f16dcc2e6275fbe1ad72774e09e9346a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/ctools.install +++ b/profiles/wcm_base/modules/contrib/ctools/ctools.install @@ -12,24 +12,25 @@ function ctools_requirements($phase) { $requirements = array(); if ($phase == 'runtime') { + $t = get_t(); $requirements['ctools_css_cache'] = array( - 'title' => t('CTools CSS Cache'), + 'title' => $t('CTools CSS Cache'), 'severity' => REQUIREMENT_OK, - 'value' => t('Exists'), + 'value' => $t('Exists'), ); $path = 'public://ctools/css'; if (!file_prepare_directory($path, FILE_CREATE_DIRECTORY)) { - $requirements['ctools_css_cache']['description'] = t('The CTools CSS cache directory, %path could not be created due to a misconfigured files directory. Please ensure that the files directory is correctly configured and that the webserver has permission to create directories.', array('%path' => file_uri_target($path))); + $requirements['ctools_css_cache']['description'] = $t('The CTools CSS cache directory, %path could not be created due to a misconfigured files directory. Please ensure that the files directory is correctly configured and that the webserver has permission to create directories.', array('%path' => file_uri_target($path))); $requirements['ctools_css_cache']['severity'] = REQUIREMENT_ERROR; - $requirements['ctools_css_cache']['value'] = t('Unable to create'); + $requirements['ctools_css_cache']['value'] = $t('Unable to create'); } if (!function_exists('error_get_last')) { - $requirements['ctools_php_52']['title'] = t('CTools PHP requirements'); - $requirements['ctools_php_52']['description'] = t('CTools requires certain features only available in PHP 5.2.0 or higher.'); + $requirements['ctools_php_52']['title'] = $t('CTools PHP requirements'); + $requirements['ctools_php_52']['description'] = $t('CTools requires certain features only available in PHP 5.2.0 or higher.'); $requirements['ctools_php_52']['severity'] = REQUIREMENT_WARNING; - $requirements['ctools_php_52']['value'] = t('PHP !version', array('!version' => phpversion())); + $requirements['ctools_php_52']['value'] = $t('PHP !version', array('!version' => phpversion())); } } @@ -49,8 +50,8 @@ function ctools_schema() { function ctools_schema_4() { $schema = ctools_schema_3(); - // Update the 'name' field to be 255 bytes long: - $schema['ctools_object_cache']['fields']['name']['length'] = 255; + // Removed due to alternative database configuration issues. + // @see https://www.drupal.org/project/ctools/issues/2941920 return $schema; } @@ -280,9 +281,19 @@ function ctools_update_7001() { * Increase the length of the ctools_object_cache.name column to 255. */ function ctools_update_7002() { + // Removed due to alternative database configuration issues. + // @see https://www.drupal.org/project/ctools/issues/2941920 +} + +/** + * Revert the length of the ctools_object_cache.name column back to 128. + */ +function ctools_update_7003() { + db_delete('ctools_object_cache')->execute(); db_change_field('ctools_object_cache', 'name', 'name', array( 'type' => 'varchar', - 'length' => '255', + 'length' => '128', 'not null' => TRUE, + 'description' => 'The name of the object this cache is attached to.', )); } diff --git a/profiles/wcm_base/modules/contrib/ctools/ctools_access_ruleset/ctools_access_ruleset.info b/profiles/wcm_base/modules/contrib/ctools/ctools_access_ruleset/ctools_access_ruleset.info index e208eab7a89848df6c32cc00aaaf54eddfc95452..84a922fb5adf3b951ac173d13b486d2a938fd096 100644 --- a/profiles/wcm_base/modules/contrib/ctools/ctools_access_ruleset/ctools_access_ruleset.info +++ b/profiles/wcm_base/modules/contrib/ctools/ctools_access_ruleset/ctools_access_ruleset.info @@ -5,9 +5,9 @@ package = Chaos tool suite version = CTOOLS_MODULE_VERSION dependencies[] = ctools -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/ctools_ajax_sample/ctools_ajax_sample.info b/profiles/wcm_base/modules/contrib/ctools/ctools_ajax_sample/ctools_ajax_sample.info index 89fc1af329c2dbb086b7e2541a790a9f55c0c94b..4bb8943cdeaa09e93f4eb15cbf6fabb3c0a2dcbb 100644 --- a/profiles/wcm_base/modules/contrib/ctools/ctools_ajax_sample/ctools_ajax_sample.info +++ b/profiles/wcm_base/modules/contrib/ctools/ctools_ajax_sample/ctools_ajax_sample.info @@ -5,9 +5,9 @@ version = CTOOLS_MODULE_VERSION dependencies[] = ctools core = 7.x -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/ctools_custom_content/ctools_custom_content.info b/profiles/wcm_base/modules/contrib/ctools/ctools_custom_content/ctools_custom_content.info index 094d278808fa9554877841f0b6a06e8dedb6cbad..637bf25d547d4fffdb27de123853967251c98bdc 100644 --- a/profiles/wcm_base/modules/contrib/ctools/ctools_custom_content/ctools_custom_content.info +++ b/profiles/wcm_base/modules/contrib/ctools/ctools_custom_content/ctools_custom_content.info @@ -5,9 +5,9 @@ package = Chaos tool suite version = CTOOLS_MODULE_VERSION dependencies[] = ctools -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/ctools_plugin_example/ctools_plugin_example.info b/profiles/wcm_base/modules/contrib/ctools/ctools_plugin_example/ctools_plugin_example.info index 77c311f7acd09a4f1ea3da129d40e995cc5e83d1..40f133bc8130ee9eb39bf35665debb1f91b007ac 100644 --- a/profiles/wcm_base/modules/contrib/ctools/ctools_plugin_example/ctools_plugin_example.info +++ b/profiles/wcm_base/modules/contrib/ctools/ctools_plugin_example/ctools_plugin_example.info @@ -8,9 +8,9 @@ dependencies[] = page_manager dependencies[] = advanced_help core = 7.x -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/drush/ctools.drush.inc b/profiles/wcm_base/modules/contrib/ctools/drush/ctools.drush.inc index fa861063ea1396061a000838a97bcb624f77aec0..3677b1712fc856fa57b79b2382c6e7f71e6c4897 100644 --- a/profiles/wcm_base/modules/contrib/ctools/drush/ctools.drush.inc +++ b/profiles/wcm_base/modules/contrib/ctools/drush/ctools.drush.inc @@ -994,7 +994,7 @@ class shellColours { ); /** - * + * shellColours constructor. */ private function __construct() {} diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/cache.inc b/profiles/wcm_base/modules/contrib/ctools/includes/cache.inc index 67d97fa303a59e8f9683eaea75e325a5fca06597..cace8002ecbc693fcbdc382adabeac843d2a772e 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/cache.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/cache.inc @@ -51,7 +51,6 @@ * @param string $mechanism * A string containing the plugin name, and an optional data element to * send to the plugin separated by two colons. - * * @param string $key * The key used to identify the cache. * @@ -69,7 +68,6 @@ function ctools_cache_get($mechanism, $key) { * @param string $mechanism * A string containing the plugin name, and an optional data element to * send to the plugin separated by two colons. - * * @param string $key * The key used to identify the cache. * @@ -87,7 +85,6 @@ function ctools_cache_set($mechanism, $key, $object) { * @param string $mechanism * A string containing the plugin name, and an optional data element to * send to the plugin separated by two colons. - * * @param string $key * The key used to identify the cache. */ @@ -107,13 +104,10 @@ function ctools_cache_clear($mechanism, $key) { * @param string $mechanism * A string containing the plugin name, and an optional data element to * send to the plugin separated by two colons. - * * @param string $key * The key used to identify the cache. - * * @param string $op * The operation to call, such as 'break' or 'finalize'. - * * @param mixed $object * The cache data being operated on, in case it is necessary. This is * optional so no references should be used. diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/collapsible.theme.inc b/profiles/wcm_base/modules/contrib/ctools/includes/collapsible.theme.inc index d19efd8a809b200b7bf9276a65991d6402ede518..81df4bccd2aacdaa15fa1afa6c53cc609eb00f3f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/collapsible.theme.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/collapsible.theme.inc @@ -30,8 +30,8 @@ function ctools_collapsible_theme(&$items) { * Text to put in the handle/title area of the div. * @param $content * Text to put in the content area of the div, this is what will get - * collapsed - * @param $collapsed = FALSE + * collapsed. + * @param $collapsed * If true, this div will start out collapsed. */ function theme_ctools_collapsible($vars) { @@ -56,8 +56,8 @@ function theme_ctools_collapsible($vars) { * Text to put in the handle/title area of the div. * @param $content * Text to put in the content area of the div, this is what will get - * collapsed - * @param $collapsed = FALSE + * collapsed. + * @param $collapsed * If true, this div will start out collapsed. */ function theme_ctools_collapsible_remembered($vars) { diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/content.menu.inc b/profiles/wcm_base/modules/contrib/ctools/includes/content.menu.inc index 4e1c2f08e59ec38d26d859057154d72115617ad3..64d44b0bf87db2cb182871b4b9fd5e4ba5358e39 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/content.menu.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/content.menu.inc @@ -91,13 +91,13 @@ function _ctools_buildQuery($entity_type, $entity_info, $match = NULL, $match_op if ($entity_type == 'comment') { // Adding the 'comment_access' tag is sadly insufficient for comments: core // requires us to also know about the concept of 'published' and - // 'unpublished'. + // 'unpublished'. if (!user_access('administer comments')) { $query->condition('comment.status', COMMENT_PUBLISHED); } // Join to a node if the user does not have node access bypass permissions - // to obey node published permissions + // to obey node published permissions. if (!user_access('bypass node access')) { $node_alias = $query->innerJoin('node', 'n', '%alias.nid = comment.nid'); $query->condition($node_alias . '.status', NODE_PUBLISHED); diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/context-admin.inc b/profiles/wcm_base/modules/contrib/ctools/includes/context-admin.inc index 821a5b32accedfa5ac65159008c099033e11069e..533c89f553a33be7dfaa4e1fe6c89a7e26584518 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/context-admin.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/context-admin.inc @@ -395,7 +395,7 @@ function ctools_context_ajax_item_add($mechanism = NULL, $type = NULL, $cache_ke if (!empty($form_state['cancel'])) { $output = array(ctools_modal_command_dismiss()); } - else if (!empty($form_state['complete'])) { + elseif (!empty($form_state['complete'])) { // Successful submit -- move temporary data to location. // Create a reference to the place our context lives. Since this is fairly @@ -580,7 +580,7 @@ function ctools_context_ajax_item_edit($mechanism = NULL, $type = NULL, $cache_k if (!empty($form_state['cancel'])) { $output = array(ctools_modal_command_dismiss()); } - else if (!empty($form_state['complete'])) { + elseif (!empty($form_state['complete'])) { // successful submit $ref[$position] = $conf; if (isset($object->temporary)) { @@ -657,7 +657,7 @@ function ctools_context_get_defaults($plugin_definition, $object, $type) { if (isset($plugin_definition['defaults'])) { $defaults = $plugin_definition['defaults']; } - else if (isset($subtype['defaults'])) { + elseif (isset($subtype['defaults'])) { $defaults = $subtype['defaults']; } @@ -667,7 +667,7 @@ function ctools_context_get_defaults($plugin_definition, $object, $type) { $conf += $settings; } } - else if (is_array($defaults)) { + elseif (is_array($defaults)) { $conf += $defaults; } } diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/context-task-handler.inc b/profiles/wcm_base/modules/contrib/ctools/includes/context-task-handler.inc index b0f9474d571dc693297f3cfa33a9403a46feb465..ed4acad0811299de0ab46a8a3373673305061019 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/context-task-handler.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/context-task-handler.inc @@ -4,9 +4,9 @@ * @file * Support for creating 'context' type task handlers. * - * Context task handlers expect the task to provide 0 or more contexts. The - * task handler should use those contexts as selection rules, as well as - * rendering with them. + * Context task handlers expect the task to provide 0 or more contexts. The task + * handler should use those contexts as selection rules, as well as rendering + * with them. * * The functions and forms in this file should be common to every context type * task handler made. @@ -226,7 +226,7 @@ function ctools_context_handler_render_handler($task, $subtask, $handler, $conte } /** - * Default function to provide contextual link for a task as defined by the handler. + * Provides contextual link for a task as defined by the handler. * * This provides a simple link to th main content operation and is suitable * for most normal handlers. Setting 'contextual link' to a function overrides @@ -274,12 +274,12 @@ function ctools_context_handler_pre_render($handler, $contexts, $args) { /** * Compare arguments to contexts for selection purposes. * - * @param $handler + * @param object $handler * The handler in question. - * @param $contexts + * @param object $contexts * The context objects provided by the task. * - * @return + * @return bool * TRUE if these contexts match the selection rules. NULL or FALSE * otherwise. */ @@ -298,12 +298,15 @@ function ctools_context_handler_select($handler, $contexts) { * These summary strings are used to communicate to the user what * arguments the task handlers are selecting. * - * @param $task + * @param object $task * The loaded task plugin. - * @param $subtask + * @param object $subtask * The subtask id. - * @param $handler + * @param object $handler * The handler to be checked. + * + * @return array + * Returns array of summary strings for arguments selected by task handlers. */ function ctools_context_handler_summary($task, $subtask, $handler) { if (empty($handler->conf['access']['plugins'])) { diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/dropbutton.theme.inc b/profiles/wcm_base/modules/contrib/ctools/includes/dropbutton.theme.inc index 8ce99f079e51f86808d30c899508508fe99dd3ca..d69c98831732d781c40f1034eaa230e9ca1116b5 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/dropbutton.theme.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/dropbutton.theme.inc @@ -133,12 +133,11 @@ function theme_links__ctools_dropbutton($vars) { // Call theme_links to render the list of links. $output .= theme_links(array('links' => $vars['links'], 'attributes' => $vars['attributes'], 'heading' => '')); - $output .= '</div>'; // ctools-content - $output .= '</div>'; // ctools-dropbutton + $output .= '</div>'; // ctools-content. + $output .= '</div>'; // ctools-dropbutton. return $output; } else { return ''; } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/dropdown.theme.inc b/profiles/wcm_base/modules/contrib/ctools/includes/dropdown.theme.inc index 2437b89ebca76b22626200d0de6b1eb88833a0cb..b7636874fff7d0f5bee9825707906f1aad06999c 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/dropdown.theme.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/dropdown.theme.inc @@ -44,18 +44,19 @@ function ctools_dropdown_theme(&$items) { /** * Create a dropdown menu. * - * @param $title - * The text to place in the clickable area to activate the dropdown. - * @param $links - * A list of links to provide within the dropdown, suitable for use - * in via Drupal's theme('links'). - * @param $image - * If true, the dropdown link is an image and will not get extra decorations - * that a text dropdown link will. - * @param $class - * An optional class to add to the dropdown's container div to allow you - * to style a single dropdown however you like without interfering with - * other dropdowns. + * @param array $variables + * An associative array containing: + * - title: The text to place in the clickable area to activate the dropdown. + * - links: A list of links to provide within the dropdown, suitable for use + * in via Drupal's theme('links'). + * - image: If true, the dropdown link is an image and will not get extra + * decorations that a text dropdown link will. + * - class: An optional class to add to the dropdown's container div to allow + * you to style a single dropdown however you like without interfering with + * other dropdowns. + * + * @return string + * Returns HTML for a language configuration form. */ function theme_ctools_dropdown($vars) { // Provide a unique identifier for every dropdown on the page. @@ -67,9 +68,7 @@ function theme_ctools_dropdown($vars) { ctools_add_js('dropdown'); ctools_add_css('dropdown'); - $output = ''; - - $output .= '<div class="' . $class . '" id="ctools-dropdown-' . $id . '">'; + $output = '<div class="' . $class . '" id="ctools-dropdown-' . $id . '">'; $output .= '<div class="ctools-dropdown-link-wrapper">'; if ($vars['image']) { $output .= '<a href="#" class="ctools-dropdown-link ctools-dropdown-image-link">' . $vars['title'] . '</a>'; @@ -77,14 +76,13 @@ function theme_ctools_dropdown($vars) { else { $output .= '<a href="#" class="ctools-dropdown-link ctools-dropdown-text-link">' . check_plain($vars['title']) . '</a>'; } - - $output .= '</div>'; // wrapper + $output .= '</div>'; $output .= '<div class="ctools-dropdown-container-wrapper">'; $output .= '<div class="ctools-dropdown-container">'; $output .= theme_links(array('links' => $vars['links'], 'attributes' => array(), 'heading' => '')); - $output .= '</div>'; // container - $output .= '</div>'; // container wrapper - $output .= '</div>'; // dropdown + $output .= '</div>'; + $output .= '</div>'; + $output .= '</div>'; + return $output; } - diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/math-expr.inc b/profiles/wcm_base/modules/contrib/ctools/includes/math-expr.inc index 3105ec529ef0132694b091b7ce426654328649b9..d82281e9f3c8c37cab640aaf7b5432c09059ae07 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/math-expr.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/math-expr.inc @@ -99,7 +99,10 @@ class ctools_math_expr { 'sqrt','abs','ln','log', 'time', 'ceil', 'floor', 'min', 'max', 'round'); - function __construct() { + /** + * ctools_math_expr constructor. + */ + function __construct() { // make the variables a little more accurate $this->v['pi'] = pi(); $this->v['e'] = exp(1); diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/object-cache.inc b/profiles/wcm_base/modules/contrib/ctools/includes/object-cache.inc index 614c56f0350e068176599bed860a528044ae8bac..ef52f9aded1de41472161eaba4ccb5f626ecc6ac 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/object-cache.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/object-cache.inc @@ -43,8 +43,11 @@ function ctools_object_cache_get($obj, $name, $skip_cache = FALSE, $sid = NULL) } if (!array_key_exists($key, $cache)) { - $data = db_query('SELECT * FROM {ctools_object_cache} WHERE sid = :session_id AND obj = :object AND name = :name', array(':session_id' => $sid, ':object' => $obj, ':name' => $name)) - ->fetchObject(); + $data = db_query('SELECT * FROM {ctools_object_cache} WHERE sid = :session_id AND obj = :object AND name = :name', array( + ':session_id' => $sid, + ':object' => $obj, + ':name' => md5($name), + ))->fetchObject(); if ($data) { $cache[$key] = unserialize($data->data); } @@ -84,7 +87,7 @@ function ctools_object_cache_set($obj, $name, $cache, $sid = NULL) { ->fields(array( 'sid' => $sid, 'obj' => $obj, - 'name' => $name, + 'name' => md5($name), 'data' => serialize($cache), 'updated' => REQUEST_TIME, )) @@ -104,7 +107,6 @@ function ctools_object_cache_set($obj, $name, $cache, $sid = NULL) { * defaults to session_id(). */ function ctools_object_cache_clear($obj, $name, $sid = NULL) { - if (!$sid) { $sid = session_id(); } @@ -112,7 +114,7 @@ function ctools_object_cache_clear($obj, $name, $sid = NULL) { db_delete('ctools_object_cache') ->condition('sid', $sid) ->condition('obj', $obj) - ->condition('name', $name) + ->condition('name', md5($name)) ->execute(); // Ensure the static cache is emptied of this obj:name set. drupal_static_reset('ctools_object_cache_get'); @@ -142,8 +144,11 @@ function ctools_object_cache_test($obj, $name, $sid = NULL) { $sid = session_id(); } - return db_query('SELECT s.uid, c.updated FROM {ctools_object_cache} c INNER JOIN {sessions} s ON c.sid = s.sid WHERE s.sid <> :session_id AND c.obj = :obj AND c.name = :name ORDER BY c.updated ASC', array(':session_id' => $sid, ':obj' => $obj, ':name' => $name)) - ->fetchObject(); + return db_query('SELECT s.uid, c.updated FROM {ctools_object_cache} c INNER JOIN {sessions} s ON c.sid = s.sid WHERE s.sid <> :session_id AND c.obj = :obj AND c.name = :name ORDER BY c.updated ASC', array( + ':session_id' => $sid, + ':obj' => $obj, + ':name' => md5($name), + ))->fetchObject(); } /** @@ -162,6 +167,7 @@ function ctools_object_cache_test($obj, $name, $sid = NULL) { * An array of objects containing the UID and updated date for each name found. */ function ctools_object_cache_test_objects($obj, $names) { + array_walk($names, 'md5'); return db_query("SELECT c.name, s.uid, c.updated FROM {ctools_object_cache} c INNER JOIN {sessions} s ON c.sid = s.sid WHERE c.obj = :obj AND c.name IN (:names) ORDER BY c.updated ASC", array(':obj' => $obj, ':names' => $names)) ->fetchAllAssoc('name'); } @@ -180,7 +186,7 @@ function ctools_object_cache_test_objects($obj, $names) { function ctools_object_cache_clear_all($obj, $name) { db_delete('ctools_object_cache') ->condition('obj', $obj) - ->condition('name', $name) + ->condition('name', md5($name)) ->execute(); // Ensure the static cache is emptied of this obj:name set. $cache = &drupal_static('ctools_object_cache_get', array()); diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/plugins.inc b/profiles/wcm_base/modules/contrib/ctools/includes/plugins.inc index a4abb537379ea60f4b67b6e245333a1cbe8f8f45..7b53ae19cd611d0f7069d4dd8282c373d0cada9a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/plugins.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/plugins.inc @@ -548,7 +548,6 @@ function ctools_plugin_get_directories($info) { * the active theme placed last. */ function _ctools_list_themes() { - // @TODO: Use drupal_static() here? static $themes; if (is_null($themes)) { $current = variable_get('theme_default', FALSE); diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.inc b/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.inc index 5bc8450cb22c3d5510ecf5f29e84f0db85b8e83c..488a7f3ef775f4f137232d9e9cfa325b03dbff9a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.inc @@ -202,7 +202,7 @@ function ctools_stylizer_get_settings_name($settings) { } /** - * Get the path where images will be stored for a given style plugin and settings. + * Get the path where images will be stored for a style plugin and settings. * * This function will make sure the path exists. */ @@ -249,7 +249,7 @@ class ctools_stylizer_image_processor { if (is_string($plugin['actions']) && function_exists($plugin['actions'])) { $actions = $plugin['actions']($plugin, $settings); } - else if (is_array($plugin['actions'])) { + elseif (is_array($plugin['actions'])) { $actions = $plugin['actions']; } @@ -318,7 +318,7 @@ class ctools_stylizer_image_processor { function command_load($name, $file) { $this->log("New workspace: $name (from $file)"); if (!file_exists($file)) { - // Try it relative to the plugin + // Try it relative to the plugin. $file = $this->plugin['path'] . '/' . $file; if (!file_exists($file)) { $this->log("Unable to open $file"); @@ -336,7 +336,7 @@ class ctools_stylizer_image_processor { } /** - * Create a new workspace using the properties of an existing workspace + * Create a new workspace using the properties of an existing workspace. */ function command_new_from($name, $workspace) { $this->log("New workspace: $name from existing $workspace"); @@ -372,7 +372,7 @@ class ctools_stylizer_image_processor { function command_merge_from($workspace, $x = 0, $y = 0) { $this->log("Merge from: $workspace ($x, $y)"); if (empty($this->workspaces[$workspace])) { - $this->log("Workspace $name does not exist.", 'error'); + $this->log("Workspace $workspace does not exist.", 'error'); return; } @@ -382,7 +382,7 @@ class ctools_stylizer_image_processor { function command_merge_to($workspace, $x = 0, $y = 0) { $this->log("Merge to: $workspace ($x, $y)"); if (empty($this->workspaces[$workspace])) { - $this->log("Workspace $name does not exist.", 'error'); + $this->log("Workspace $workspace does not exist.", 'error'); return; } @@ -822,7 +822,7 @@ function ctools_stylizer_add_plugin_forms(&$form_info, $plugin, $op) { if ($op == 'add' && isset($plugin['add form'])) { $id = $plugin['add form']; } - else if (isset($plugin['edit form'])) { + elseif (isset($plugin['edit form'])) { $id = $plugin['edit form']; } else { diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.theme.inc b/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.theme.inc index 85346c155c62e5ac9a5f911dff182f833c953d0a..0ceedffc7c5ca6a80a164c2719690a9eceb37172 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.theme.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/stylizer.theme.inc @@ -25,4 +25,3 @@ function ctools_stylizer_theme(&$theme) { 'file' => 'includes/stylizer.inc', ); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/utility.inc b/profiles/wcm_base/modules/contrib/ctools/includes/utility.inc index 82fc1471a21b8a6af9f711030f02ecb958b9a02f..3c939a441d93f6f84ecb9a7b99d1e9dbe2c22a30 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/utility.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/utility.inc @@ -23,7 +23,7 @@ function ctools_passthrough($module, $type, &$items) { require_once DRUPAL_ROOT . '/' . $file->uri; list($tool) = explode('.', $file->name, 2); - $function = $module . '_' . str_replace ('-', '_', $tool) . '_' . str_replace('-', '_', $type); + $function = $module . '_' . str_replace('-', '_', $tool) . '_' . str_replace('-', '_', $type); if (function_exists($function)) { $function($items); } diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/uuid.inc b/profiles/wcm_base/modules/contrib/ctools/includes/uuid.inc index 13897f1fde79bec50913291246986118d5797d2d..f51838be0eefab06ae5840237f760d3f6d241d19 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/uuid.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/uuid.inc @@ -67,4 +67,5 @@ if (!function_exists('uuid_is_valid')) { function uuid_is_valid($uuid) { return preg_match('/^' . UUID_PATTERN . '$/', $uuid); } + } diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/views.inc b/profiles/wcm_base/modules/contrib/ctools/includes/views.inc index 4ef6439e727444369645dcd3c2042ab238ea15e3..9c1ee6c3df6101c552d06e0632b77b2709da3ffc 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/views.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/views.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Generate new context classes by argument settings on the view. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/includes/wizard.inc b/profiles/wcm_base/modules/contrib/ctools/includes/wizard.inc index e92e0e30facd15f8c376cf8a559590cce4937ca0..8b0d061c400a7f4b2a97b27adcc31c65fd36a3a2 100644 --- a/profiles/wcm_base/modules/contrib/ctools/includes/wizard.inc +++ b/profiles/wcm_base/modules/contrib/ctools/includes/wizard.inc @@ -47,7 +47,7 @@ function ctools_wizard_multistep_form($form_info, $step, &$form_state) { // with form caching. ctools_form_include($form_state, 'wizard'); - // allow order array to be optional + // Allow order array to be optional. if (empty($form_info['order'])) { foreach ($form_info['forms'] as $step_id => $params) { $form_info['order'][$step_id] = $params['title']; @@ -83,7 +83,7 @@ function ctools_wizard_multistep_form($form_info, $step, &$form_state) { $form_info['cache location'] = 'storage'; } - // If absolutely nothing was set for the cache area to work on + // If absolutely nothing was set for the cache area to work on. if (!isset($form_state[$form_info['cache location']])) { ctools_include('cache'); $form_state[$form_info['cache location']] = ctools_cache_get($form_info['cache mechanism'], $form_info['cache key']); @@ -199,7 +199,7 @@ function ctools_wizard_multistep_form($form_info, $step, &$form_state) { } } } - else if (isset($form_state['ajax next'])) { + elseif (isset($form_state['ajax next'])) { // Clear a few items off the form state so we don't double post: $next = $form_state['ajax next']; unset($form_state['ajax next']); @@ -299,7 +299,7 @@ function ctools_wizard_wrapper($form, &$form_state) { '#wizard type' => 'next', '#weight' => -2000, '#limit_validation_errors' => array(), - // hardcode the submit so that it doesn't try to save data. + // Hardcode the submit so that it doesn't try to save data. '#submit' => array('ctools_wizard_submit'), '#attributes' => $button_attributes, ); @@ -325,19 +325,18 @@ function ctools_wizard_wrapper($form, &$form_state) { // end of the form list (i.e, there is a next) then it's "update and return" // to be clear. If this is the end of the path and there is no next, we // call it 'Finish'. - // Even if there is no direct return path (some forms may not want you // leaving in the middle) the final button is always a Finish and it does // whatever the return action is. if (!empty($form_info['show return']) && !empty($form_state['next'])) { $form['buttons']['return'] = array( '#type' => 'submit', - '#value' => $form_info['return text'], + '#value' => $form_info['return text'], '#wizard type' => 'return', '#attributes' => $button_attributes, ); } - else if (empty($form_state['next']) || !empty($form_info['free trail'])) { + elseif (empty($form_state['next']) || !empty($form_info['free trail'])) { $form['buttons']['return'] = array( '#type' => 'submit', '#value' => $form_info['finish text'], @@ -352,7 +351,7 @@ function ctools_wizard_wrapper($form, &$form_state) { '#type' => 'submit', '#value' => $form_info['cancel text'], '#wizard type' => 'cancel', - // hardcode the submit so that it doesn't try to save data. + // Hardcode the submit so that it doesn't try to save data. '#limit_validation_errors' => array(), '#submit' => array('ctools_wizard_submit'), '#attributes' => $button_attributes, @@ -370,7 +369,6 @@ function ctools_wizard_wrapper($form, &$form_state) { // Set up our submit handler after theirs. Since putting something here will // skip Drupal's autodetect, we autodetect for it. - // We make sure ours is after theirs so that they get to change #next if // the want to. $form['#submit'] = array(); @@ -398,7 +396,7 @@ function ctools_wizard_wrapper($form, &$form_state) { $params = array($url, $options); } - $form['#action'] = call_user_func_array('url', $params); + $form['#action'] = call_user_func_array('url', $params); } if (isset($info['wrapper']) && function_exists($info['wrapper'])) { @@ -418,7 +416,7 @@ function ctools_wizard_submit(&$form, &$form_state) { if (isset($form_state['clicked_button']['#wizard type'])) { $type = $form_state['clicked_button']['#wizard type']; - // if AJAX enabled, we proceed slightly differently here. + // If AJAX enabled, we proceed slightly differently here. if (!empty($form_state['ajax'])) { if ($type == 'next') { $form_state['ajax next'] = $form_state['clicked_button']['#next']; @@ -428,7 +426,7 @@ function ctools_wizard_submit(&$form, &$form_state) { if ($type == 'cancel' && isset($form_state['form_info']['cancel path'])) { $form_state['redirect'] = $form_state['form_info']['cancel path']; } - else if ($type == 'next') { + elseif ($type == 'next') { $form_state['redirect'] = ctools_wizard_get_path($form_state['form_info'], $form_state['clicked_button']['#next']); if (!empty($_GET['destination'])) { // We don't want drupal_goto redirect this request @@ -437,10 +435,10 @@ function ctools_wizard_submit(&$form, &$form_state) { unset($_GET['destination']); } } - else if (isset($form_state['form_info']['return path'])) { + elseif (isset($form_state['form_info']['return path'])) { $form_state['redirect'] = $form_state['form_info']['return path']; } - else if ($type == 'finish' && isset($form_state['form_info']['cancel path'])) { + elseif ($type == 'finish' && isset($form_state['form_info']['cancel path'])) { $form_state['redirect'] = $form_state['form_info']['cancel path']; } } @@ -503,15 +501,15 @@ function ctools_wizard_defaults(&$form_info) { } $form_info = $form_info + $defaults; - // set form callbacks if they aren't defined + // Set form callbacks if they aren't defined. foreach ($form_info['forms'] as $step => $params) { if (!$params['form id']) { - $form_callback = $hook . '_' . $step . '_form'; - $form_info['forms'][$step]['form id'] = $form_callback; + $form_callback = $hook . '_' . $step . '_form'; + $form_info['forms'][$step]['form id'] = $form_callback; } } - // set button callbacks + // Set button callbacks. $callbacks = array( 'back callback' => '_back', 'next callback' => '_next', @@ -521,10 +519,10 @@ function ctools_wizard_defaults(&$form_info) { ); foreach ($callbacks as $key => $callback) { - // never overwrite if explicity defined + // Never overwrite if explicity defined. if (empty($form_info[$key])) { $wizard_callback = $hook . $callback; - if (function_exists($wizard_callback)) { + if (function_exists($wizard_callback)) { $form_info[$key] = $wizard_callback; } } diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/css/page-manager.css b/profiles/wcm_base/modules/contrib/ctools/page_manager/css/page-manager.css index 1a7dd5e4bcd3287bb45df6c48d6435e74758cd9f..5abe39e24749852d918998d6a4ce85354cc6b299 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/css/page-manager.css +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/css/page-manager.css @@ -100,7 +100,7 @@ body form#page-manager-list-pages-form { #page-manager-edit .page-manager-edit-operations li { list-style: none; - background: #F6F6F6; + background: #f6f6f6; border-top: 1px solid #aaa; border-left: 1px solid #aaa; border-right: 1px solid #aaa; @@ -111,7 +111,7 @@ body form#page-manager-list-pages-form { #page-manager-edit .page-manager-edit-operations li.active, #page-manager-edit .page-manager-edit-operations li.active-group .page-manager-group-title { - background: #FFFFFF url(../images/arrow-active.png) no-repeat scroll right center; + background: #ffffff url(../images/arrow-active.png) no-repeat scroll right center; } #page-manager-edit .page-manager-edit-operations li.changed, @@ -123,7 +123,7 @@ body form#page-manager-list-pages-form { /** provide a reset for non active stray paths */ #page-manager-edit .page-manager-edit-operations li.active-group li.not-active .page-manager-group-title, #page-manager-edit .page-manager-edit-operations li.changed-group li.not-changed .page-manager-group-title { - background: #F6F6F6; + background: #f6f6f6; } #page-manager-edit .page-manager-edit-operations li.active { @@ -132,7 +132,7 @@ body form#page-manager-list-pages-form { #page-manager-edit .page-manager-edit-operations li.active a, #page-manager-edit .page-manager-edit-operations li.active a:hover { - background: #FFFFFF url(../images/arrow-active.png) no-repeat scroll right center; + background: #ffffff url(../images/arrow-active.png) no-repeat scroll right center; color: #000000; font-weight: bold; } @@ -271,8 +271,8 @@ body form#page-manager-list-pages-form { #page-manager-edit .actions li a { display: block; padding: 0.2em 0.5em; - color:#0062A0; - background-color: #F6F6F6; + color: #0062a0; + background-color: #f6f6f6; } #page-manager-edit .page-manager-changed { diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.admin.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.admin.inc index 95d12255bb7c2af30f1adb46cf821ade75188018..f4acb78a146bb51b07eb5aa49621da7956629e11 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.admin.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.admin.inc @@ -631,7 +631,7 @@ function page_manager_get_operations($page, $operations = NULL) { if (isset($plugin['add features'][$id])) { $result['actions']['children']['configure']['form']['order'][$id] = $plugin['add features'][$id]; } - else if (isset($plugin['required forms'][$id])) { + elseif (isset($plugin['required forms'][$id])) { $result['actions']['children']['configure']['form']['order'][$id] = $plugin['required forms'][$id]; } } @@ -732,7 +732,7 @@ function page_manager_get_handler_operations(&$page) { ), ); } - else if ($handler->export_type != EXPORT_IN_CODE) { + elseif ($handler->export_type != EXPORT_IN_CODE) { $actions['delete'] = array( 'title' => t('Delete'), 'description' => t('Remove this variant from the page completely.'), @@ -1144,7 +1144,7 @@ function page_manager_render_operations(&$page, $operations, $active_trail, $att if ($id == $first) { $class[] = 'operation-first'; } - else if ($id == $last) { + elseif ($id == $last) { $class[] = 'operation-last'; } diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.info b/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.info index f86687f861bb2f9ffa978ca639bf9ff22d2192cf..5866138514dc665e6da466c52b8728b92f7766b1 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.info +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.info @@ -7,9 +7,9 @@ version = CTOOLS_MODULE_VERSION files[] = tests/head_links.test -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.module b/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.module index a498f7fb61731439437926c8e067d980b69459e7..c614eff7ddf15ccaaae75d3f61c4274c9d8bcbbf 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.module +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/page_manager.module @@ -205,7 +205,7 @@ function page_manager_menu_alter(&$items) { if ($function = ctools_plugin_get_function($task, 'hook menu alter')) { $function($items, $task); } - // let the subtasks alter the menu items too. + // Let the subtasks alter the menu items too. foreach (page_manager_get_task_subtasks($task) as $subtask_id => $subtask) { if ($function = ctools_plugin_get_function($subtask, 'hook menu alter')) { $function($items, $subtask); @@ -240,7 +240,7 @@ function page_manager_menu_alter(&$items) { return $items; } -/* +/** * Implements hook_theme() */ function page_manager_theme() { @@ -333,7 +333,7 @@ function page_manager_get_page_cache($task_name) { } } else { - // ensure the task is loaded. + // Ensure the task is loaded. page_manager_get_task($cache->task_id); } @@ -390,11 +390,10 @@ function page_manager_save_page_cache($cache) { foreach ($cache->handler_info as $id => $info) { $handler = &$cache->handlers[$id]; // If it has been marked for deletion, delete it. - if ($info['changed'] & PAGE_MANAGER_CHANGED_DELETED) { page_manager_delete_task_handler($handler); } - // If it has been somehow edited (or added), write the cached version + // If it has been somehow edited (or added), write the cached version. elseif ($info['changed'] & PAGE_MANAGER_CHANGED_CACHED) { // Make sure we get updated weight from the form for this. $handler->weight = $info['weight']; @@ -427,7 +426,7 @@ function page_manager_save_page_cache($cache) { * Menu callback to load a page manager cache object for menu callbacks. */ function page_manager_cache_load($task_name) { - // load context plugin as there may be contexts cached here. + // Load context plugin as there may be contexts cached here. ctools_include('context'); return page_manager_get_page_cache($task_name); } @@ -500,7 +499,6 @@ function page_manager_handler_add_to_page(&$page, &$handler, $title = NULL) { // // This includes fetching plugins and plugin info as well as specialized // fetch methods to get groups of task handlers per task. - /** * Load a single task handler by name. * @@ -582,7 +580,7 @@ function page_manager_get_default_task_handlers($task, $subtask_id) { $handlers = $subtask['default handlers']; } } - else if (isset($task['default handlers'])) { + elseif (isset($task['default handlers'])) { $handlers = $task['default handlers']; } @@ -604,6 +602,7 @@ function page_manager_get_default_task_handlers($task, $subtask_id) { * A list of handlers provided by the default task. * @param $name * Which handler to compare. + * * @return * Which handler to use, if any. May be NULL. */ @@ -615,10 +614,10 @@ function page_manager_compare_task_handlers($result, $handlers, $name) { $handlers[$name]->export_type = EXPORT_IN_CODE; return $handlers[$name]; } - else if (isset($result[$name]) && !isset($handlers[$name])) { + elseif (isset($result[$name]) && !isset($handlers[$name])) { return $result[$name]; } - else if (isset($result[$name]) && isset($handlers[$name])) { + elseif (isset($result[$name]) && isset($handlers[$name])) { if ($result[$name]->export_type & EXPORT_IN_DATABASE) { $result[$name]->type = t('Overridden'); $result[$name]->export_type = $result[$name]->export_type | EXPORT_IN_CODE; @@ -776,9 +775,8 @@ function page_manager_export_task_handler_load($name) { function page_manager_new_task_handler($plugin) { // Generate a unique name. Unlike most named objects, we don't let people choose // names for task handlers because they mostly don't make sense. - // Create a new, empty handler object. - $handler = new stdClass; + $handler = new stdClass(); $handler->title = $plugin['title']; $handler->task = NULL; $handler->subtask = NULL; @@ -797,7 +795,7 @@ function page_manager_new_task_handler($plugin) { if (is_array($plugin['default conf'])) { $handler->conf = $plugin['default conf']; } - else if (function_exists($plugin['default conf'])) { + elseif (function_exists($plugin['default conf'])) { $handler->conf = $plugin['default conf']($handler); } } @@ -823,7 +821,6 @@ function page_manager_update_task_handler_weight($handler, $weight) { ->execute(); } - /** * Shortcut function to get task plugins. */ @@ -1200,7 +1197,7 @@ function page_manager_page_manager_pages_to_hook_code($names = array(), $name = $code .= " */\n"; $code .= "function " . $name . "_{$export['default hook']}() {\n"; foreach ($objects as $object) { - // Have to implement our own because this export func sig requires it + // Have to implement our own because this export func sig requires it. $code .= $export['export callback']($object, TRUE, ' '); $code .= " \${$export['identifier']}s['" . check_plain($object->{$export['key']}) . "'] = \${$export['identifier']};\n\n"; } @@ -1310,7 +1307,7 @@ function page_manager_addressable_content($address, $type) { $arguments = explode('..', $arguments); } else { - // implode does not return an empty array on an empty + // Implode does not return an empty array on an empty // string so do it specifically. $arguments = array(); } diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/cache/page_manager_context.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/cache/page_manager_context.inc index 2f01b56033c12e257f0571a8dc3b4a7c7230631d..a60b9e6bd9970ad0e036e12d1efaa9fac02c24a4 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/cache/page_manager_context.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/cache/page_manager_context.inc @@ -7,7 +7,7 @@ */ $plugin = array( - // cache plugins are the rare plugin types that have no real UI but + // Cache plugins are the rare plugin types that have no real UI but // we're providing a title just in case. 'title' => t('Page manager context'), 'cache get' => 'page_manager_cache_page_manager_context_cache_get', @@ -46,7 +46,7 @@ function page_manager_cache_page_manager_context_cache_set($data, $key, $object) } /** - * Copy temporary data from the page manager cache + * Copy temporary data from the page manager cache. */ function page_manager_cache_page_manager_context_cache_finalize($data, $key, $object) { // Statically cached so there shouldn't be any worries. It's an object so diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/task_handlers/http_response.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/task_handlers/http_response.inc index 8fc0f2561edb9e5d44e32b932d3d87098bbdc1b2..9c53f3467a5ebb3f264a5e5fa4c37930c825635e 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/task_handlers/http_response.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/task_handlers/http_response.inc @@ -2,14 +2,13 @@ /** * @file - * * This is the task handler plugin to handle generating 403, 404, 301 and 302 * response codes. */ -// Plugin definition +// Plugin definition. $plugin = array( - // is a 'context' handler type, meaning it supports the API of the + // Is a 'context' handler type, meaning it supports the API of the // context handlers provided by ctools context plugins. 'handler type' => 'context', 'visible' => TRUE, // may be added up front. @@ -121,7 +120,7 @@ function page_manager_http_response_admin_summary($handler, $task, $subtask, $pa ctools_include('context'); ctools_include('context-task-handler'); - // Get the operations + // Get the operations. $operations = page_manager_get_operations($page); // Get operations for just this handler. @@ -190,7 +189,7 @@ function page_manager_http_response_admin_summary($handler, $task, $subtask, $pa $output .= '<div class="clearfix">'; if ($show_title) { - $output .= '<div class="handler-title clearfix">'; + $output .= '<div class="handler-title clearfix">'; $output .= '<div class="actions handler-actions">' . $rendered_operations['actions'] . '</div>'; $output .= '<span class="title-label">' . $title . '</span>'; } @@ -215,7 +214,7 @@ function page_manager_http_response_title($handler, $task, $subtask) { } /** - * General settings for the panel + * General settings for the panel. */ function page_manager_http_response_edit_settings($form, &$form_state) { ctools_include('page_manager.admin', 'page_manager', ''); @@ -302,7 +301,7 @@ function page_manager_http_response_render($handler, $base_contexts, $args, $tes ctools_include('context'); ctools_include('context-task-handler'); - // Add my contexts + // Add my contexts. $contexts = ctools_context_handler_get_handler_contexts($base_contexts, $handler); // Test. diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog.inc index bab2dd28d4014c6f4a87566f1abc6e806fbae141..f20da0be6d0b5bc419ed07120cc33a69e02ac825 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for * more information. @@ -10,7 +14,7 @@ function page_manager_blog_page_manager_tasks() { } return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('All blogs'), @@ -68,7 +72,7 @@ function page_manager_blog_menu_alter(&$items, $task) { * node edit, which is node_page_edit(). */ function page_manager_blog() { - // Load my task plugin + // Load my task plugin. $task = page_manager_get_task('blog'); ctools_include('context'); @@ -113,6 +117,7 @@ function page_manager_blog_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog_user.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog_user.inc index 351e4de09b7b857261d329b8dee6fa1cca75b481..e75629821de046d1ee699085343133975b4bafa1 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog_user.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/blog_user.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for * more information. @@ -10,7 +14,7 @@ function page_manager_blog_user_page_manager_tasks() { } return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('User blog'), 'admin title' => t('User blog'), @@ -53,7 +57,7 @@ function page_manager_blog_user_menu_alter(&$items, $task) { $items['blog/%user_uid_optional']['file'] = $task['file']; } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_blog_user_disabled', TRUE); if (!empty($GLOBALS['page_manager_enabling_blog_user'])) { drupal_set_message(t('Page manager module is unable to enable blog/%user because some other module already has overridden with %callback.', array('%callback' => $items['blog/%user']['page callback'])), 'error'); @@ -143,6 +147,7 @@ function page_manager_blog_user_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/comment_reply.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/comment_reply.inc index ffbafe4627ecf4cfbb1d02d3a0165235e0045bd5..c250423508b25ae4a15c13ac4369a2e281b6f1d1 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/comment_reply.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/comment_reply.inc @@ -1,4 +1,9 @@ <?php + +/** + * @file + */ + /** * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for * more information. @@ -9,7 +14,7 @@ function page_manager_comment_reply_page_manager_tasks() { } return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('Comment Reply page'), @@ -45,13 +50,11 @@ function page_manager_comment_reply_enable($cache, $status) { } } - /** * Entry point for our overridden comment. - * */ -function page_manager_comment_reply_page($node, $pid = NULL){ - // Load my task plugin +function page_manager_comment_reply_page($node, $pid = NULL) { + // Load my task plugin. $task = page_manager_get_task('comment_reply'); // Load the node into a context. @@ -134,7 +137,7 @@ function page_manager_comment_reply_menu_alter(&$items, $task) { $items['comment/reply/%node']['file'] = $task['file']; } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_comment_reply_disabled', TRUE); if (!empty($GLOBALS['page_manager_enabling_comment_reply'])) { drupal_set_message(t('Page manager module is unable to enable comment/reply/%node because some other module already has overridden with %callback.', array('%callback' => $callback)), 'error'); @@ -153,6 +156,7 @@ function page_manager_comment_reply_menu_alter(&$items, $task) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_site.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_site.inc index f8718697cb7f018a01c2fa8eb445930d90a5631a..e9716c493d823ba28e0bb251fc141dc18a4cc939 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_site.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_site.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for * more information. @@ -10,7 +14,7 @@ function page_manager_contact_site_page_manager_tasks() { } return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('Site contact page'), @@ -72,7 +76,7 @@ function page_manager_contact_site_menu_alter(&$items, $task) { * node edit, which is node_page_edit(). */ function page_manager_contact_site() { - // Load my task plugin + // Load my task plugin. $task = page_manager_get_task('contact_site'); ctools_include('context'); @@ -121,6 +125,7 @@ function page_manager_contact_site_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_user.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_user.inc index 5c868161b9d5ebbeb3da4fe6b61f23e1e17383a1..96daec8b50fa5e2e7d6f18e6b45cb0c1069c1fd7 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_user.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/contact_user.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for * more information. @@ -9,7 +13,7 @@ function page_manager_contact_user_page_manager_tasks() { return; } return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('User contact'), 'admin title' => t('User contact'), @@ -56,7 +60,7 @@ function page_manager_contact_user_menu_alter(&$items, $task) { $items['user/%user/contact']['file'] = $task['file']; } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_contact_user_disabled', TRUE); if (!empty($GLOBALS['page_manager_enabling_contact_user'])) { drupal_set_message(t('Page manager module is unable to enable user/%user/contact because some other module already has overridden with %callback.', array('%callback' => $callback)), 'error'); @@ -146,6 +150,7 @@ function page_manager_contact_user_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_edit.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_edit.inc index 61ef13ac47c837e85fb661a1cad68a3181329df9..66bf00da977fdd74ad5c1a490e6ed3c82fea9827 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_edit.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_edit.inc @@ -1,12 +1,16 @@ <?php +/** + * @file + */ + /** * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for * more information. */ function page_manager_node_edit_page_manager_tasks() { return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('Node add/edit form'), @@ -83,7 +87,7 @@ function page_manager_node_edit_menu_alter(&$items, $task) { * node edit, which is node_page_edit(). */ function page_manager_node_edit($node) { - // Load my task plugin + // Load my task plugin. $task = page_manager_get_task('node_edit'); // Load the node into a context. @@ -176,6 +180,7 @@ function page_manager_node_edit_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_view.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_view.inc index fb2f2a418a1487a30ea5eeb8c1083843b0065079..6de28ad5b9d2133d7f3441492737a97b3eb6356d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_view.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/node_view.inc @@ -15,7 +15,7 @@ */ function page_manager_node_view_page_manager_tasks() { return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('Node template'), @@ -60,7 +60,7 @@ function page_manager_node_view_menu_alter(&$items, $task) { $items['node/%node']['file'] = $task['file']; } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_node_view_disabled', TRUE); if (!empty($GLOBALS['page_manager_enabling_node_view'])) { drupal_set_message(t('Page manager module is unable to enable node/%node because some other module already has overridden with %callback.', array('%callback' => $callback)), 'error'); @@ -78,7 +78,7 @@ function page_manager_node_view_menu_alter(&$items, $task) { * node view, which is node_page_view(). */ function page_manager_node_view_page($node) { - // Load my task plugin + // Load my task plugin. $task = page_manager_get_task('node_view'); // Load the node into a context. @@ -97,7 +97,7 @@ function page_manager_node_view_page($node) { // Set the non-aliased path as a default shortlink. $meta_short = array( 'rel' => 'shortlink', - 'href' => url($uri['path'], array_merge($uri['options'], array('alias' => TRUE))) + 'href' => url($uri['path'], array_merge($uri['options'], array('alias' => TRUE))), ); drupal_add_html_head_link($meta_short, TRUE); } @@ -174,6 +174,7 @@ function page_manager_node_view_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.admin.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.admin.inc index b2ae8cbe2b69dd58b5874d9916dfef889137d656..13cc632286bae86f695fd7fff216a9ebbe4709f1 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.admin.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.admin.inc @@ -47,7 +47,7 @@ function page_manager_page_menu(&$items, $task) { 'type' => MENU_CALLBACK, ) + $base; - // Add menu entries for each subtask + // Add menu entries for each subtask. foreach (page_manager_page_load_all() as $subtask_id => $subtask) { if (!empty($subtask->disabled)) { continue; @@ -102,12 +102,12 @@ function page_manager_page_menu(&$items, $task) { $page_arguments[] = $position; $access_arguments[] = $position; } - else if ($bit[0] != '!') { + elseif ($bit[0] != '!') { $path[] = $bit; } // Increment position. We do it like this to skip empty items that - // could happen from erroneous paths like: this///that + // could happen from erroneous paths like: this///that. $position++; } @@ -171,7 +171,7 @@ function page_manager_page_menu_item($task, $menu, $access_arguments, $page_argu case 'normal': $item['type'] = MENU_NORMAL_ITEM; - // Insert item into the proper menu + // Insert item into the proper menu. $item['menu_name'] = $menu['name']; break; @@ -261,10 +261,10 @@ function page_manager_page_add_subtask($task_name = NULL, $step = NULL) { if (isset($form_info['add order'][$id])) { $form_info['order'][$id] = $form_info['add order'][$id]; } - else if (isset($handler_plugin['add features'][$id])) { + elseif (isset($handler_plugin['add features'][$id])) { $form_info['order'][$id] = $handler_plugin['add features'][$id]; } - else if (isset($handler_plugin['required forms'][$id])) { + elseif (isset($handler_plugin['required forms'][$id])) { $form_info['order'][$id] = $handler_plugin['required forms'][$id]; } } @@ -279,7 +279,7 @@ function page_manager_page_add_subtask($task_name = NULL, $step = NULL) { // our questions determined would be next. if ($step == 'next') { $keys = array_keys($form_info['order']); - // get rid of 'basic' from the list of forms. + // Get rid of 'basic' from the list of forms. array_shift($keys); $step = array_shift($keys); @@ -416,7 +416,7 @@ function page_manager_page_form_basic($form, &$form_state) { '#default_value' => $page->admin_description, ); - // path + // Path. $form['path'] = array( '#type' => 'textfield', '#title' => t('Path'), @@ -452,7 +452,7 @@ function page_manager_page_form_basic($form, &$form_state) { '#description' => t('Admin overlays are used in many places in Drupal 7 and administrative custom pages should probably utilize this feature.'), ); } - else if ($path == $frontpage) { + elseif ($path == $frontpage) { $form['frontpage_markup'] = array( '#value' => '<b>' . t('This page is currently set to be your site home page. This can be modified on the !siteinfo configuration form.', array('!siteinfo' => l(t('Site Information'), 'admin/settings/site-information'))) . '</b>', ); @@ -516,7 +516,7 @@ function page_manager_page_form_basic_validate(&$form, &$form_state) { $path = array(); if (empty($form_state['values']['path'])) { form_error($form['path'], t('Path is required.')); - // stop processing here if there is no path. + // Stop processing here if there is no path. return; } @@ -542,7 +542,7 @@ function page_manager_page_form_basic_validate(&$form, &$form_state) { $path[] = '%'; } - else if ($bit[0] == '!') { + elseif ($bit[0] == '!') { $found = TRUE; } else { @@ -620,9 +620,10 @@ function page_manager_page_form_basic_submit(&$form, &$form_state) { $title = !empty($form_state['values']['title']) ? $form_state['values']['title'] : $plugin['title']; page_manager_handler_add_to_page($cache, $handler, $title); - // Figure out which forms to present them with + // Figure out which forms to present them with. $cache->forms = array(); - $cache->forms[] = 'basic'; // This one is always there. + // This one is always there. + $cache->forms[] = 'basic'; if (!empty($form_state['arguments'])) { $cache->forms[] = 'argument'; } @@ -787,7 +788,6 @@ function page_manager_page_form_menu($form, &$form_state) { function page_manager_page_form_menu_validate(&$form, &$form_state) { // If setting a 'normal' menu entry, make sure that any placeholders // support the to_arg stuff. - if ($form_state['values']['menu']['type'] == 'normal') { $page = $form_state['page']->subtask['subtask']; @@ -876,7 +876,7 @@ function page_manager_page_form_argument($form, &$form_state) { if (isset($page->temporary_arguments[$keyword]) && !empty($form_state['allow temp'])) { $conf = $page->temporary_arguments[$keyword]; } - else if (isset($page->arguments[$keyword])) { + elseif (isset($page->arguments[$keyword])) { $conf = $page->arguments[$keyword]; } @@ -896,7 +896,7 @@ function page_manager_page_form_argument($form, &$form_state) { $form['table']['argument'][$keyword]['#position'] = $position; $form['table']['argument'][$keyword]['#context'] = $context; - // The URL for this ajax button + // The URL for this ajax button. $form['table']['argument'][$keyword]['change-url'] = array( '#attributes' => array('class' => array("page-manager-context-$keyword-change-url")), '#type' => 'hidden', @@ -913,7 +913,7 @@ function page_manager_page_form_argument($form, &$form_state) { // Only show the button if this has a settings form available: if (!empty($plugin)) { - // The URL for this ajax button + // The URL for this ajax button. $form['table']['argument'][$keyword]['settings-url'] = array( '#attributes' => array('class' => array("page-manager-context-$keyword-settings-url")), '#type' => 'hidden', @@ -970,7 +970,7 @@ function theme_page_manager_page_form_argument_table($vars) { } /** - * Ajax entry point to edit an item + * Ajax entry point to edit an item. */ function page_manager_page_subtask_argument_ajax($step = NULL, $task_name = NULL, $keyword = NULL) { ctools_include('ajax'); @@ -995,7 +995,7 @@ function page_manager_page_subtask_argument_ajax($step = NULL, $task_name = NULL return ctools_ajax_render_error(t('Invalid keyword.')); } - // Set up wizard info + // Set up wizard info. $form_info = array( 'id' => 'page_manager_page_argument', 'path' => "admin/structure/pages/argument/%step/$task_name/$keyword", @@ -1032,7 +1032,7 @@ function page_manager_page_subtask_argument_ajax($step = NULL, $task_name = NULL if (!empty($form_state['cancel'])) { $commands = array(ctools_modal_command_dismiss()); } - else if (!empty($form_state['complete'])) { + elseif (!empty($form_state['complete'])) { if (isset($page->temporary_arguments[$keyword])) { $page->arguments[$keyword] = $page->temporary_arguments[$keyword]; } @@ -1051,7 +1051,6 @@ function page_manager_page_subtask_argument_ajax($step = NULL, $task_name = NULL // fully processed, but is guaranteed to produce the same form we // started with so we don't have to do crazy stuff to rerender // just part of it. - // @todo should there be a tool to do this? $clone_state = $form_state; @@ -1174,7 +1173,7 @@ function page_manager_page_argument_form_change_submit(&$form, &$form_state) { if (is_array($plugin['default'])) { $settings = $plugin['default']; } - else if (function_exists($plugin['default'])) { + elseif (function_exists($plugin['default'])) { $settings = $plugin['default'](); } } @@ -1201,7 +1200,7 @@ function page_manager_page_argument_form_settings($form, &$form_state) { if (isset($page->temporary_arguments[$keyword])) { $conf = $page->temporary_arguments[$keyword]; } - else if (isset($page->arguments[$keyword])) { + elseif (isset($page->arguments[$keyword])) { $conf = $page->temporary_arguments[$keyword] = $page->arguments[$keyword]; } @@ -1271,7 +1270,7 @@ function page_manager_page_argument_form_settings_submit(&$form, &$form_state) { } /** - * Import a task handler from cut & paste + * Import a task handler from cut & paste. */ function page_manager_page_import_subtask($form, &$form_state, $task_name) { $form_state['task'] = page_manager_get_task($task_name); @@ -1414,7 +1413,7 @@ function page_manager_page_form_clone($form, &$form_state) { '#description' => t('Enter the name to the new page It must be unique and contain only alphanumeric characters and underscores.'), ); - // path + // Path. $form['path'] = array( '#type' => 'textfield', '#title' => t('Path'), @@ -1449,7 +1448,7 @@ function page_manager_page_form_clone_validate(&$form, &$form_state) { } /** - * submit clone page form. + * Submit clone page form. * * Load the page, change the name(s) to protect the innocent, and if * requested, load all the task handlers so that they get saved properly too. diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.inc index 6a8545d1a2f87d69613c6f3093939c98a320c781..8d24d3309c331fb109082e0fa973b614144a4be6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/page.inc @@ -32,7 +32,7 @@ function page_manager_page_page_manager_tasks() { 'function' => 'page_manager_page_menu', ), 'hook theme' => 'page_manager_page_theme', - // page only items + // Page only items. 'task type' => 'page', 'page operations' => array( array( @@ -49,7 +49,7 @@ function page_manager_page_page_manager_tasks() { ), 'page type' => 'custom', - // context only items + // Context only items. 'handler type' => 'context', 'get arguments' => array( 'file' => 'page.admin.inc', @@ -112,7 +112,7 @@ function page_manager_page_save_subtask($subtask) { } } page_manager_page_recalculate_arguments($page); - // Create a real object from the cache + // Create a real object from the cache. page_manager_page_save($page); // Check to see if we should make this the site frontpage. @@ -191,7 +191,7 @@ function page_manager_page_build_subtask($task, $page) { 'form' => 'page_manager_page_form_delete', ); } - else if ($page->export_type != EXPORT_IN_CODE) { + elseif ($page->export_type != EXPORT_IN_CODE) { $operations['actions']['children']['delete'] = array( 'title' => t('Delete'), 'description' => t('Remove this page from your system completely.'), @@ -216,11 +216,11 @@ function page_manager_page_build_subtask($task, $page) { 'row class' => empty($page->disabled) ? 'page-manager-enabled' : 'page-manager-disabled', 'storage' => $page->type == t('Default') ? t('In code') : $page->type, 'disabled' => !empty($page->disabled), - // This works for both enable AND disable + // This works for both enable AND disable. 'enable callback' => 'page_manager_page_enable', ); - // default handlers may appear from a default subtask. + // Default handlers may appear from a default subtask. if (isset($page->default_handlers)) { $subtask['default handlers'] = $page->default_handlers; } @@ -247,8 +247,7 @@ function page_manager_page_theme(&$items, $task) { } // -------------------------------------------------------------------------- -// Page execution functions - +// Page execution functions. /** * Execute a page task. * @@ -274,7 +273,7 @@ function page_manager_page_execute($subtask_id) { $contexts[$arg->id] = $arg; $args[] = $arg->original_argument; } - else if ($count) { + elseif ($count) { $args[] = $arg; } } @@ -302,9 +301,9 @@ function page_manager_page_execute($subtask_id) { $context = ctools_context_get_context_from_argument($argument, $value); } else { - // make sure there is a placeholder context for missing optional contexts. + // Make sure there is a placeholder context for missing optional contexts. $context = ctools_context_get_context_from_argument($argument, NULL, TRUE); - // Force the title to blank for replacements + // Force the title to blank for replacements. } if ($context) { $contexts[$context->id] = $context; @@ -328,8 +327,7 @@ function page_manager_page_execute($subtask_id) { } // -------------------------------------------------------------------------- -// Context type callbacks - +// Context type callbacks. /** * Return a list of arguments used by this task. */ @@ -500,7 +498,7 @@ function page_manager_page_get_named_arguments($path) { $bits = explode('/', $path); foreach ($bits as $position => $bit) { if ($bit && ($bit[0] == '%' || $bit[0] == '!')) { - // special handling for duplicate path items and substr to remove the % + // Special handling for duplicate path items and substr to remove the %. $arguments[substr($bit, 1)] = isset($arguments[$bit]) ? -1 : $position; } } @@ -547,7 +545,7 @@ function _pm_arg_load($value, $subtask, $argument) { ctools_include('context'); $context = ctools_context_get_context_from_argument($page->arguments[$keyword], $value); - // convert false equivalents to false. + // Convert false equivalents to false. return $context ? $context : FALSE; } @@ -583,7 +581,6 @@ function page_manager_page_admin_summary($task, $subtask) { array('class' => array('page-summary-operation'), 'data' => $link), ); - $path = array(); foreach (explode('/', $page->path) as $bit) { if ($bit[0] != '!') { @@ -599,7 +596,7 @@ function page_manager_page_admin_summary($task, $subtask) { if ($path == $front) { $message = t('This is your site home page.'); } - else if (!empty($page->make_frontpage)) { + elseif (!empty($page->make_frontpage)) { $message = t('This page is set to become your site home page.'); } @@ -660,6 +657,7 @@ function page_manager_page_admin_summary($task, $subtask) { case 'default tab': $menu .= ' ' . t('Parent title: %title.', array('%title' => $page->menu['parent']['title'])); break; + case 'normal': if (module_exists('menu')) { $menus = menu_get_menus(); @@ -750,7 +748,7 @@ function page_manager_page_new_page_cache(&$page, &$cache) { $cache->subtask = page_manager_page_build_subtask($cache->task, $page); if (isset($cache->handlers)) { - foreach($cache->handlers as $id => $handler) { + foreach ($cache->handlers as $id => $handler) { $cache->handler_info[$id]['changed'] = PAGE_MANAGER_CHANGED_DELETED; } } @@ -778,6 +776,7 @@ function page_manager_page_new_page_cache(&$page, &$cache) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/poll.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/poll.inc index 073ee0c60eb49c2f7e291466bb54c56f920ae994..926c7671e9d70bb67dbe399bb8c66cb2f0f3530a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/poll.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/poll.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for * more information. @@ -10,7 +14,7 @@ function page_manager_poll_page_manager_tasks() { } return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('All polls'), @@ -68,7 +72,7 @@ function page_manager_poll_menu_alter(&$items, $task) { * node edit, which is node_page_edit(). */ function page_manager_poll() { - // Load my task plugin + // Load my task plugin. $task = page_manager_get_task('poll'); ctools_include('context'); @@ -113,6 +117,7 @@ function page_manager_poll_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/search.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/search.inc index efd7415c46004a59991e9944becc6ffb4e162e4c..172d963ab2bf2497565eeb94d243cc2e9226f8be 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/search.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/search.inc @@ -10,8 +10,9 @@ */ /** - * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html for - * more information. + * Specialized implementation of hook_page_manager_task_tasks(). + * + * See api-task.html for more information. */ function page_manager_search_page_manager_tasks() { if (!module_exists('search')) { @@ -19,7 +20,7 @@ function page_manager_search_page_manager_tasks() { } return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('Search'), @@ -38,7 +39,6 @@ function page_manager_search_page_manager_tasks() { 'get arguments' => 'page_manager_search_get_arguments', 'get context placeholders' => 'page_manager_search_get_contexts', 'access callback' => 'page_manager_search_access_check', - ); } @@ -59,7 +59,6 @@ function page_manager_search_menu_alter(&$items, $task) { // keywords. A second set is for searching *with* keywords. This // is necessary because search/node/% and search/node need to be // different due to the way the search menu items function. - $default_info = search_get_default_module_info(); if (empty($default_info)) { // Nothing to do. @@ -85,7 +84,7 @@ function page_manager_search_menu_alter(&$items, $task) { $items["$path/%menu_tail"]['file'] = $task['file']; } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_search_disabled_' . $module, TRUE); if (!empty($GLOBALS['page_manager_enabling_search'])) { drupal_set_message(t('Page manager module is unable to enable @path because some other module already has overridden with %callback.', array('%callback' => $callback, '@path' => $path)), 'error'); @@ -96,12 +95,9 @@ function page_manager_search_menu_alter(&$items, $task) { /** * Entry point for our overridden search page. - * */ function page_manager_search_page($type) { ctools_include('menu'); -// menu_set_active_trail(ctools_get_menu_trail('search/' . $type)); - // Get the arguments and construct a keys string out of them. $args = func_get_args(); @@ -111,10 +107,10 @@ function page_manager_search_page($type) { // And implode() it all back together. $keys = $args ? implode('/', $args) : ''; - // Allow other modules to alter the search keys - drupal_alter(array('search_keys', 'search_'. $type .'_keys'), $keys); + // Allow other modules to alter the search keys. + drupal_alter(array('search_keys', 'search_' . $type . '_keys'), $keys); - // Load my task plugin + // Load my task plugin. $task = page_manager_get_task('search'); $subtask = page_manager_get_task_subtask($task, $type); @@ -138,7 +134,6 @@ function page_manager_search_page($type) { } // Otherwise, fall back. - // Put the $type back on the arguments. module_load_include('inc', 'search', 'search.pages'); array_unshift($args, $type); @@ -224,7 +219,7 @@ function page_manager_search_build_subtask($task, $module) { 'row class' => empty($page->disabled) ? 'page-manager-enabled' : 'page-manager-disabled', 'storage' => t('In code'), 'disabled' => variable_get('page_manager_search_disabled_' . $module, TRUE), - // This works for both enable AND disable + // This works for both enable AND disable. 'enable callback' => 'page_manager_search_enable', ); @@ -240,6 +235,7 @@ function page_manager_search_build_subtask($task, $module) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/term_view.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/term_view.inc index 37259b95bb20803f837bfd5da4d46d3bef9caaae..72fb7dbc95d299d266b378e2b4b69e09d4baa7fa 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/term_view.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/term_view.inc @@ -16,7 +16,7 @@ function page_manager_term_view_page_manager_tasks() { if (module_exists('taxonomy')) { return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('Taxonomy term template'), @@ -29,7 +29,7 @@ function page_manager_term_view_page_manager_tasks() { 'hook menu' => 'page_manager_term_view_menu', 'hook menu alter' => 'page_manager_term_view_menu_alter', - // Provide a setting to the primary settings UI for Panels + // Provide a setting to the primary settings UI for Panels. 'admin settings' => 'page_manager_term_view_admin_settings', // Even though we don't have subtasks, this allows us to save our settings. 'save subtask callback' => 'page_manager_term_view_save', @@ -48,7 +48,7 @@ function page_manager_term_view_page_manager_tasks() { 'enable callback' => 'page_manager_term_view_enable', 'access callback' => 'page_manager_term_view_access_check', - // Allow additional operations + // Allow additional operations. 'operations' => array( 'settings' => array( 'title' => t('Settings'), @@ -79,7 +79,7 @@ function page_manager_term_view_menu_alter(&$items, $task) { $items['taxonomy/term/%taxonomy_term']['file'] = $task['file']; } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_term_view_disabled', TRUE); if (isset($items['taxonomy/term/%taxonomy_term']['page callback'])) { @@ -87,7 +87,7 @@ function page_manager_term_view_menu_alter(&$items, $task) { } // Because Views changes %taxonomy_term to %views_arg, check to see if that // is why we can't enable: - else if (isset($items['taxonomy/term/%views_arg']['page callback'])) { + elseif (isset($items['taxonomy/term/%views_arg']['page callback'])) { $callback = $items['taxonomy/term/%views_arg']['page callback']; } else { @@ -112,7 +112,6 @@ function page_manager_term_view_page($term, $depth = NULL) { // potentially load nodes that were not necessary, execute some of the code // prior to identifying the correct CTools or Page Manager task handler and // only proceed with the rest of the code if necessary. - // Assign the term name as the page title. drupal_set_title($term->name); @@ -126,10 +125,10 @@ function page_manager_term_view_page($term, $depth = NULL) { // Set the non-aliased path as a default shortlink. drupal_add_html_head_link(array('rel' => 'shortlink', 'href' => url($uri['path'], array_merge($uri['options'], array('alias' => TRUE)))), TRUE); - // Trigger the main + // Trigger the main. $build = taxonomy_term_show($term); - // Load my task plugin + // Load my task plugin. $task = page_manager_get_task('term_view'); // Load the term into a context. @@ -157,7 +156,6 @@ function page_manager_term_view_page($term, $depth = NULL) { // Otherwise, fall back to replicating the output normally generated by // taxonomy_term_page(). - // Build breadcrumb based on the hierarchy of the term. $current = (object) array( 'tid' => $term->tid, @@ -296,7 +294,6 @@ function page_manager_term_view_enable($cache, $status) { } function page_manager_term_view_get_type() { -// $view_type = variable_get('page_manager_term_view_type', 'multiple'); // Revert to just allowing single. $view_type = 'single'; @@ -369,7 +366,8 @@ function page_manager_term_view_admin_summary($task, $subtask) { * The subtask id * @param $contexts * The contexts loaded for the task. - * @return + * + * @return bool * TRUE if the current user can access the page. */ function page_manager_term_view_access_check($task, $subtask_id, $contexts) { diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_edit.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_edit.inc index 0b11bf01765693f96eeb8c4c39e758c7729c8ecd..3054056f1721e4445334dc8736bff34d8afa61c7 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_edit.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_edit.inc @@ -9,7 +9,7 @@ */ function page_manager_user_edit_page_manager_tasks() { return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('User Edit Template'), 'admin title' => t('User edit template'), @@ -65,7 +65,7 @@ function page_manager_user_edit_menu_alter(&$items, $task) { } } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_user_edit_disabled', TRUE); if (!empty($GLOBALS['page_manager_enabling_user_edit'])) { drupal_set_message(t('Page manager module is unable to enable user/%user/edit because some other module already has overridden with %callback.', array('%callback' => $items['user/%user']['page callback'])), 'error'); @@ -114,9 +114,9 @@ function page_manager_user_edit_page($account, $category = 'account') { // Otherwise, fall back. if ($function == 'drupal_get_form') { - //In order to ajax fields to work we need to run form_load_include. - //Hence we eschew drupal_get_form and manually build the info and - //call drupal_build_form. + // In order to ajax fields to work we need to run form_load_include. + // Hence we eschew drupal_get_form and manually build the info and + // call drupal_build_form. $form_state = array(); $form_id = 'user_profile_form'; $args = array($account, $category); @@ -125,10 +125,9 @@ function page_manager_user_edit_page($account, $category = 'account') { $output = drupal_build_form($form_id, $form_state); return $output; } - //fire off "view" op so that triggers still work + // Fire off "view" op so that triggers still work. // @todo -- this doesn't work anymore, and the alternatives seem bad. // will have to figure out how to fix this. - // user_module_invoke('view', $array = array(), $account); return $function($account); } @@ -178,6 +177,7 @@ function page_manager_user_edit_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_view.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_view.inc index c428384a1cd02a479dfd13ed05c586315fdf7a3b..3a531c7b42385fd8002ff8c9b2b652a9a610a782 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_view.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/plugins/tasks/user_view.inc @@ -9,7 +9,7 @@ */ function page_manager_user_view_page_manager_tasks() { return array( - // This is a 'page' task and will fall under the page admin UI + // This is a 'page' task and will fall under the page admin UI. 'task type' => 'page', 'title' => t('User profile template'), 'admin title' => t('User profile template'), @@ -53,7 +53,7 @@ function page_manager_user_view_menu_alter(&$items, $task) { $items['user/%user']['file'] = $task['file']; } else { - // automatically disable this task if it cannot be enabled. + // Automatically disable this task if it cannot be enabled. variable_set('page_manager_user_view_disabled', TRUE); if (!empty($GLOBALS['page_manager_enabling_user_view'])) { drupal_set_message(t('Page manager module is unable to enable user/%user because some other module already has overridden with %callback.', array('%callback' => $items['user/%user']['page callback'])), 'error'); @@ -98,10 +98,9 @@ function page_manager_user_view_page($account) { if ($function == 'user_view') { module_load_include('inc', 'user', 'user.pages'); } - //fire off "view" op so that triggers still work + // Fire off "view" op so that triggers still work. // @todo -- this doesn't work anymore, and the alternatives seem bad. // will have to figure out how to fix this. -// user_module_invoke('view', $array = array(), $account); return $function($account); } @@ -152,6 +151,7 @@ function page_manager_user_view_enable($cache, $status) { * The subtask id * @param $contexts * The contexts loaded for the task. + * * @return * TRUE if the current user can access the page. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/tests/head_links.test b/profiles/wcm_base/modules/contrib/ctools/page_manager/tests/head_links.test index f3bc5a446b0a2665cc325318546a587929b70e86..3a88e295bbba3ca7a601b3d6a831c170b6ecf1e6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/tests/head_links.test +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/tests/head_links.test @@ -1,4 +1,5 @@ <?php + /** * @file * Tests the head links for page manager pages. @@ -8,6 +9,7 @@ * Test the head links. */ class HeadLinksTestCase extends DrupalWebTestCase { + /** * {@inheritdoc} */ @@ -71,4 +73,5 @@ class HeadLinksTestCase extends DrupalWebTestCase { $canonical = $this->xpath('//head//link[@rel="canonical"]'); $this->assertEqual(url($url), (string) $canonical[0]['href'], 'canonical url found'); } + } diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page-manager-edit-page.tpl.php b/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page-manager-edit-page.tpl.php index 85510cd93f9e9b53003546cfbe4534804b76c127..2ea065c8abeefd4277bd3cf32290ea9b4e7db269 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page-manager-edit-page.tpl.php +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page-manager-edit-page.tpl.php @@ -1,4 +1,5 @@ <?php + /** * @file * Template for the page manager page editor. @@ -42,7 +43,7 @@ <div class="description"> <?php print $content['description']; ?> </div> - <?php endif; ?> + <?php endif; ?> <?php print $content['content']; ?> </div> </div> @@ -50,4 +51,4 @@ </div> </div> <?php print $save; ?> -</div> \ No newline at end of file +</div> diff --git a/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page_manager.theme.inc b/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page_manager.theme.inc index 6435d1ce5984d64f4a97a81c815ddbd2e826852a..3df55a89b13b161a4fc8e59f694c0c55a71c93ea 100644 --- a/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page_manager.theme.inc +++ b/profiles/wcm_base/modules/contrib/ctools/page_manager/theme/page_manager.theme.inc @@ -27,10 +27,10 @@ function template_preprocess_page_manager_edit_page(&$vars) { $vars['locked'] = theme('page_manager_lock', array('page' => $page)); $vars['changed'] = theme('page_manager_changed', array('text' => t('Locked'), 'description' => t('This page is being edited by another user and you cannot make changes to it.'))); } - else if (!empty($page->new)) { + elseif (!empty($page->new)) { $vars['changed'] = theme('page_manager_changed', array('text' => t('New'), 'description' => t('This page is newly created and has not yet been saved to the database. It will not be available until you save it.'))); } - else if (!empty($page->changed)) { + elseif (!empty($page->changed)) { $vars['changed'] = theme('page_manager_changed', array('text' => t('Changed'), 'description' => t('This page has been modified, but these modifications are not yet live. While modifying this page, it is locked from modification by other users.'))); } @@ -49,9 +49,9 @@ function template_preprocess_page_manager_edit_page(&$vars) { */ function theme_page_manager_handler_rearrange($vars) { $form = &$vars['form']; - // Assemble the data for a table from everything in $form['handlers'] + // Assemble the data for a table from everything in $form['handlers']. foreach (element_children($form['handlers']) as $id) { - // provide a reference shortcut. + // Provide a reference shortcut. $element = &$form['handlers'][$id]; if (isset($element['title'])) { $row = array(); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/compare_users.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/compare_users.inc index a8c44f4de9803f257dbc87e26c78f123edee5a9a..e0a7f1b456ba57da386c4cfc97fa500325c1463a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/compare_users.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/compare_users.inc @@ -20,12 +20,12 @@ $plugin = array( 'summary' => 'ctools_compare_users_ctools_access_summary', 'required context' => array( new ctools_context_required(t('First User'), 'user'), - new ctools_context_required(t("Second User"), 'user') + new ctools_context_required(t("Second User"), 'user'), ), ); /** - * Settings form for the 'by perm' access plugin + * Settings form for the 'by perm' access plugin. */ function ctools_compare_users_settings($form, &$form_state, $conf) { diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/context_exists.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/context_exists.inc index aabc62dd9eece9f8be3ee7cf0b6d23870c097263..e5d2b5e27c02127194998c72530b3a15ff4bea05 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/context_exists.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/context_exists.inc @@ -2,7 +2,7 @@ /** * @file - * Plugin to provide access control/visibility based on existence of a specified context + * Plugin to provide access control/visibility based on existence of a specified context. */ $plugin = array( @@ -16,7 +16,7 @@ $plugin = array( ); /** - * Settings form + * Settings form. */ function ctools_context_exists_ctools_access_settings($form, &$form_state, $conf) { $form['settings']['exists'] = array( @@ -29,17 +29,17 @@ function ctools_context_exists_ctools_access_settings($form, &$form_state, $conf } /** - * Check for access + * Check for access. */ function ctools_context_exists_ctools_access_check($conf, $context) { - // xor returns false if the two bools are the same, and true if they are not. + // Xor returns false if the two bools are the same, and true if they are not. // i.e, if we asked for context_exists and it does, return true. // If we asked for context does not exist and it does, return false. return (empty($context->data) xor !empty($conf['exists'])); } /** - * Provide a summary description based upon the specified context + * Provide a summary description based upon the specified context. */ function ctools_context_exists_ctools_access_summary($conf, $context) { if (!empty($conf['exists'])) { diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_bundle.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_bundle.inc index e07a048decc74700dacb03306a3f9ef81d63fc9b..fce34197d54e3c2fb729112f01678a0caaae2ec5 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_bundle.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_bundle.inc @@ -43,7 +43,7 @@ function ctools_entity_bundle_ctools_access_get_children($plugin, $parent) { } /** - * Settings form for the 'by entity_bundle' access plugin + * Settings form for the 'by entity_bundle' access plugin. */ function ctools_entity_bundle_ctools_access_settings($form, &$form_state, $conf) { $plugin = $form_state['plugin']; @@ -133,4 +133,3 @@ function ctools_entity_bundle_ctools_access_summary($conf, $context, $plugin) { return format_plural(count($names), '@identifier is bundle "@types"', '@identifier bundle is one of "@types"', array('@types' => implode(', ', $names), '@identifier' => $context->identifier)); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_field_value.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_field_value.inc index fa94a48183cec545bda2e76a0aed6b3f4fa0eb15..60d2c2e020a0c8dd8e1b4579a1e339893d4f5f52 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_field_value.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/entity_field_value.inc @@ -48,7 +48,7 @@ function ctools_entity_field_value_ctools_access_get_children($plugin, $parent) } function _ctools_entity_field_value_ctools_access_get_child($plugin, $parent, $entity_type, $bundle_type, $field_name, $entity = NULL, $bundle = NULL, $field = NULL) { - // check that the entity, bundle and field arrays have a value. + // Check that the entity, bundle and field arrays have a value. // If not, load theme using machine names. if (empty($entity)) { $entity = entity_get_info($entity_type); @@ -68,14 +68,14 @@ function _ctools_entity_field_value_ctools_access_get_child($plugin, $parent, $e $plugin['description'] = t('Control access by @entity entity bundle.', array('@entity' => $entity_type)); $plugin['name'] = $parent . ':' . $entity_type . ':' . $bundle_type . ':' . $field_name; $plugin['required context'] = new ctools_context_required(t(ucfirst($entity_type)), $entity_type, array( - 'type' => $bundle_type, - )); + 'type' => $bundle_type, + )); return $plugin; } /** - * Settings form for the 'by entity_bundle' access plugin + * Settings form for the 'by entity_bundle' access plugin. */ function ctools_entity_field_value_ctools_access_settings($form, &$form_state, $conf) { $plugin = $form_state['plugin']; @@ -88,7 +88,7 @@ function ctools_entity_field_value_ctools_access_settings($form, &$form_state, $ $columns[$column] = _field_sql_storage_columnname($field_name, $column); } ctools_include('fields'); - $entity = (object)array( + $entity = (object) array( $entity_info['entity keys']['bundle'] => $bundle_type, ); @@ -115,7 +115,7 @@ function ctools_entity_field_value_ctools_access_settings($form, &$form_state, $ $form['#parents'] = array('settings'); $langcode = field_valid_language(NULL); $form['settings'] += (array) ctools_field_invoke_field($instance, 'form', $entity_type, $entity, $form, $form_state, array('default' => TRUE, 'language' => $langcode)); - // weight is really not important once this is populated and will only interfere with the form layout. + // Weight is really not important once this is populated and will only interfere with the form layout. foreach (element_children($form['settings']) as $element) { unset($form['settings'][$element]['#weight']); } @@ -145,7 +145,8 @@ function ctools_entity_field_value_ctools_access_settings_submit($form, &$form_s function _ctools_entity_field_value_get_proper_form_items($field, $form_items, $columns) { $items = array(); - if (!is_array($form_items)) { // Single value item. + // Single value item. + if (!is_array($form_items)) { foreach ($columns as $column) { $items[0][$column] = $form_items; } @@ -175,7 +176,7 @@ function _ctools_entity_field_value_get_proper_form_items($field, $form_items, $ foreach ($columns as $column) { if (isset($form_items[$column])) { $has_columns = TRUE; - $item[$column] = $form_items[$column]; + $item[$column] = $form_items[$column]; } else { $item[$column] = ''; @@ -353,7 +354,7 @@ function ctools_entity_field_value_ctools_access_summary($conf, $context, $plugi $display['type'] = 'entityreference_label'; break; - default : + default: // Use field instance formatter setting. break; } @@ -381,7 +382,7 @@ function ctools_entity_field_value_ctools_access_summary($conf, $context, $plugi if (is_array($elements)) { foreach ($elements as $element_key => $element) { if (is_numeric($element_key)) { - $value_str= strip_tags(drupal_render($element)); + $value_str = strip_tags(drupal_render($element)); if (strlen($value_str) > 0) { $output[] = $value_str; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/front.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/front.inc index 1bbc6e057bb4ca579baec42015d10f39a23eb9fa..8718a143c3af96d16fad4a5a4a261cb65959cb60 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/front.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/front.inc @@ -19,7 +19,7 @@ $plugin = array( ); /** - * Settings form for the 'by parent term' access plugin + * Settings form for the 'by parent term' access plugin. */ function ctools_front_ctools_access_settings($form, &$form_state, $conf) { // No additional configuration necessary. diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_access.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_access.inc index fcd275d94c11265df1ebe05d7469bcfd7f4f3d5c..c153cc5a985fc1cfd0844a9f7dea854e8bbd4ec3 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_access.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_access.inc @@ -24,7 +24,7 @@ $plugin = array( ); /** - * Settings form for the 'by node_access' access plugin + * Settings form for the 'by node_access' access plugin. */ function ctools_node_access_ctools_access_settings($form, &$form_state, $conf) { $form['settings']['type'] = array( @@ -86,4 +86,3 @@ function ctools_node_access_ctools_access_summary($conf, $context) { return t('@user can create nodes of the same type as @node.', $replacement); } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_comment.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_comment.inc index 915ee20e29eba5dabba6fd669982d42fad51f0d7..6cebdaf8e4f59b43ac7cce7d5ccad40ae0b3dda0 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_comment.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_comment.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Plugin to provide access control based upon node comment status. diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_language.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_language.inc index 0fdcfc66a533ef9d2318e01b6e5b6b507f60f1e2..b824331868cd44721d237114ad4388b7897d6c74 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_language.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_language.inc @@ -23,7 +23,7 @@ if (module_exists('locale')) { } /** - * Settings form for the 'by node_language' access plugin + * Settings form for the 'by node_language' access plugin. */ function ctools_node_language_ctools_access_settings($form, &$form_state, $conf) { $options = array( @@ -111,4 +111,3 @@ function ctools_node_language_ctools_access_summary($conf, $context) { return format_plural(count($names), '@identifier language is "@languages"', '@identifier language is one of "@languages"', array('@languages' => implode(', ', $names), '@identifier' => $context->identifier)); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_status.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_status.inc index ad5ba4009dcf0f4f409d394fa7d63cfddc3c498b..137f2826c6f70edc1c2c7fe9b3d955c8970a5564 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_status.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_status.inc @@ -30,4 +30,3 @@ function ctools_node_status_ctools_access_check($conf, $context) { function ctools_node_status_ctools_access_summary($conf, $context) { return t('Returns true if the nodes status is "published".'); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_type.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_type.inc index 23a38453a7ffa9f4c1c6c5943095dd3abb58d048..d89532aea4886c15590026141c9c66df2f286cfb 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_type.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/node_type.inc @@ -22,7 +22,7 @@ $plugin = array( ); /** - * Settings form for the 'by node_type' access plugin + * Settings form for the 'by node_type' access plugin. */ function ctools_node_type_ctools_access_settings($form, &$form_state, $conf) { $types = node_type_get_types(); @@ -114,4 +114,3 @@ function ctools_node_type_ctools_access_summary($conf, $context) { return format_plural(count($names), '@identifier is type "@types"', '@identifier type is one of "@types"', array('@types' => implode(', ', $names), '@identifier' => $context->identifier)); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/path_visibility.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/path_visibility.inc index 60b86124e49eedcfd98699f59f8a78098450fc87..1612e1c3eab0302f863b856a137e350eaff85c40 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/path_visibility.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/path_visibility.inc @@ -11,12 +11,12 @@ $plugin = array( 'callback' => 'ctools_path_visibility_ctools_access_check', 'settings form' => 'ctools_path_visibility_ctools_access_settings', 'summary' => 'ctools_path_visibility_ctools_access_summary', - 'required context' => new ctools_context_optional(t('Path'), 'string'), + 'required context' => new ctools_context_optional(t('Path'), 'string'), 'default' => array('visibility_setting' => 1, 'paths' => ''), ); /** - * Settings form + * Settings form. */ function ctools_path_visibility_ctools_access_settings($form, &$form_state, $conf) { $form['settings']['note'] = array( diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/perm.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/perm.inc index 67516faf6f34233fea6dafc94690df9d746558d6..cb2bb81e9645eddfb1bc8012742ec3734d3a5028 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/perm.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/perm.inc @@ -20,11 +20,11 @@ $plugin = array( ); /** - * Settings form for the 'by perm' access plugin + * Settings form for the 'by perm' access plugin. */ function ctools_perm_ctools_access_settings($form, &$form_state, $conf) { $perms = array(); - // Get list of permissions + // Get list of permissions. foreach (module_list(FALSE, FALSE, TRUE) as $module) { // By keeping them keyed by module we can use optgroups with the // 'select' type. @@ -70,4 +70,3 @@ function ctools_perm_ctools_access_summary($conf, $context) { $permissions = module_invoke_all('permission'); return t('@identifier has "@perm"', array('@identifier' => $context->identifier, '@perm' => $permissions[$conf['perm']]['title'])); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/php.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/php.inc index 35da86d9a593b1446f1ca22b30cb0815d158ef3a..4e9d05656e12cdf51933be19d53bc50120bc0243 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/php.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/php.inc @@ -20,7 +20,7 @@ $plugin = array( ); /** - * Settings form for the 'by perm' access plugin + * Settings form for the 'by perm' access plugin. * * @todo Need a way to provide a list of all available contexts to be used by * the eval-ed PHP. @@ -38,7 +38,7 @@ function ctools_php_ctools_access_settings($form, &$form_state, $conf) { '#type' => 'textarea', '#title' => t('PHP Code'), '#default_value' => $conf['php'], - '#description' => t('Access will be granted if the following PHP code returns <code>TRUE</code>. Do not include <?php ?>. Note that executing incorrect PHP-code can break your Drupal site. All contexts will be available in the <em>$contexts</em> variable.'), + '#description' => t('Access will be granted if the following PHP code returns <code>TRUE</code>. Do not include <?php ?>. Note that executing incorrect PHP-code can break your Drupal site. All contexts will be available in the <em>$contexts</em> variable.'), ); if (!user_access('use PHP for settings')) { $form['settings']['php']['#disabled'] = TRUE; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/query_string_exists.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/query_string_exists.inc index abec5f7a13866f1a1620b4d1f6c449109cc70abd..fb3b4334caefd283de87438d0391d00ecf439075 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/query_string_exists.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/query_string_exists.inc @@ -23,7 +23,7 @@ function ctools_query_string_exists_ctools_access_settings($form, &$form_state, '#description' => t('Enter the key of the query string.'), '#type' => 'textfield', '#required' => TRUE, - '#default_value' => $config['key'] + '#default_value' => $config['key'], ); return $form; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/role.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/role.inc index b6332544fee5d8b33fa582cfe093ba6306b26e9c..4d8cbae12c786d1269f54b72990c186f95333f8e 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/role.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/role.inc @@ -21,7 +21,7 @@ $plugin = array( ); /** - * Settings form for the 'by role' access plugin + * Settings form for the 'by role' access plugin. */ function ctools_role_ctools_access_settings($form, &$form_state, $conf) { $form['settings']['rids'] = array( @@ -76,4 +76,3 @@ function ctools_role_ctools_access_summary($conf, $context) { return format_plural(count($names), '@identifier has role "@roles"', '@identifier has one of "@roles"', array('@roles' => implode(', ', $names), '@identifier' => $context->identifier)); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/site_language.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/site_language.inc index 9ff2f70c8f144a57c5a0e33bc6651021878bfdbf..5b7b724ca089eca6b9d80ea1690618527d3b3a59 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/site_language.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/site_language.inc @@ -22,7 +22,7 @@ if (module_exists('locale')) { } /** - * Settings form for the 'by site_language' access plugin + * Settings form for the 'by site_language' access plugin. */ function ctools_site_language_ctools_access_settings($form, &$form_state, $conf) { $options = array( @@ -84,4 +84,3 @@ function ctools_site_language_ctools_access_summary($conf, $context) { return format_plural(count($names), 'Site language is "@languages"', 'Site language is one of "@languages"', array('@languages' => implode(', ', $names))); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_equal.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_equal.inc index ad1c88d82f3251f7f451f8c3b5d325a5f39da345..feb48e9c31d1d211e3e3f7a36e5f42ad62ff329d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_equal.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_equal.inc @@ -2,7 +2,7 @@ /** * @file - * Plugin to provide access control/visibility based on specified context string matching user-specified string + * Plugin to provide access control/visibility based on specified context string matching user-specified string. */ $plugin = array( @@ -16,7 +16,7 @@ $plugin = array( ); /** - * Settings form + * Settings form. */ function ctools_string_equal_ctools_access_settings($form, &$form_state, $conf) { $form['settings']['operator'] = array( @@ -47,7 +47,7 @@ function ctools_string_equal_ctools_access_settings($form, &$form_state, $conf) } /** - * Check for access + * Check for access. */ function ctools_string_equal_ctools_access_check($conf, $context) { if (empty($context) || empty($context->data)) { @@ -66,29 +66,34 @@ function ctools_string_equal_ctools_access_check($conf, $context) { switch ($conf['operator']) { case '=': return $string === $value; + case '!=': return $string !== $value; + case 'regex': return preg_match($value, $string); + case '!regex': return !preg_match($value, $string); } } /** - * Provide a summary description based upon the specified context + * Provide a summary description based upon the specified context. */ function ctools_string_equal_ctools_access_summary($conf, $context) { $values = array('@identifier' => $context->identifier, '@value' => $conf['value']); switch ($conf['operator']) { case '=': return t('@identifier is "@value"', $values); + case '!=': return t('@identifier is not "@value"', $values); + case 'regex': return t('@identifier matches "@value"', $values); + case '!regex': return t('@identifier does not match "@value"', $values); } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_length.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_length.inc index 91abf2276fadfd202f3b9f423ac7c67265819e93..3af504b9eddf6c23c3401f1d1f288252f86dbcfe 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_length.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/string_length.inc @@ -57,14 +57,19 @@ function ctools_string_length_ctools_access_check($conf, $context) { switch ($conf['operator']) { case '<': return $length < $conf['length']; + case '<=': return $length <= $conf['length']; + case '=': return $length == $conf['length']; + case '!=': return $length != $conf['length']; + case '>': return $length > $conf['length']; + case '>=': return $length >= $conf['length']; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term.inc index 36e70de47662c9e891656fb97d2ec8c2045da68d..50ec0d90f6675de9a6163c10aff2fee7c576a67d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term.inc @@ -22,7 +22,7 @@ $plugin = array( ); /** - * Settings form for the 'by term' access plugin + * Settings form for the 'by term' access plugin. */ function ctools_term_ctools_access_settings($form, &$form_state, $conf) { // If no configuration was saved before, set some defaults. @@ -51,7 +51,6 @@ function ctools_term_ctools_access_settings($form, &$form_state, $conf) { // A note: Dependency works strangely on these forms as they have never been // updated to a more modern system so they are not individual forms of their // own like the content types. - $form['settings']['#tree'] = TRUE; // Loop over each of the configured vocabularies. @@ -124,6 +123,8 @@ function ctools_term_ctools_access_summary($conf, $context) { return format_plural(count($terms), '@term can be the term "@terms"', '@term can be one of these terms: @terms', - array('@terms' => implode(', ', $terms), - '@term' => $context->identifier)); + array( + '@terms' => implode(', ', $terms), + '@term' => $context->identifier, + )); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_has_parent.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_has_parent.inc index a079e92af7d377d01d8eb543bb4a0ffcf4772fa1..16f4fbf69290f143b6f1fc721d08c40fd562ff81 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_has_parent.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_has_parent.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Plugin to provide access control based upon a parent term. @@ -20,7 +21,7 @@ $plugin = array( ); /** - * Settings form for the 'by parent term' access plugin + * Settings form for the 'by parent term' access plugin. */ function ctools_term_has_parent_ctools_access_settings($form, &$form_state, $conf) { // If no configuration was saved before, set some defaults. @@ -49,7 +50,6 @@ function ctools_term_has_parent_ctools_access_settings($form, &$form_state, $con // A note: Dependency works strangely on these forms as they have never been // updated to a more modern system so they are not individual forms of their // own like the content types. - $form['settings']['#tree'] = TRUE; // Loop over each of the configured vocabularies. @@ -62,7 +62,7 @@ function ctools_term_has_parent_ctools_access_settings($form, &$form_state, $con '#default_value' => !empty($conf['vid_' . $vid]) ? $conf['vid_' . $vid] : '', '#size' => 10, '#multiple' => TRUE, - //@todo: Remove the following workaround when the following patch is in core. {@see:http://drupal.org/node/1117526} + // @todo: Remove the following workaround when the following patch is in core. {@see:http://drupal.org/node/1117526} '#name' => sprintf("settings[%u][]", $vid), '#attributes' => array('multiple' => 'multiple'), ); @@ -71,7 +71,6 @@ function ctools_term_has_parent_ctools_access_settings($form, &$form_state, $con foreach (taxonomy_get_tree($vocabulary->vid) as $term) { $terms[$term->tid] = str_repeat('-', $term->depth) . ($term->depth ? ' ' : '') . $term->name; } - //$form['settings']['vid_' . $vid]['#type'] = 'select'; $form['settings']['vid_' . $vid]['#type'] = 'checkboxes'; $form['settings']['vid_' . $vid]['#options'] = $terms; unset($terms); @@ -116,37 +115,36 @@ function ctools_term_has_parent_ctools_access_check($conf, $context) { // we'll start looking up the hierarchy from our context term id. $current_term = $context->data->tid; - $term=''; + $term = ''; - // scan up the tree. - while (true) { - // select parent as term_parent to avoid PHP5 complications with the parent keyword - //@todo: Find a way to reduce the number of queries required for really deep hierarchies. - $term = db_query("SELECT parent AS term_parent, tid AS tid FROM {taxonomy_term_hierarchy} th WHERE th.tid = :tid", array(':tid'=>$current_term))->fetchObject(); + // Scan up the tree. + while (TRUE) { + // Select parent as term_parent to avoid PHP5 complications with the parent keyword. + // @todo: Find a way to reduce the number of queries required for really deep hierarchies. + $term = db_query("SELECT parent AS term_parent, tid AS tid FROM {taxonomy_term_hierarchy} th WHERE th.tid = :tid", array(':tid' => $current_term))->fetchObject(); - // if no term is found, get out of the loop + // If no term is found, get out of the loop. if (!$term || empty($term->tid)) { break; } - // check the term selected, if the user asked it to. + // Check the term selected, if the user asked it to. if (!empty($conf['include_self']) && isset($conf['vid_' . $vid][$term->tid])) { return TRUE; } - // did we find the parent TID we were looking for? + // Did we find the parent TID we were looking for? if (isset($conf['vid_' . $vid][$term->tid])) { // YES, we're done! return TRUE; } // Nope, we didn't find it. - // If this is the top of the hierarchy, stop scanning. - if ($term->term_parent==0) { + if ($term->term_parent == 0) { break; } - // update the parent, and keep scanning. + // Update the parent, and keep scanning. $current_term = $term->term_parent; } @@ -157,7 +155,7 @@ function ctools_term_has_parent_ctools_access_check($conf, $context) { * Provide a summary description based upon the checked terms. */ function ctools_term_has_parent_ctools_access_summary($conf, $context) { - $vid = (int)$conf['vid']; + $vid = (int) $conf['vid']; $terms = array(); foreach ($conf['vid_' . $vid] as $tid) { $term = taxonomy_term_load($tid); @@ -167,6 +165,8 @@ function ctools_term_has_parent_ctools_access_summary($conf, $context) { return format_plural(count($terms), '@term can have the parent "@terms"', '@term can have one of these parents: @terms', - array('@terms' => implode(', ', $terms), - '@term' => $context->identifier)); + array( + '@terms' => implode(', ', $terms), + '@term' => $context->identifier, + )); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_parent.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_parent.inc index acbaf8720e1de6d45c900ca4f50476ae4bfbabb9..27375dfaf11f22121716b52f20cf8c9cc142106f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_parent.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_parent.inc @@ -22,7 +22,7 @@ $plugin = array( ); /** - * Settings form for the 'by parent term' access plugin + * Settings form for the 'by parent term' access plugin. */ function ctools_term_parent_ctools_access_settings($form, &$form_state, $conf) { // If no configuration was saved before, set some defaults. diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_vocabulary.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_vocabulary.inc index b003138dffdd3dd46bd680d2fd096e6e92f7e8c8..8e9a0cafbdb4c7356b639dd3aedaed43c7603f89 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_vocabulary.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/term_vocabulary.inc @@ -2,7 +2,7 @@ /** * @file - * Plugin to provide access control based upon term vocabulary + * Plugin to provide access control based upon term vocabulary. */ /** @@ -20,12 +20,12 @@ $plugin = array( 'required context' => new ctools_context_required(t('Vocabulary'), array( 'taxonomy_term', 'terms', - 'taxonomy_vocabulary' + 'taxonomy_vocabulary', )), ); /** - * Settings form for the 'by term_vocabulary' access plugin + * Settings form for the 'by term_vocabulary' access plugin. */ function ctools_term_vocabulary_ctools_access_settings($form, &$form_state, $conf) { $options = array(); @@ -101,7 +101,7 @@ function ctools_term_vocabulary_ctools_access_summary($conf, $context) { return format_plural(count($names), '@identifier vocabulary is "@machine_names"', '@identifier vocabulary is one of "@machine_names"', array( '@machine_names' => implode(', ', $names), - '@identifier' => $context->identifier + '@identifier' => $context->identifier, )); } @@ -123,5 +123,3 @@ function _ctools_term_vocabulary_ctools_access_map_vids(&$conf) { } } } - - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/access/theme.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/access/theme.inc index 4f4be6ded916560a7da8873db4d1237aa4cc580d..67e3e6f07461df164faa3ba0355d624d5ad92471 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/access/theme.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/access/theme.inc @@ -19,7 +19,7 @@ $plugin = array( ); /** - * Settings form for the 'by theme' access plugin + * Settings form for the 'by theme' access plugin. */ function ctools_theme_ctools_access_settings($form, &$form_state, $conf) { $themes = array(); @@ -44,10 +44,10 @@ function ctools_theme_ctools_access_check($conf, $context) { if (!empty($GLOBALS['theme'])) { $theme = $GLOBALS['theme']; } - else if (!empty($GLOBALS['custom_theme'])) { + elseif (!empty($GLOBALS['custom_theme'])) { $theme = $GLOBALS['custom_theme']; } - else if (!empty($GLOBALS['user']->theme)) { + elseif (!empty($GLOBALS['user']->theme)) { $theme = $GLOBALS['user']->theme; } else { diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/entity_id.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/entity_id.inc index 3063fefd25677721c959322fdd91e7c784112a2c..73bfe1e1bc63209cf2fcf478b5feee3e09016924 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/entity_id.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/entity_id.inc @@ -2,7 +2,6 @@ /** * @file - * * Plugin to provide an argument handler for all entity ids. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/nid.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/nid.inc index 9aaec0e1fa056babfb459ef53360791d74cc4f12..cbb56d3ebfa2d9ce36f46846408d4098e60245ad 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/nid.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/nid.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a node id + * Plugin to provide an argument handler for a node id. */ /** @@ -47,4 +46,3 @@ function ctools_argument_nid_context($arg = NULL, $conf = NULL, $empty = FALSE) return ctools_context_create('node', $node); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_add.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_add.inc index c811311b0207a76887dc319f4571e7b0edb41c70..f249a945c57f318d6abfb6189923dee9c1841e7a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_add.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_add.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a Node add form + * Plugin to provide an argument handler for a Node add form. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("Node add form: node type"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'node_type', 'description' => t('Creates a node add form context from a node type argument.'), 'context' => 'ctools_node_add_context', @@ -29,4 +28,3 @@ function ctools_node_add_context($arg = NULL, $conf = NULL, $empty = FALSE) { return ctools_context_create('node_add_form', $arg); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_edit.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_edit.inc index c7cdf29e83e8ff1fc3b289ee3331292dae32b2a7..8bd076895a01887e11a14518d68d7460ca0684be 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_edit.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/node_edit.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a Node edit form + * Plugin to provide an argument handler for a Node edit form. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("Node edit form: node ID"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'node', 'description' => t('Creates a node edit form context from a node ID argument.'), 'context' => 'ctools_node_edit_context', @@ -48,4 +47,3 @@ function ctools_node_edit_context($arg = NULL, $conf = NULL, $empty = FALSE) { // This will perform a node_access check, so we don't have to. return ctools_context_create('node_edit_form', $node); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/rid.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/rid.inc index 2661153b24946fbf2f33b472338962e486f401ed..d0cc30c40306f89a56651944988a81df4bc5ed0a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/rid.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/rid.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a node revision id + * Plugin to provide an argument handler for a node revision id. */ /** @@ -47,4 +46,3 @@ function ctools_argument_rid_context($arg = NULL, $conf = NULL, $empty = FALSE) return ctools_context_create('node', $node); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/string.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/string.inc index ed4ffbb63a47cfe290667dd67aeaf6d9ad8a2ad3..005e40eab31acf5ec5b4ac642c26efdc2754e0ab 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/string.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/string.inc @@ -2,16 +2,16 @@ /** * @file - * - * Plugin to provide an argument handler for a raw string + * Plugin to provide an argument handler for a raw string. */ + /** * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ $plugin = array( 'title' => t("String"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'string', 'description' => t('A string is a minimal context that simply holds a string that can be used for some other purpose.'), 'settings form' => 'ctools_string_settings_form', @@ -20,7 +20,8 @@ $plugin = array( '#type' => 'textfield', '#description' => t('Enter a value for this argument'), ), - 'path placeholder' => 'ctools_string_path_placeholder', // This is in pagemanager. +// This is in pagemanager. + 'path placeholder' => 'ctools_string_path_placeholder', ); /** @@ -39,7 +40,7 @@ function ctools_string_context($arg = NULL, $conf = NULL, $empty = FALSE) { } /** - * Settings form for the argument + * Settings form for the argument. */ function ctools_string_settings_form(&$form, &$form_state, $conf) { $form['settings']['use_tail'] = array( @@ -48,7 +49,6 @@ function ctools_string_settings_form(&$form, &$form_state, $conf) { '#default_value' => !empty($conf['use_tail']), '#description' => t('If checked, this string will include all arguments. For example, if the path is "path/%" and the user visits "path/foo/bar", if this is not checked the string will be "foo". If it is checked the string will be "foo/bar".'), ); -// return $form; } /** @@ -61,4 +61,4 @@ function ctools_string_path_placeholder($argument) { else { return '%pm_arg_tail'; } -} \ No newline at end of file +} diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/term.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/term.inc index 65c87ac72ffc63bc655b06ac4a0d409ed422e9c0..f72e93da62f418f16c41aba72306f68cc26a40f5 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/term.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/term.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a Taxonomy term + * Plugin to provide an argument handler for a Taxonomy term. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("Taxonomy term: ID"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'term', 'description' => t('Creates a single taxonomy term from a taxonomy ID or taxonomy term name.'), 'context' => 'ctools_term_context', @@ -67,7 +66,7 @@ function ctools_term_context($arg = NULL, $conf = NULL, $empty = FALSE) { foreach ($vocabularies as $machine_name) { if ($potential->vocabulary_machine_name == $machine_name) { $term = $potential; - // break out of the foreaches AND the case + // Break out of the foreaches AND the case. break 3; } } @@ -92,7 +91,7 @@ function ctools_term_context($arg = NULL, $conf = NULL, $empty = FALSE) { } /** - * Settings form for the argument + * Settings form for the argument. */ function ctools_term_settings_form(&$form, &$form_state, $conf) { // @todo allow synonym use like Views does. @@ -137,10 +136,9 @@ function ctools_term_settings_form(&$form, &$form_state, $conf) { '#type' => 'checkbox', '#default_value' => !empty($conf['transform']), ); -// return $form; } -function ctools_term_settings_form_validate (&$form, &$form_state) { +function ctools_term_settings_form_validate(&$form, &$form_state) { // Filter the selected vocabularies to avoid storing redundant data. $vocabularies = array_filter($form_state['values']['settings']['vocabularies']); form_set_value($form['settings']['vocabularies'], $vocabularies, $form_state); @@ -157,6 +155,7 @@ function ctools_term_ctools_argument_placeholder($conf) { '#type' => 'textfield', '#description' => t('Enter a taxonomy term ID.'), ); + case 'term': return array( '#type' => 'textfield', @@ -190,13 +189,14 @@ function ctools_term_breadcrumb($conf, $context) { * * @param array $vids * Array of either vids. + * * @return array * A keyed array of machine names. */ function _ctools_term_vocabulary_machine_name_convert($vids) { $vocabularies = taxonomy_vocabulary_load_multiple($vids); $return = array(); - foreach($vocabularies as $vocabulary) { + foreach ($vocabularies as $vocabulary) { $return[$vocabulary->machine_name] = $vocabulary->machine_name; } return $return; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/terms.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/terms.inc index d31f28de31dac21d062682028640f02d17761732..b816e1cbe4d61b8642c77fea31b741089a48ac7f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/terms.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/terms.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a Taxonomy term + * Plugin to provide an argument handler for a Taxonomy term. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("Taxonomy term (multiple): ID"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'term', 'description' => t('Creates a group of taxonomy terms from a list of tids separated by a comma or a plus sign. In general the first term of the list will be used for panes.'), 'context' => 'ctools_terms_context', @@ -45,7 +44,7 @@ function ctools_terms_context($arg = NULL, $conf = NULL, $empty = FALSE) { } /** - * Settings form for the argument + * Settings form for the argument. */ function ctools_terms_settings_form(&$form, &$form_state, $conf) { $form['settings']['breadcrumb'] = array( @@ -54,7 +53,6 @@ function ctools_terms_settings_form(&$form, &$form_state, $conf) { '#default_value' => !empty($conf['breadcrumb']), '#description' => t('If checked, taxonomy term parents will appear in the breadcrumb trail.'), ); -// return $form; } /** diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/uid.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/uid.inc index f9d5315cc326f79e87ba519de20b054971250289..c6ca3cccb64858881a3a3e91d9f2b1b7aaa556f1 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/uid.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/uid.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a user id + * Plugin to provide an argument handler for a user id. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("User: ID"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'user', 'description' => t('Creates a user context from a user ID argument.'), 'context' => 'ctools_argument_uid_context', @@ -21,7 +20,8 @@ $plugin = array( '#description' => t('Enter the user ID of a user for this argument'), ), 'default' => array('to_arg' => TRUE), - 'path placeholder' => '%pm_uid_arg', // This is in pagemanager. +// This is in pagemanager. + 'path placeholder' => '%pm_uid_arg', 'path placeholder to_arg' => TRUE, 'no ui' => TRUE, ); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_edit.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_edit.inc index 32b2b812abca85465df138b4474321e9f7b4eebb..9c52b589c8083dfd010701272b71681152f2ca40 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_edit.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_edit.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a Taxonomy term + * Plugin to provide an argument handler for a Taxonomy term. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("User edit form: User ID"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'user', 'description' => t('Creates a user edit form context from a user ID argument.'), 'context' => 'ctools_user_edit_context', @@ -30,18 +29,18 @@ function ctools_user_edit_context($arg = NULL, $conf = NULL, $empty = FALSE) { if ($empty) { return ctools_context_create_empty('user_edit_form'); } - if(is_object($arg)){ + if (is_object($arg)) { return ctools_context_create('user_edit_form', $arg); } if (!is_numeric($arg)) { return FALSE; } - $account= user_load($arg); + $account = user_load($arg); if (!$account) { return NULL; } // This will perform a node_access check, so we don't have to. return ctools_context_create('user_edit_form', $account); -} \ No newline at end of file +} diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_name.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_name.inc index f6f3b4635c5015903f6ab2510e66c8a88ba76208..ed74d9d846013be6059c5118fe152413a1cf3dfb 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_name.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/user_name.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a username + * Plugin to provide an argument handler for a username. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("User: name"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'user', 'description' => t('Creates a user context from a user name.'), 'context' => 'ctools_argument_user_name_context', @@ -42,6 +41,3 @@ function ctools_argument_user_name_context($arg = NULL, $conf = NULL, $empty = F } return ctools_context_create('user', $account); } - - - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/vid.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/vid.inc index 064b22d0a7be6b6ec4f938281402e18d16084619..db68acd787827cb403cfa90e76deac18a379a811 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/vid.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/arguments/vid.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide an argument handler for a vocabulary id + * Plugin to provide an argument handler for a vocabulary id. */ /** @@ -12,7 +11,7 @@ */ $plugin = array( 'title' => t("Vocabulary: ID"), - // keyword to use for %substitution + // Keyword to use for %substitution. 'keyword' => 'vocabulary', 'description' => t('Creates a vocabulary context from a vocabulary ID argument.'), 'context' => 'ctools_vid_context', @@ -43,4 +42,3 @@ function ctools_vid_context($arg = NULL, $conf = NULL, $empty = FALSE) { return ctools_context_create('vocabulary', $vocabulary); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/cache/export_ui.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/cache/export_ui.inc index 469edac83aa806d9e957fe0b757e6934306d356c..f21af10094bac0808907cfa881d4abc49dbd85d9 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/cache/export_ui.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/cache/export_ui.inc @@ -6,7 +6,7 @@ */ $plugin = array( - // cache plugins are the rare plugin types that have no real UI but + // Cache plugins are the rare plugin types that have no real UI but // we're providing a title just in case. 'title' => t('Export UI wizard cache'), 'cache get' => 'ctools_cache_export_ui_cache_get', @@ -14,10 +14,6 @@ $plugin = array( // Some operations use a 'finalize' but that really just means set // for us, since we're not using temporary storage for subsystems. 'cache finalize' => 'ctools_cache_export_ui_cache_set', - // @todo The API specifications say that a 'cache clear' callback is required, - // but there is none provided? - // @see cache.inc - // 'cache clear' => ??? ); function ctools_cache_export_ui_cache_get($plugin_name, $key) { diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/cache/simple.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/cache/simple.inc index 570398ba051e894302fc7ee4cc95d8e36c028451..c44d7983cca60ded9947c136db8e98558ae6befd 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/cache/simple.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/cache/simple.inc @@ -6,7 +6,7 @@ */ $plugin = array( - // cache plugins are the rare plugin types that have no real UI but + // Cache plugins are the rare plugin types that have no real UI but // we're providing a title just in case. 'title' => t('Simple'), 'cache get' => 'ctools_cache_simple_cache_get', diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/block/block.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/block/block.inc index 46b02e9e81556123c76a7e948cd3f7e892e7c94f..ff75c750458582a5d66afefbaea0ef56cde382c5 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/block/block.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/block/block.inc @@ -51,7 +51,7 @@ function ctools_block_content_type_content_types() { if ($module_blocks) { foreach ($module_blocks as $delta => $block) { $info = _ctools_block_content_type_content_type($module, $delta, $block); - // this check means modules can remove their blocks; particularly useful + // This check means modules can remove their blocks; particularly useful // if they offer the block some other way (like we do for views) if ($info) { $types["$module-$delta"] = $info; @@ -168,7 +168,7 @@ function ctools_block_content_type_render($subtype, $conf) { if ($module == 'block' && !empty($info) && isset($info->title)) { $block->title = $info->title; } - else if (isset($block->subject)) { + elseif (isset($block->subject)) { $block->title = $block->subject; } else { @@ -208,70 +208,6 @@ function ctools_block_content_type_edit_form_submit($form, &$form_state) { } } -/** - * Returns an edit form for a block. - */ -//function ctools_block_content_type_edit_form($id, $parents, $conf) { -// if (user_access('administer advanced pane settings')) { -// $form['block_visibility'] = array( -// '#type' => 'checkbox', -// '#title' => t('Use block visibility settings (see block config)'), -// '#default_value' => !empty($conf['block_visibility']), -// '#description' => t('If checked, the block visibility settings for this block will apply to this block.'), -// ); -// // Module-specific block configurations. -// if ($settings = module_invoke($module, 'block', 'configure', $delta)) { -// // Specifically modify a couple of core block forms. -// if ($module == 'block') { -// unset($settings['submit']); -// $settings['info']['#type'] = 'value'; -// $settings['info']['#value'] = $settings['info']['#default_value']; -// } -// ctools_admin_fix_block_tree($settings); -// $form['block_settings'] = array( -// '#type' => 'fieldset', -// '#title' => t('Block settings'), -// '#description' => t('Settings in this section are global and are for all blocks of this type, anywhere in the system.'), -// '#tree' => FALSE, -// ); -// -// -// $form['block_settings'] += $settings; -// } -// } -// -// return $form; -//} - -//function ctools_admin_submit_block(&$form_values) { -// if (!empty($form_values['block_settings'])) { -// module_invoke($form_values['module'], 'block', 'save', $form_values['delta'], $form_values['block_settings']); -// } -//} -// -///** -// * Because form api cannot collapse just part of a tree, and the block settings -// * assume no tree, we have to collapse the tree ourselves. -// */ -//function ctools_admin_fix_block_tree(&$form, $key = NULL) { -// if ($key) { -// if (!empty($form['#parents'])) { -// $form['#parents'] = array_merge(array('configuration', 'block_settings'), $form['#parents']); -// } -// else if (empty($form['#tree'])) { -// $form['#parents'] = array('configuration', 'block_settings', $key); -// } -// } -// -// if (isset($form['#type']) && $form['#type'] == 'textarea' && !empty($form['#rows']) && $form['#rows'] > 10) { -// $form['#rows'] = 10; -// } -// -// foreach (element_children($form) as $key) { -// ctools_admin_fix_block_tree($form[$key], $key); -// } -//} - /** * Returns the administrative title for a type. */ @@ -338,8 +274,10 @@ function ctools_default_block_info($module, $delta, &$info) { } } -// These are all on behalf of modules that don't implement ctools but that -// we care about. +/** + * These are all on behalf of modules that don't implement ctools but that + * we care about. + */ function menu_ctools_block_info($module, $delta, &$info) { $info['icon'] = 'icon_core_block_menu.png'; $info['category'] = t('Menus'); @@ -360,7 +298,7 @@ function forum_ctools_block_info($module, $delta, &$info) { break; default: - // safety net + // Safety net. ctools_default_block_info($module, $delta, $info); } } @@ -455,7 +393,7 @@ function user_ctools_block_info($module, $delta, &$info) { break; default: - // safety net + // Safety net. ctools_default_block_info($module, $delta, $info); } } @@ -508,7 +446,7 @@ function ctools_user_login_pane_render($subtype, $conf, $panel_args, $contexts) return; } - $info = new stdClass; + $info = new stdClass(); $info->module = $module; $info->delta = $delta; @@ -537,7 +475,7 @@ function ctools_user_login_pane_render($subtype, $conf, $panel_args, $contexts) if ($module == 'block') { $block->title = $info->title; } - else if (isset($block->subject)) { + elseif (isset($block->subject)) { $block->title = $block->subject; } else { diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_created.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_created.inc index 62944e7127a4e77b6a4ba112023c8b054fea5960..b3f454a61447b7783332ddde29c54efba3813e21 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_created.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_created.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Comment created date'), @@ -28,7 +30,7 @@ function ctools_comment_created_content_type_render($subtype, $conf, $panel_args $comment = $context->data; // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'comment_created'; $block->title = t('Created date'); $block->content = format_date($comment->created, $conf['format']); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_links.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_links.inc index fcca970333c21d9d0c3643b1c929584df15e3b92..ed454f9408063499e6a41b4947c310e04a8e4f73 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_links.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_links.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Comment links'), @@ -29,7 +31,7 @@ function ctools_comment_links_content_type_render($subtype, $conf, $panel_args, $comment = isset($context->data) ? clone $context->data : NULL; $block = new stdClass(); $block->module = 'comment'; - $block->delta = $comment->cid; + $block->delta = $comment->cid; if (empty($comment)) { $block->delta = 'placeholder'; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_reply_form.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_reply_form.inc index 11e48b2aecb5801c51e79644d9b92de9ec46d30f..a18ece9a3ae56132999108140d733582b8987814 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_reply_form.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/comment/comment_reply_form.inc @@ -14,12 +14,12 @@ if (module_exists('comment')) { 'icon' => 'icon_comment.png', 'description' => t('A form to add a new comment reply.'), 'required context' => array( - new ctools_context_required(t('Node'), 'node'), - new ctools_context_optional(t('Comment'), 'comment'), - ), + new ctools_context_required(t('Node'), 'node'), + new ctools_context_optional(t('Comment'), 'comment'), + ), 'category' => t('Comment'), 'render callback' => 'ctools_comment_reply_form_content_type_render', - 'defaults' => array('anon_links' => false), + 'defaults' => array('anon_links' => FALSE), ); } @@ -28,7 +28,9 @@ function ctools_comment_reply_form_content_type_render($subtype, $conf, $panel_a $comment = ($context[1]->identifier == t('No context')) ? NULL : clone $context[1]->data; $block = new stdClass(); $block->module = 'comments'; - if ($comment) $block->delta = $comment->cid; + if ($comment) { + $block->delta = $comment->cid; + } $block->title = t('Add comment'); $node = $context[0]->data; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/contact.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/contact.inc index 63283f598d46d1b9f90b16461e0763f93c6347c0..bac30c475092a0fd3bcce335ef66805386e1d73d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/contact.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/contact.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('contact')) { /** * Plugins are described by creating a $plugin array which will be used @@ -22,10 +26,10 @@ function ctools_contact_content_type_render($subtype, $conf, $panel_args, $conte return; } // Build the content type block. - $block = new stdClass(); - $block->module = 'contact'; - $block->delta = 'form'; - $block->title = t('Contact'); + $block = new stdClass(); + $block->module = 'contact'; + $block->delta = 'form'; + $block->title = t('Contact'); module_load_include('inc', 'contact', 'contact.pages'); $block->content = drupal_get_form('contact_site_form'); @@ -45,11 +49,6 @@ function ctools_contact_content_type_edit_form($form, &$form_state) { */ function ctools_contact_content_type_edit_form_submit($form, &$form_state) { // Copy everything from our defaults. -/* - foreach (array_keys($form_state['plugin']['defaults']) as $key) { - $form_state['conf'][$key] = $form_state['values'][$key]; - } -*/ } /** diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/user_contact.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/user_contact.inc index 9b3726ab8a018e389bfde04cb81b69a099f59689..5bd36572c13542c46858d271a280ff80900eb69a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/user_contact.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/contact/user_contact.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('contact')) { /** * Plugins are described by creating a $plugin array which will be used @@ -28,10 +32,10 @@ function ctools_user_contact_content_type_render($subtype, $conf, $panel_args, $ } // Build the content type block. - $block = new stdClass(); - $block->module = 'contact'; - $block->delta = 'form'; - $block->title = t('Contact @name', array('@name' => $context->data->name)); + $block = new stdClass(); + $block->module = 'contact'; + $block->delta = 'form'; + $block->title = t('Contact @name', array('@name' => $context->data->name)); module_load_include('inc', 'contact', 'contact.pages'); $block->content = drupal_get_form('contact_personal_form', $context->data); @@ -51,11 +55,6 @@ function ctools_user_contact_content_type_edit_form($form, &$form_state) { */ function ctools_user_contact_content_type_edit_form_submit(&$form, &$form_state) { // Copy everything from our defaults. -/* - foreach (array_keys($form_state['plugin']['defaults']) as $key) { - $form_state['conf'][$key] = $form_state['values'][$key]; - } -*/ } /** diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/custom/custom.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/custom/custom.inc index d9ac79f571785b3888c918460a3e9679947f7901..84fe3c551a227ba155b69757a7cd10f2c2e52e0c 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/custom/custom.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/custom/custom.inc @@ -178,12 +178,11 @@ function ctools_custom_content_type_render($subtype, $conf, $args, $contexts) { static $delta = 0; - $block = new stdClass(); - $block->subtype = ++$delta; - $block->title = filter_xss_admin($settings['title']); + $block = new stdClass(); + $block->subtype = ++$delta; + $block->title = filter_xss_admin($settings['title']); $block->title_heading = isset($settings['title_heading']) ? $settings['title_heading'] : 'h2'; - // Add keyword substitutions if we were configured to do so. $content = $settings['body']; if (!empty($contexts) && !empty($settings['substitute'])) { @@ -270,7 +269,8 @@ function ctools_custom_content_type_edit_form($form, &$form_state) { $form_state['settings'] = $settings; if ($settings['custom_type'] == 'fixed') { - return $form; // no form for this case. + // No form for this case. + return $form; } $form['admin_title'] = array( @@ -320,7 +320,7 @@ function ctools_custom_content_type_edit_form($form, &$form_state) { ); if (!empty($form_state['contexts'])) { - // Set extended description if both CCK and Token modules are enabled, notifying of unlisted keywords + // Set extended description if both CCK and Token modules are enabled, notifying of unlisted keywords. if (module_exists('content') && module_exists('token')) { $description = t('If checked, context keywords will be substituted in this content. Note that CCK fields may be used as keywords using patterns like <em>%node:field_name-formatted</em>.'); } @@ -417,7 +417,7 @@ function ctools_custom_content_type_edit_form_validate(&$form, &$form_state) { form_error($form['name'], t('Name is required.')); } - // Check for string identifier sanity + // Check for string identifier sanity. if (!preg_match('!^[a-z0-9_]+$!', $form_state['values']['name'])) { form_error($form['name'], t('The name can only consist of lowercase letters, underscores, and numbers.')); return; @@ -427,7 +427,7 @@ function ctools_custom_content_type_edit_form_validate(&$form, &$form_state) { return; } - // Check for name collision + // Check for name collision. if ($form_state['values']['name'] == 'custom' || (ctools_export_crud_load('ctools_custom_content', $form_state['values']['name']))) { form_error($form['name'], t('Content with this name already exists. Please choose another name or delete the existing item before creating a new one.')); } @@ -447,7 +447,7 @@ function ctools_custom_content_type_edit_form_submit($form, &$form_state) { } // If the 'reusable' checkbox was checked, we will create a new // custom content and give it the proper values. - else if (!empty($form_state['values']['reusable'])) { + elseif (!empty($form_state['values']['reusable'])) { $content = ctools_export_crud_new('ctools_custom_content'); $content->name = $form_state['values']['name']; _ctools_custom_content_type_edit_save($content, $form_state); @@ -455,7 +455,6 @@ function ctools_custom_content_type_edit_form_submit($form, &$form_state) { } else { // Otherwise, just save values into $conf normally. - foreach (array_keys($form_state['plugin']['defaults']) as $key) { $form_state['conf'][$key] = isset($form_state['values'][$key]) ? $form_state['values'][$key] : $form_state['plugin']['defaults'][$key]; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field.inc index 9a02d2e9c12b699c17c87c7bd39edafb8ae149c3..80d24ef1f06cee9167f7725024f7ca3ac7b870b0 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field.inc @@ -96,8 +96,8 @@ function ctools_entity_field_content_type_content_types() { } /** -* Render the custom content type. -*/ + * Render the custom content type. + */ function ctools_entity_field_content_type_render($subtype, $conf, $panel_args, $context) { if (empty($context) || empty($context->data)) { return; @@ -167,7 +167,7 @@ function ctools_entity_field_content_type_render($subtype, $conf, $panel_args, $ // Build the content type block. $block = new stdClass(); - $block->module = 'entity_field'; + $block->module = 'entity_field'; if ($conf['label'] == 'title' && isset($field_output['#title'])) { $block->title = $field_output['#title']; } @@ -186,8 +186,8 @@ function ctools_entity_field_content_type_substitute_keywords($markup, array $el } /** -* Returns an edit form for custom type settings. -*/ + * Returns an edit form for custom type settings. + */ function ctools_entity_field_content_type_formatter_options($form, &$form_state) { if (empty($form_state['conf']['formatter_settings'])) { $form_state['conf']['formatter_settings'] = array(); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field_extra.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field_extra.inc index 6a59ed4c634a9948bc9487a3ac5816ecddbdba34..efc7f4ff6754191aca37c30085630d233f72ff23 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field_extra.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/entity_context/entity_field_extra.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + $plugin = array( 'title' => t('Entity extra field'), 'defaults' => array('view_mode' => NULL), @@ -119,7 +123,7 @@ function ctools_entity_field_extra_content_type_render($subtype, $conf, $panel_a if (isset($entity->content[$field_name])) { // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'entity_field_extra'; $block->content = $entity->content[$field_name]; $block->delta = $id; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/entity_form_field.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/entity_form_field.inc index 62170ab064886f6a38cf7c4c31ee67f90fe50506..b4d833813841d387a242ce55e673f33d294af166 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/entity_form_field.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/entity_form_field.inc @@ -75,7 +75,7 @@ function ctools_entity_form_field_content_type_content_types() { } $content_types[$entity_type . ':' . $group_name]['types'][$type] = $bundle['label']; } - } + } } } } @@ -93,8 +93,8 @@ function ctools_entity_form_field_content_type_content_types() { } /** -* Render the custom content type. -*/ + * Render the custom content type. + */ function ctools_entity_form_field_content_type_render($subtype, $conf, $panel_args, $context) { if (empty($context) || empty($context->data)) { return; @@ -149,8 +149,8 @@ function ctools_entity_form_field_content_type_render($subtype, $conf, $panel_ar } /** -* Returns the administrative title for a type. -*/ + * Returns the administrative title for a type. + */ function ctools_entity_form_field_content_type_admin_title($subtype, $conf, $context) { list($entity_type, $field_name) = explode(':', $subtype, 2); @@ -165,6 +165,6 @@ function ctools_entity_form_field_content_type_admin_title($subtype, $conf, $con } function ctools_entity_form_field_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/form.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/form.inc index 73f7c780166e3afa0850b351bc91681d1457a027..ef8cc65ab7c961af526b866323fa517304243196 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/form.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/form/form.inc @@ -1,11 +1,13 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( - // only provides a single content type + // Only provides a single content type. 'single' => TRUE, 'render last' => TRUE, 'title' => t('General form'), @@ -43,7 +45,7 @@ function ctools_form_content_type_render($subtype, $conf, $panel_args, &$context $block->delta = $context->form_id; } else { - $block->title = t('Form'); + $block->title = t('Form'); $block->content = t('Form goes here.'); $block->delta = 'unknown'; } @@ -56,7 +58,7 @@ function ctools_form_content_type_admin_title($subtype, $conf, $context) { } function ctools_form_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to override title + // Provide a blank form so we have a place to override title // and stuff. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node/node.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node/node.inc index c49a71a63a81ac39f3ee77143a8db58926e2569f..a11412014256f36fe59a07f29e4a0d72fc73bf4f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node/node.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node/node.inc @@ -46,10 +46,10 @@ function ctools_node_content_type_render($subtype, $conf, $panel_args) { } } - // Support node translation + // Support node translation. if (module_exists('translation')) { if ($translations = module_invoke('translation', 'node_get_translations', $nid)) { - if (isset($translations[$GLOBALS['language']->language])) { + if (isset($translations[$GLOBALS['language']->language])) { $nid = $translations[$GLOBALS['language']->language]->nid; } } @@ -121,7 +121,6 @@ function ctools_node_content_type_edit_form($form, &$form_state) { '#description' => t('Check this box if you would like your pane title to link to the node.'), ); - if ($form_state['op'] == 'add') { $form['nid'] = array( '#prefix' => '<div class="no-float">', @@ -179,7 +178,7 @@ function ctools_node_content_type_edit_form($form, &$form_state) { /** * Validate the node selection. */ -function ctools_node_content_type_edit_form_validate(&$form, &$form_state) { +function ctools_node_content_type_edit_form_validate(&$form, &$form_state) { if ($form_state['op'] != 'add') { return; } @@ -205,7 +204,7 @@ function ctools_node_content_type_edit_form_validate(&$form, &$form_state) { } if (!($node || preg_match('/^[@%]\d+$/', $nid)) || - // Do not allow unpublished nodes to be selected by unprivileged users + // Do not allow unpublished nodes to be selected by unprivileged users. (empty($node->status) && !user_access('administer nodes'))) { form_error($form['nid'], t('Invalid node')); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_attachments.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_attachments.inc index 7142584a110eb16049548cc9e126dbe0a73b0bb1..2878e16d90ba7fdc2f6bb78c43688fd39d514c89 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_attachments.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_attachments.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Attached files'), @@ -38,7 +40,6 @@ function ctools_node_attachments_content_type_admin_title($subtype, $conf, $cont } function ctools_node_attachments_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_author.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_author.inc index e98ce5acc90263df28f694487dd3d881c23e9cde..04b387d6603d71c55bc933c6147058223fcf3f4d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_author.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_author.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node author'), @@ -29,7 +31,7 @@ function ctools_node_author_content_type_render($subtype, $conf, $panel_args, $c $user = user_load($node->uid); // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'node_author'; $block->title = t('Author'); $block->content = !empty($conf['link']) ? theme('username', array('account' => $user, 'link_path' => 'user/' . $node->uid)) : check_plain(format_username($node)); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_body.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_body.inc index 3e69560a28a75f6f3ffb4cd58e7054a915a5793f..032bc8e177faa6d84973a24c1579b92674d26f36 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_body.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_body.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node body'), @@ -28,7 +30,7 @@ function ctools_node_body_content_type_render($subtype, $conf, $panel_args, $con * Returns an edit form for custom type settings. */ function ctools_node_body_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_children.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_children.inc index a44ae2ba2461ec6c5892fb9dad44086d2a598641..21f65428a959cd9514480df0ab09abf6464884dd 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_children.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_children.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('book')) { /** * Plugins are described by creating a $plugin array which will be used @@ -38,6 +42,6 @@ function ctools_node_book_children_content_type_admin_title($subtype, $conf, $co } function ctools_node_book_children_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_menu.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_menu.inc index 0b4dc48a163dd26e14b74fed5ca1f59bd17b001f..b68707614ff785779845bb1e6ff44bc4b0648ced 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_menu.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_menu.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('book')) { /** * Plugins are described by creating a $plugin array which will be used @@ -61,16 +65,16 @@ function ctools_node_book_menu_content_type_render($subtype, $conf, $panel_args, elseif ($current_bid) { // Only display this block when the user is browsing a book. $select = db_select('node', 'n') - ->fields('n', array('title')) - ->condition('n.nid', $node->book['bid']) - ->addTag('node_access'); + ->fields('n', array('title')) + ->condition('n.nid', $node->book['bid']) + ->addTag('node_access'); $title = $select->execute()->fetchField(); // Only show the block if the user has view access for the top-level node. if ($title) { $tree = menu_tree_all_data($node->book['menu_name'], $node->book); // There should only be one element at the top level. $data = array_shift($tree); - // TODO: subject is not rendered + // TODO: subject is not rendered. $block->subject = theme('book_title_link', array('link' => $data['link'])); $block->content = ($data['below']) ? menu_tree_output($data['below']) : ''; } @@ -92,7 +96,7 @@ function ctools_node_book_menu_content_type_edit_form($form, &$form_state) { // Grab block form from the book module. $block_form = book_block_configure($delta = ''); // TODO: this does not work yet. - // See TODO in: ctools_node_book_menu_content_type_render + // See TODO in: ctools_node_book_menu_content_type_render. if (isset($form_state['input']['book_block_mode'])) { $block_form['book_block_mode']['#default_value'] = $form_state['input']['book_block_mode']; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_nav.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_nav.inc index ca108d8145be7fa343d91ee67dea8dfdb6d83b38..d7a284b614958177c95cc9a95b3e9ac045f908d6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_nav.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_book_nav.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('book')) { /** * Plugins are described by creating a $plugin array which will be used @@ -38,6 +42,6 @@ function ctools_node_book_nav_content_type_admin_title($subtype, $conf, $context } function ctools_node_book_nav_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_form.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_form.inc index e492de418e654d34b27c98e927d3cf233902fe6e..ff34e4b5281b662f74dbfdee89f51344f95fd62e 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_form.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_form.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('comment')) { /** * Plugins are described by creating a $plugin array which will be used @@ -23,7 +27,7 @@ function ctools_node_comment_form_content_type_render($subtype, $conf, $panel_ar $node = clone $context->data; $block = new stdClass(); $block->module = 'comments'; - $block->delta = $node->nid; + $block->delta = $node->nid; $block->title = t('Add comment'); if ($node->comment == COMMENT_NODE_OPEN) { @@ -42,7 +46,7 @@ function ctools_node_comment_form_content_type_render($subtype, $conf, $panel_ar ); $block->content = drupal_build_form('comment_node_' . $node->type . '_form', $form_state); } - else if (!empty($conf['anon_links'])) { + elseif (!empty($conf['anon_links'])) { $block->content = theme('comment_post_forbidden', array('node' => $node)); } } @@ -75,4 +79,3 @@ function ctools_node_comment_form_content_type_edit_form_submit($form, &$form_st $form_state['conf'][$key] = $form_state['values'][$key]; } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_wrapper.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_wrapper.inc index 657a9e751cdbd8b54d1fa2d3b210307662231118..4bdb3fc4da8097553b4f52a027aba5a80cc1852f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_wrapper.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comment_wrapper.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('comment')) { /** * Plugins are described by creating a $plugin array which will be used @@ -26,7 +30,7 @@ function ctools_node_comment_wrapper_content_type_render($subtype, $conf, $panel $node = isset($context->data) ? clone $context->data : NULL; $block = new stdClass(); $block->module = 'comments'; - $block->delta = $node->nid; + $block->delta = $node->nid; $renderable = array( '#theme' => 'comment_wrapper__node_' . $node->type, @@ -65,7 +69,7 @@ function ctools_node_comment_wrapper_content_type_render($subtype, $conf, $panel ); $renderable['comment_form'] = drupal_build_form('comment_node_' . $node->type . '_form', $form_state); } - else if (!empty($conf['anon_links'])) { + elseif (!empty($conf['anon_links'])) { $renderable['comment_form'] = theme('comment_post_forbidden', array('node' => $node)); } } @@ -90,7 +94,8 @@ function ctools_node_comment_wrapper_content_type_edit_form($form, &$form_state) foreach (_comment_per_page() as $i) { $options[$i] = t('!a comments per page', array('!a' => $i)); } - $form['comments_per_page'] = array('#type' => 'select', + $form['comments_per_page'] = array( + '#type' => 'select', '#title' => t('Pager'), '#default_value' => $conf['comments_per_page'], '#options' => $options, diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comments.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comments.inc index 90006604ab7173ec660f51213b07b66e5c3a964a..7453e79629c6a9338a17068acc1145c760cec39b 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comments.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_comments.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('comment')) { /** * Plugins are described by creating a $plugin array which will be used @@ -26,7 +30,7 @@ function ctools_node_comments_content_type_render($subtype, $conf, $panel_args, $node = clone $context->data; $block = new stdClass(); $block->module = 'comments'; - $block->delta = $node->nid; + $block->delta = $node->nid; $block->title = t('Comments'); if ($node->comment) { @@ -48,7 +52,8 @@ function ctools_node_comments_content_type_edit_form($form, &$form_state) { foreach (_comment_per_page() as $i) { $options[$i] = t('!a comments per page', array('!a' => $i)); } - $form['comments_per_page'] = array('#type' => 'select', + $form['comments_per_page'] = array( + '#type' => 'select', '#title' => t('Pager'), '#default_value' => $conf['comments_per_page'], '#options' => $options, diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_content.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_content.inc index 45deeafe4d39bf116ac6851a2459ff430f2e11a3..ba873ed78da39e80ebe33c72f4e02e1b03522cd2 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_content.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_content.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node content'), @@ -27,18 +29,18 @@ $plugin = array( * Render the node content. */ function ctools_node_content_content_type_render($subtype, $conf, $panel_args, $context) { - if (!empty($context) && ( empty($context->data) || empty($context->data->nid)) ){ + if (!empty($context) && (empty($context->data) || empty($context->data->nid))) { return; } $node = isset($context->data) ? clone $context->data : NULL; $block = new stdClass(); $block->module = 'node'; - $block->delta = $node->nid; + $block->delta = $node->nid; if (empty($node)) { $block->delta = 'placeholder'; - $block->title = t('Node title.'); + $block->title = t('Node title.'); $block->content = t('Node content goes here.'); } else { @@ -86,7 +88,7 @@ function ctools_node_content_render_node($node, $conf) { $links['node-readmore'] = array( 'title' => t('Read more'), 'href' => 'node/' . $node->nid, - 'attributes' => array('rel' => 'tag', 'title' => strip_tags($node->title)) + 'attributes' => array('rel' => 'tag', 'title' => strip_tags($node->title)), ); } @@ -201,4 +203,3 @@ function ctools_node_content_content_type_edit_form_submit($form, &$form_state) function ctools_node_content_content_type_admin_title($subtype, $conf, $context) { return t('"@s" content', array('@s' => $context->identifier)); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_created.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_created.inc index eff700cd56cb82e60ab027ad0175fcb561fc9b69..da3fbf8bdc3a68ce6a0eac56ef591b0162de926e 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_created.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_created.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node created date'), @@ -20,7 +22,7 @@ $plugin = array( * Render the custom content type. */ function ctools_node_created_content_type_render($subtype, $conf, $panel_args, $context) { - if (!empty($context) && ( empty($context->data) || empty($context->data->nid)) ){ + if (!empty($context) && (empty($context->data) || empty($context->data->nid))) { return; } @@ -28,7 +30,7 @@ function ctools_node_created_content_type_render($subtype, $conf, $panel_args, $ $node = $context->data; // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'node_created'; $block->title = t('Created date'); $block->content = format_date($node->created, $conf['format']); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_links.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_links.inc index 96d7a5a9053700ec62e61bfef2f248ebaf83925c..384fb639f15fe530374e7528c49ec3796b033a7b 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_links.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_links.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node links'), @@ -32,7 +34,7 @@ function ctools_node_links_content_type_render($subtype, $conf, $panel_args, $co $node = isset($context->data) ? clone $context->data : NULL; $block = new stdClass(); $block->module = 'node'; - $block->delta = $node->nid; + $block->delta = $node->nid; if (empty($node)) { $block->delta = 'placeholder'; @@ -102,4 +104,3 @@ function ctools_node_links_content_type_edit_form_submit($form, &$form_state) { function ctools_node_links_content_type_admin_title($subtype, $conf, $context) { return t('"@s" links', array('@s' => $context->identifier)); } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_terms.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_terms.inc index f6e7aec33ab514bdf34915c1dec3a668a355f9a6..e910e4c7c371f806f7490a956709f5d39270d779 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_terms.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_terms.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node terms'), @@ -30,7 +32,7 @@ function ctools_node_terms_content_type_render($subtype, $conf, $panel_args, $co // Get a shortcut to the node. $node = $context->data; - // Load all terms for this node from all vocabularies + // Load all terms for this node from all vocabularies. $query = db_select('taxonomy_index', 't'); $result = $query ->fields('t') @@ -38,22 +40,22 @@ function ctools_node_terms_content_type_render($subtype, $conf, $panel_args, $co ->execute(); $tids = array(); - foreach ($result AS $term) { + foreach ($result as $term) { $tids[] = $term->tid; } - // Get the real term objects + // Get the real term objects. $term_objects = taxonomy_term_load_multiple($tids); $terms = array(); if (empty($conf['vid'])) { // All terms. - foreach ($term_objects AS $term) { + foreach ($term_objects as $term) { $terms['taxonomy_term_' . $term->tid] = array( 'title' => check_plain($term->name), 'href' => 'taxonomy/term/' . $term->tid, - 'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description)) + 'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description)), ); } } @@ -106,7 +108,7 @@ function ctools_node_terms_content_type_render($subtype, $conf, $panel_args, $co } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'node_terms'; $block->delta = $node->nid; $block->title = t('Terms'); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_title.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_title.inc index 461287bb4ec3ce70806f2b82e937cf27d00c12b1..6956c2f23acde172b4bb5f58102f370e84c0d9da 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_title.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_title.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node title'), @@ -23,7 +25,7 @@ $plugin = array( * Render the custom content type. */ function ctools_node_title_content_type_render($subtype, $conf, $panel_args, $context) { - if (!empty($context) && ( empty($context->data) || empty($context->data->nid)) ){ + if (!empty($context) && (empty($context->data) || empty($context->data->nid))) { return; } @@ -33,10 +35,10 @@ function ctools_node_title_content_type_render($subtype, $conf, $panel_args, $co // Load information about the node type. $type = node_type_get_type($node); - // Generate the title + // Generate the title. $content = !empty($conf['link']) ? l($node->title, 'node/' . $node->nid) : check_plain($node->title); - // Build any surrounding markup if so configured + // Build any surrounding markup if so configured. if (isset($conf['markup']) && $conf['markup'] != 'none') { $markup = '<' . $conf['markup']; if (!empty($conf['id'])) { @@ -50,7 +52,7 @@ function ctools_node_title_content_type_render($subtype, $conf, $panel_args, $co } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'node_title'; $block->title = $type->title_label; $block->content = $content; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_type_desc.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_type_desc.inc index b432c55a8c465cc196f9ff6d65a17aedcba9bd79..0694c539e2ead65d3626fe0599d3e6874b87a7f5 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_type_desc.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_type_desc.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node type description'), @@ -23,13 +25,13 @@ function ctools_node_type_desc_content_type_render($subtype, $conf, $panel_args, $block->module = 'node_type'; if ($node) { - $type = node_type_get_type($node); - $block->title = $type->name; + $type = node_type_get_type($node); + $block->title = $type->name; $block->content = filter_xss_admin($type->description); $block->delta = $node->type; } else { - $block->title = t('Node type description'); + $block->title = t('Node type description'); $block->content = t('Node type description goes here.'); $block->delta = 'unknown'; } @@ -42,6 +44,6 @@ function ctools_node_type_desc_content_type_admin_title($subtype, $conf, $contex } function ctools_node_type_desc_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_updated.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_updated.inc index 60ac4b545bb8dbaf86f9efa788ed536cfe0cb42d..eb5066917c409d2c36cd204406f9c4465e3aca3d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_updated.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_context/node_updated.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Node last updated date'), @@ -28,7 +30,7 @@ function ctools_node_updated_content_type_render($subtype, $conf, $panel_args, $ $node = $context->data; // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'node_updated'; $block->title = t('Last updated date'); $block->content = format_date(!empty($node->changed) ? $node->changed : $node->created, $conf['format']); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_attachments.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_attachments.inc index 1e248f5005c73e93cf87cdc0c13f2e6ed2bdd66a..c55e0752d2366426df37c64176ba0098776ba032 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_attachments.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_attachments.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('upload')) { /** * Plugins are described by creating a $plugin array which will be used @@ -46,6 +50,6 @@ function ctools_node_form_attachments_content_type_admin_title($subtype, $conf, } function ctools_node_form_attachments_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_author.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_author.inc index 350df40a962d7a2e0f2c5bb42fc56d794ff6e4db..f9e937198307cee1a0b7cc734a93072bea656a0e 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_author.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_author.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'icon' => 'icon_node_form.png', @@ -47,6 +49,6 @@ function ctools_node_form_author_content_type_admin_title($subtype, $conf, $cont } function ctools_node_form_author_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_book.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_book.inc index ad19590f1701e254e41e53fb29babeffe5898250..af022bfd6976b07ed01604230a105dc9a7cc8700 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_book.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_book.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('book')) { /** * Plugins are described by creating a $plugin array which will be used @@ -45,6 +49,6 @@ function ctools_node_form_book_content_type_admin_title($subtype, $conf, $contex } function ctools_node_form_book_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_buttons.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_buttons.inc index b7ac9841dbdfc3b0f01722594b0571ec0f77a50b..560a01e4f1fffb9fc17b6c6e0e89f775bbd46ad8 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_buttons.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_buttons.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'icon' => 'icon_node_form.png', @@ -38,6 +40,6 @@ function ctools_node_form_buttons_content_type_admin_title($subtype, $conf, $con } function ctools_node_form_buttons_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_comment.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_comment.inc index d0f137ae7a08fa45a792ae2227b78a3afd68d6cb..352681cc61cf5fecf339c34d4bbf47f8b41b5083 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_comment.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_comment.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('comment')) { /** * Plugins are described by creating a $plugin array which will be used @@ -45,6 +49,6 @@ function ctools_node_form_comment_content_type_admin_title($subtype, $conf, $con } function ctools_node_form_comment_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_language.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_language.inc index 2043c1c52f0ade80b96149fc28021a6af66b9b81..76ab3f8248b633023b1a75e2078f775b2eb9c41f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_language.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_language.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'icon' => 'icon_node_form.png', @@ -36,6 +38,6 @@ function ctools_node_form_language_content_type_admin_title($subtype, $conf, $co } function ctools_node_form_language_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; -} \ No newline at end of file +} diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_log.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_log.inc index 334ff54004fbc73a6afe888ab5911aad20bcd65b..329ea89903f9cbf6be131c3d03bf49ea8caea26d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_log.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_log.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'icon' => 'icon_node_form.png', @@ -42,6 +44,6 @@ function ctools_node_form_log_content_type_admin_title($subtype, $conf, $context } function ctools_node_form_log_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_menu.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_menu.inc index 906ade4d7d475896643ee607156bbe8fa9777ec2..576dcd43897c698313c4a6451705d7ce98ad8dce 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_menu.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_menu.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('menu')) { /** * Plugins are described by creating a $plugin array which will be used @@ -45,6 +49,6 @@ function ctools_node_form_menu_content_type_admin_title($subtype, $conf, $contex } function ctools_node_form_menu_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_path.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_path.inc index a1e3cba03db106f137df24951f3b483692b02eca..9aeeba00af12b0285278275a233b74b114365824 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_path.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_path.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('path')) { /** * Plugins are described by creating a $plugin array which will be used @@ -46,6 +50,6 @@ function ctools_node_form_path_content_type_admin_title($subtype, $conf, $contex } function ctools_node_form_path_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_publishing.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_publishing.inc index e73cff21b600e856b02c515ae2f8511166d39bac..f8b92aec9b217a18feeb568c094b2b474df02ae2 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_publishing.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_publishing.inc @@ -49,6 +49,6 @@ function ctools_node_form_publishing_content_type_admin_title($subtype, $conf, $ } function ctools_node_form_publishing_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_title.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_title.inc index f40d274dec52ec83fac948a27e0585f68676e83a..2f58ee309e6f0e9c047f9f7923c2c13a9de829fb 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_title.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/node_form/node_form_title.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'icon' => 'icon_node_form.png', @@ -36,6 +38,6 @@ function ctools_node_form_title_content_type_admin_title($subtype, $conf, $conte } function ctools_node_form_title_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_help.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_help.inc index da1abe69f5fb5e8967cf49123f2c9067311b1252..dcba97d4803caf3907458949ce15e33de6efcba2 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_help.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_help.inc @@ -30,4 +30,3 @@ function ctools_page_help_content_type_render($subtype, $conf, $panel_args) { return $block; } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_messages.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_messages.inc index e2fe37b3574d67dc0e9d6adfe9d238ae5b0357a6..9a8bc74bfab4fee66db3ef649ec902d307517da6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_messages.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_messages.inc @@ -30,4 +30,3 @@ function ctools_page_messages_content_type_render($subtype, $conf, $panel_args) return $block; } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_tabs.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_tabs.inc index e88acd54fc393806a6fa156a512aa50758e1a8d2..6a2e9a7dc353a98a3f1a6b5ca68b41f8337562be 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_tabs.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/page/page_tabs.inc @@ -40,6 +40,7 @@ function ctools_page_tabs_content_type_render($subtype, $conf, $panel_args) { case 'primary': unset($menus['#secondary']); break; + case 'secondary': unset($menus['#primary']); break; @@ -54,7 +55,6 @@ function ctools_page_tabs_content_type_render($subtype, $conf, $panel_args) { return $block; } - function ctools_page_tabs_content_type_edit_form($form, &$form_state) { $conf = $form_state['conf']; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_form.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_form.inc index 2b6a322b1e647ef179ff1eea50a2cd2f095f6268..01671007772a9ba6543144b56246b778cb88de48 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_form.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_form.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('search')) { /** * Plugins are described by creating a $plugin array which will be used @@ -35,10 +39,10 @@ function ctools_search_form_content_type_render($subtype, $conf, $panel_args, $c } // Build the content type block. - $block = new stdClass(); - $block->module = 'search'; - $block->delta = 'form'; - $block->title = ''; + $block = new stdClass(); + $block->module = 'search'; + $block->delta = 'form'; + $block->title = ''; switch ($conf['path_type']) { default: @@ -49,6 +53,7 @@ function ctools_search_form_content_type_render($subtype, $conf, $panel_args, $c $path = $_GET['q']; $path = str_replace($keys, '', $path); break; + case 'custom': $path = $conf['path']; break; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_result.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_result.inc index 32037bdf50049c294f9cac5f9ba7e68d572ec505..fb88a0fe4c118a660864ebbc624938dede07404c 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_result.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/search/search_result.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('search')) { /** * Plugins are described by creating a $plugin array which will be used @@ -42,7 +46,7 @@ function ctools_search_result_content_type_render($subtype, $conf, $panel_args, $keys = $context->data; } - $conditions = NULL; + $conditions = NULL; if (isset($info['conditions_callback']) && function_exists($info['conditions_callback'])) { // Build an optional array of more search conditions. $conditions = $info['conditions_callback']($keys); @@ -59,9 +63,9 @@ function ctools_search_result_content_type_render($subtype, $conf, $panel_args, } // Build the content type block. - $block = new stdClass(); - $block->module = 'search'; - $block->delta = 'result'; + $block = new stdClass(); + $block->module = 'search'; + $block->delta = 'result'; $results = ''; @@ -160,7 +164,6 @@ function ctools_search_result_content_type_edit_form($form, &$form_state) { '#title' => t('Display text if no search keywords were submitted'), ); - $form['no_key_title'] = array( '#title' => t('Title'), '#type' => 'textfield', diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_description.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_description.inc index b1a231c13a35f2f04fae4cca730b894ddb4549dd..6367075b18a3f44911a8d9e2ccd35b51b4b238c1 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_description.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_description.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Term description'), @@ -46,6 +48,6 @@ function ctools_term_description_content_type_admin_title($subtype, $conf, $cont } function ctools_term_description_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_list.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_list.inc index b76ca1c9b59ff1863d86998754d5c2a9797de02e..a5330749e0a5208d24aae143f21db603572faa2c 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_list.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_list.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('List of related terms'), @@ -40,7 +42,7 @@ function ctools_term_list_content_type_render($subtype, $conf, $panel_args, $con $block->delta = $conf['type']; switch ($conf['type']) { case 'related': - // FIXME this no longer exists, must be done with Field API + // @todo this no longer exists, must be done with Field API. // $terms = taxonomy_get_related($term->tid); break; @@ -78,7 +80,7 @@ function ctools_term_list_content_type_render($subtype, $conf, $panel_args, $con case 'synonyms': // FIXME this no longer exists, must be done with Field API -// $terms = taxonomy_get_synonyms($term->tid); + // $terms = taxonomy_get_synonyms($term->tid);. break; } @@ -169,4 +171,3 @@ function ctools_term_list_content_type_edit_form_submit($form, &$form_state) { $form_state['conf'][$key] = $form_state['values'][$key]; } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_name.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_name.inc index a9a88764f27e27acd82cdad963f5d7dea7e9f490..ec30be4d90100834f60bee5dcc97f88345a491e6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_name.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/term_context/term_name.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('Term name'), @@ -19,7 +21,6 @@ $plugin = array( ), ); - /** * Render the custom content type. */ @@ -34,10 +35,10 @@ function ctools_term_name_content_type_render($subtype, $conf, $panel_args, $con // Load the vocabulary. $vocab = taxonomy_vocabulary_load($term->vid); - // Generate the title + // Generate the title. $content = !empty($conf['link']) ? l($term->name, 'taxonomy/term/' . $term->tid) : check_plain($term->name); - // Build any surrounding markup if so configured + // Build any surrounding markup if so configured. if (isset($conf['markup']) && $conf['markup'] != 'none') { $markup = '<' . $conf['markup']; if (!empty($conf['id'])) { @@ -51,7 +52,7 @@ function ctools_term_name_content_type_render($subtype, $conf, $panel_args, $con } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'term_name'; $block->title = t('Name'); $block->content = $content; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/token/token.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/token/token.inc index 7b6f7fcd51faa04a6db7122e84c142234ce49e90..32026d852e5e64f0c7a68e6053114630813baea6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/token/token.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/token/token.inc @@ -62,8 +62,8 @@ function ctools_token_content_type_content_types() { } /** -* Render the custom content type. -*/ + * Render the custom content type. + */ function ctools_token_content_type_render($subtype, $conf, $panel_args, $context) { if (empty($context) || empty($context->data)) { return FALSE; @@ -81,7 +81,7 @@ function ctools_token_content_type_render($subtype, $conf, $panel_args, $context } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'ctools'; $block->title = $info['tokens'][$entity_type][$name]['name']; $block->content = $values[$name]; @@ -91,8 +91,8 @@ function ctools_token_content_type_render($subtype, $conf, $panel_args, $context } /** -* Returns an edit form for custom type settings. -*/ + * Returns an edit form for custom type settings. + */ function ctools_token_content_type_edit_form($form, &$form_state) { $conf = $form_state['conf']; @@ -113,10 +113,9 @@ function ctools_token_content_type_edit_form_submit($form, &$form_state) { $form_state['conf']['sanitize'] = $form_state['values']['sanitize']; } - /** -* Returns the administrative title for a type. -*/ + * Returns the administrative title for a type. + */ function ctools_token_content_type_admin_title($subtype, $conf, $context) { return t('"@s" @name', array('@s' => $context->identifier, '@name' => $subtype)); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields.inc index 1132bb73d11442e5bdf4a7c89303d0282225a7b6..019715fba82fc3f1f51eda829f7c206aa44212ba 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('profile') && !(defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'update') && !is_null(profile_user_categories())) { /** * Plugins are described by creating a $plugin array which will be used @@ -26,13 +30,13 @@ function ctools_profile_fields_content_type_render($subtype, $conf, $panel_args, $block->module = 'profile fields'; if ($account) { - // Get the category from the options + // Get the category from the options. $category = str_replace("_", " ", $conf['category']); - // Set the subject to the name of the category + // Set the subject to the name of the category. $block->subject = $category; - // Put all the fields in the category into an array + // Put all the fields in the category into an array. profile_view_profile($account); if (is_array($account->content[$category])) { @@ -46,11 +50,11 @@ function ctools_profile_fields_content_type_render($subtype, $conf, $panel_args, } if (count($vars) == 0) { - // Output the given empty text + // Output the given empty text. $output = $conf['empty']; } else { - // Call the theme function with the field vars + // Call the theme function with the field vars. $output = theme('profile_fields_pane', $category, $vars); } @@ -65,6 +69,7 @@ function ctools_profile_fields_content_type_render($subtype, $conf, $panel_args, return $block; } + /** * Helper function : build the list of categories for the 'edit' form. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields_pane.tpl.php b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields_pane.tpl.php index 373681213aacea3506e5ca2ab2ebdf767d1e6b54..bac10ce9af12e7268612c9f8e9f52e742f8e6148 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields_pane.tpl.php +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/profile_fields_pane.tpl.php @@ -1,4 +1,5 @@ <?php + /** * @file * Display profile fields. diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_links.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_links.inc index 4a93621d79d9318083b20ff84338333d78e41d3a..85ecf8772ea5ef033790de49b27d191e6147f612 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_links.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_links.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('User links'), @@ -29,7 +31,7 @@ function ctools_user_links_content_type_render($subtype, $conf, $panel_args, $co $account = clone $context->data; $block = new stdClass(); $block->module = 'user'; - $block->delta = $account->uid; + $block->delta = $account->uid; if (empty($account)) { $block->delta = 'placeholder'; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_picture.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_picture.inc index 0934c20a5290f7c842718d2eb34dd6881de9237f..2d4d31bfe90bebf38ae147a837372a804a19e6bb 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_picture.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_picture.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('User picture'), @@ -22,7 +24,7 @@ function ctools_user_picture_content_type_render($subtype, $conf, $panel_args, $ $account = clone $context->data; - // Check if user has permissions to access the user + // Check if user has permissions to access the user. if ($user->uid != $account->uid && (!user_access('access user profiles') && !user_access('administer users'))) { return; } @@ -36,19 +38,18 @@ function ctools_user_picture_content_type_render($subtype, $conf, $panel_args, $ '#account' => $account, ); - $block->content = $element; return $block; } /** - * Display the administrative title for a panel pane in the drag & drop UI + * Display the administrative title for a panel pane in the drag & drop UI. */ function ctools_user_picture_content_type_admin_title($subtype, $conf, $context) { return t('"@s" user picture', array('@s' => $context->identifier)); } function ctools_user_picture_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_profile.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_profile.inc index ad8e1e0acc8f089633267238dd4aee9ab2a804e1..3a28ca3910f59623fea86e49e5d492386a763d65 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_profile.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_profile.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'single' => TRUE, 'title' => t('User profile'), @@ -84,4 +86,3 @@ function ctools_user_profile_content_type_edit_form($form, &$form_state) { function ctools_user_profile_content_type_edit_form_submit($form, &$form_state) { $form_state['conf']['view_mode'] = $form_state['values']['view_mode']; } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_signature.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_signature.inc index accb58e49eb49cd34be76910d0d0e18b329be192..6a8e7f634a369e45fe182fca3e33a962308bea01 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_signature.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/user_context/user_signature.inc @@ -1,9 +1,11 @@ <?php /** + * @file * Plugins are described by creating a $plugin array which will be used * by the system that includes this file. */ + $plugin = array( 'title' => t('User signature'), 'icon' => 'icon_user.png', @@ -31,13 +33,13 @@ function ctools_user_signature_content_type_render($subtype, $conf, $panel_args, } /** - * Display the administrative title for a panel pane in the drag & drop UI + * Display the administrative title for a panel pane in the drag & drop UI. */ function ctools_user_signature_content_type_admin_title($subtype, $conf, $context) { return t('"@s" user signature', array('@s' => $context->identifier)); } function ctools_user_signature_content_type_edit_form($form, &$form_state) { - // provide a blank form so we have a place to have context setting. + // Provide a blank form so we have a place to have context setting. return $form; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/vocabulary_context/vocabulary_terms.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/vocabulary_context/vocabulary_terms.inc index 171eddd8c26f86b79166eaead70102da114c9196..6a7f8ef8ece54da56fb89c3df7f6465582124e26 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/vocabulary_context/vocabulary_terms.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/content_types/vocabulary_context/vocabulary_terms.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + if (module_exists('taxonomy')) { /** * Plugins are described by creating a $plugin array which will be used @@ -22,7 +26,7 @@ if (module_exists('taxonomy')) { */ function ctools_vocabulary_terms_content_type_render($subtype, $conf, $panel_args, $context) { $vocab = isset($context->data) ? clone $context->data : NULL; - $max_depth = (!empty($conf['max_depth']) ? (int)$conf['max_depth'] : NULL); + $max_depth = (!empty($conf['max_depth']) ? (int) $conf['max_depth'] : NULL); if ($conf['tree'] == FALSE) { $terms = taxonomy_get_tree($vocab->vid, 0, $max_depth); $items = array(); @@ -35,9 +39,9 @@ function ctools_vocabulary_terms_content_type_render($subtype, $conf, $panel_arg $output = theme('item_list', array('items' => _ctools_content_vocabulary_terms($vocab->vid, $max_depth))); } - $block = new stdClass(); + $block = new stdClass(); $block->module = 'node_type'; - $block->title = check_plain($vocab->name); + $block->title = check_plain($vocab->name); $block->content = $output; $block->delta = $vocab->vid; @@ -97,4 +101,3 @@ function ctools_vocabulary_terms_content_type_edit_form_submit($form, &$form_sta $form_state['conf'][$key] = $form_state['values'][$key]; } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/entity.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/entity.inc index 278ad4e959d219d753cee63fbe9e57011b34c932..7a2b02417b9cbe81f691aed6c00cd0a92ecc7e79 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/entity.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/entity.inc @@ -2,7 +2,6 @@ /** * @file - * * Plugin to provide a node context. A node context is a node wrapped in a * context object that can be utilized by anything that accepts contexts. */ @@ -90,9 +89,9 @@ function ctools_context_create_entity($empty, $data = NULL, $conf = FALSE, $plug } if (!empty($data)) { - $context->data = $data; + $context->data = $data; if (!empty($entity['entity keys']['label'])) { - $context->title = $data->{$entity['entity keys']['label']}; + $context->title = $data->{$entity['entity keys']['label']}; } $context->argument = $id; @@ -161,7 +160,7 @@ function ctools_context_entity_settings_form($form, &$form_state) { * Validate a node. */ function ctools_context_entity_settings_form_validate($form, &$form_state) { - // Validate the autocomplete + // Validate the autocomplete. if (empty($form_state['values']['entity_id']) && empty($form_state['values']['entity'])) { form_error($form['entity'], t('You must select an entity.')); return; @@ -171,7 +170,7 @@ function ctools_context_entity_settings_form_validate($form, &$form_state) { return; } - $id = $form_state['values']['entity']; + $id = $form_state['values']['entity']; $preg_matches = array(); $match = preg_match('/\[id: (\d+)\]/', $id, $preg_matches); if (!$match) { diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/language.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/language.inc index eb7aec8583810b4c4dd55e677d80c324013ed8b2..e66f02a16f69a22f5d23da95126c1b3744840065 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/language.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/language.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Ctools context type plugin to hold the current language context. @@ -40,8 +41,8 @@ $plugin = array( * @return array * Array with all available settings. */ -function ctools_context_language_conf_defaults( $conf = array()) { - if ( ! is_array($conf) ) { +function ctools_context_language_conf_defaults($conf = array()) { + if (!is_array($conf)) { $conf = array( 'preset_langcode' => (string) $conf, ); @@ -136,7 +137,7 @@ function ctools_context_language_settings_form($form, &$form_state) { ); // Prepare language type options. - $language_type_options = drupal_map_assoc( language_types() ); + $language_type_options = drupal_map_assoc(language_types()); $language_type_options['preset'] = t('Custom'); $form['language_type'] = array( diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node.inc index 997cd1365ab43958c9acc96c1b5836bbe12dc5e9..156f7f83ef7fd5d5a9769c6578432a8c9a0234ec 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node.inc @@ -2,7 +2,6 @@ /** * @file - * * Plugin to provide a node context. A node context is a node wrapped in a * context object that can be utilized by anything that accepts contexts. */ @@ -106,7 +105,7 @@ function ctools_context_node_settings_form($form, &$form_state) { * Validate a node. */ function ctools_context_node_settings_form_validate($form, &$form_state) { - // Validate the autocomplete + // Validate the autocomplete. if (empty($form_state['values']['nid']) && empty($form_state['values']['node'])) { form_error($form['node'], t('You must select a node.')); return; @@ -133,7 +132,7 @@ function ctools_context_node_settings_form_validate($form, &$form_state) { $node = db_query('SELECT nid, status FROM {node} WHERE LOWER(title) = LOWER(:title)', array(':title' => $nid))->fetchObject(); } - // Do not allow unpublished nodes to be selected by unprivileged users + // Do not allow unpublished nodes to be selected by unprivileged users. if (!$node || (empty($node->status) && !(user_access('administer nodes')))) { form_error($form['node'], t('Invalid node selected.')); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_add_form.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_add_form.inc index f10944c24dd2805a50de1a19e009b62eafb95e5b..98640e257573171418dc4786a1cc133bdd53b894 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_add_form.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_add_form.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide a node_add_form context + * Plugin to provide a node_add_form context. */ /** @@ -65,8 +64,8 @@ function ctools_context_create_node_add_form($empty, $data = NULL, $conf = FALSE $form_state = array( 'want form' => TRUE, 'build_info' => array( - 'args' => array($node) - ) + 'args' => array($node), + ), ); // Use module_load_include so that caches and stuff can know to load this. @@ -81,10 +80,10 @@ function ctools_context_create_node_add_form($empty, $data = NULL, $conf = FALSE // These are specific pieces of data to this form. // All forms should place the form here. - $context->form = $form; - $context->form_id = $form_id; - $context->form_title = t('Submit @name', array('@name' => $types[$type]->name)); - $context->node_type = $type; + $context->form = $form; + $context->form_id = $form_id; + $context->form_title = t('Submit @name', array('@name' => $types[$type]->name)); + $context->node_type = $type; $context->restrictions['type'] = array($type); $context->restrictions['form'] = array('form'); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_edit_form.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_edit_form.inc index 7565f5c8f66d037ab0a57e4b8a291266cc4cc90f..5401ef6f148a403a497abc3f719f5b080eba6e95 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_edit_form.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/node_edit_form.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide a node_edit_form context + * Plugin to provide a node_edit_form context. */ /** @@ -32,7 +31,7 @@ $plugin = array( */ function ctools_context_create_node_edit_form($empty, $node = NULL, $conf = FALSE) { static $creating = FALSE; - $context = new ctools_context(array('form', 'node_edit', 'node_form', 'node_edit_form', 'node', 'entity:node')); + $context = new ctools_context(array('form', 'node_edit', 'node_form', 'node_edit_form', 'node', 'entity:node')); $context->plugin = 'node_edit_form'; if ($empty || ($creating)) { @@ -69,7 +68,7 @@ function ctools_context_create_node_edit_form($empty, $node = NULL, $conf = FALS $form = drupal_build_form($form_id, $form_state); - // Fill in the 'node' portion of the context + // Fill in the 'node' portion of the context. $context->data = $node; $context->title = isset($node->title) ? $node->title : ''; $context->argument = isset($node->nid) ? $node->nid : $node->type; @@ -126,7 +125,7 @@ function ctools_context_node_edit_form_settings_form($form, &$form_state) { * Validate a node. */ function ctools_context_node_edit_form_settings_form_validate($form, &$form_state) { - // Validate the autocomplete + // Validate the autocomplete. if (empty($form_state['values']['nid']) && empty($form_state['values']['node'])) { form_error($form['node'], t('You must select a node.')); return; @@ -153,7 +152,7 @@ function ctools_context_node_edit_form_settings_form_validate($form, &$form_stat $node = db_query('SELECT nid, status FROM {node} WHERE LOWER(title) = LOWER(:title)', array(':title' => $nid))->fetchObject(); } - // Do not allow unpublished nodes to be selected by unprivileged users + // Do not allow unpublished nodes to be selected by unprivileged users. if (!$node || (empty($node->status) && !(user_access('administer nodes')))) { form_error($form['node'], t('Invalid node selected.')); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/query_string.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/query_string.inc index e77c55fb2aeb1bb6042bca9584683b3ee040692e..23ade918b39859c38c85b42066a8a213c45a0f2a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/query_string.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/query_string.inc @@ -1,7 +1,7 @@ <?php /** - * @file query_string.inc + * @file * Context plugin that can extract arbitrary values from the query string. */ @@ -52,7 +52,7 @@ function ctools_context_query_string_settings_form($form, &$form_state) { '#title' => t('Query string key'), '#description' => t('Enter the key of the value that must be returned from the query string.'), '#type' => 'textfield', - '#required' => TRUE + '#required' => TRUE, ); if (isset($form_state['conf']['key'])) { $form['key']['#default_value'] = $form_state['conf']['key']; @@ -83,6 +83,7 @@ function ctools_context_query_string_convert($context, $type) { switch ($type) { case 'raw': return $context->data; + case 'html_safe': return check_plain($context->data); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/string.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/string.inc index e731ab74b4d8db9a9f93763690f7c3c786027798..981b9f7c76f4f169b37e510b8b8f03a57f34b975 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/string.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/string.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide a string context + * Plugin to provide a string context. */ /** @@ -38,7 +37,6 @@ $plugin = array( function ctools_context_create_string($empty, $data = NULL, $conf = FALSE) { // The input is expected to be an object as created by ctools_break_phrase // which contains a group of string. - $context = new ctools_context('string'); $context->plugin = 'string'; @@ -46,7 +44,7 @@ function ctools_context_create_string($empty, $data = NULL, $conf = FALSE) { return $context; } - if ($data !== FALSE ) { + if ($data !== FALSE) { // Support the array storage from the settings form but also handle direct input from arguments. $context->data = is_array($data) ? $data['string'] : $data; $context->title = ($conf) ? check_plain($data['identifier']) : check_plain($data); @@ -61,8 +59,10 @@ function ctools_context_string_convert($context, $type) { switch ($type) { case 'raw': return $context->data; + case 'html_safe': return check_plain($context->data); + case 'uppercase_words_html_safe': return ucwords(str_replace('-', ' ', check_plain($context->data))); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/term.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/term.inc index 1d6d48e6fa5cb9330e4d93aaec22f7aa2d513048..56fe06c22462ef87b65fb8290cdd7b94b3e9d563 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/term.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/term.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide a term context + * Plugin to provide a term context. */ /** @@ -116,7 +115,7 @@ function ctools_context_term_settings_form($form, &$form_state) { * Validate a term. */ function ctools_context_term_settings_form_validate($form, &$form_state) { - // Validate the autocomplete + // Validate the autocomplete. $vid = $form_state['values']['vid']; if (empty($form_state['values']['tid']) && empty($form_state['values']['taxonomy'][$vid])) { form_error($form['taxonomy'][$vid], t('You must select a term.')); @@ -154,12 +153,16 @@ function ctools_context_term_convert($context, $type) { switch ($type) { case 'tid': return $context->data->tid; + case 'name': return $context->data->name; + case 'name_dashed': return drupal_strtolower(str_replace(' ', '-', $context->data->name)); + case 'vid': return $context->data->vid; + case 'description': return $context->data->description; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/terms.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/terms.inc index 6c3ab3611e867e8dc96bd802fe607fd04c23dd4a..1161ded60fc71e7ea3f6237d708139936bb8c9bd 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/terms.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/terms.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide a terms context + * Plugin to provide a terms context. */ /** @@ -37,7 +36,6 @@ $plugin = array( function ctools_context_create_terms($empty, $data = NULL, $conf = FALSE) { // The input is expected to be an object as created by ctools_break_phrase // which contains a group of terms. - $context = new ctools_context(array('terms', 'entity:taxonomy_term')); $context->plugin = 'terms'; @@ -49,7 +47,7 @@ function ctools_context_create_terms($empty, $data = NULL, $conf = FALSE) { $context->operator = $data->operator; $context->tids = $data->value; if (!isset($data->term)) { - // load the first term: + // Load the first term: reset($context->tids); $data->term = taxonomy_term_load(current($context->tids)); } @@ -67,12 +65,16 @@ function ctools_context_terms_convert($context, $type) { switch ($type) { case 'tid': return $context->data->tid; + case 'tids': return $context->argument; + case 'name': return $context->data->name; + case 'name_dashed': return drupal_strtolower(str_replace(' ', '-', $context->data->name)); + case 'names': case 'names_dashed': // We only run this query if this item was requested: @@ -92,6 +94,7 @@ function ctools_context_terms_convert($context, $type) { } } return $context->names; + case 'vid': return $context->data->vid; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/token.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/token.inc index 3df4cc1f5260835038808ef79f23d7b16b8ef448..6286a697593d2f13310992b110880bd838bdbe93 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/token.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/token.inc @@ -2,7 +2,7 @@ /** * @file - * Provide a global context to allow for token support. + * Provide a global context to allow for token support. */ $plugin = array( @@ -38,7 +38,7 @@ function ctools_context_create_token($empty, $data = NULL, $conf = FALSE) { /** * Implementation of hook_ctools_context_convert_list(). * - * @return array|NULL + * @return array|null * An array of token type information, keyed by 'type:id', or NULL if * none found. */ @@ -68,10 +68,10 @@ function ctools_context_token_convert_list() { * @param string $token * The name of the token. * - * @return array|NULL + * @return array|null * The token value, or NULL if not found. * - * @see ctools_context_convert_context(). + * @see ctools_context_convert_context() */ function ctools_context_token_convert($context, $token) { $tokens = token_info(); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user.inc index 18781c7609a361170c1807564c39cd9016dd485d..362cfe3b12813db271ffb4e7f1317c2961d0925b 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide a user context + * Plugin to provide a user context. */ /** @@ -118,7 +117,7 @@ function ctools_context_user_settings_form_validate($form, &$form_state) { return; } - // Validate the autocomplete + // Validate the autocomplete. if (empty($form_state['values']['uid']) && empty($form_state['values']['user'])) { form_error($form['user'], t('You must select a user.')); return; diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user_edit_form.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user_edit_form.inc index a28c5990cfbdb712f05466db948b6e9abb35a880..61f234a4114f201154937c6cbb3ebec7f43bf71a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user_edit_form.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/user_edit_form.inc @@ -1,8 +1,8 @@ <?php + /** * @file - * - * Plugin to provide a user_edit_form context + * Plugin to provide a user_edit_form context. */ /** @@ -81,7 +81,7 @@ function ctools_context_create_user_edit_form($empty, $user = NULL, $conf = FALS $form = drupal_build_form($form_id, $form_state); - // Fill in the 'node' portion of the context + // Fill in the 'node' portion of the context. $context->data = $user; $context->title = isset($user->name) ? $user->name : ''; $context->argument = $user->uid; @@ -133,7 +133,7 @@ function ctools_context_user_edit_form_settings_form($form, &$form_state) { * Validate a node. */ function ctools_context_user_edit_form_settings_form_validate($form, &$form_state) { - // Validate the autocomplete + // Validate the autocomplete. if (empty($form_state['values']['uid']) && empty($form_state['values']['user'])) { form_error($form['user'], t('You must select a user.')); return; @@ -162,6 +162,7 @@ function ctools_context_user_edit_form_settings_form_validate($form, &$form_stat form_set_value($form['uid'], $user->uid, $form_state); } + function ctools_context_user_edit_form_settings_form_submit($form, &$form_state) { if ($form_state['values']['set_identifier']) { $user = user_load($form_state['values']['uid']); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/vocabulary.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/vocabulary.inc index 9c5d4cf79c3ea56025d44f64c90843a86eaad88a..e5b0b9c60a5cc11f9269ceac6af1bc3b705455ed 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/vocabulary.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/contexts/vocabulary.inc @@ -2,8 +2,7 @@ /** * @file - * - * Plugin to provide a vocabulary context + * Plugin to provide a vocabulary context. */ /** diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.class.php b/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.class.php index 9cb7150415ea079d6e99e4c3fa75ccc9627bbd10..3e1aed4bae91b8f1e7ce77a59eaa53143c17c8d0 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.class.php +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.class.php @@ -122,14 +122,19 @@ class ctools_export_ui { switch ($op) { case 'import': return user_access('use ctools import'); + case 'revert': return ($item->export_type & EXPORT_IN_DATABASE) && ($item->export_type & EXPORT_IN_CODE); + case 'delete': return ($item->export_type & EXPORT_IN_DATABASE) && !($item->export_type & EXPORT_IN_CODE); + case 'disable': return empty($item->disabled); + case 'enable': return !empty($item->disabled); + default: return TRUE; } @@ -154,7 +159,7 @@ class ctools_export_ui { if (!$js) { drupal_goto($_GET['q']); } - // clear everything but form id, form build id and form token: + // Clear everything but form id, form build id and form token. $keys = array_keys($input); foreach ($keys as $id) { if (!in_array($id, array('form_id', 'form_build_id', 'form_token'))) { @@ -901,7 +906,7 @@ class ctools_export_ui { if (!empty($form_state['complete'])) { $this->edit_save_form($form_state); } - else if ($output && !empty($form_state['item']->export_ui_item_is_cached)) { + elseif ($output && !empty($form_state['item']->export_ui_item_is_cached)) { // @todo this should be in the plugin strings drupal_set_message(t('You have unsaved changes. These changes will not be made permanent until you click <em>Save</em>.'), 'warning'); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.inc index 4e0a84978ee1b219c8f5fbf7edfed3666f0269fd..3087ccae292fbeb2ba28979085779e81cc68eb56 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/export_ui/ctools_export_ui.inc @@ -1,6 +1,7 @@ <?php /** + * @file * The default plugin exists only to provide the base class. Other plugins * which do not provide a class will get this class instead. Any classes * provided should use this class as their parent: @@ -15,6 +16,7 @@ * Using the above notation will ensure that this plugin's is loaded before * the child plugin's class and avoid whitescreens. */ + $plugin = array( // As this is the base class plugin, it shouldn't declare any menu items. 'has menu' => FALSE, diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_field.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_field.inc index a7f65919030728caeb55ca8b5043490e6f69a893..2589efd61bbedd70e7e6ef437f2f2c51f42f7c1f 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_field.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_field.inc @@ -140,7 +140,7 @@ function ctools_entity_from_field_get_children($parent_plugin, $parent) { $plugin_entities = array( 'to' => array($to_entity => $to_entity_info), - 'from' => array($from_entity => $from_entity_info) + 'from' => array($from_entity => $from_entity_info), ); drupal_alter('ctools_entity_context', $plugins[$key], $plugin_entities, $key); } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_query_string.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_query_string.inc index 8be3ceb368645f84b09ff8ed1185a51b3377a90d..80c40fc3f7b7236b98446e87a0bbd60045532db9 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_query_string.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_query_string.inc @@ -44,7 +44,7 @@ function ctools_entity_from_query_string_context($context, $conf) { */ function ctools_entity_from_query_string_settings_form($form, &$form_state) { - //Get all avalible enity types + // Get all avalible enity types. foreach (entity_get_info() as $key => $value) { $entity_types[$key] = $value['label']; } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_schema.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_schema.inc index 809473eb65b93436cc79a9764ab41c06e8c496eb..edf6abe71751655b10a94f9aab83a1f2c41d0196 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_schema.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/entity_from_schema.inc @@ -88,7 +88,7 @@ function ctools_entity_from_schema_get_children($parent_plugin, $parent) { $plugin_entities = array('to' => $from_entity_info, 'from' => $to_entity_info); $plugin_entities = array('to' => array($from_entity => $from_entity_info), 'from' => array($to_entity => $to_entity_info)); drupal_alter('ctools_entity_context', $plugin, $plugin_entities, $plugin_id); - $plugins[$plugin_id] = $plugin; + $plugins[$plugin_id] = $plugin; } } diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/term_parent.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/term_parent.inc index f084cca83e3685ef87bcb4cd8042ec3197b8ca49..c884e0aa98ef52c812ee5975eb1c6cf89a1436ce 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/term_parent.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/term_parent.inc @@ -1,7 +1,7 @@ <?php /** - * @file relationships/term_parent.inc + * @file * Plugin to provide an relationship handler for term parent. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/terms_from_node.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/terms_from_node.inc index d69033c95abedb432e6765cca8b959c66af522be..ad306f05dba9251029ca896d2c91107abe9aa1fc 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/terms_from_node.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/terms_from_node.inc @@ -31,7 +31,7 @@ function ctools_terms_from_node_context($context, $conf) { // Collect all terms for the chosen vocabulary and concatenate them. $node = $context->data; $terms = array(); - + $fields = field_info_instances('node', $node->type); foreach ($fields as $name => $info) { $field_info = field_info_field($name); @@ -47,7 +47,7 @@ function ctools_terms_from_node_context($context, $conf) { $items = field_get_items('node', $node, $name); if (is_array($items)) { $tids = array(); - foreach ($items AS $item) { + foreach ($items as $item) { $tids[] = $item['target_id']; } @@ -60,7 +60,7 @@ function ctools_terms_from_node_context($context, $conf) { } } } - + if (!empty($terms)) { $all_terms = ctools_break_phrase(implode($conf['concatenator'], $terms)); return ctools_context_create('terms', $all_terms); diff --git a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/user_category_edit_form_from_user.inc b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/user_category_edit_form_from_user.inc index 44b56b9d1f46ae7c7f5d1dcb15634db0f7f44dd9..07eb3827e5497de9bf0ecb8150260d12a5762cb5 100644 --- a/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/user_category_edit_form_from_user.inc +++ b/profiles/wcm_base/modules/contrib/ctools/plugins/relationships/user_category_edit_form_from_user.inc @@ -27,7 +27,7 @@ function ctools_user_category_edit_form_from_user_context($context, $conf) { return ctools_context_create_empty('user_edit_form', NULL); } - if(!empty($conf['category'])) { + if (!empty($conf['category'])) { return ctools_context_create('user_edit_form', $context->data, array('category' => $conf['category'])); } @@ -46,7 +46,7 @@ function ctools_user_category_edit_form_from_user_settings_form($form, &$form_st $categories = _user_categories(); $options = array(); - foreach($categories as $category) { + foreach ($categories as $category) { $options[$category['name']] = $category['title']; } $form['category'] = array( diff --git a/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer.inc b/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer.inc index a1fc1d8cab813903913b628eed37c27768a9bad6..8192efe139d7e186a8e92c8bd391826f9a8fc473 100644 --- a/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer.inc +++ b/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + $plugin = array( 'schema' => 'stylizer', 'access' => 'administer stylizer', @@ -42,4 +46,3 @@ $plugin = array( ), ), ); - diff --git a/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer_ui.class.php b/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer_ui.class.php index 14d6293960219308b3e11369b4f097dea9f8bbe8..d4db36cc4a31e198311ece0b1b02d7bb4b4cb49d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer_ui.class.php +++ b/profiles/wcm_base/modules/contrib/ctools/stylizer/plugins/export_ui/stylizer_ui.class.php @@ -5,16 +5,18 @@ */ class stylizer_ui extends ctools_export_ui { - function access($op, $item) { + + public function access($op, $item) { $access = parent::access($op, $item); if ($op == 'add' && $access && empty($this->base_types)) { - // Make sure there are base styles defined. - $access = FALSE; + // Make sure there are base styles defined. + $access = FALSE; } return $access; } - function list_form(&$form, &$form_state) { + + public function list_form(&$form, &$form_state) { ctools_include('stylizer'); parent::list_form($form, $form_state); @@ -60,7 +62,8 @@ class stylizer_ui extends ctools_export_ui { ); } - function list_sort_options() { + + public function list_sort_options() { return array( 'disabled' => t('Enabled, title'), 'title' => t('Title'), @@ -71,7 +74,8 @@ class stylizer_ui extends ctools_export_ui { ); } - function list_filter($form_state, $item) { + + public function list_filter($form_state, $item) { if (empty($form_state['style_plugins'][$item->settings['style_base']])) { $this->style_plugin = array( 'name' => 'broken', @@ -102,30 +106,37 @@ class stylizer_ui extends ctools_export_ui { return parent::list_filter($form_state, $item); } - function list_search_fields() { + + public function list_search_fields() { $fields = parent::list_search_fields(); $fields[] = 'plugin_title'; return $fields; } - function list_build_row($item, &$form_state, $operations) { - // Set up sorting + + public function list_build_row($item, &$form_state, $operations) { + // Set up sorting. switch ($form_state['values']['order']) { case 'disabled': $this->sorts[$item->name] = empty($item->disabled) . $item->admin_title; break; + case 'title': $this->sorts[$item->name] = $item->admin_title; break; + case 'name': $this->sorts[$item->name] = $item->name; break; + case 'type': $this->sorts[$item->name] = $this->style_plugin['type'] . $item->admin_title; break; + case 'base': $this->sorts[$item->name] = $this->style_plugin['title'] . $item->admin_title; break; + case 'storage': $this->sorts[$item->name] = $item->type . $item->admin_title; break; @@ -154,7 +165,8 @@ class stylizer_ui extends ctools_export_ui { ); } - function list_table_header() { + + public function list_table_header() { return array( array('data' => t('Type'), 'class' => array('ctools-export-ui-type')), array('data' => t('Name'), 'class' => array('ctools-export-ui-name')), @@ -165,14 +177,16 @@ class stylizer_ui extends ctools_export_ui { ); } - function init($plugin) { + + public function init($plugin) { ctools_include('stylizer'); $this->base_types = ctools_get_style_base_types(); parent::init($plugin); } - function get_wizard_info(&$form_state) { + + public function get_wizard_info(&$form_state) { $form_info = parent::get_wizard_info($form_state); ctools_include('stylizer'); @@ -219,7 +233,7 @@ class stylizer_ui extends ctools_export_ui { * The stylizer wizard stores its stuff in slightly different places, so * we have to find it and move it to the right place. */ - function store_stylizer_info(&$form_state) { + public function store_stylizer_info(&$form_state) { /* foreach (array('name', 'admin_title', 'admin_description') as $key) { if (!empty($form_state['values'][$key])) { @@ -235,12 +249,14 @@ class stylizer_ui extends ctools_export_ui { $form_state['item']->settings['name'] = $form_state['item']->name; } - function edit_wizard_next(&$form_state) { + + public function edit_wizard_next(&$form_state) { $this->store_stylizer_info($form_state); parent::edit_wizard_next($form_state); } - function edit_wizard_finish(&$form_state) { + + public function edit_wizard_finish(&$form_state) { // These might be stored by the stylizer wizard, so we should clear them. if (isset($form_state['settings']['old_settings'])) { unset($form_state['settings']['old_settings']); @@ -249,7 +265,8 @@ class stylizer_ui extends ctools_export_ui { parent::edit_wizard_finish($form_state); } - function edit_form_type(&$form, &$form_state) { + + public function edit_form_type(&$form, &$form_state) { foreach ($this->base_types as $module => $info) { foreach ($info as $key => $base_type) { $types[$module . '-' . $key] = $base_type['title']; @@ -266,7 +283,9 @@ class stylizer_ui extends ctools_export_ui { ); } - function edit_form_type_submit(&$form, &$form_state) { + + public function edit_form_type_submit(&$form, &$form_state) { list($form_state['item']->style_module, $form_state['item']->style_type) = explode('-', $form_state['values']['type']); } + } diff --git a/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.info b/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.info index 5a2205ad6d0f2fae1475c684c2d18e409b2eb1d6..f8b442e497503435cc970dbcdc6e3e2da5cea679 100644 --- a/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.info +++ b/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.info @@ -6,9 +6,9 @@ version = CTOOLS_MODULE_VERSION dependencies[] = ctools dependencies[] = color -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.install b/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.install index 5cefb0ddfb4d8c0ea461d61ee08e8ff7dd3a57fe..321ba8e1288a656c00be02f96397eb7c6d27062c 100644 --- a/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.install +++ b/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.install @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Schema for stylizer. */ diff --git a/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.module b/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.module index e7278975ddeea42760af54fab3607cf8258eceab..6035e26dbfb2c70342b26881c5caaa9bb96b06f3 100644 --- a/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.module +++ b/profiles/wcm_base/modules/contrib/ctools/stylizer/stylizer.module @@ -2,7 +2,7 @@ /** * @file - * Stylizer module + * Stylizer module. * * This module allows styles to be created and managed on behalf of modules * that implement styles. @@ -30,7 +30,7 @@ function stylizer_permission() { */ function stylizer_ctools_plugin_directory($module, $plugin) { // Most of this module is implemented as an export ui plugin, and the - // rest is in ctools/includes/stylizer.inc + // rest is in ctools/includes/stylizer.inc. if ($module == 'ctools' && $plugin == 'export_ui') { return 'plugins/' . $plugin; } @@ -59,7 +59,7 @@ function stylizer_panels_dashboard_blocks(&$vars) { 'description' => t('Custom styles can be applied to Panel regions and Panel panes.'), ); - // Load all mini panels and their displays. + // Load all mini panels and their displays. ctools_include('export'); ctools_include('stylizer'); $items = ctools_export_crud_load_all('stylizer'); @@ -122,14 +122,14 @@ function stylizer_theme() { 'path' => $plugin['path'], ); - // if no theme function exists, assume template. + // If no theme function exists, assume template. if (!function_exists("theme_$plugin[theme]")) { $theme[$plugin['theme']]['template'] = str_replace('_', '-', $plugin['theme']); - $theme[$plugin['theme']]['file'] = $plugin['file']; // for preprocess. + // For preprocess. + $theme[$plugin['theme']]['file'] = $plugin['file']; } } } return $theme; } - diff --git a/profiles/wcm_base/modules/contrib/ctools/term_depth/plugins/access/term_depth.inc b/profiles/wcm_base/modules/contrib/ctools/term_depth/plugins/access/term_depth.inc index 21ad6e95e156a5fb0ee04f2a63bc4e7d72ba215b..d63183f32839b93b23f78e8f961e19cd33d37c67 100644 --- a/profiles/wcm_base/modules/contrib/ctools/term_depth/plugins/access/term_depth.inc +++ b/profiles/wcm_base/modules/contrib/ctools/term_depth/plugins/access/term_depth.inc @@ -69,7 +69,6 @@ function _term_depth_convert_config_vid_to_vocabulary_name(&$conf) { /** * Submit function for the access plugins settings. - * */ function term_depth_term_depth_ctools_access_settings_submit($form, $form_state) { $form_state['conf']['depth'] = (integer) $form_state['values']['settings']['depth']; diff --git a/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.info b/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.info index d24fa7c869246f6d5c68a965b63c6fb9c480220c..326b2aef3ca75aaa73beffa34648991a79dd299c 100644 --- a/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.info +++ b/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.info @@ -5,9 +5,9 @@ dependencies[] = ctools package = Chaos tool suite version = CTOOLS_MODULE_VERSION -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.module b/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.module index 10f9e3194dc933ebcd2f84b6d022109d82e8390e..f9f4ce7cbfe10326c19ba4f60c6706562ebcdf3b 100644 --- a/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.module +++ b/profiles/wcm_base/modules/contrib/ctools/term_depth/term_depth.module @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + function term_depth_ctools_plugin_directory($owner, $plugin) { if ($owner == 'ctools' && $plugin == 'access') { return 'plugins/' . $plugin; diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/context.test b/profiles/wcm_base/modules/contrib/ctools/tests/context.test index 1e39b15091df03fd151c1dbba8ac94d5e5582521..ca94a4fd849319b10d6154e2cba72bc6f58051ce 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/context.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/context.test @@ -1,12 +1,14 @@ <?php /** + * @file * Test the keyword substitution functionality. */ + class CtoolsContextIDTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -18,7 +20,7 @@ class CtoolsContextIDTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ protected function setUp(array $modules = array()) { $modules[] = 'ctools'; @@ -160,7 +162,7 @@ class CtoolsContextIDTestCase extends DrupalWebTestCase { $expected = 2; $this->assertEqual($value, $expected, 'Foo\'s objects have next id ' . $expected); - // Another expected case: there are multiple numeric IDs + // Another expected case: there are multiple numeric IDs. $value = ctools_context_next_id($test_objects, 'bar'); $expected = 100; $this->assertEqual($value, $expected, 'Bar\'s objects have next id ' . $expected); @@ -175,7 +177,7 @@ class CtoolsContextIDTestCase extends DrupalWebTestCase { class CtoolsContextKeywordsSubstitutionTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -187,7 +189,7 @@ class CtoolsContextKeywordsSubstitutionTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ protected function setUp(array $modules = array()) { $modules[] = 'ctools'; @@ -337,7 +339,7 @@ class CtoolsContextKeywordsSubstitutionTestCase extends DrupalWebTestCase { class CtoolsContextUnitTestCase extends DrupalUnitTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -349,7 +351,7 @@ class CtoolsContextUnitTestCase extends DrupalUnitTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ protected function setUp() { parent::setUp(); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/css.test b/profiles/wcm_base/modules/contrib/ctools/tests/css.test index a0c7af145c3a9dac635179374781e241a3db1f5b..6c03730a57be6b67b9eaae1d5f2ccf899fa5783a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/css.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/css.test @@ -6,7 +6,7 @@ class CtoolsCssTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -18,9 +18,9 @@ class CtoolsCssTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; parent::setUp($modules); ctools_include('css'); @@ -50,10 +50,6 @@ class CtoolsCssTestCase extends DrupalWebTestCase { $this->assertEqual($filtered_css, $file_contents, 'Filtered css file contents are correct'); } - /** - * @todo Test db-row-exist but file-not-exist case in ctools_css_retrieve(). - */ - /** * Test that Stored CSS snippets can be correctly overwritten. */ @@ -67,7 +63,6 @@ class CtoolsCssTestCase extends DrupalWebTestCase { ctools_css_store('filtered-css-test', $css1, TRUE); // Now overwrite the first css with the second version. - $filename3 = ctools_css_store('unfiltered-css-test', $css2, FALSE); $filename4 = ctools_css_store('filtered-css-test', $css2, TRUE); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/css_cache.test b/profiles/wcm_base/modules/contrib/ctools/tests/css_cache.test index bcbfd58577ba7822ad2f614463834a62f37f3dbf..2aaa304d74403b1ddc486732348e3e572409745e 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/css_cache.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/css_cache.test @@ -18,9 +18,9 @@ class CtoolsCSSObjectCache extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; parent::setUp($modules); } diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools.plugins.test b/profiles/wcm_base/modules/contrib/ctools/tests/ctools.plugins.test index 78d0adbf7d9e5f34438bb92f0a211474d8218c78..a12d06af12514c75acfcf81c83311abdb45e327c 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools.plugins.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools.plugins.test @@ -6,7 +6,7 @@ class CtoolsPluginsGetInfoTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -18,9 +18,9 @@ class CtoolsPluginsGetInfoTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; $modules[] = 'ctools_plugin_test'; parent::setUp($modules); @@ -119,7 +119,7 @@ class CtoolsPluginsGetInfoTestCase extends DrupalWebTestCase { /** * Test that plugins are loaded correctly. */ - function testPluginLoading() { + public function testPluginLoading() { ctools_include('plugins'); $module = 'ctools_plugin_test'; $type = 'not_cached'; diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools.test b/profiles/wcm_base/modules/contrib/ctools/tests/ctools.test index 8f738b6d5edd778bb021985319079ca9896a5dce..4d748c09e6423f8d73ec90d5caf6a3de9b9a51ef 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools.test @@ -1,4 +1,5 @@ <?php + /** * @file Test classes for code in the CTools module file. */ @@ -9,7 +10,7 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -21,9 +22,9 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; parent::setUp($modules); } @@ -32,30 +33,30 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { * Test that the break phrase function behaves as expected. */ public function testBreakPhrase() { - $tests = [ - NULL => ['value' => []], - '' => ['value' => []], - '1' => ['operator' => 'and', 'value' => [1]], - '99' => ['operator' => 'and', 'value' => [99]], - '+1' => ['invalid_input' => TRUE, 'value' => [-1]], - ' 1' => ['invalid_input' => TRUE, 'value' => [-1]], - '1 ' => ['invalid_input' => TRUE, 'value' => [-1]], - '-1' => ['invalid_input' => TRUE, 'value' => [-1]], - '-99' => ['invalid_input' => TRUE, 'value' => [-1]], - '1,2' => ['operator' => 'and', 'value' => [1, 2]], - '1 2' => ['operator' => 'or', 'value' => [1, 2]], - '1+2' => ['operator' => 'or', 'value' => [1, 2]], - '1,2,3' => ['operator' => 'and', 'value' => [1, 2, 3]], - '1 2 3' => ['operator' => 'or', 'value' => [1, 2, 3]], - '1+2+3' => ['operator' => 'or', 'value' => [1, 2, 3]], - '1 , 2 , 3' => ['invalid_input' => TRUE, 'value' => [-1]], - '1 + 2 + 3' => ['invalid_input' => TRUE, 'value' => [-1]], - '1,2,3,4,5,6,7,8,9' => [ + $tests = array( + NULL => array('value' => array()), + '' => array('value' => array()), + '1' => array('operator' => 'and', 'value' => array(1)), + '99' => array('operator' => 'and', 'value' => array(99)), + '+1' => array('invalid_input' => TRUE, 'value' => array(-1)), + ' 1' => array('invalid_input' => TRUE, 'value' => array(-1)), + '1 ' => array('invalid_input' => TRUE, 'value' => array(-1)), + '-1' => array('invalid_input' => TRUE, 'value' => array(-1)), + '-99' => array('invalid_input' => TRUE, 'value' => array(-1)), + '1,2' => array('operator' => 'and', 'value' => array(1, 2)), + '1 2' => array('operator' => 'or', 'value' => array(1, 2)), + '1+2' => array('operator' => 'or', 'value' => array(1, 2)), + '1,2,3' => array('operator' => 'and', 'value' => array(1, 2, 3)), + '1 2 3' => array('operator' => 'or', 'value' => array(1, 2, 3)), + '1+2+3' => array('operator' => 'or', 'value' => array(1, 2, 3)), + '1 , 2 , 3' => array('invalid_input' => TRUE, 'value' => array(-1)), + '1 + 2 + 3' => array('invalid_input' => TRUE, 'value' => array(-1)), + '1,2,3,4,5,6,7,8,9' => array( 'operator' => 'and', - 'value' => [1, 2, 3, 4, 5, 6, 7, 8, 9] - ], - '1 2,3,4 5 6 7 8 9' => ['invalid_input' => TRUE, 'value' => [-1]], - ]; + 'value' => array(1, 2, 3, 4, 5, 6, 7, 8, 9), + ), + '1 2,3,4 5 6 7 8 9' => array('invalid_input' => TRUE, 'value' => array(-1)), + ); foreach ($tests as $string => $expected) { $result = ctools_break_phrase($string); @@ -142,13 +143,13 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { $ok = ctools_api_version('10.0'); $this->assertFalse($ok, 'Check API version 10.0 is not ok'); - // We are (currently) between version 1.1 and version 4.0 + // We are (currently) between version 1.1 and version 4.0. $ok = ctools_api_version('1.1', '4.0'); $this->assertTrue($ok, 'Check API is between 1 and 4'); } /** - * Test that the ctools_classs_add works + * Test that the ctools_classs_add works. */ public function testClassesAdd() { ctools_class_reset(); @@ -160,22 +161,22 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { $this->assertEqual(count($classes), 1, 'Classes array has one element'); $this->assertEqual(count($classes['html']), 1, 'Classes array has element: html'); $this->assertTrue(isset($classes['html']['add']), 'Classes array has element: html/add'); - $this->assertEqual($classes['html']['add'], ['testclass'], 'Classes array has expected value'); + $this->assertEqual($classes['html']['add'], array('testclass'), 'Classes array has expected value'); ctools_class_add('class2 class3'); $classes = ctools_get_classes(); $this->assertEqual(is_array($classes), 1, 'Classes should be an array'); $this->assertEqual(count($classes['html']), 1, 'Classes array has element: html'); - // TODO: An undesirable result: ['testclass', 'class2', 'class3'] is better. - $this->assertEqual($classes['html']['add'], [ + // TODO: An undesirable result: array('testclass', 'class2', 'class3') is better. + $this->assertEqual($classes['html']['add'], array( 'testclass', - 'class2 class3' - ], 'Classes array has expected value'); + 'class2 class3', + ), 'Classes array has expected value'); } /** - * Test that the ctools_classs_remove works + * Test that the ctools_classs_remove works. */ public function testClassesRemove() { ctools_class_reset(); @@ -187,18 +188,18 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { $this->assertEqual(count($classes), 1, 'Classes array has one element'); $this->assertEqual(count($classes['html']), 1, 'Classes array has element: html'); $this->assertTrue(isset($classes['html']['remove']), 'Classes array has element: html/remove'); - $this->assertEqual($classes['html']['remove'], ['testclass'], 'Classes array has expected value'); + $this->assertEqual($classes['html']['remove'], array('testclass'), 'Classes array has expected value'); ctools_class_remove('class2 class3'); $classes = ctools_get_classes(); $this->assertEqual(count($classes), 1, 'Classes array has one element'); $this->assertEqual(count($classes['html']), 1, 'Classes array has element: html'); - // This is an undesirable result, is ['testclass', 'class2', 'class3'] better. - $this->assertEqual($classes['html']['remove'], [ + // This is an undesirable result, is array('testclass', 'class2', 'class3') better. + $this->assertEqual($classes['html']['remove'], array( 'testclass', - 'class2 class3' - ], 'Classes array has expected value'); + 'class2 class3', + ), 'Classes array has expected value'); } /** @@ -212,10 +213,10 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { $classes = ctools_get_classes(); $this->assertTrue(isset($classes['html']['add']), 'Classes array has an add set'); - $this->assertEqual($classes['html']['add'], ['testclass'], 'testclass is in the add set'); + $this->assertEqual($classes['html']['add'], array('testclass'), 'testclass is in the add set'); $this->assertTrue(isset($classes['html']['remove']), 'Classes array has a remove set'); // TODO: Is it really good to let this happen? - $this->assertEqual($classes['html']['remove'], ['testclass'], 'testclass is in the remove set'); + $this->assertEqual($classes['html']['remove'], array('testclass'), 'testclass is in the remove set'); } /** @@ -229,10 +230,10 @@ class CtoolsModuleTestCase extends DrupalWebTestCase { $classes = ctools_get_classes(); $this->assertTrue(isset($classes['html']['add']), 'Classes array has an add set'); - $this->assertEqual($classes['html']['add'], ['class2 class3'], 'Added class2 class3 is in add set'); + $this->assertEqual($classes['html']['add'], array('class2 class3'), 'Added class2 class3 is in add set'); $this->assertTrue(isset($classes['html']['remove']), 'Classes array has a remove set'); // TODO: Is it really good to let this happen? - $this->assertEqual($classes['html']['remove'], ['class3'], 'class3 in remove set'); + $this->assertEqual($classes['html']['remove'], array('class3'), 'class3 in remove set'); } } diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export.test b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export.test index c826d3b63eef8ed80bda748579fb37b7513e26d8..ebeee49655fec8183d74488586f5c46e8ba93cf7 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export.test @@ -6,7 +6,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -17,9 +17,9 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; $modules[] = 'ctools_export_test'; parent::setUp($modules); @@ -28,7 +28,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: Load. */ - function testCrudExportLoad() { + public function testCrudExportLoad() { $loaded_export = ctools_export_crud_load('ctools_export_test', 'database_test'); $expected_export = new stdClass(); @@ -49,7 +49,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: Load multiple. */ - function testCrudExportLoadMultiple() { + public function testCrudExportLoadMultiple() { $exportable_names = array('database_test', 'overridden_test', 'default_test'); $loaded_exports = ctools_export_crud_load_multiple('ctools_export_test', $exportable_names); @@ -59,7 +59,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: Load all. */ - function testCrudExportLoadAll() { + public function testCrudExportLoadAll() { $loaded_exports = ctools_export_crud_load_all('ctools_export_test'); $this->assertEqual(count($loaded_exports), 3, 'All exportables have been loaded.'); @@ -68,10 +68,10 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: Save. */ - function testCrudExportSave() { + public function testCrudExportSave() { $default_export = ctools_export_crud_load('ctools_export_test', 'default_test'); - $this->assertTrue($default_export->in_code_only,'The loaded exportable is in code only.'); + $this->assertTrue($default_export->in_code_only, 'The loaded exportable is in code only.'); ctools_export_crud_save('ctools_export_test', $default_export); @@ -86,7 +86,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: New. */ - function testCrudExportNew() { + public function testCrudExportNew() { // Default exportable with defualt values. $new_export = ctools_export_crud_new('ctools_export_test'); @@ -115,7 +115,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: Revert. */ - function testCrudExportRevert() { + public function testCrudExportRevert() { // Load exportable, will come from database. $original_export = ctools_export_crud_load('ctools_export_test', 'overridden_test'); @@ -145,7 +145,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: Delete. */ - function testCrudExportDelete() { + public function testCrudExportDelete() { // Create a stub entry save it and delete it from the database. $new_export = ctools_export_crud_new('ctools_export_test'); ctools_export_crud_save('ctools_export_test', $new_export); @@ -172,7 +172,7 @@ class CtoolsExportCrudTestCase extends DrupalWebTestCase { /** * Tests CRUD operation: Set status. */ - function testCrudExportSetStatus() { + public function testCrudExportSetStatus() { // Database only object. $database_export = ctools_export_crud_load('ctools_export_test', 'database_test'); ctools_export_crud_disable('ctools_export_test', $database_export); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.default_ctools_export_tests.inc b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.default_ctools_export_tests.inc index 9f2dd6c6b268150c90f2d35dc085ca530c06c4f7..2f5ca584d17798e9a34c667ef169a61be2c2ce29 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.default_ctools_export_tests.inc +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.default_ctools_export_tests.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Implements hook_default_export_tests(). */ diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.info b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.info index ec69a862f700c917928105165bfc7059266e38d6..7abac58cb48ef4ce2939cc088c34518abd722fba 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.info +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.info @@ -8,9 +8,9 @@ hidden = TRUE files[] = ctools_export.test -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.install b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.install index 2eb54ca398e223dc2ff3e04d36b120ddc2cfeb70..e6967ef5a69aa9afa58438215809d68dd23729d2 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.install +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.install @@ -1,12 +1,16 @@ <?php /** - * Implements hook_schema(); + * @file + */ + +/** + * Implements hook_schema(). */ function ctools_export_test_schema() { $schema['ctools_export_test'] = array( - 'description' => 'CTools export test data table', - 'export' => array( + 'description' => 'CTools export test data table', + 'export' => array( 'key' => 'machine', 'identifier' => 'ctools_export_test', 'default hook' => 'default_ctools_export_tests', @@ -53,7 +57,7 @@ function ctools_export_test_schema() { } /** - * Implments hook_install(); + * Implements hook_install(). */ function ctools_export_test_install() { $ctools_export_tests = array(); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.module b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.module index 80f1adbb3761025d3e5ea7cdc44b92741880bf1e..9cd803cece3a279acd07226995fa674b5477c413 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.module +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_export_test/ctools_export_test.module @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Implements hook_ctools_plugin_api(). */ diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.info b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.info index 03391f6ab836fafd5c9bc33c4466ddfdcfd4a7f6..649e8912bf63e718810a313f32f26a276bbf88f5 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.info +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.info @@ -6,9 +6,9 @@ core = 7.x dependencies[] = ctools hidden = TRUE -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.module b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.module index a1c587d9337b11064610d4675aa9e9c0779e1012..4e8770ed9777f17e8e3f7385804c7bcee6b82e57 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.module +++ b/profiles/wcm_base/modules/contrib/ctools/tests/ctools_plugin_test.module @@ -21,7 +21,7 @@ function ctools_plugin_test_ctools_plugin_type() { return array( 'extra_defaults' => array( 'defaults' => array( - 'bool' => true, + 'bool' => TRUE, 'string' => 'string', 'array' => array('some value'), ), @@ -88,11 +88,13 @@ function ctools_plugin_test_ctools_plugin_test_big_hook_not_cached() { * * @see ctools_plugin_test_ctools_plugin_test_big_hook_cached */ -function ctools_plugin_test_hook_cached_test() {} +function ctools_plugin_test_hook_cached_test() { +} /** * Callback for the big_hook_not_cached plugin. * * @see ctools_plugin_test_ctools_plugin_test_big_hook_not_cached() */ -function ctools_plugin_test_hook_not_cached_test() {} +function ctools_plugin_test_hook_not_cached_test() { +} diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/math_expression.test b/profiles/wcm_base/modules/contrib/ctools/tests/math_expression.test index f89d3953ed046b8e906493fab04f26f02b66dac6..b34fafb9caf42e2b5f901714d65ef5ca13da507d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/math_expression.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/math_expression.test @@ -6,7 +6,7 @@ class CtoolsMathExpressionTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -18,9 +18,9 @@ class CtoolsMathExpressionTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; $modules[] = 'ctools_plugin_test'; parent::setUp($modules); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/math_expression_stack.test b/profiles/wcm_base/modules/contrib/ctools/tests/math_expression_stack.test index a87d1b2b56ce5ae435c806bad94fc62c60c50ed5..e1e587a2518293b9d45ca2c62a781efb809681be 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/math_expression_stack.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/math_expression_stack.test @@ -6,7 +6,7 @@ class CtoolsMathExpressionStackTestCase extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -18,9 +18,9 @@ class CtoolsMathExpressionStackTestCase extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; $modules[] = 'ctools_plugin_test'; parent::setUp($modules); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/object_cache.test b/profiles/wcm_base/modules/contrib/ctools/tests/object_cache.test index 22a0e89f453f511a6f238fd661f0e4424b90f33d..87fa4153e8c5491c1eb42faa6946fdd235472f60 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/object_cache.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/object_cache.test @@ -6,7 +6,7 @@ class CtoolsObjectCache extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -18,16 +18,14 @@ class CtoolsObjectCache extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; parent::setUp($modules); } - /** - * - */ + public function testObjectStorage() { ctools_include('cache'); @@ -45,11 +43,11 @@ class CtoolsObjectCache extends DrupalWebTestCase { // TODO Test object locking somehow. // Object locking/testing works on session_id but simpletest uses // $this->session_id so can't be tested ATM. - ctools_object_cache_clear('testdata', 'one'); $this->assertFalse(ctools_object_cache_get('testdata', 'one'), 'Object cache data successfully cleared'); // TODO Test ctools_object_cache_clear_all somehow... // ctools_object_cache_clear_all requires session_id funtionality as well. } + } diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/object_cache_unit.test b/profiles/wcm_base/modules/contrib/ctools/tests/object_cache_unit.test index 97b672fbabadfc608908d2a04e07ebac5bec3463..68b735031589576e1df0cc2aca5fca43b52ffd6b 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/object_cache_unit.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/object_cache_unit.test @@ -6,7 +6,7 @@ class CtoolsUnitObjectCachePlugins extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -18,9 +18,9 @@ class CtoolsUnitObjectCachePlugins extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; parent::setUp($modules); } @@ -34,7 +34,6 @@ class CtoolsUnitObjectCachePlugins extends DrupalWebTestCase { * Prefix of the assertion message. */ public function assertValidCachePlugin($p, $msg) { - //$this->pass(var_export($p, TRUE)); $this->assertTrue(is_array($p), $msg . ': plugin is an array'); $this->assertEqual($p['plugin type'], 'cache', $msg . ': type is cache'); @@ -53,7 +52,6 @@ class CtoolsUnitObjectCachePlugins extends DrupalWebTestCase { // solved. // $this->assertTrue(array_key_exists('cache clear', $p), $msg . ': has a clear function'); // $this->assertTrue(is_callable($p['cache clear']), $msg . ': clear is executable'); - // @todo Break is optional acc'd to spec but does anything implement it? $this->assertTrue(!array_key_exists('cache break', $p) || is_callable($p['cache break']), $msg . ': break is executable'); @@ -64,11 +62,12 @@ class CtoolsUnitObjectCachePlugins extends DrupalWebTestCase { /** * Check the return value of the ctools_cache_find_plugin function. * - * @param mixed $p the value to check. - * @param string $msg prefix of the assertion message. + * @param mixed $p + * The value to check. + * @param string $msg + * Prefix of the assertion message. */ public function assertPluginNotFound($p, $msg) { - //$this->pass(var_export($p, TRUE)); $this->assertTrue(is_array($p), $msg . ': is an array'); $plugin = array_shift($p); $this->assertNull($plugin, $msg . ': no plugin info'); @@ -80,11 +79,12 @@ class CtoolsUnitObjectCachePlugins extends DrupalWebTestCase { /** * Check the return value of the ctools_cache_find_plugin function. * - * @param mixed $p the value to check. - * @param string $msg prefix of the assertion message. + * @param mixed $p + * The value to check. + * @param string $msg + * Prefix of the assertion message. */ public function assertPluginFound($p, $msg) { - //$this->pass(var_export($p, TRUE)); $this->assertTrue(is_array($p), $msg . ': is an array'); $plugin = array_shift($p); $this->assertTrue(is_array($plugin), $msg . ': has plugin data'); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/page_tokens.test b/profiles/wcm_base/modules/contrib/ctools/tests/page_tokens.test index 6ab973ece5415db397ec335f99f273abe507c3dc..7d95d9ae9935d31809c029dd411404a9fe8b63b2 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/page_tokens.test +++ b/profiles/wcm_base/modules/contrib/ctools/tests/page_tokens.test @@ -1,14 +1,16 @@ <?php /** + * @file * Tests for different parts of the ctools object caching system. * * Needs to be a WebTest because need access to database tables. */ + class CtoolsPageTokens extends DrupalWebTestCase { /** - * {@inheritDoc} + * {@inheritdoc} */ public static function getInfo() { return array( @@ -20,9 +22,9 @@ class CtoolsPageTokens extends DrupalWebTestCase { } /** - * {@inheritDoc} + * {@inheritdoc} */ - function setUp(array $modules = array()) { + public function setUp(array $modules = array()) { $modules[] = 'ctools'; parent::setUp($modules); diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray.class.php b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray.class.php index ea087fa63f4427e2257fc7792487d6ae93df5463..c6753adc06133bfa13ff9550f5a465ceb2ed1713 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray.class.php +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray.class.php @@ -1,4 +1,5 @@ <?php + /** * @file * A cached plugin object that tests inheritance including. diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray2.class.php b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray2.class.php index f774541ca8a16a45cb520431472a004e9da11924..37ddc110f477bdc68477fd75078d94b051da9614 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray2.class.php +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/ctoolsCachedPluginArray2.class.php @@ -1,4 +1,5 @@ <?php + /** * @file * A cached plugin object that tests inheritance including. diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array.inc b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array.inc index 40a4bf7360662a9d8fbfbfabfad67f692c48a567..90eb339169a6d6dc6552ca4968ed1c965f742421 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array.inc +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Chaos Tools plugin include using a plugin array to declare a plugin. @@ -17,4 +18,5 @@ $plugin = array( /** * Plugin array function plugin. */ -function ctools_plugin_test_plugin_array_cached_test() {} +function ctools_plugin_test_plugin_array_cached_test() { +} diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array2.inc b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array2.inc index e6676154d6cd14d2d48228df453eff7959513983..fa930b744403d4f03f12e046f4b9581fcd0d89bf 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array2.inc +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array2.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Chaos Tools plugin include using a plugin array to declare a plugin. @@ -17,4 +18,5 @@ $plugin = array( /** * Plugin array function plugin. */ -function ctools_plugin_test_plugin_array2_cached_test() {} +function ctools_plugin_test_plugin_array2_cached_test() { +} diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array_dne.inc b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array_dne.inc index e3d3bfb90de04be18812639b1884a0fd381661a5..eccf19e84b15b04029f428398e4ea8e5a58eb6b9 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array_dne.inc +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/cached/plugin_array_dne.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Chaos Tools plugin include using a plugin array to declare a plugin. diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray.class.php b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray.class.php index 422a7b34c70372b447b7eaada0a2cc8e174aa2bf..8dd9561e18cbcabaddf250189bbe424b7094b421 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray.class.php +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray.class.php @@ -1,4 +1,5 @@ <?php + /** * @file * A cached plugin object that tests inheritance including. diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray2.class.php b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray2.class.php index d7687dd02e5a13ab29caabbbedac3fec3202e80d..07842b6183d528aead7b5251b58b4682f839b803 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray2.class.php +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/ctoolsNotCachedPluginArray2.class.php @@ -1,4 +1,5 @@ <?php + /** * @file * A cached plugin object that tests including. diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array.inc b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array.inc index 3f4539359622ba8754cadb8a0b23819c50f2f597..3a515dfbfb95d8fe6f5d6a2279d302e3a91f848b 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array.inc +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Chaos Tools plugin include using a plugin array to declare a plugin. @@ -17,4 +18,5 @@ $plugin = array( /** * Plugin array function plugin. */ -function ctools_plugin_test_plugin_array_not_cached_test() {} +function ctools_plugin_test_plugin_array_not_cached_test() { +} diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array2.inc b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array2.inc index 06b8175710206af88f0173dec96c1358f7bdf823..bbf64d29ce9cdc173a84108e44c8a98ed676c92a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array2.inc +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array2.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Chaos Tools plugin include using a plugin array to declare a plugin. @@ -17,4 +18,5 @@ $plugin = array( /** * Plugin array function plugin. */ -function ctools_plugin_test_plugin_array2_not_cached_test() {} +function ctools_plugin_test_plugin_array2_not_cached_test() { +} diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array_dne.inc b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array_dne.inc index 1f19d2a44592a7fa631840aebd36f3d42c396c21..85f932e4f66d405fd71f4585b6fbd7d5339531c8 100644 --- a/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array_dne.inc +++ b/profiles/wcm_base/modules/contrib/ctools/tests/plugins/not_cached/plugin_array_dne.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Chaos Tools plugin include using a plugin array to declare a plugin. diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/uuid_with_uuid.test b/profiles/wcm_base/modules/contrib/ctools/tests/uuid_with_uuid.test deleted file mode 100644 index 13ff0ac2405aded6936730219df8824cf904344b..0000000000000000000000000000000000000000 --- a/profiles/wcm_base/modules/contrib/ctools/tests/uuid_with_uuid.test +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -/** - * Test the UUID handling when the UUID module is present. - */ -class CtoolsUUIDWithUUID extends DrupalWebTestCase { - - /** - * {@inheritDoc} - */ - public static function getInfo() { - return array( - 'name' => 'UUID handing, with UUID module', - 'description' => 'Check that the CTools UUID functions behave correctly when the UUID module is installed.', - 'group' => 'ctools', - 'dependencies' => array('ctools'), - // 'dependencies' => array('ctools', 'uuid'), - ); - } - - /** - * {@inheritDoc} - */ - function setUp(array $modules = array()) { - $modules[] = 'ctools'; - // @todo Add UUID as a test dependency and then add comment out this line. - // $modules[] = 'uuid'; - parent::setUp($modules); - } - - /** - * Check we can get a UUID. - * - * NB: This test will use one (and only one) of the mechanisms available - * from pear, - * - * @todo Fix this so testbot doesn't fail. - */ - public function DISABLED_testMakeNewUUID() { - // drupal_get_filename will report even if the module is disabled. - if (drupal_get_filename('module', 'uuid') && !module_exists('uuid')) { - module_enable(array('uuid')); - } - // if we now have uuid module, use it. - if (module_exists('uuid')) { - $uuid = ctools_uuid_generate(); - $this->assertTrue(ctools_uuid_is_valid($uuid), 'UUID generated (uuid): ' . $uuid); - } - else { - // otherwise say we can't... - $this->verbose('uuid module not present'); - } - } - -} diff --git a/profiles/wcm_base/modules/contrib/ctools/tests/uuid_without_uuid.test b/profiles/wcm_base/modules/contrib/ctools/tests/uuid_without_uuid.test deleted file mode 100644 index 6d62ebf4830573df931f59f70d1607a4f9548edd..0000000000000000000000000000000000000000 --- a/profiles/wcm_base/modules/contrib/ctools/tests/uuid_without_uuid.test +++ /dev/null @@ -1,101 +0,0 @@ -<?php - -/** - * Test the UUID handling without the UUID module being present. - */ -class CtoolsUUIDWithoutUUID extends DrupalWebTestCase { - - /** - * {@inheritDoc} - */ - public static function getInfo() { - return array( - 'name' => 'UUID handing, without UUID module', - 'description' => 'Check that the CTools UUID functions behave correctly when the UUID module is not installed.', - 'group' => 'ctools', - 'dependencies' => array('ctools'), - ); - } - - /** - * {@inheritDoc} - */ - function setUp(array $modules = array()) { - $modules[] = 'ctools'; - parent::setUp($modules); - } - - /** - * Check the UUID_PATTERN constant exists. - * - * @todo Fix this so testbot doesn't fail. - */ - public function DISABLED_testHaveUUIDpattern() { - ctools_include('uuid'); - $this->assertTrue(defined('UUID_PATTERN'), 'The UUID_PATTERN constant exists.'); - $this->assertTrue(is_string(UUID_PATTERN) && strlen(UUID_PATTERN) > 12, 'The UUID_PATTERN has an appropriate value.'); - } - - /** - * Check we can get a UUID when . - * - * NB: This test will use one (and only one) of the mechanisms available - * from pear, - * - * @todo Fix this so testbot doesn't fail. - */ - public function DISABLED_testMakeNewUUIDRaw() { - // drupal_get_filename will report even if the module is disabled. - if (drupal_get_filename('module', 'uuid') && module_exists('uuid')) { - module_disable(array('uuid')); - } - - ctools_include('uuid'); - $uuid = _ctools_uuid_generate_php(); - $this->assertTrue(ctools_uuid_is_valid($uuid), 'UUID generated (ctoolsphp): ' . $uuid); - } - - /** - * Check we can get a UUID when . - * - * NB: This test will use one (and only one) of the mechanisms available - * from pear, - * - * @todo Fix this so testbot doesn't fail. - */ - public function DISABLED_testMakeNewUUIDWrapper() { - // drupal_get_filename will report even if the module is disabled. - if (drupal_get_filename('module', 'uuid') && module_exists('uuid')) { - module_disable(array('uuid')); - } - - $uuid = ctools_uuid_generate(); - $this->assertTrue(ctools_uuid_is_valid($uuid), 'UUID generated (ctools): ' . $uuid); - } - - /** - * Check we can verify that a string looks like a UUID. - * - * @todo Fix this so testbot doesn't fail. - */ - public function DISABLED_testVerifyUUID() { - $checks = array( - NULL => FALSE, - '' => FALSE, - '0' => FALSE, - 'b5827a5cadd311e69a1f936389a27663' => FALSE, // version 1, no dashes - '15ff2566-add3-11e6-b98f' => FALSE, // incomplete - - '15ff2566-add3-11e6-b98f-080027dc4f7a' => TRUE, // version 1 - 'b5827a5c-add3-11e6-9a1f-936389a27663' => TRUE, // version 1 - '02d9e6d5-9467-382e-8f9b-9300a64ac3cd' => TRUE, // version 3 url-based - '5e330afb-50c6-45c2-a292-99c3168696d2' => TRUE, // version 4 uuid - '8f4ca4fd-154e-5063-b6db-aa91af137037' => TRUE, // version 5 - ); - - foreach ($checks as $uuid => $exp) { - $this->assertEqual(ctools_uuid_is_valid($uuid), $exp, 'Is Valid: UUIDs match expectations: ' . $uuid); - } - } - -} diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views.inc index bb413d5ba20f8972ee5993a28d4eb29a7fbfce35..9ad7728f4b8b0da6a779ff8be265fd6a01682d98 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views.inc @@ -124,7 +124,7 @@ function views_content_views_content_type_render($subtype, $conf, $panel_args, $ if (isset($conf['context']) && is_array($conf['context'])) { foreach ($conf['context'] as $count => $context_info) { if (!strpos($context_info, '.')) { - // old skool: support pre-converter contexts as well. + // Old skool: support pre-converter contexts as well. $cid = $context_info; $converter = ''; } @@ -150,7 +150,7 @@ function views_content_views_content_type_render($subtype, $conf, $panel_args, $ $block = new stdClass(); $block->module = 'views'; - $block->delta = $view->name . '-' . $view->current_display; + $block->delta = $view->name . '-' . $view->current_display; if (!empty($conf['link_to_view'])) { $block->title_link = $view->get_url(); @@ -165,7 +165,7 @@ function views_content_views_content_type_render($subtype, $conf, $panel_args, $ // pager type that Views uses. if ($conf['override_pager_settings']) { if (method_exists($view, 'init_pager')) { - // Views 3 version + // Views 3 version. $view->set_items_per_page($conf['nodes_per_page']); $view->set_offset($conf['offset']); @@ -237,7 +237,7 @@ function views_content_views_select_display($form, &$form_state) { '#type' => 'select', '#title' => t('Display'), '#options' => $displays, - '#description' => t('Choose which display of this view you wish to use.') + '#description' => t('Choose which display of this view you wish to use.'), ); return $form; @@ -271,7 +271,6 @@ function views_content_views_content_type_edit_form($form, &$form_state) { // and check for that and forcibly set them to the right converter so that // it doesn't get changed to some whacky default. Oooor just let it get changed // to 'no context', I suppose. - $required = array(); if (isset($view->display_handler) && $arguments = $view->display_handler->get_handlers('argument')) { foreach ($arguments as $arg) { @@ -434,7 +433,7 @@ function views_content_views_content_type_admin_info($subtype, $conf, $contexts) } if (!strpos($context_info, '.')) { - // old skool: support pre-converter contexts as well. + // Old skool: support pre-converter contexts as well. $cid = $context_info; $converter = ''; } @@ -446,8 +445,10 @@ function views_content_views_content_type_admin_info($subtype, $conf, $contexts) $converters = ctools_context_get_converters($cid . '.', $contexts[$cid]); $converter = !empty($converters[$context_info]) ? $converters[$context_info] : t('Default'); $block->content .= '<li>' . t('Argument @arg using context @context converted into @converter', array( - '@arg' => $argument->ui_name(), '@context' => $contexts[$cid]->get_identifier(), - '@converter' => $converter)) . '</li>'; + '@arg' => $argument->ui_name(), + '@context' => $contexts[$cid]->get_identifier(), + '@converter' => $converter, + )) . '</li>'; } $argument = next($arguments); } @@ -494,6 +495,7 @@ function views_content_views_content_type_admin_info($subtype, $conf, $contexts) * versions it was the view name with a dash and the display ID. * If this is the case, we can use it to correct the 'display' setting * in the $conf. + * * @return * The $view with the initialized display. If the $view could not be * loaded, the name attempted will be loaded for use in errors. @@ -534,7 +536,6 @@ function _views_content_views_update_conf(&$conf, $subtype) { $view->set_display($display); // $view->current_display will now reflect this value. - // If set NOT to override, go ahead and refresh from the view. if (empty($conf['override_pager_settings'])) { if (method_exists($view, 'init_pager')) { diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_attachments.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_attachments.inc index e938f539fdadf2524a2a5e6541e71bcedfe575ef..f399feaa708d311749e2caf7b40666d55fe3065d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_attachments.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_attachments.inc @@ -25,7 +25,7 @@ function views_content_views_attachments_content_type_render($subtype, $conf, $p } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_attachments'; $block->delta = $context->argument; $block->title = ''; @@ -41,7 +41,6 @@ function views_content_views_attachments_content_type_render($subtype, $conf, $p return $block; } - function views_content_views_attachments_content_type_edit_form($form, &$form_state) { $conf = $form_state['conf']; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_empty.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_empty.inc index 4664d65d350f733636c34f4fc66d7b3d09a57a1d..01e95c329edaaf2e05619671db76b7edeb36ef90 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_empty.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_empty.inc @@ -22,7 +22,7 @@ function views_content_views_empty_content_type_render($subtype, $conf, $panel_a } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_empty'; $block->delta = $context->argument; $block->title = ''; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_exposed.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_exposed.inc index 93371e21f7cbc01e68d034f375a490e43e83eff0..f6d019fbc840083e7a9174b8e697aaab9b637beb 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_exposed.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_exposed.inc @@ -22,7 +22,7 @@ function views_content_views_exposed_content_type_render($subtype, $conf, $panel } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_exposed'; $block->delta = $context->argument; $block->title = ''; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_feed.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_feed.inc index f2fdb8af502a276f8ccd30a18b5e3391174f6644..774d593f648dbca17ee36fe84f15c14f046cb4c6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_feed.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_feed.inc @@ -22,7 +22,7 @@ function views_content_views_feed_content_type_render($subtype, $conf, $panel_ar } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_feed'; $block->delta = $context->argument; $block->title = ''; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_footer.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_footer.inc index 81c87a3abbb0d956967f5fb2c9447feced028759..fc3d01b8e3089f284524d5fe067c926d08242e08 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_footer.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_footer.inc @@ -22,7 +22,7 @@ function views_content_views_footer_content_type_render($subtype, $conf, $panel_ } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_footer'; $block->delta = $context->argument; $block->title = ''; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_header.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_header.inc index f144d29fa34616f6e734e20444ba39864d715508..b42806fda94d3f03cd8d5bf5489db04597f0fe90 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_header.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_header.inc @@ -22,7 +22,7 @@ function views_content_views_header_content_type_render($subtype, $conf, $panel_ } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_header'; $block->delta = $context->argument; $block->title = ''; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_pager.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_pager.inc index faa65692b7543e120b4f1802f739922d20c4e9cb..f5b380e099c351e3b92a08b09cda871d60f084d8 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_pager.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_pager.inc @@ -22,7 +22,7 @@ function views_content_views_pager_content_type_render($subtype, $conf, $panel_a } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_pager'; $block->delta = $context->argument; $block->title = ''; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc index 6f691c0640a133789b71df0b7949f1930e2db0c8..07e93f7a5b0f72526b588fa2372b97c631e1aca0 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc @@ -179,21 +179,21 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a $args[] = (isset($conf['arguments'][$id]) && $conf['arguments'][$id] !== '') ? ctools_context_keyword_substitute($conf['arguments'][$id], array(), $contexts) : NULL; break; - case 'wildcard': + case 'wildcard': // Put in the wildcard. - $args[] = isset($arguments[$id]['wildcard']) ? $arguments[$id]['wildcard'] : '*'; - break; - - case 'none': - default: - // Put in NULL. - // views.module knows what to do with NULL (or missing) arguments - $args[] = NULL; - break; + $args[] = isset($arguments[$id]['wildcard']) ? $arguments[$id]['wildcard'] : '*'; + break; + + case 'none': + default: + // Put in NULL. + // views.module knows what to do with NULL (or missing) arguments. + $args[] = NULL; + break; } } - // remove any trailing NULL arguments as these are non-args: + // Remove any trailing NULL arguments as these are non-args: while (count($args) && end($args) === NULL) { array_pop($args); } @@ -208,7 +208,7 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a if ($allow['path_override'] && !empty($conf['path'])) { $view->override_path = $conf['path']; } - else if ($path = $view->display_handler->get_option('inherit_panels_path')) { + elseif ($path = $view->display_handler->get_option('inherit_panels_path')) { if (drupal_is_front_page()) { $view->override_path = ''; } @@ -219,21 +219,21 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a $block = new stdClass(); $block->module = 'views'; - $block->delta = $view->name . '-' . $display; + $block->delta = $view->name . '-' . $display; if (($allow['link_to_view'] && !empty($conf['link_to_view'])) || (!$allow['link_to_view'] && $view->display_handler->get_option('link_to_view'))) { $block->title_link = $view->get_url(); } - // more link + // More link. if ($allow['more_link']) { if (empty($conf['more_link'])) { $view->display_handler->set_option('use_more', FALSE); } else { $view->display_handler->set_option('use_more', TRUE); - // make sure the view runs the count query so we know whether or not the + // Make sure the view runs the count query so we know whether or not the // more link applies. $view->get_total_rows = TRUE; } @@ -386,7 +386,7 @@ function views_content_views_panes_content_type_edit_form($form, &$form_state) { ); } } - if ($allow['link_to_view'] ) { + if ($allow['link_to_view']) { $form['link_to_view'] = array( '#type' => 'checkbox', '#default_value' => isset($conf['link_to_view']) ? $conf['link_to_view'] : $view->display_handler->get_option('link_to_view'), @@ -437,7 +437,7 @@ function views_content_views_panes_content_type_edit_form($form, &$form_state) { $form['use_pager'] = array( '#type' => 'checkbox', '#title' => t('Use pager'), - '#default_value' => $conf['use_pager'], + '#default_value' => $conf['use_pager'], '#id' => 'use-pager-checkbox', '#prefix' => '<div class="container-inline">', ); @@ -558,7 +558,7 @@ function views_content_views_panes_content_type_edit_form($form, &$form_state) { $form['exposed']['sort_order'] = $exposed_form['sort_order']; } - // Add the view object to the form to allow additional customization + // Add the view object to the form to allow additional customization. $form_state['view'] = $view; return $form; @@ -570,7 +570,8 @@ function views_content_views_panes_content_type_edit_form($form, &$form_state) { function views_content_views_panes_content_type_edit_form_submit(&$form, &$form_state) { // Copy everything from our defaults. $keys = array('link_to_view', 'more_link', 'feed_icons', 'use_pager', - 'pager_id', 'items_per_page', 'offset', 'path_override', 'path', 'arguments', 'fields_override', 'exposed'); + 'pager_id', 'items_per_page', 'offset', 'path_override', 'path', 'arguments', 'fields_override', 'exposed', + ); foreach ($keys as $key) { if (isset($form_state['values'][$key])) { @@ -579,7 +580,6 @@ function views_content_views_panes_content_type_edit_form_submit(&$form, &$form_ } } - /** * Returns the administrative title for a type. */ @@ -614,21 +614,21 @@ function views_content_views_panes_content_type_admin_info($subtype, $conf, $con $view->set_display($display_name); views_content_views_panes_add_defaults($conf, $view); - // Add arguments first + // Add arguments first. if (!empty($conf['arguments'])) { $keys = array_keys($conf['arguments']); $values = array_values($conf['arguments']); $argument_input = $view->display_handler->get_option('argument_input'); foreach ($conf['arguments'] as $key => $value) { - if (!empty($value)){ + if (!empty($value)) { $label = $argument_input[$key]['label']; $info[] = $label . ': ' . $value; } } } - $block = new stdClass; + $block = new stdClass(); if ($info) { $block->title = array_shift($info); diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_row.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_row.inc index 9672d020d5f1c8447596a20f0612e2bf63273308..16b97dc73a1ac915b46c7648ca7e2fa7256a83b0 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_row.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_row.inc @@ -35,7 +35,7 @@ function views_content_views_row_content_type_render($subtype, $conf, $panel_arg } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_row'; $block->delta = $context->argument; $block->title = ''; @@ -91,7 +91,7 @@ function views_content_views_row_content_type_render($subtype, $conf, $panel_arg 'view' => $view, 'options' => $plugin->options, 'rows' => $rows, - 'title' => $title + 'title' => $title, ) ); } diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_view.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_view.inc index dfb1175c3bf6ffef0dac91952b610e5ceeef9d50..54eec08550fdf6d0fee122e99f99718c87634025 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_view.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_view.inc @@ -22,7 +22,7 @@ function views_content_views_view_content_type_render($subtype, $conf, $panel_ar } // Build the content type block. - $block = new stdClass(); + $block = new stdClass(); $block->module = 'views_view'; $block->delta = $context->argument; $block->title = ''; diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/contexts/view.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/contexts/view.inc index 1e926e457d3b10121ee9c03dca18a0261868957a..6380478aa7d8df09fb150832cab6055904655b24 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/contexts/view.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/contexts/view.inc @@ -2,7 +2,6 @@ /** * @file - * * Plugin to provide a node context. A node context is a node wrapped in a * context object that can be utilized by anything that accepts contexts. */ @@ -88,7 +87,7 @@ function views_content_context_view_create($empty, $data = NULL, $conf = FALSE, $data->set_display($display_id); } } - else if (!empty($plugin['view name'])) { + elseif (!empty($plugin['view name'])) { $data = views_get_view($plugin['view name']); $data->set_display($plugin['view display id']); } @@ -101,7 +100,7 @@ function views_content_context_view_create($empty, $data = NULL, $conf = FALSE, // $output = views_content_context_get_output($context); // $view = $output['view']; // @endcode - $context->data = array( + $context->data = array( 'name' => $data->name, 'display' => $data->current_display, 'args' => $data->args, @@ -158,8 +157,7 @@ function views_content_context_view_settings_form_validate($form, &$form_state) * Provide a list of ways that this context can be converted to a string. */ function views_content_context_view_convert_list() { - $list = array( - ); + $list = array(); return $list; } @@ -171,4 +169,3 @@ function views_content_context_view_convert($context, $type) { switch ($type) { } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/relationships/view_from_argument.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/relationships/view_from_argument.inc index cefc6dba005df309a1ee10e2002f9cd53dec02a2..cabd329b51655446c9667f571c564750779c2b06 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/relationships/view_from_argument.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/relationships/view_from_argument.inc @@ -73,7 +73,7 @@ function views_content_view_from_argument_context($contexts, $conf) { foreach ($data->display_handler->get_argument_input() as $id => $argument) { if ($argument['type'] == 'context') { $key = array_shift($context_keys); - if (isset($contexts [$key])) { + if (isset($contexts[$key])) { if (strpos($argument['context'], '.')) { list($context, $converter) = explode('.', $argument['context'], 2); $args[] = ctools_context_convert_context($contexts[$key], $converter, array('sanitize' => FALSE)); @@ -84,7 +84,7 @@ function views_content_view_from_argument_context($contexts, $conf) { } } } - // remove any trailing NULL arguments as these are non-args: + // Remove any trailing NULL arguments as these are non-args: while (count($args) && end($args) === NULL) { array_pop($args); } diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content.views.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content.views.inc index 186ef4f786d2eca7cc382b23e1ab40076d91ec99..20b65a263282337b15c10fa42a9c575a5aa1f7e4 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content.views.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content.views.inc @@ -6,7 +6,7 @@ */ /** - * Implements hook_views_plugins + * Implements hook_views_plugins(). */ function views_content_views_plugins() { return array( diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_ctools_context.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_ctools_context.inc index 967f2fa8248d04ed7e40dc5e1136cff88c196355..87ee291ae6dbb5a4e70d421dc371c8d2f723b639 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_ctools_context.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_ctools_context.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Contains the block display plugin. @@ -14,19 +15,24 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { * If this variable is true, this display counts as a context. We use this * variable so that we can easily build plugins against this display type. */ - var $context_display = TRUE; + public $context_display = TRUE; + + + public function get_style_type() { + return 'context'; + } - function get_style_type() { return 'context'; } - function defaultable_sections($section = NULL) { - if (in_array($section, array('style_options', 'style_plugin', 'row_options', 'row_plugin',))) { + public function defaultable_sections($section = NULL) { + if (in_array($section, array('style_options', 'style_plugin', 'row_options', 'row_plugin'))) { return FALSE; } return parent::defaultable_sections($section); } - function option_definition() { + + public function option_definition() { $options = parent::option_definition(); $options['admin_title'] = array('default' => '', 'translatable' => TRUE); @@ -47,12 +53,13 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { /** * The display block handler returns the structure necessary for a block. */ - function execute() { + public function execute() { $this->executing = TRUE; return $this->view->render(); } - function preview() { + + public function preview() { $this->previewing = TRUE; return $this->view->render(); } @@ -60,7 +67,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { /** * Render this display. */ - function render() { + public function render() { if (!empty($this->previewing)) { return theme($this->theme_functions(), array('view' => $this->view)); } @@ -71,7 +78,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { $hooks = theme_get_registry(); $info = $hooks[$this->definition['theme']]; if (!empty($info['file'])) { - @include_once('./' . $info['path'] . '/' . $info['file']); + @include_once './' . $info['path'] . '/' . $info['file']; } $this->variables = array('view' => &$this->view); @@ -92,7 +99,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { * * This output is returned as an array. */ - function options_summary(&$categories, &$options) { + public function options_summary(&$categories, &$options) { // It is very important to call the parent function here: parent::options_summary($categories, $options); @@ -135,7 +142,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { // It is very important to call the parent function here: parent::options_form($form, $form_state); switch ($form_state['section']) { @@ -143,6 +150,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { // This just overwrites the existing row_plugin which is using the wrong options. $form['row_plugin']['#options'] = views_fetch_plugin_names('row', 'normal', array($this->view->base_table)); break; + case 'admin_title': $form['#title'] .= t('Administrative title'); @@ -152,6 +160,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { '#description' => t('This is the title that will appear for this view context in the configure context dialog. If left blank, the view name will be used.'), ); break; + case 'inherit_panels_path': $form['#title'] .= t('Inherit path from panel display'); @@ -162,6 +171,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { '#description' => t('If yes, all links generated by Views, such as more links, summary links, and exposed input links will go to the panels display path, not the view, if the display has a path.'), ); break; + case 'argument_input': $form['#title'] .= t('Choose the data source for view arguments'); $argument_input = $this->get_argument_input(); @@ -216,7 +226,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { + public function options_submit(&$form, &$form_state) { // It is very important to call the parent function here: parent::options_submit($form, $form_state); switch ($form_state['section']) { @@ -234,7 +244,7 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { * the arguments doesn't cause the argument input field to just * break. */ - function get_argument_input() { + public function get_argument_input() { $arguments = $this->get_option('argument_input'); $handlers = $this->get_handlers('argument'); @@ -260,7 +270,8 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { return $output; } - function get_path() { + + public function get_path() { if ($this->get_option('link_display') == 'custom_url' && $override_path = $this->get_option('link_url')) { return $override_path; } @@ -269,4 +280,5 @@ class views_content_plugin_display_ctools_context extends views_plugin_display { } return parent::get_path(); } + } diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc index e02f896a46b6d2cf1aa7117283cc007ceb5f91ef..05d3478f061a4ad6d9a9f9943dc7a5efa9771e49 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc @@ -8,10 +8,11 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { * If this variable is true, this display counts as a panel pane. We use * this variable so that other modules can create alternate pane displays. */ - var $panel_pane_display = TRUE; - var $has_pane_conf = NULL; + public $panel_pane_display = TRUE; + public $has_pane_conf = NULL; - function option_definition() { + + public function option_definition() { $options = parent::option_definition(); $options['pane_title'] = array('default' => '', 'translatable' => TRUE); @@ -34,7 +35,7 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { 'title_override' => array('default' => FALSE), 'exposed_form' => array('default' => FALSE), 'fields_override' => array('default' => FALSE), - ), + ), ); $options['argument_input'] = array('default' => array()); @@ -44,11 +45,13 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { return $options; } - function has_pane_conf() { + + public function has_pane_conf() { return isset($this->has_pane_conf); } - function set_pane_conf($conf = array()) { + + public function set_pane_conf($conf = array()) { $this->set_option('pane_conf', $conf); $this->has_pane_conf = TRUE; } @@ -58,7 +61,7 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { * * This output is returned as an array. */ - function options_summary(&$categories, &$options) { + public function options_summary(&$categories, &$options) { // It is very important to call the parent function here: parent::options_summary($categories, $options); @@ -147,7 +150,7 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { // It is very important to call the parent function here: parent::options_form($form, $form_state); @@ -177,6 +180,7 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { '#options' => $options, ); break; + case 'pane_title': $form['#title'] .= t('Administrative title'); @@ -318,7 +322,7 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { + public function options_submit(&$form, &$form_state) { // It is very important to call the parent function here: parent::options_submit($form, $form_state); switch ($form_state['section']) { @@ -340,7 +344,7 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { * the arguments doesn't cause the argument input field to just * break. */ - function get_argument_input() { + public function get_argument_input() { $arguments = $this->get_option('argument_input'); $handlers = $this->get_handlers('argument'); @@ -368,7 +372,8 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { return $output; } - function use_more() { + + public function use_more() { $allow = $this->get_option('allow'); if (!$allow['more_link'] || !$this->has_pane_conf()) { return parent::use_more(); @@ -377,21 +382,24 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { return (bool) $conf['more_link']; } - function get_path() { + + public function get_path() { if (empty($this->view->override_path)) { return parent::get_path(); } return $this->view->override_path; } - function get_url() { + + public function get_url() { if ($this->get_option('inherit_panels_path')) { return $this->get_path(); } return parent::get_url(); } - function uses_exposed_form_in_block() { + + public function uses_exposed_form_in_block() { // We'll always allow the exposed form in a block, regardless of path. return TRUE; } @@ -405,7 +413,7 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { * returns, exposed filters will not be used nor * displayed unless uses_exposed() returns TRUE. */ - function displays_exposed() { + public function displays_exposed() { $conf = $this->get_option('allow'); // If this is set, the exposed form is part of pane configuration, not // rendered normally. @@ -413,4 +421,3 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { } } - diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_style_ctools_context.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_style_ctools_context.inc index aafbebc1f23875885ce0c950fab6389807601356..ea5323c6d11ffc0b4b0c9c58d140ee4ee856819a 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_style_ctools_context.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_style_ctools_context.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Contains the default style plugin. @@ -11,12 +12,12 @@ * @ingroup views_style_plugins */ class views_content_plugin_style_ctools_context extends views_plugin_style { - var $rows = array(); + public $rows = array(); /** * Render the display in this style. */ - function render() { + public function render() { if (!empty($this->view->display_handler->previewing)) { return parent::render(); } diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.info b/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.info index 9252a70a680cb3089794b2cab382fcdd6f871afa..254d474b80585bf32a075d93693fedf2dae01084 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.info +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.info @@ -10,9 +10,9 @@ files[] = plugins/views/views_content_plugin_display_ctools_context.inc files[] = plugins/views/views_content_plugin_display_panel_pane.inc files[] = plugins/views/views_content_plugin_style_ctools_context.inc -; Information added by Drupal.org packaging script on 2018-02-04 -version = "7.x-1.13" +; Information added by Drupal.org packaging script on 2018-02-24 +version = "7.x-1.14" core = "7.x" project = "ctools" -datestamp = "1517704095" +datestamp = "1519455788" diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module b/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module index 27a666ae4584bd9d4d6ebe2579b4b05640bc03f9..264408ac872f4521bfc83b65e2984629132564cb 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module @@ -1,8 +1,7 @@ <?php /** - * @file views_content.module - * + * @file * Provides views as panels content, configurable by the administrator. * Each view provided as panel content must be configured in advance, * but once configured, building panels with views is a little bit simpler. @@ -29,8 +28,9 @@ function views_content_menu() { } /** - * Implementation of hook_ctools_plugin_dierctory() to let the system know - * where our content_type plugins are. + * Implements hook_ctools_plugin_dierctory(). + * + * To let the system know where our content_type plugins are. */ function views_content_ctools_plugin_directory($owner, $plugin_type) { if ($owner == 'ctools') { diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/.travis.yml b/profiles/wcm_base/modules/contrib/date_popup_authored/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..fe458850a32e306c7ba3aa49651739e53926cdb6 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/.travis.yml @@ -0,0 +1,57 @@ +language: php + +php: + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - hhvm + +matrix: + fast_finish: true + allow_failures: + - php: hhvm + +mysql: + database: date_popup_authored_test + username: root + encoding: utf8 + +before_install: + - sudo apt-get update > /dev/null + +install: + # install php packages required for running a web server from drush on php 5.3 + - sudo apt-get install -y --force-yes php5-cgi php5-mysql + + # add composer's global bin directory to the path + # see: https://github.com/drush-ops/drush#install---composer + - export PATH="$HOME/.composer/vendor/bin:$PATH" + + # install drush globally + - composer global require drush/drush:6.* + +before_script: + + # Sendmail support. + - if [[ "$TRAVIS_PHP_VERSION" != hhvm* ]]; then echo 'sendmail_path = /bin/true' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi + # hhvm ignores sendmail_path and hhvm.mail.sendmail_path settings presently... + - if [[ "$TRAVIS_PHP_VERSION" == hhvm* ]]; then sudo ln -s /bin/true /usr/local/bin/sendmail; fi + + # navigate out of module directory to prevent blown stack by recursive module lookup + - cd ../.. + + # create new site, stubbing sendmail path with true to prevent delivery errors and manually resolving drush path + - mysql -e 'create database date_popup_authored_test' + - php ~/.composer/vendor/bin/drush.php --yes core-quick-drupal --profile=testing --no-server --db-url=mysql://root:@127.0.0.1/date_popup_authored_test --enable=simpletest date_popup_authored_test + + # reference and enable travis_ci_drupal_module_example in build site + - ln -s $(readlink -e $(cd -)) date_popup_authored_test/drupal/sites/all/modules/date_popup_authored + - cd date_popup_authored_test/drupal + - drush --yes pm-enable date date_popup date_popup_authored + + # start a web server on port 8080, run in the background; wait for initialization + - drush runserver 127.0.0.1:8080 & + - until netstat -an 2>/dev/null | grep '8080.*LISTEN'; do true; done + +script: drush test-run 'Date Popup Authored' --uri=http://127.0.0.1:8080 diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/CHANGELOG.markdown b/profiles/wcm_base/modules/contrib/date_popup_authored/CHANGELOG.markdown new file mode 100644 index 0000000000000000000000000000000000000000..3573910a3ca4e78fa182845614c66adf1621ae9e --- /dev/null +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/CHANGELOG.markdown @@ -0,0 +1,31 @@ +# Date Popup Authored Changelog + +## 7.x-1.2 + +- Travis CI support +- [#2329773][4] by amagdy, Mark Trapp: Clean up variables when no longer in use +- [#2051921][3] by pfrenssen: Warning: strtotime() expects parameter 1 to be string, array given in strtotime +- [#2275593][2] by goodboy: Use date_format_short for default value. +- [#1087616][1] by Mark Trapp: Date Popup Authored does not play nice when $form['authored']['#access'] is modified too late + +[1]: https://www.drupal.org/node/1087616 +[2]: https://www.drupal.org/node/2275593 +[3]: https://www.drupal.org/node/2051921 +[4]: https://www.drupal.org/node/2329773 + +## 7.x-1.1 + +- Drupal 7 support +- [#1087616][6] by Mark Trapp: Post date resets on save if user can't administer nodes +- [#1012288][5] by pillarsdotnet: Make Date Popup Authored work in PHP 5.2 +- [#995934][4] by Mark Trapp: Date Popup Authored needs tests +- [#995060][3] by pillarsdotnet: Date Popup Authored assumes date is a DateObject, shouldn't +- [#970622][2] by Mark Trapp: Saving a node with Date Popup Authored enabled will result in published time drift +- [#970406][1] by Mark Trapp: Creating a new node with Date Popup Authored enabled results in a White Screen of Death + +[1]: https://www.drupal.org/node/970406 +[2]: https://www.drupal.org/node/970622 +[3]: https://www.drupal.org/node/995060 +[4]: https://www.drupal.org/node/995934 +[5]: https://www.drupal.org/node/1012288 +[6]: https://www.drupal.org/node/1087616 diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/CHANGELOG.txt b/profiles/wcm_base/modules/contrib/date_popup_authored/CHANGELOG.txt deleted file mode 100644 index 7d777e147ccea7b2905e32def4cac2182ced87d8..0000000000000000000000000000000000000000 --- a/profiles/wcm_base/modules/contrib/date_popup_authored/CHANGELOG.txt +++ /dev/null @@ -1,30 +0,0 @@ -Date Popup Authored Module 7.x - -Date Popup Authored 7.x-1.1 ---------------------------- -Stable release to coincide with stable release of Date. - -Date Popup Authored 7.x-1.1-beta2 -------------------------------- -#1087616 by Mark Trapp: Post date resets on save if user can't administer nodes - -Date Popup Authored 7.x-1.1-beta1 -------------------------------- -#1012288 by pillarsdotnet: Make Date Popup Authored work in PHP 5.2 - -Date Popup Authored 7.x-1.1-alpha4 -------------------------------- -#995934 by Mark Trapp: Date Popup Authored needs tests -#995060 by pillarsdotnet: Date Popup Authored assumes date is a DateObject, shouldn't - -Date Popup Authored 7.x-1.1-alpha3 ----------------------------------- -#970622 by Mark Trapp: Saving a node with Date Popup Authored enabled will result in published time drift - -Date Popup Authored 7.x-1.1-alpha2 ----------------------------------- -#970406 by Mark Trapp: Creating a new node with Date Popup Authored enabled results in a White Screen of Death - -Date Popup Authored 7.x-1.1-alpha1 ----------------------------------- -Initial unstable release of the Drupal 7 port. diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/LICENSE.txt b/profiles/wcm_base/modules/contrib/date_popup_authored/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..d159169d1050894d3ea3b98e1c965c4058208fe1 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/LICENSE.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/README.markdown b/profiles/wcm_base/modules/contrib/date_popup_authored/README.markdown new file mode 100644 index 0000000000000000000000000000000000000000..badd0e78c39f3a144f209e8010d9b044465a42fd --- /dev/null +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/README.markdown @@ -0,0 +1,78 @@ +# Date Popup Authored + +[](https://travis-ci.org/itafroma/drupal-date_popup_authored) + +## Introduction + +Date Popup Authored provides a jQuery UI datepicker for the "Authored on" date field found on node submission forms. + +For a full description of the module, visit the [project page][1] on Drupal.org. +To submit bug reports and feature suggestions, or to track changes, please visit the [issue queue][2]. + +[1]: https://drupal.org/project/date_popup_authored "Date Popup Authored project page" +[2]: https://drupal.org/project/issues/date_popup_authored "Date Popup Authored issue tracker" + +## Requirements + +- Drupal 7 +- [Date][3] 2.0 or later +- Date Popup, part of the Date module + +[3]: https://drupal.org/project/date "Date project page" + +## Installation and configuration + +Install as usual. See the [handbook page on installing contributed modules][4] for further information. + +You can change the behavior of the date-picker by going to the settings page for each content type. + +[4]: https://drupal.org/node/895232 "Installing modules (Drupal 7)" + +## Caveats + +Since Date Popup Authored allows you to choose a date format that's less specific than the default date format Drupal uses for the Authored on field, it will insert default data if you use a more simplified date format. + +For example, if the date format you've configured doesn't include a time, when the node is saved, the Authored on time will be set to 12:00AM. Similarly, if you don't include the ability to choose a month, the Authored on month will be set to January (i.e. month 1). + +So, if you care about the time a post is authored, make sure you allow the user to set it in the date format. See installation for more information. + +## Future development + +The functionality this module provides is being considered for core inclusion: + +- [#1835016: Polyfill date input type][1] +- [#471942-30: Use Date Popup on 'Authored on' field][2] +- [#504524: Extend Authored on field with jQuery UI Date Picker][3] + +Because of this, there will hopefully be no Drupal 8 version. + +[5]: https://www.drupal.org/node/1835016 "#1835016: Polyfill date input type" +[6]: https://www.drupal.org/comment/6788664#comment-6788664 "#471942-30: Use Date Popup on 'Authored on' field" +[7]: https://www.drupal.org/node/504524 "#504524: Extend Authored on field with jQuery UI Date Picker" + +## Contact + +The current maintainer is [Mark Trapp][5] ([Drupal.org profile][6]). + +[8]: http://marktrapp.com "Mark Trapp's website" +[9]: https://drupal.org/u/mark-trapp "Mark Trapp's Drupal.org profile" + +## Acknowledgments + +Date Popup Authored was inspired by the hacks provided by [brice][7] and [Rob Loach][8] in the Date module issue, "[Use Date Popup on 'Authored on' field][9]." It contains additional fixes to account for problems found in their solution, new configuration options, Drupal 7 support, and a full test suite. + +[10]: https://drupal.org/user/446296 "brice's Drupal.org profile" +[11]: https://drupal.org/u/robloach "Rob Loach's Drupal.org profile" +[12]: https://drupal.org/node/471942 "Use Date Popup on 'Authored on' field" + +## More information + +- For additional documentation, see the [online Drupal handbook][10]. +- For a list of security announcements, see the [*Security advisories* page][11] (available as an RSS feed). This page also describes how to subscribe to these announcements via e-mail. +- For information about the Drupal security process, or to find out how to report a potential security issue to the Drupal security team, see the [*Security team* page][12]. +- For information about the wide range of available support options, see the [*Support* page][13]. + +[13]: https://drupal.org/handbook "Drupal Handbook" +[14]: https://drupal.org/security "Drupal security advisories" +[15]: https://drupal.org/security-team "Drupal security team" +[16]: https://drupal.org/support] "Drupal support" \ No newline at end of file diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/README.txt b/profiles/wcm_base/modules/contrib/date_popup_authored/README.txt deleted file mode 100644 index 320bf89b84c335d83141a51ce98ef4a08a823416..0000000000000000000000000000000000000000 --- a/profiles/wcm_base/modules/contrib/date_popup_authored/README.txt +++ /dev/null @@ -1,76 +0,0 @@ - -CONTENTS OF THIS FILE ---------------------- - -* Introduction -* Requirements -* Installation -* Acknowledgements -* Contact -* More Information - -INTRODUCTION ------------- - -Date Popup Authored provides a jQuery UI datepicker for the "Authored on" -date field found on node submission forms. - -For a full description of the module, visit the project page: - http://drupal.org/project/date_popup_authored - -To submit bug reports and feature suggestions, or to track changes: - http://drupal.org/project/issues/date_popup_authored - -REQUIREMENTS ------------- - -- Drupal 7 -- Date [1] 7.x-2.0 or later -- Date Popup, part of the Date module - -[1] http://drupal.org/project/date - -INSTALLATION ------------- - -Install as usual. See the handbook page on installing contributed modules [1] -for further information. - -You can change the behavior of the datepicker by going to the settings page -for each content type. - -[1] http://drupal.org/node/895232 - -CONTACT -------- - -Current maintainer: -- Mark Trapp (amorfati) - http://drupal.org/user/212019 - -ACKNOWLEDGEMENTS ----------------- - -Date Popup Authored was inspired by the hacks provided by brice [1] and -Rob Loach [2] in issue #471942 [3]. It contains additional fixes to account for -problems found in their solution as well as new configuration options. - -[1] http://drupal.org/user/446296 -[2] http://drupal.org/user/61114 -[3] http://drupal.org/node/471942 - -MORE INFORMATION ----------------- - -- For additional documentation, see the online Drupal handbook at - http://drupal.org/handbook. - -- For a list of security announcements, see the "Security announcements" page - at http://drupal.org/security (available as an RSS feed). This page also - describes how to subscribe to these announcements via e-mail. - -- For information about the Drupal security process, or to find out how to report - a potential security issue to the Drupal security team, see the "Security team" - page at http://drupal.org/security-team. - -- For information about the wide range of available support options, see the - "Support" page at http://drupal.org/support. diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.info b/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.info index bd506d7fd3b823ef3007eadd2dfee8b48dcc6fd5..6f8bb86f2a2e137afa8bed204c92f936ee9d907f 100644 --- a/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.info +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.info @@ -1,6 +1,13 @@ name = "Date Popup Authored" description = "Provides a datepicker for the 'Authored on' field on node forms." core = 7.x -files[] = date_popup_authored.test +files[] = tests/date_popup_authored_format.test package = Date/Time -dependencies[] = date_popup \ No newline at end of file +dependencies[] = date_popup + +; Information added by Drupal.org packaging script on 2014-12-22 +version = "7.x-1.2" +core = "7.x" +project = "date_popup_authored" +datestamp = "1419241381" + diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.install b/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.install new file mode 100644 index 0000000000000000000000000000000000000000..8e4095e46a0526cfd8bcbc926897ffa304f6718f --- /dev/null +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.install @@ -0,0 +1,17 @@ +<?php + +/** + * Install, update, and uninstall functions for the Date Popup Authored module. + */ + +/** + * Implements hook_uninstall(). + */ +function date_popup_authored_uninstall() { + // Delete the variables created by Date Popup Authored. + foreach (node_type_get_types() as $node_type) { + variable_del('date_popup_authored_enabled_' . $node_type->type); + variable_del('date_popup_authored_format_' . $node_type->type); + variable_del('date_popup_authored_year_range_' . $node_type->type); + } +} diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.module b/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.module index 4fef951be78871f0f0e4f4f76462314e4ebf21cb..9bf1038b3254a554e02433b78359d11a8f3f67db 100644 --- a/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.module +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/date_popup_authored.module @@ -133,17 +133,60 @@ function date_popup_authored_form_node_form_alter(&$form, $form_state, $form_id) // Set options specific to date_popup. $year_range = variable_get('date_popup_authored_year_range_' . $form['type']['#value'], 3); $form['author']['date']['#date_year_range'] = '-' . $year_range . ':+' . $year_range; - $form['author']['date']['#date_format'] = variable_get('date_popup_authored_format_' . $form['type']['#value'], 'm/d/Y - H:i'); + $form['author']['date']['#date_format'] = variable_get('date_popup_authored_format_' . $form['type']['#value'], variable_get('date_format_short', 'm/d/Y - H:i')); // Unset options that are not relevant to date_popup unset($form['author']['date']['#maxlength']); unset($form['author']['date']['#description']); + // Add an additional validate handler after date_popup builds the element. + $form['author']['date']['#after_build'][] = 'date_popup_authored_element_after_build'; + // We need to modify date popup's data during submit // @see http://drupal.org/node/847854 $form['#submit'][] = 'date_popup_authored_node_form_submit'; } +/** + * Implements hook_node_type_delete(). + */ +function date_popup_authored_node_type_delete($info) { + // Delete format configuration when node types are deleted. + variable_del('date_popup_authored_enabled_' . $info->type); + variable_del('date_popup_authored_format_' . $info->type); + variable_del('date_popup_authored_year_range_' . $info->type); +} + +/** + * Form after build handler for the date popup element. + */ +function date_popup_authored_element_after_build($element, &$form_state) { + // Add a validate handler after the one that is added by date_popup. + $element['#element_validate'][] = 'date_popup_authored_element_validate'; + return $element; +} + +/** + * Validate handler for the date popup element. + */ +function date_popup_authored_element_validate($element, &$form_state) { + if (date_hidden_element($element) || is_string($element['#value'])) { + return; + } + + // If an error occurred in the validation of the date popup field the date + // cannot be correctly rendered as a string. In this case clear the date value + // to avoid subsequent errors when the node is validated. + // @see date_popup_validate() + // @see node_validate() + $input_exists = NULL; + $input = drupal_array_get_nested_value($form_state['values'], $element['#parents'], $input_exists); + $date = date_popup_input_date($element, $input); + if (is_object($date) && !empty($date->errors)) { + $form_state['values']['date'] = NULL; + } +} + /** * Submits the node data with the proper post date. * diff --git a/profiles/wcm_base/modules/contrib/date_popup_authored/tests/date_popup_authored_format.test b/profiles/wcm_base/modules/contrib/date_popup_authored/tests/date_popup_authored_format.test index d735f331778cd7088b27c6167ee1576c414b61b0..28958e494a29f2ba439e7f14515610740b67c5bb 100644 --- a/profiles/wcm_base/modules/contrib/date_popup_authored/tests/date_popup_authored_format.test +++ b/profiles/wcm_base/modules/contrib/date_popup_authored/tests/date_popup_authored_format.test @@ -87,7 +87,7 @@ class DatePopupAuthoredTestCase extends PageEditTestCase { debug($node_date->format($time_format), 'Node time'); // Extract the date and time parts as seen on the node submission form - $default_format = variable_get('date_popup_authored_format_page', 'm/d/Y - H:i'); + $default_format = variable_get('date_popup_authored_format_page', variable_get('date_format_short', 'm/d/Y - H:i')); variable_set('date_popup_authored_format_page', $format); $this->drupalGet('node/' . $node->nid . '/edit'); @@ -108,4 +108,80 @@ class DatePopupAuthoredTestCase extends PageEditTestCase { // Reset format back to default variable_set('date_popup_authored_format_page', $format); } + + /** + * Tests form field validation. + */ + function testFieldValidation() { + // Define some test cases. + $test_cases = array( + array( + 'description' => 'a valid date field and a missing time field', + 'date' => '02/07/2014', + 'time' => '', + 'valid' => FALSE, + ), + array( + 'description' => 'a valid date field and a valid time field', + 'date' => '02/07/2014', + 'time' => '12:00', + 'valid' => TRUE, + ), + ); + + // Log in as administrator. + $this->drupalLogin($this->admin_user); + + // Test the test cases. + foreach ($test_cases as $test_case) { + $edit = array( + 'title' => $this->randomString(), + 'date[date]' => $test_case['date'], + 'date[time]' => $test_case['time'], + ); + $this->drupalPost('node/add/page', $edit, t('Save')); + + $error_messages = $this->xpath('//div[contains(@class, "error")]'); + + $message = format_string('When submitting a node with @description the form validation correctly @result.', array( + '@description' => $test_case['description'], + '@result' => $test_case['valid'] ? 'succeeds' : 'fails', + )); + $this->assertEqual(empty($error_messages), $test_case['valid'], $message); + } + } + + /** + * Tests variable cleanup after a content type is removed. + */ + function testVariableCleanupAfterNodeTypeRemoval() { + $node_type_name = strtolower($this->randomName(8) . '_test'); + $node_type = $this->drupalCreateContentType(array('name' => $node_type_name, 'type' => $node_type_name)); + + variable_set('date_popup_authored_enabled_' . $node_type_name, 'foo'); + variable_set('date_popup_authored_format_' . $node_type_name, 'foo'); + variable_set('date_popup_authored_year_range_' . $node_type_name, 'foo'); + + node_type_delete($node_type_name); + + $this->assertNull(variable_get('date_popup_authored_enabled_' . $node_type_name)); + $this->assertNull(variable_get('date_popup_authored_format_' . $node_type_name)); + $this->assertNull(variable_get('date_popup_authored_year_range_' . $node_type_name)); + } + + /** + * Tests variable cleanup after Date Popup Authored is uninstalled. + */ + function testVariableCleanupAfterUninstall() { + variable_set('date_popup_authored_enabled_page', 'foo'); + variable_set('date_popup_authored_format_page', 'foo'); + variable_set('date_popup_authored_year_range_page', 'foo'); + + module_disable(array('date_popup_authored')); + drupal_uninstall_modules(array('date_popup_authored')); + + $this->assertNull(variable_get('date_popup_authored_enabled_page')); + $this->assertNull(variable_get('date_popup_authored_format_page')); + $this->assertNull(variable_get('date_popup_authored_year_range_page')); + } } diff --git a/profiles/wcm_base/modules/contrib/devel/LICENSE.txt b/profiles/wcm_base/modules/contrib/devel/LICENSE.txt old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/devel-rtl.css b/profiles/wcm_base/modules/contrib/devel/devel-rtl.css index fe784a8da7a7637fd37b640c9176396ae2b86cba..a398b9ff3b098931dae3ea6a4b1ad67d0e3b2827 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel-rtl.css +++ b/profiles/wcm_base/modules/contrib/devel/devel-rtl.css @@ -1,3 +1,8 @@ +/** + * @file + * Right-to-left styles for Devel. + */ + .dev-query, .dev-timer, .dev-memory-usage { align: left; direction: ltr; @@ -5,4 +10,4 @@ } .dev-query, .dev-timer, .dev-memory-usage table { direction: ltr; -} \ No newline at end of file +} diff --git a/profiles/wcm_base/modules/contrib/devel/devel.admin.inc b/profiles/wcm_base/modules/contrib/devel/devel.admin.inc index 6fec2ca59308b5cb3106b547b00a04db23e484df..cecdb389f032b2cdb471d9fc5b798ef20166e84c 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.admin.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel.admin.inc @@ -1,6 +1,18 @@ <?php +/** + * @file + * Functions for Devel administrative pages. + */ + +/** + * Form constructor for the settings form. + * + * @ingroup forms + */ function devel_admin_settings() { + _devel_display_block_help_message(); + $form['queries'] = array('#type' => 'fieldset', '#title' => t('Query log')); $description = t('Display a log of the database queries needed to generate the current page, and the execution time for each. Also, queries which are repeated during a single page view are summed in the # column, and printed in red since they are candidates for caching.'); @@ -22,6 +34,12 @@ function devel_admin_settings() { ), ), ); + $form['queries']['settings']['devel_show_query_args_first'] = array( + '#type' => 'checkbox', + '#title' => t('Show query arguments'), + '#default_value' => variable_get('devel_show_query_args_first', FALSE), + '#description' => t('Show arguments rather than the query placeholders in the logged query.'), + ); $form['queries']['settings']['devel_query_sort'] = array('#type' => 'radios', '#title' => t('Sort query log'), '#default_value' => variable_get('devel_query_sort', DEVEL_QUERY_SORT_BY_SOURCE), @@ -36,57 +54,13 @@ function devel_admin_settings() { '#description' => t('Enter an integer in milliseconds. Any query which takes longer than this many milliseconds will be highlighted in the query log. This indicates a possibly inefficient query, or a candidate for caching.'), ); - $form['xhprof'] = array( - '#type' => 'fieldset', - '#title' => 'XHProf', - '#description' => t('XHProf is a php extension which is essential for profiling your Drupal site. It pinpoints slow functions, and also memory hogging functions.'), - ); - $description = extension_loaded('xhprof') ? t('Profile requests with the xhprof php extension.') : '<span class="warning">' . t('You must enable the <a href="!url">xhprof php extension</a> to use this feature.', array('!url' => url('http://techportal.ibuildings.com/2009/12/01/profiling-with-xhprof/'))) . '</span>'; - $form['xhprof']['devel_xhprof_enabled'] = array( - '#type' => 'checkbox', - '#title' => t('Enable profiling of all page views and <a href="!drush">drush</a> requests.', array('!drush' => url('http://drush.ws'))), - '#default_value' => variable_get('devel_xhprof_enabled', FALSE), - '#description' => $description, - '#disabled' => !extension_loaded('xhprof'), - ); - $form['xhprof']['settings'] = array( - '#type' => 'container', - '#states' => array( - 'invisible' => array( - 'input[name="devel_xhprof_enabled"]' => array('checked' => FALSE), - ), - ), - ); - $form['xhprof']['settings']['devel_xhprof_directory'] = array( - '#type' => 'textfield', - '#title' => 'xhprof directory', - '#description' => t('Location of the xhprof source code on your system, where the directory "xhprof_lib" can be found, usually somewhere in /usr/local/share or /usr/share, include the leading forward slash.'), - '#default_value' => variable_get('devel_xhprof_directory', ''), - '#states' => array( - 'invisible' => array( - 'input[name="devel_xhprof_enabled"]' => array('checked' => FALSE), - ), - ), - ); - $form['xhprof']['settings']['devel_xhprof_url'] = array( - '#type' => 'textfield', - '#title' => 'XHProf URL', - '#description' => t('Path to the publically accessible xhprof_html - required to display profiler reports. You will need to set this up outside Drupal, for example at http://xhprof.localhost/xhprof_html'), - '#default_value' => variable_get('devel_xhprof_url', ''), - '#states' => array( - 'invisible' => array( - 'input[name="devel_xhprof_enabled"]' => array('checked' => FALSE), - ), - ), - ); - $form['devel_api_url'] = array('#type' => 'textfield', '#title' => t('API Site'), '#default_value' => variable_get('devel_api_url', 'api.drupal.org'), '#description' => t('The base URL for your developer documentation links. You might change this if you run <a href="!url">api.module</a> locally.', array('!url' => url('http://drupal.org/project/api')))); - $form['dev_timer'] = array('#type' => 'checkbox', + $form['devel_timer'] = array('#type' => 'checkbox', '#title' => t('Display page timer'), - '#default_value' => variable_get('dev_timer', 0), + '#default_value' => variable_get('devel_timer', 0), '#description' => t('Display page execution time in the query log box.'), ); @@ -161,6 +135,45 @@ function devel_admin_settings() { return system_settings_form($form); } +/** + * Displays a helpful message if Menu module is not installed. + */ +function _devel_display_block_help_message() { + if (!module_exists('menu')) { + $devel_block_alert = t('Devel block alert: The Devel block requires the Core Menu module. The Devel block will become available once you <a href="!url">enable Menu</a>.', + array('!url' => url('admin/modules')) + ); + $variables = array( + '!admin_menu_url' => url('https://drupal.org/project/admin_menu', array('external' => TRUE)), + '!admin_menu_name' => 'Administration Menu', + '!admin_menu_config_url' => url('admin/config/administration/admin_menu'), + '!icon_menu' => t('Icon menu'), + ); + if (!module_exists('admin_menu')) { + $devel_block_alert .= '<br />' . t('Alternatively, you can install <a href="!admin_menu_url">!admin_menu_name</a> which supports displaying the Devel menu items in its !icon_menu.', $variables); + } + else { + $admin_menu_components = variable_get('admin_menu_components', array()); + if (empty($admin_menu_components['admin_menu.icon']) || !user_access('access administration menu')) { + $devel_block_alert .= '<br />' . t("Alternatively, if you <a href='!admin_menu_config_url'>enable !admin_menu_name's !icon_menu</a> you will find the Devel menu items there.", $variables); + } else { + // Don't bother with a message in the 'normal' case. + return; + } + } + drupal_set_message($devel_block_alert, 'warning'); + } +} + +/** + * Demonstrates the active error handler. + * + * Generates some warnings or errors so that the reaction of the current error + * handler can be observed. + * + * @param $severity + * The severity level that the error handler should demonstrate. + */ function devel_demonstrate_error_handlers($severity) { switch ($severity) { case 'warning': diff --git a/profiles/wcm_base/modules/contrib/devel/devel.css b/profiles/wcm_base/modules/contrib/devel/devel.css index 7049059028eed37eb03502ab8bcd6e6cba1b66e0..efcd90e48ecd8ca6ce2144a72add57760f757177 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.css +++ b/profiles/wcm_base/modules/contrib/devel/devel.css @@ -1,3 +1,8 @@ +/** + * @file + * Styles for elements created by Devel. + */ + .dev-query, .dev-timer, .dev-memory-usage { padding: 1em; } diff --git a/profiles/wcm_base/modules/contrib/devel/devel.drush.inc b/profiles/wcm_base/modules/contrib/devel/devel.drush.inc index b4d85054ca1a0c206e36c2dacea2b6da36e5d790..d58b7d856673bcdac7ad443aac5c353a4f784284 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.drush.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel.drush.inc @@ -64,7 +64,9 @@ function devel_drush_command() { } /** - * A command callback. This is faster than 3 separate bootstraps. + * A command callback for reinstalling one or more projects. + * + * This is faster than 3 separate bootstraps. */ function drush_devel_reinstall() { $projects = func_get_args(); @@ -80,7 +82,7 @@ function drush_devel_reinstall() { } /** - * A command callback. + * A command callback for downloading a project. */ function drush_devel_download($path = NULL) { // If no path is provided by the user, set our default path. @@ -112,7 +114,7 @@ function drush_devel_download($path = NULL) { } /** - * Command handler. Show hook implementations. + * A command handler for showing hook implementations. */ function drush_devel_fn_hook($hook) { // Get implementations in the .install files as well. @@ -130,7 +132,7 @@ function drush_devel_fn_hook($hook) { } /** - * Command handler. Show source code of specified function or method. + * A command handler for showing source code of a function or method. */ function drush_devel_fn_view($function_name) { // Get implementations in the .install files as well. @@ -159,7 +161,7 @@ function drush_devel_fn_view($function_name) { } /** - * Command callback. List available tokens. + * A command callback for listing available tokens. */ function drush_devel_token() { $rows[] = array(dt('Group'), dt('Token'), dt('Name')); @@ -174,8 +176,7 @@ function drush_devel_token() { /** - * Print the specified function, including any - * doxygen-style comments that come before it. + * Prints a function including any Doxygen-style comments preceding it. */ function _drush_devel_print_function($file, $start_line, $end_line) { $line_num = 0; diff --git a/profiles/wcm_base/modules/contrib/devel/devel.info b/profiles/wcm_base/modules/contrib/devel/devel.info index f53d43d6b11d0834a1de75eeb21ad2e9af24f694..f6defe61d6e756ac6cafccdd433c9650f28edb30 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.info +++ b/profiles/wcm_base/modules/contrib/devel/devel.info @@ -7,9 +7,8 @@ tags[] = developer files[] = devel.test files[] = devel.mail.inc -; Information added by Drupal.org packaging script on 2014-05-01 -version = "7.x-1.5" +; Information added by Drupal.org packaging script on 2018-04-18 +version = "7.x-1.6" core = "7.x" project = "devel" -datestamp = "1398963366" - +datestamp = "1524009787" diff --git a/profiles/wcm_base/modules/contrib/devel/devel.install b/profiles/wcm_base/modules/contrib/devel/devel.install index f0828574a98c5ae4691de5ed4a51ea47a4a923a3..d5808b7df1cbdac49d9bae3571f18887ea2ce581 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.install +++ b/profiles/wcm_base/modules/contrib/devel/devel.install @@ -32,7 +32,7 @@ function devel_enable() { */ function devel_uninstall() { variable_del('devel_execution'); - variable_del('dev_timer'); + variable_del('devel_timer'); variable_del('devel_query_display'); variable_del('devel_redirect_page'); variable_del('devel_api_url'); @@ -47,9 +47,6 @@ function devel_uninstall() { variable_del('devel_query_sort'); variable_del('devel_rebuild_theme_registry'); variable_del('devel_use_uncompressed_jquery'); - variable_del('devel_xhprof_directory'); - variable_del('devel_xhprof_enabled'); - variable_del('devel_xhprof_url'); variable_del('devel_debug_mail_file_format'); variable_del('devel_debug_mail_directory'); @@ -62,7 +59,9 @@ function devel_uninstall() { } /** - * Remove feature for storing queries. Cleanup deprecated tables and variables. + * Remove feature for storing queries. + * + * Cleanup deprecated tables and variables. */ function devel_update_7000() { db_drop_table('devel_queries'); @@ -81,7 +80,7 @@ function devel_update_7001() { } /** - * Remove deprecated variables - dev_query, devel_code_coverage + * Remove deprecated variables: dev_query, devel_code_coverage. */ function devel_update_7002() { variable_del('dev_query'); // Sad trombone. http://drupalcode.org/viewvc/drupal/drupal/includes/database.mysql.inc?revision=1.2&view=markup @@ -117,7 +116,9 @@ function devel_update_7004() { } /** - * Delete variable 'devel_form_weights' from database as it was removed from code. + * Delete variable 'devel_form_weights'. + * + * 'devel_form_weights' was removed from code. */ function devel_update_7005() { variable_del('devel_form_weights'); @@ -133,3 +134,23 @@ function devel_update_7006() { variable_del('dev_mem'); } + +/** + * Delete 'devel_xhprof_*' variables as they were removed from code. + */ +function devel_update_7007() { + variable_del('devel_xhprof_directory'); + variable_del('devel_xhprof_enabled'); + variable_del('devel_xhprof_url'); +} + +/** + * Change variable "dev_timer" to "devel_timer". + */ +function devel_update_7008() { + if (variable_get('dev_timer') !== NULL) { + variable_set('devel_timer', variable_get('dev_timer')); + } + + variable_del('dev_timer'); +} diff --git a/profiles/wcm_base/modules/contrib/devel/devel.js b/profiles/wcm_base/modules/contrib/devel/devel.js index c23cc943791f37e31b9a4a9fe8a1e1d547304a64..287cc4f410e7ebfa091286d06fa0079dadf61088 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.js +++ b/profiles/wcm_base/modules/contrib/devel/devel.js @@ -1,6 +1,15 @@ +/** + * @file + * Behaviors for Devel. + */ + (function ($) { -// Explain link in query log +/** + * Explain link in query log. + * + * @type {Drupal~behavior} + */ Drupal.behaviors.devel_explain = { attach: function(context, settings) { $('a.dev-explain').click(function () { @@ -14,7 +23,11 @@ Drupal.behaviors.devel_explain = { } } -// Arguments link in query log +/** + * Arguments link in query log. + * + * @type {Drupal~behavior} + */ Drupal.behaviors.devel_arguments = { attach: function(context, settings) { $('a.dev-arguments').click(function () { @@ -28,7 +41,11 @@ Drupal.behaviors.devel_arguments = { } } -// Placeholders link in query log +/** + * Placeholders link in query log. + * + * @type {Drupal~behavior} + */ Drupal.behaviors.devel_placeholders = { attach: function(context, settings) { $('a.dev-placeholders').click(function () { diff --git a/profiles/wcm_base/modules/contrib/devel/devel.mail.inc b/profiles/wcm_base/modules/contrib/devel/devel.mail.inc index d6f9ad537a756f44f92889e7d800482319b23947..5708e713ac144ffbf028ed1eb63760f461fb4bcd 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.mail.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel.mail.inc @@ -1,4 +1,5 @@ <?php + /** * @file * MailSystemInterface for logging mails to the filesystem. @@ -16,8 +17,20 @@ * */ +/** + * Logs mail messages to the filesystem. + */ class DevelMailLog extends DefaultMailSystem { + /** + * Converts a message array to a string. + * + * @param $message + * The message array containing the body and headers. + * + * @return + * The message as it will be printed in the file. + */ public function composeMessage($message) { $mimeheaders = array(); $message['headers']['To'] = $message['to']; @@ -35,6 +48,15 @@ class DevelMailLog extends DefaultMailSystem { return $output; } + /** + * Gets a filename for a message using tokens. + * + * @param $message + * The message that will supply values for token replacement. + * + * @return + * The full path and filename after token replacement. + */ public function getFileName($message) { $output_directory = $this->getOutputDirectory(); $this->makeOutputDirectory($output_directory); @@ -48,19 +70,26 @@ class DevelMailLog extends DefaultMailSystem { return $output_directory . '/' . $this->dirify(str_replace(array_keys($tokens), array_values($tokens), $output_file_format)); } + /** + * Convert a string to a valid directory name. + * + * @return + * The sanitized string, replacing any characters not whitelisted with "_". + */ private function dirify($string) { return preg_replace('/[^a-zA-Z0-9_\-\.@]/', '_', $string); } + /** - * Save an e-mail message to a file, using Drupal variables and default settings. - * - * @see http://php.net/manual/en/function.mail.php - * @see drupal_mail() + * Save a mail message to a file using Drupal variables and default settings. * * @param $message * A message array, as described in hook_mail_alter(). * @return * TRUE if the mail was successfully accepted, otherwise FALSE. + * + * @see http://php.net/manual/en/function.mail.php + * @see drupal_mail() */ public function mail(array $message) { $output = $this->composeMessage($message); @@ -69,14 +98,25 @@ class DevelMailLog extends DefaultMailSystem { return file_put_contents($output_file, $output); } + /** + * Creates the directory to contain the message file if necessary. + * + * @throws Exception + * Exception thrown when unable to create the destination directory. + */ protected function makeOutputDirectory($output_directory) { if (!file_prepare_directory($output_directory, FILE_CREATE_DIRECTORY)) { throw new Exception("Unable to continue sending mail, $output_directory is not writable"); } } + /** + * Retrieves the directory that contains message files. + * + * @return + * The path to mail messages, possibly using a file URI scheme. + */ public function getOutputDirectory() { return variable_get('devel_debug_mail_directory', 'temporary://devel-mails'); } } -?> diff --git a/profiles/wcm_base/modules/contrib/devel/devel.module b/profiles/wcm_base/modules/contrib/devel/devel.module index 624ac7d3796616aea4d12afe08eacbce2c15acc2..719088d65ffbfbeec3f5eb3eb08c9a82842e8064 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.module +++ b/profiles/wcm_base/modules/contrib/devel/devel.module @@ -3,6 +3,7 @@ /** * @file * This module holds functions useful for Drupal development. + * * Please contribute! */ @@ -212,7 +213,7 @@ function devel_menu() { // Duplicate path in 2 different menus. See http://drupal.org/node/601788. $items['devel/settings'] = array( 'title' => 'Devel settings', - 'description' => 'Helper functions, pages, and blocks to assist Drupal developers. The devel blocks can be managed via the <a href="' . url('admin/structure/block') . '">block administration</a> page.', + 'description' => 'Helper functions, pages, and blocks to assist Drupal developers. The devel blocks can be managed via the <a href="/admin/structure/block">block administration</a> page.', 'page callback' => 'drupal_get_form', 'page arguments' => array('devel_admin_settings'), 'access arguments' => array('administer site configuration'), @@ -221,7 +222,7 @@ function devel_menu() { ); $items['admin/config/development/devel'] = array( 'title' => 'Devel settings', - 'description' => 'Helper functions, pages, and blocks to assist Drupal developers. The devel blocks can be managed via the <a href="' . url('admin/structure/block') . '">block administration</a> page.', + 'description' => 'Helper functions, pages, and blocks to assist Drupal developers. The devel blocks can be managed via the <a href="/admin/structure/block">block administration</a> page.', 'page callback' => 'drupal_get_form', 'page arguments' => array('devel_admin_settings'), 'file' => 'devel.admin.inc', @@ -321,11 +322,11 @@ function devel_menu() { } /** - * Menu item access callback - check permission and token for Switch User. + * Menu item access callback: checks permission and token for Switch User. */ function _devel_switch_user_access($name) { // Suppress notices when on other pages when menu system still checks access. - return user_access('switch users') && drupal_valid_token(@$_GET['token'], "devel/switch/$name|" . @$_GET['destination'], TRUE); + return user_access('switch users') && drupal_valid_token(@$_GET['token'], "devel/switch/$name", TRUE); } /** @@ -347,7 +348,7 @@ function devel_admin_paths() { } /** - * Returns destinations. + * Returns paths that need a destination. */ function devel_menu_need_destination() { return array('devel/cache/clear', 'devel/reinstall', 'devel/menu/reset', @@ -359,9 +360,9 @@ function devel_menu_need_destination() { * * Flag this link as needing alter at display time. * This is more robust than setting alter in hook_menu(). - * @see devel_translated_menu_link_alter() * - **/ + * @see devel_translated_menu_link_alter() + */ function devel_menu_link_alter(&$item) { if (in_array($item['link_path'], devel_menu_need_destination()) || $item['link_path'] == 'devel/menu/item') { $item['options']['alter'] = TRUE; @@ -372,7 +373,7 @@ function devel_menu_link_alter(&$item) { * Implements hook_translated_menu_item_alter(). * * Append dynamic querystring 'destination' to several of our own menu items. - **/ + */ function devel_translated_menu_link_alter(&$item) { if (in_array($item['href'], devel_menu_need_destination())) { $item['localized_options']['query'] = drupal_get_destination(); @@ -447,27 +448,41 @@ function devel_init() { if (flood_is_allowed('devel_rebuild_registry_warning', 1)) { flood_register_event('devel_rebuild_registry_warning'); if (!devel_silent() && user_access('access devel information')) { - drupal_set_message(t('The theme registry is being rebuilt on every request. Remember to <a href="!url">turn off</a> this feature on production websites.', array("!url" => url('admin/config/development/devel')))); + drupal_set_message(t('The theme registry is being rebuilt on every request. Remember to <a href="!url">turn off</a> this feature on production websites.', array( + "!url" => url('admin/config/development/devel', array( + 'fragment' => 'edit-devel-rebuild-theme-registry', + )), + ))); } } } } /** - * Sets message. + * Sets a message. */ function devel_set_message($msg, $type = NULL) { $function = function_exists('drush_log') ? 'drush_log' : 'drupal_set_message'; $function($msg, $type); - } +} /** - * Returns boolean. No need for cache here. + * Determines if Krumo is available. + * + * No need for cache here. + * + * @return boolean + * TRUE if Krumo is available, FALSE otherwise. */ function has_krumo() { @include_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'devel') . '/krumo/class.krumo.php'; if (function_exists('krumo') && !drupal_is_cli()) { - drupal_add_js(drupal_get_path('module', 'devel') . '/devel_krumo_path.js'); + drupal_add_js(drupal_get_path('module', 'devel') . '/devel_krumo.js'); + drupal_add_css(drupal_get_path('module', 'devel') . '/devel_krumo.css'); + // If dpm() is called after status messages have been rendered they will + // instead appear on the next page load, so ensure the krumo CSS and + // Javascript files are included. + krumo::addCssJs(); return TRUE; } return FALSE; @@ -480,13 +495,17 @@ function has_krumo() { * The value to check. * * @return boolean + * TRUE if the input complex enough and Krumo is available and not disabled, + * FALSE otherwise. */ function merits_krumo($input) { return (is_object($input) || is_array($input)) && has_krumo() && variable_get('devel_krumo_skin', '') != 'disabled'; } /** - * Calls the http://www.firephp.org/ fb() function if it is found. + * Calls the fb() function if it is found. + * + * @see http://www.firephp.org/ */ function dfb() { if (function_exists('fb') && user_access('access devel information') && !headers_sent()) { @@ -555,6 +574,8 @@ function devel_watchdog(array $log_entry) { /** * Gets error handlers. + * + * @return array */ function devel_get_handlers() { $error_handlers = variable_get('devel_error_handlers', array(DEVEL_ERROR_HANDLER_STANDARD => DEVEL_ERROR_HANDLER_STANDARD)); @@ -566,6 +587,10 @@ function devel_get_handlers() { /** * Sets a new error handler or restores the prior one. + * + * @param array $handlers + * An array of error handlers to set. Use an empty array to restore the + * previous one. */ function devel_set_handler($handlers) { if (empty($handlers)) { @@ -583,6 +608,8 @@ function devel_set_handler($handlers) { /** * Checks whether Devel may be active. + * + * @return boolean */ function devel_silent() { // isset($_GET['q']) is needed when calling the front page. q is not set. @@ -601,36 +628,12 @@ function devel_silent() { ); } -/** - * Enables xhprof. - */ -function devel_xhprof_enable() { - if (devel_xhprof_is_enabled()) { - if ($path = variable_get('devel_xhprof_directory', '')) { - include_once $path . '/xhprof_lib/utils/xhprof_lib.php'; - include_once $path . '/xhprof_lib/utils/xhprof_runs.php'; - // @todo: consider a variable per-flag instead. - xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); - } - } -} - -/** - * Checks if xhprof is enabled. - */ -function devel_xhprof_is_enabled() { - return extension_loaded('xhprof') && variable_get('devel_xhprof_enabled', FALSE); -} - /** * Implements hook_boot(). * * Runs even for cached pages. */ function devel_boot() { - // Initialize XHProf. - devel_xhprof_enable(); - if (!devel_silent()) { if (variable_get('devel_memory', 0)) { global $memory_init; @@ -847,6 +850,9 @@ function devel_block_view($delta) { /** * Provides the Switch user block. + * + * @return array + * A render array containing the Switch user block. */ function devel_block_switch_user() { $links = devel_switch_user_list(); @@ -864,6 +870,9 @@ function devel_block_switch_user() { /** * Provides the Switch user list. + * + * @return array + * An array of links, each of which can be used to switch to a user. */ function devel_switch_user_list() { global $user; @@ -905,7 +914,7 @@ function devel_switch_user_list() { $links[$account->uid] = array( 'title' => drupal_placeholder(format_username($account)), 'href' => $path, - 'query' => $dest + array('token' => drupal_get_token($path . '|' . $dest['destination'])), + 'query' => $dest + array('token' => drupal_get_token($path)), 'attributes' => array('title' => t('This user can switch back.')), 'html' => TRUE, 'last_access' => $account->access, @@ -921,7 +930,7 @@ function devel_switch_user_list() { $links[$account->uid] = array( 'title' => format_username($account), 'href' => $path, - 'query' => $dest + array('token' => drupal_get_token($path . '|' . $dest['destination'])), + 'query' => array('token' => drupal_get_token($path)), 'attributes' => array('title' => t('Caution: this user will be unable to switch back.')), 'last_access' => $account->access, ); @@ -933,7 +942,7 @@ function devel_switch_user_list() { $link = array( 'title' => format_username(drupal_anonymous_user()), 'href' => $path, - 'query' => $dest + array('token' => drupal_get_token($path . '/|' . $dest['destination'])), + 'query' => $dest + array('token' => drupal_get_token($path)), 'attributes' => array('title' => t('Caution: the anonymous user will be unable to switch back.')), ); if (user_access('switch users', drupal_anonymous_user())) { @@ -970,7 +979,8 @@ function devel_switch_user_form() { '#maxlength' => USERNAME_MAX_LENGTH, '#size' => 16, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Switch'), ); @@ -990,7 +1000,8 @@ function devel_doc_function_form() { '#maxlength' => 255, ); $form['version'] = array('#type' => 'value', '#value' => $version); - $form['submit_button'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Submit'), ); @@ -1026,8 +1037,10 @@ function devel_switch_user_form_submit($form, &$form_state) { array( 'query' => array( 'destination' => '', - 'token' => drupal_get_token($path . '|'), - ))); + 'token' => drupal_get_token($path), + ), + ), + ); } /** @@ -1085,12 +1098,6 @@ function devel_shutdown() { // Register the real shutdown function so it runs after other shutdown // functions. drupal_register_shutdown_function('devel_shutdown_real'); - - global $devel_run_id; - $devel_run_id = devel_xhprof_is_enabled() ? devel_shutdown_xhprof() : NULL; - if ($devel_run_id && function_exists('drush_log')) { - drush_log('xhprof link: ' . devel_xhprof_link($devel_run_id, 'url'), 'notice'); - } } /** @@ -1126,7 +1133,7 @@ function devel_shutdown_real() { // Set $GLOBALS['devel_shutdown'] = FALSE in order to supress the // devel footer for a page. Not necessary if your page outputs any // of the Content-type http headers tested below (e.g. text/xml, - // text/javascript, etc). This is is advised where applicable. + // text/javascript, etc). This is advised where applicable. if (!devel_silent() && !isset($GLOBALS['devel_shutdown']) && !isset($GLOBALS['devel_redirecting'])) { // Try not to break non html pages. if (function_exists('drupal_get_http_header')) { @@ -1144,6 +1151,12 @@ function devel_shutdown_real() { if (isset($user) && user_access('access devel information')) { $queries = (devel_query_enabled() ? Database::getLog('devel', 'default') : NULL); + if (!empty($queries)) { + // Remove caller args to avoid recursion. + foreach ($queries as &$query) { + unset($query['caller']['args']); + } + } $output .= devel_shutdown_summary($queries); $output .= devel_shutdown_query($queries); } @@ -1160,6 +1173,8 @@ function devel_shutdown_real() { /** * Returns the rendered shutdown summary. + * + * @return string */ function devel_shutdown_summary($queries) { $sum = 0; @@ -1172,14 +1187,10 @@ function devel_shutdown_summary($queries) { $output .= t_safe(' Queries exceeding @threshold ms are <span class="marker">highlighted</span>.', array('@threshold' => variable_get('devel_execution', 5))); } - if (variable_get('dev_timer', 0)) { + if (variable_get('devel_timer', 0)) { $output .= devel_timer(); } - if (devel_xhprof_is_enabled()) { - $output .= ' ' . devel_xhprof_link($GLOBALS['devel_run_id']); - } - $output .= devel_shutdown_memory(); if ($output) { @@ -1187,33 +1198,10 @@ function devel_shutdown_summary($queries) { } } -/** - * Returns the XHProf run ID. - */ -function devel_shutdown_xhprof() { - // Namespace for your application. - $namespace = variable_get('site_name', ''); - $xhprof_data = xhprof_disable(); - $xhprof_runs = new XHProfRuns_Default(); - return $xhprof_runs->save_run($xhprof_data, $namespace); -} - -/** - * Returns the XHProf link. - */ -function devel_xhprof_link($run_id, $type = 'link') { - // @todo: render results from within Drupal. - $xhprof_url = variable_get('devel_xhprof_url', ''); - // Namespace for your application. - $namespace = variable_get('site_name', ''); - if ($xhprof_url) { - $url = $xhprof_url . '/index.php?run=' . urlencode($run_id) . '&source=' . urlencode($namespace); - return $type == 'url' ? $url : t('<a href="@xhprof">XHProf output</a>. ', array('@xhprof' => $url)); - } -} - /** * Returns the rendered memory usage. + * + * @return string */ function devel_shutdown_memory() { global $memory_init; @@ -1233,6 +1221,8 @@ function devel_shutdown_memory() { /** * Returns the rendered query log. + * + * @return string */ function devel_shutdown_query($queries) { if (!empty($queries)) { @@ -1282,6 +1272,9 @@ function devel_query_put_contents($queries) { /** * Returns whether query logging is enabled. + * + * @return boolean + * TRUE if the query log is enabled, FALSE otherwise. */ function devel_query_enabled() { return method_exists('Database', 'getLog') && variable_get('devel_query_display', FALSE); @@ -1289,6 +1282,14 @@ function devel_query_enabled() { /** * Returns the query summary. + * + * @return array + * An index array containing: + * 0: The an associative array where the keys are the queries and the values + * are number of times that query was executes. + * 1: The summary. + * 2: An associative array of substitution variables to be applied in the + * previous element. */ function devel_query_summary($queries) { if (variable_get('devel_query_display', FALSE) && is_array($queries)) { @@ -1307,7 +1308,7 @@ function devel_query_summary($queries) { } /** - * Devel's t_safe() function. + * Gets the t() function if available, uses strtr() as a fallback. */ function t_safe($string, $args) { // get_t() caused problems here with the theme registry after changing on @@ -1317,12 +1318,18 @@ function t_safe($string, $args) { return t($string, $args); } else { - strtr($string, $args); + return strtr($string, $args); } } /** * Returns the core version. + * + * @param string + * The version string to parse. + * + * @return string + * MAJOR.MINOR for versions before 5, MAJOR for subsequent versions. */ function devel_get_core_version($version) { $version_parts = explode('.', $version); @@ -1338,6 +1345,9 @@ function devel_get_core_version($version) { /** * Returns whether the optimizer is compatible. + * + * @return boolean + * TRUE if compatible, FALSE otherwise. */ function devel_is_compatible_optimizer() { // See http://drupal.org/node/126098. @@ -1399,7 +1409,11 @@ function devel_execute_form() { '#default_value' => (isset($_SESSION['devel_execute_code']) ? $_SESSION['devel_execute_code'] : ''), '#rows' => 20, ); - $form['execute']['op'] = array('#type' => 'submit', '#value' => t('Execute')); + $form['execute']['actions'] = array('#type' => 'actions'); + $form['execute']['actions']['op'] = array( + '#type' => 'submit', + '#value' => t('Execute'), + ); $form['#redirect'] = FALSE; if (isset($_SESSION['devel_execute_code'])) { unset($_SESSION['devel_execute_code']); @@ -1456,6 +1470,9 @@ function devel_switch_user($name = NULL) { * An array or object to print. * @param string $prefix * Prefix for output items. + * + * @return + * The results from krumo_ob() or devel_print_object(). */ function kdevel_print_object($object, $prefix = NULL) { return has_krumo() ? krumo_ob($object) : devel_print_object($object, $prefix); @@ -1481,6 +1498,8 @@ function krumo_ob($object) { * Prefix for the output items (example "$node->", "$user->", "$"). * @param boolean $header * Set to FALSE to suppress the output of the h3 tag. + * + * @return string */ function devel_print_object($object, $prefix = NULL, $header = TRUE) { drupal_add_css(drupal_get_path('module', 'devel') . '/devel.css'); @@ -1516,7 +1535,7 @@ function devel_print_object($object, $prefix = NULL, $header = TRUE) { * Formatted html. * * @todo - * currently there are problems sending an array with a varname + * Currently there are problems sending an array with a varname. */ function _devel_print_object($obj, $prefix = NULL, $parents = NULL, $object = FALSE) { static $root_type, $out_format; @@ -1623,12 +1642,16 @@ function _devel_print_object($obj, $prefix = NULL, $parents = NULL, $object = FA * * Adds a table at the bottom of the page cataloguing data on all the database * queries that were made to generate the page. + * + * @return string + * Queries themed using devel_querylog. */ function devel_query_table($queries, $counts) { $version = devel_get_core_version(VERSION); $header = array('ms', '#', 'where', 'ops', 'query', 'target'); $i = 0; $api = variable_get('devel_api_url', 'api.drupal.org'); + $conn = Database::getconnection(); foreach ($queries as $query) { $function = !empty($query['caller']['class']) ? $query['caller']['class'] . '::' : ''; $function .= $query['caller']['function']; @@ -1666,8 +1689,19 @@ function devel_query_table($queries, $counts) { } $cell[$i][] = implode(' ', $ops); // 3 divs for each variation of the query. Last 2 are hidden by default. - $placeholders = '<div class="dev-placeholders">' . check_plain($query['query']) . "</div>\n"; - $args = '<div class="dev-arguments" style="display: none;"></div>' . "\n"; + if (variable_get('devel_show_query_args_first', FALSE)) { + $placeholders = '<div class="dev-placeholders" style="display: none;">' . check_plain($query['query']) . "</div>\n"; + $quoted = array(); + foreach ($query['args'] as $key => $val) { + $quoted[$key] = $conn->quote($val); + } + $output = strtr($query['query'], $quoted); + $args = '<div class="dev-arguments">' . $output . '</div>' . "\n"; + } + else { + $placeholders = '<div class="dev-placeholders">' . check_plain($query['query']) . "</div>\n"; + $args = '<div class="dev-arguments" style="display: none;"></div>' . "\n"; + } $explain = '<div class="dev-explain" style="display: none;"></div>' . "\n"; $cell[$i][] = array( 'id' => "devel-query-$i", @@ -1684,7 +1718,16 @@ function devel_query_table($queries, $counts) { } /** - * Themes devel's querylog row. + * Returns HTML for a Devel querylog row. + * + * @param array $variables + * An associative array containing: + * - row: An array of cells in which each cell is either a string or an + * associative array containing: + * - data: The data to render. + * - Any attributes to be applied to the cell. + * + * @ingroup themeable */ function theme_devel_querylog_row($variables) { $row = $variables['row']; @@ -1717,7 +1760,14 @@ function theme_devel_querylog_row($variables) { } /** - * Themes devel's querylog. + * Returns HTML for the Devel querylog. + * + * @param array $variables + * An associative array containing: + * - header: An array suitable for rendering with devel_querylog_row. + * - rows: An array of rows suitable for rendering with devel_querylog_row. + * + * @ingroup themeable */ function theme_devel_querylog($variables) { $header = $variables['header']; @@ -1758,17 +1808,24 @@ function _devel_table_sort($a, $b) { /** * Displays page execution time at the bottom of the page. + * + * @return string + * A message indicating how long it took to execute the page. */ function devel_timer() { $time = timer_read('page'); return t_safe(' Page execution time was @time ms.', array('@time' => $time)); } -/** - * An alias for drupal_debug(). - */ -function dd($data, $label = NULL) { - return drupal_debug($data, $label); +if (!function_exists('dd')) { + /** + * An alias for drupal_debug(). + * + * @see drupal_debug() + */ + function dd($data, $label = NULL) { + return drupal_debug($data, $label); + } } /** @@ -1809,7 +1866,7 @@ function dargs($always = TRUE) { } /** - * Prints a SQL string from a DBTNG Select object. Includes quoted arguments. + * Prints a SQL string from a DBTNG Select object. * * Includes quoted arguments. * @@ -1820,6 +1877,7 @@ function dargs($always = TRUE) { * and return $query instead. * @param string $name * Optional name for identifying the output. + * * @return object|string * The $query object, or the query string if $return was TRUE. */ @@ -1857,6 +1915,8 @@ function dpq($query, $return = FALSE, $name = NULL) { * * @return input * The unaltered input value. + * + * @see drupal_set_message() */ function dpm($input, $name = NULL, $type = 'status') { if (user_access('access devel information')) { @@ -1878,6 +1938,9 @@ function dpm($input, $name = NULL, $type = 'status') { * * @return input * The unaltered input value. + * + * @see drupal_set_message() + * @see drupal_var_export() */ function dvm($input, $name = NULL) { if (user_access('access devel information')) { @@ -1890,21 +1953,31 @@ function dvm($input, $name = NULL) { /** * Legacy function that was poorly named. * - * Use dpm() instead, since the 'p' maps to 'print_r'. + * @deprecated Use dpm() instead, since the 'p' maps to 'print_r'. + * + * @see dpm() */ function dsm($input, $name = NULL) { return dpm($input, $name); } /** - * An alias for dprint_r(). Saves carpal tunnel syndrome. + * An alias for dprint_r(). + * + * Saves carpal tunnel syndrome. + * + * @see dprint_r() */ function dpr($input, $return = FALSE, $name = NULL) { return dprint_r($input, $return, $name); } /** - * An alias for kprint_r(). Saves carpal tunnel syndrome. + * An alias for kprint_r(). + * + * Saves carpal tunnel syndrome. + * + * @see kprint_r() */ function kpr($input, $return = FALSE, $name = NULL) { return kprint_r($input, $return, $name); @@ -1912,13 +1985,32 @@ function kpr($input, $return = FALSE, $name = NULL) { /** * Like dpr(), but uses drupal_var_export() instead. + * + * @see dprint_r() + * @see drupal_var_export() */ function dvr($input, $return = FALSE, $name = NULL) { return dprint_r($input, $return, $name, 'drupal_var_export', FALSE); } /** - * Krumo print. + * Returns a message using Krumo. + * + * Uses dprint_r() as a fallback. + * + * @param mixed $input + * The thing to print. + * @param boolean $return + * (optional) Indicates if the output should be returned. The default is + * FALSE. + * @param string $name + * (optional) The label to apply. + * @param string $function + * (optional) The function to use for output in the case where dprint_r() is + * used. The defualt is print_r(). + * + * @return + * The output if $return is TRUE. */ function kprint_r($input, $return = FALSE, $name = NULL, $function = 'print_r') { // We do not want to krumo() strings and integers and such. @@ -1935,10 +2027,26 @@ function kprint_r($input, $return = FALSE, $name = NULL, $function = 'print_r') /** * Pretty-print a variable to the browser (no krumo). * - * Displays only for users with proper permissions. If - * you want a string returned instead of a print, use the 2nd param. + * Displays only for users with proper permissions. If you want a string + * returned instead of a print, use the 2nd param. + * + * @param mixed $input + * The input that should be printed or returned. + * @param boolean $return + * (optional) Indicates of the result should be returned instead of printed. + * The default is to print it. + * @param string $name + * (optional) The label to apply. + * @param string $function + * (optional) The function to use for output. The defualt is print_r(). + * @param boolean $check + * (optional) Indicates if the output should be run through check_plain(). + * The default is TRUE. + * + * @return + * The formatted output if $return is TRUE. */ -function dprint_r($input, $return = FALSE, $name = NULL, $function = 'print_r', $check= TRUE) { +function dprint_r($input, $return = FALSE, $name = NULL, $function = 'print_r', $check = TRUE) { if (user_access('access devel information')) { if ($name) { $name .= ' => '; @@ -1956,7 +2064,7 @@ function dprint_r($input, $return = FALSE, $name = NULL, $function = 'print_r', if ($check) { $output = check_plain($output); } - if (count($input, COUNT_RECURSIVE) > DEVEL_MIN_TEXTAREA) { + if (is_array($input) && count($input, COUNT_RECURSIVE) > DEVEL_MIN_TEXTAREA) { // Don't use fapi here because sometimes fapi will not be loaded. $printed_value = "<textarea rows=30 style=\"width: 100%;\">\n" . $name . $output . '</textarea>'; } @@ -2014,9 +2122,11 @@ function ddebug_backtrace($return = FALSE, $pop = 0, $options = TRUE) { array_shift($backtrace); } $counter = count($backtrace); - $path = $backtrace[$counter - 1]['file']; - $path = substr($path, 0, strlen($path) - 10); - $paths[$path] = strlen($path) + 1; + if (!empty($backtrace[$counter - 1]['file'])) { + $path = $backtrace[$counter - 1]['file']; + $path = substr($path, 0, strlen($path) - 10); + $paths[$path] = strlen($path) + 1; + } $paths[DRUPAL_ROOT] = strlen(DRUPAL_ROOT) + 1; $nbsp = "\xC2\xA0"; @@ -2078,9 +2188,8 @@ function devel_empty_dir($dir) { /** * Regenerates the data in node_comment_statistics table. - * Technique - http://www.artfulsoftware.com/infotree/queries.php?&bw=1280#101 * - * @return void + * Technique - http://www.artfulsoftware.com/infotree/queries.php?&bw=1280#101 */ function devel_rebuild_node_comment_statistics() { // Empty table. @@ -2115,8 +2224,8 @@ function devel_rebuild_node_comment_statistics() { /** * Implements hook_form_alter(). * - * Adds mouse-over hints on the Permissions page to display - * language-independent machine names and module base names. + * Adds mouse-over hints on the Permissions page to display language-independent + * machine names and module base names. */ function devel_form_user_admin_permissions_alter(&$form, &$form_state) { if (user_access('access devel information') && variable_get('devel_raw_names', FALSE)) { @@ -2152,3 +2261,25 @@ function devel_form_system_modules_alter(&$form, &$form_state) { } } } + +/** + * Implements hook_query_TAG_alter() for the devel tag. + * + * Makes debugging EntityFieldQuery much easier. + * + * Example usage: + * @code + * $q = new EntityFieldQuery; + * $q->entityCondition('entity_type', 'node') + * ->addTag('debug') + * ->execute(); + * @endcode + * + * @param QueryAlterableInterface $query + */ +function devel_query_debug_alter(QueryAlterableInterface $query) { + if (!$query->hasTag('debug-semaphore')) { + $query->addTag('debug-semaphore'); + dpq($query); + } +} diff --git a/profiles/wcm_base/modules/contrib/devel/devel.pages.inc b/profiles/wcm_base/modules/contrib/devel/devel.pages.inc index 7a137da3cd7a4b2a3bdb9b17b09e276c40661997..f24777fe3f142d70eafd20e04d7f9b45c1342304 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.pages.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel.pages.inc @@ -1,14 +1,23 @@ <?php -// Menu callback that shows menu item. +/** + * @file + * Page callbacks for Devel. + */ + +/** + * Page callback: Shows a menu item. + */ function devel_menu_item() { $item = menu_get_item($_GET['path']); return kdevel_print_object($item); } /** - * Returns a list of all currently defined user functions in the current - * request lifecycle, with links their documentation. + * Page callback: Returns a list of all currently defined user functions. + * + * Returns a list of all currently defined user functions in the current request + * lifecycle, with links their documentation. */ function devel_function_reference() { $functions = get_defined_functions(); @@ -23,7 +32,7 @@ function devel_function_reference() { } /** - * Menu callback; clears all caches, then redirects to the previous page. + * Page callback: Clears all caches, then redirects to the previous page. */ function devel_cache_clear() { drupal_flush_all_caches(); @@ -33,7 +42,9 @@ function devel_cache_clear() { drupal_goto(); } -// A menu callback. Called by the AJAX link in query log. +/** + * Page callback: Called by the AJAX link in query log. + */ function devel_querylog_explain($request_id, $qid) { if (!is_numeric($request_id)) { return MENU_ACCESS_DENIED; @@ -41,25 +52,39 @@ function devel_querylog_explain($request_id, $qid) { $path = "temporary://devel_querylog/$request_id.txt"; $path = file_stream_wrapper_uri_normalize($path); - $queries = json_decode(file_get_contents($path)); - $query = $queries[$qid]; - $result = db_query('EXPLAIN ' . $query->query, (array)$query->args)->fetchAllAssoc('table'); - $i = 1; - foreach ($result as $row) { - $row = (array)$row; - if ($i == 1) { - $header = array_keys($row); + + $output = t('No explain log found.'); + + if (file_exists($path)) { + $queries = json_decode(file_get_contents($path)); + + if ($queries !== FALSE && isset($queries[$qid])) { + $header = $rows = array(); + + $query = $queries[$qid]; + $result = db_query('EXPLAIN ' . $query->query, (array)$query->args)->fetchAllAssoc('table'); + $i = 1; + foreach ($result as $row) { + $row = (array)$row; + if ($i == 1) { + $header = array_keys($row); + } + $rows[] = array_values($row); + $i++; + } + + $output = theme('table', array('header' => $header, 'rows' => $rows)); } - $rows[] = array_values($row); - $i++; } + // Print and return nothing thus avoiding page wrapper. - $output = theme('table', array('header' => $header, 'rows' => $rows)); print $output; $GLOBALS['devel_shutdown'] = FALSE; } -// A menu callback. Called by the AJAX link in query log. +/** + * Page callback: Called by the AJAX link in query log. + */ function devel_querylog_arguments($request_id, $qid) { if (!is_numeric($request_id)) { return MENU_ACCESS_DENIED; @@ -67,22 +92,30 @@ function devel_querylog_arguments($request_id, $qid) { $path = "temporary://devel_querylog/$request_id.txt"; $path = file_stream_wrapper_uri_normalize($path); - $queries = json_decode(file_get_contents($path)); - $query = $queries[$qid]; - $conn = Database::getConnection(); - $quoted = array(); - foreach ((array)$query->args as $key => $val) { - $quoted[$key] = $conn->quote($val); + + $output = t('No arguments log found.'); + + if (file_exists($path)) { + $queries = json_decode(file_get_contents($path)); + + if ($queries !== FALSE && isset($queries[$qid])) { + $query = $queries[$qid]; + $conn = Database::getConnection(); + $quoted = array(); + foreach ((array)$query->args as $key => $val) { + $quoted[$key] = $conn->quote($val); + } + $output = strtr($query->query, $quoted); + } } - $output = strtr($query->query, $quoted); - // print and return nothing thus avoiding page wrapper. + // Print and return nothing thus avoiding page wrapper. print $output; $GLOBALS['devel_shutdown'] = FALSE; } /** - * Menu callback; clear the database, resetting the menu to factory defaults. + * Page callback: Clears the database, resetting the menu to factory defaults. */ function devel_menu_rebuild() { menu_rebuild(); @@ -91,7 +124,11 @@ function devel_menu_rebuild() { } /** - * Display a dropdown of installed modules with the option to reinstall them. + * Form constructor for reinstalling any module from a dropdown. + * + * @see devel_reinstall_submit() + * + * @ingroup forms */ function devel_reinstall($form, &$form_state) { $output = ''; @@ -103,7 +140,8 @@ function devel_reinstall($form, &$form_state) { '#options' => $options, '#description' => t('Uninstall and then install the selected modules. <code>hook_uninstall()</code> and <code>hook_install()</code> will be executed and the schema version number will be set to the most recent update number. You may have to manually clear out any existing tables first if the module doesn\'t implement <code>hook_uninstall()</code>.'), ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#value' => t('Reinstall'), '#type' => 'submit', ); @@ -111,7 +149,7 @@ function devel_reinstall($form, &$form_state) { } /** - * Process reinstall menu form submissions. + * Form submission callback for devel_reinstall(). */ function devel_reinstall_submit($form, &$form_state) { // require_once './includes/install.inc'; @@ -122,7 +160,9 @@ function devel_reinstall_submit($form, &$form_state) { drupal_set_message(t('Uninstalled and installed: %names.', array('%names' => implode(', ', $modules)))); } -// Menu callback. +/** + * Page callback: Rebuilds the theme registry. + */ function devel_theme_registry() { drupal_theme_initialize(); $hooks = theme_get_registry(); @@ -130,14 +170,26 @@ function devel_theme_registry() { return kprint_r($hooks, TRUE); } -// Menu callback. $entity_type argument not currently used in the UI. +/** + * Page callback: Returns information from hook_entity_info(). + * + * @param string $entity_type + * (optional) Limit results to the specified entity type. The default is to + * return information about all entity types. The $entity_type argument is not + * currently used in the UI. + * + * @return + * The results from kprint_r(). + */ function devel_entity_info_page($entity_type = NULL) { $info = entity_get_info($entity_type); ksort($info); return kprint_r($info, TRUE); } -// Menu callback. +/** + * Page callback: Returns information about fields. + */ function devel_field_info_page() { $info = field_info_fields(); $output = kprint_r($info, TRUE, t('Fields')); @@ -156,6 +208,13 @@ function devel_field_info_page() { return $output; } +/** + * Form constructor for displaying and editing variables. + * + * @see devel_variable_form_submit() + * + * @ingroup forms. + */ function devel_variable_form() { $header = array( 'name' => array('data' => t('Name'), 'field' => 'name', 'sort' => 'asc'), @@ -163,7 +222,9 @@ function devel_variable_form() { 'length' => array('data' => t('Length'), 'field' => 'length'), 'edit' => array('data' => t('Operations')), ); - // TODO: we could get variables out of $conf but that would include hard coded ones too. ideally i would highlight overrridden/hard coded variables + // @todo: We could get variables out of $conf but that would include + // hard-coded ones too. Ideally I would highlight overridden/hard-coded + // variables. $query = db_select('variable', 'v')->extend('TableSort'); $query->fields('v', array('name', 'value')); switch (db_driver()) { @@ -202,15 +263,20 @@ function devel_variable_form() { '#options' => $options, '#empty' => t('No variables.'), ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Delete'), ); + $form['#after_build'][] = 'devel_variable_form_after_build'; // krumo($form); return $form; } +/** + * Form submission handler for devel_variable_form(). + */ function devel_variable_form_submit($form, &$form_state) { $deletes = array_filter($form_state['values']['variables']); array_walk($deletes, 'variable_del'); @@ -219,6 +285,25 @@ function devel_variable_form_submit($form, &$form_state) { } } +/** + * After build callback for devel_variable_form(). + * + * Wrap each variable name in a <label> element. + */ +function devel_variable_form_after_build($form, &$form_state) { + foreach ($form['variables']['#options'] as $variable => $element) { + $form['variables']['#options'][$variable]['name'] = '<label for="' . $form['variables'][$variable]['#id'] . '">' . $element['name'] . '</label>'; + } + return $form; +} + +/** + * Form constructor for editing a variable. + * + * @see devel_variable_edit_submit() + * + * @ingroup forms + */ function devel_variable_edit($form, &$form_state, $name) { $value = variable_get($name, 'not found'); $form['name'] = array( @@ -236,7 +321,8 @@ function devel_variable_edit($form, &$form_state, $name) { '#title' => t('New value'), '#default_value' => $value ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Submit'), ); @@ -253,6 +339,9 @@ function devel_variable_edit($form, &$form_state, $name) { return $form; } +/** + * Form submission handler for devel_variable_edit(). + */ function devel_variable_edit_submit($form, &$form_state) { variable_set($form_state['values']['name'], $form_state['values']['new']); drupal_set_message(t('Saved new value for %name.', array('%name' => $form_state['values']['name']))); @@ -260,7 +349,7 @@ function devel_variable_edit_submit($form, &$form_state) { } /** - * Menu callback: display the session. + * Page callback: Displays the session. */ function devel_session() { global $user; @@ -271,7 +360,7 @@ function devel_session() { } /** - * Menu callback; prints the loaded structure of the current node/user. + * Page callback: Prints the loaded structure of the current node/user. */ function devel_load_object($type, $object, $name = NULL) { $name = isset($name) ? $name : $type; @@ -279,19 +368,45 @@ function devel_load_object($type, $object, $name = NULL) { } /** - * Menu callback; prints the render structure of the current object (currently node or user). + * Page callback: Prints the render structure of the current object. + * + * @param string $type + * The type of entity that will be displayed. + * @param object $object + * The entity to display. + * @param string $name + * (optional) The label to use when displaying the entity. + * + * @return + * The results from kdevel_print_object(). */ function devel_render_object($type, $object, $name = NULL) { $name = isset($name) ? $name : $type; $function = $type . '_view'; - $build = $function($object); + + switch ($function) { + case 'comment_view': + $node = node_load($object->nid); + $build = $function($object, $node); + break; + + default: + $build = $function($object); + } + return kdevel_print_object($build, '$'. $name .'->'); } +/** + * Page callback: Returns information from hook_elements(). + */ function devel_elements_page() { return kdevel_print_object(module_invoke_all('element_info')); } +/** + * Page callback: Returns the results from phpinfo(). + */ function devel_phpinfo() { print phpinfo(); drupal_exit(); diff --git a/profiles/wcm_base/modules/contrib/devel/devel.rules.inc b/profiles/wcm_base/modules/contrib/devel/devel.rules.inc index 0a7a078085980147474f261f9b4921cdfda93eed..12a79d9d9cc6ba1a59b85214697c4db46cfbcecc 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.rules.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel.rules.inc @@ -1,5 +1,10 @@ <?php +/** + * @file + * Rules integration for Devel. + */ + /** * Implements hook_rules_action_info(). */ diff --git a/profiles/wcm_base/modules/contrib/devel/devel.test b/profiles/wcm_base/modules/contrib/devel/devel.test index 50defcf6e19bbf03c74b604ceb94dddd37d3dfbe..4d139f1f30e150791975edafcb4e18b74163245c 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel.test +++ b/profiles/wcm_base/modules/contrib/devel/devel.test @@ -11,6 +11,9 @@ class DevelMailTest extends DrupalWebTestCase { protected $profile = 'testing'; + /** + * {@inheritdoc} + */ public static function getInfo() { return array( 'name' => 'Devel Mail interface', @@ -19,6 +22,9 @@ class DevelMailTest extends DrupalWebTestCase { ); } + /** + * {@inheritdoc} + */ function setUp() { parent::setUp(); } diff --git a/profiles/wcm_base/modules/contrib/devel/develDrushTest.php b/profiles/wcm_base/modules/contrib/devel/develDrushTest.php index 11e54ca51a4591d5635f4b1471ade9bb8a88a0be..cb280b78c9d13cdb85f76a1805e91735d5fb5efd 100644 --- a/profiles/wcm_base/modules/contrib/devel/develDrushTest.php +++ b/profiles/wcm_base/modules/contrib/devel/develDrushTest.php @@ -1,13 +1,26 @@ <?php -/* +/** * @file - * PHPUnit Tests for devel. This uses Drush's own test framework, based on PHPUnit. - * To run the tests, use phpunit --bootstrap=/path/to/drush/tests/drush_testcase.inc. - * Note that we are pointing to the drush_testcase.inc file under /tests subdir in drush. + * PHPUnit Tests for devel. + * + * This uses Drush's own test framework, based on PHPUnit. + * To run the tests, use + * @code + * phpunit --bootstrap=/path/to/drush/tests/drush_testcase.inc. + * @endcode + * Note that we are pointing to the drush_testcase.inc file under /tests subdir + * in drush. + */ + +/** + * Class for testing Drush integration. */ class develCase extends Drush_CommandTestCase { + /** + * Tests the printing of a function and its Doxygen comment. + */ public function testFnView() { $sites = $this->setUpDrupal(1, TRUE); $options = array( @@ -22,4 +35,4 @@ class develCase extends Drush_CommandTestCase { $this->assertContains('@return', $output, 'Output contain @return Doxygen.'); $this->assertContains('function drush_main() {', $output, 'Output contains function drush_main() declaration'); } -} \ No newline at end of file +} diff --git a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.inc b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.inc index 072dafe12b10af711a654b9d83ffbb3ddeafb1ee..5764468845bb7140fe8793c4e9ae0c37c848a550 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.inc @@ -270,6 +270,7 @@ function devel_generate_terms($records, $vocabs, $maxlength = 12) { $term->format = filter_fallback_format(); $term->weight = mt_rand(0, 10); $term->language = LANGUAGE_NONE; + $term->devel_generate = TRUE; // Populate all core fields on behalf of field.module module_load_include('inc', 'devel_generate', 'devel_generate.fields'); @@ -477,29 +478,11 @@ function devel_generate_word($length){ return substr($word, 0, $length); } -function devel_create_content($type = NULL) { - $nparas = mt_rand(1,12); - $type = empty($type) ? mt_rand(0,3) : $type; - - $output = ""; - switch($type % 3) { - // MW: This appears undesireable. Was giving <p> in text fields - // case 1: // html - // for ($i = 1; $i <= $nparas; $i++) { - // $output .= devel_create_para(mt_rand(10,60),1); - // } - // break; - // - // case 2: // brs only - // for ($i = 1; $i <= $nparas; $i++) { - // $output .= devel_create_para(mt_rand(10,60),2); - // } - // break; - - default: // plain text - for ($i = 1; $i <= $nparas; $i++) { - $output .= devel_create_para(mt_rand(10,60)) ."\n\n"; - } +function devel_create_content() { + $nparas = mt_rand(1, 12); + $output = ''; + for ($i = 1; $i <= $nparas; $i++) { + $output .= devel_create_para(mt_rand(10,60)) . "\n\n"; } return $output; @@ -659,8 +642,12 @@ function devel_generate_content_pre_node(&$results) { /** * Create one node. Used by both batch and non-batch code branches. * - * @param $num - * array of options obtained from devel_generate_content_form. + * @param $results + * array of options obtained from devel_generate_content_form. If call + * this function directly, $results should contain at the very least: + * node_types => an associative array of node type machine names + * users => an array of UIDs + * title_length => max number of words in titles, for example 4. */ function devel_generate_content_add_node(&$results) { $node = new stdClass(); @@ -675,7 +662,7 @@ function devel_generate_content_add_node(&$results) { $node->revision = mt_rand(0,1); $node->promote = mt_rand(0, 1); - if ($type->has_title) { + if (!$type || $type->has_title) { // We should not use the random function if the value is not random if ($results['title_length'] < 2) { $node->title = devel_create_greeking(1, TRUE); diff --git a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.info b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.info index b45159f577e7b98f8c29a6013203c2b644f93440..841d93ac41f99038a82648c491ef78a0f7bc4442 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.info +++ b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.info @@ -6,9 +6,8 @@ tags[] = developer configure = admin/config/development/generate files[] = devel_generate.test -; Information added by Drupal.org packaging script on 2014-05-01 -version = "7.x-1.5" +; Information added by Drupal.org packaging script on 2018-04-18 +version = "7.x-1.6" core = "7.x" project = "devel" -datestamp = "1398963366" - +datestamp = "1524009787" diff --git a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.module b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.module index 11bc2916cc7e9887b6e6643d6f6acca1370effbc..d714dbe547f92293469d57ac9c1f5c82de7e5192 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.module +++ b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate.module @@ -91,7 +91,8 @@ function devel_generate_users_form() { '#default_value' => 604800, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Generate'), ); @@ -225,7 +226,8 @@ function devel_generate_content_form() { '#default_value' => array(LANGUAGE_NONE), ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Generate'), ); @@ -292,7 +294,8 @@ function devel_generate_term_form() { '#title' => t('Delete existing terms in specified vocabularies before generating new terms.'), '#default_value' => FALSE, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Generate'), ); @@ -320,7 +323,8 @@ function devel_generate_vocab_form() { '#title' => t('Delete existing vocabularies before generating new ones.'), '#default_value' => FALSE, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Generate'), ); @@ -435,7 +439,7 @@ function devel_generate_menu_form() { '#size' => 10, '#states' => array( 'visible' => array( - ':input[name=existing_menus[__new-menu__]]' => array('checked' => TRUE), + ':input[name="existing_menus[__new-menu__]"]' => array('checked' => TRUE), ), ), ); @@ -487,7 +491,8 @@ function devel_generate_menu_form() { '#title' => t('Delete existing custom generated menus and menu links before generating new ones.'), '#default_value' => FALSE, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'actions'); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Generate'), ); diff --git a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate_batch.inc b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate_batch.inc index 2e903570b27abe2689fc1b9a01aeef6ade611f4a..61ccc4d7c53f17e4acaf271d85fcf5618aacb47b 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate_batch.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel_generate/devel_generate_batch.inc @@ -1,30 +1,29 @@ <?php /** - * Devel Generate batch handling functions using the BatchAPI + * Devel Generate batch handling functions using the BatchAPI. */ /** - * Functions called from FAPI: + * Form constructor generating in batches. */ - function devel_generate_batch_content($form_state) { $operations = array(); // Setup the batch operations and save the variables. $operations[] = array('devel_generate_batch_content_pre_node', array($form_state['values'])); - // add the kill operation + // Add the kill operation. if ($form_state['values']['kill_content']) { $operations[] = array('devel_generate_batch_content_kill', array()); } - // add the operations to create the nodes + // Add the operations to create the nodes. for ($num = 0; $num < $form_state['values']['num_nodes']; $num ++) { $operations[] = array('devel_generate_batch_content_add_node', array()); } - // start the batch + // Start the batch. $batch = array( 'title' => t('Generating Content'), 'operations' => $operations, @@ -34,10 +33,6 @@ function devel_generate_batch_content($form_state) { batch_set($batch); } -/** - * Create Content Batch Functions: - */ - function devel_generate_batch_content_kill(&$context) { module_load_include('inc', 'devel_generate', 'devel_generate'); devel_generate_content_kill($context['results']); @@ -50,12 +45,18 @@ function devel_generate_batch_content_pre_node($vars, &$context) { devel_generate_content_pre_node($context['results']); } +/** + * Batch API callback: Generate nodes. + */ function devel_generate_batch_content_add_node(&$context) { module_load_include('inc', 'devel_generate', 'devel_generate'); devel_generate_content_add_node($context['results']); $context['results']['num_nids'] ++; } +/** + * Display a message when a batch is complete. + */ function devel_generate_batch_finished($success, $results, $operations) { if ($success) { $message = t('Finished @num_nids nodes created successfully.', array('@num_nids' => $results['num_nids'])); @@ -65,4 +66,3 @@ function devel_generate_batch_finished($success, $results, $operations) { } drupal_set_message($message); } - diff --git a/profiles/wcm_base/modules/contrib/devel/devel_generate/file.devel_generate.inc b/profiles/wcm_base/modules/contrib/devel/devel_generate/file.devel_generate.inc index c4e76eac376a8fd91730a9d95415179da6844ba4..1e786982b02d867a5070bd84bf3e80ab68a08a46 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_generate/file.devel_generate.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel_generate/file.devel_generate.inc @@ -14,15 +14,22 @@ function _file_devel_generate($object, $field, $instance, $bundle) { if (empty($file)) { if ($path = devel_generate_textfile()) { - $source = new stdClass(); - $source->uri = $path; - $source->uid = 1; // TODO: randomize? use case specific. - $source->filemime = 'text/plain'; - $source->filename = basename($path); $destination_dir = $field['settings']['uri_scheme'] . '://' . $instance['settings']['file_directory']; file_prepare_directory($destination_dir, FILE_CREATE_DIRECTORY); - $destination = $destination_dir . '/' . basename($path); - $file = file_move($source, $destination, FILE_CREATE_DIRECTORY); + if ($uri = file_unmanaged_move($path, $destination_dir)) { + $file = new stdClass(); + $file->fid = NULL; + $file->uri = $uri; + $file->filename = drupal_basename($uri); + $file->filemime = file_get_mimetype($file->uri); + // @todo Randomize file owner. + $file->uid = 1; + $file->devel_generate = TRUE; + $file = file_save($file); + } + else { + return FALSE; + } } else { return FALSE; diff --git a/profiles/wcm_base/modules/contrib/devel/devel_generate/image.devel_generate.inc b/profiles/wcm_base/modules/contrib/devel/devel_generate/image.devel_generate.inc index df4ff5888f0bdd808a076821e8565aac426a9a97..faa9a1d7e3d90c511018e5b9e366706d42bded6d 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_generate/image.devel_generate.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel_generate/image.devel_generate.inc @@ -29,16 +29,22 @@ function _image_devel_generate($object, $field, $instance, $bundle) { // Generate a max of 5 different images. if (!isset($images[$extension][$min_resolution][$max_resolution]) || count($images[$extension][$min_resolution][$max_resolution]) <= DEVEL_GENERATE_IMAGE_MAX) { if ($path = devel_generate_image($extension, $min_resolution, $max_resolution)) { - $source = new stdClass(); - $source->uri = $path; - $source->uid = 1; // TODO: randomize? Use case specific. - $source->filemime = 'image/' . pathinfo($path, PATHINFO_EXTENSION); - $source->filename = basename($path); $destination_dir = $field['settings']['uri_scheme'] . '://' . $instance['settings']['file_directory']; file_prepare_directory($destination_dir, FILE_CREATE_DIRECTORY); - $destination = $destination_dir . '/' . basename($path); - $file = file_move($source, $destination, FILE_CREATE_DIRECTORY); - $images[$extension][$min_resolution][$max_resolution][$file->fid] = $file; + if ($uri = file_unmanaged_move($path, $destination_dir)) { + $file = new stdClass(); + $file->fid = NULL; + $file->uri = $uri; + $file->filename = drupal_basename($uri); + $file->filemime = file_get_mimetype($file->uri); + // @todo Randomize file owner. + $file->uid = 1; + $file = file_save($file); + $images[$extension][$min_resolution][$max_resolution][$file->fid] = $file; + } + else { + return FALSE; + } } else { return FALSE; diff --git a/profiles/wcm_base/modules/contrib/devel/devel_generate/text.devel_generate.inc b/profiles/wcm_base/modules/contrib/devel/devel_generate/text.devel_generate.inc index c63a92edcacd3f174114baa7c01713d63789beff..dedbcd5f7e3355f0889cb5091050608708ee7ae2 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_generate/text.devel_generate.inc +++ b/profiles/wcm_base/modules/contrib/devel/devel_generate/text.devel_generate.inc @@ -21,14 +21,15 @@ function _text_devel_generate($object, $field, $instance, $bundle) { if (empty($field['settings']['max_length'])) { // Textarea handling - $object_field['value'] = devel_create_content($format); + $object_field['value'] = devel_create_content(); if ($instance['widget']['type'] == 'text_textarea_with_summary' && !empty($instance['display_summary'])) { - $object_field['summary'] = devel_create_content($format); + $object_field['summary'] = devel_create_content(); } } else { // Textfield handling. - $object_field['value'] = substr(devel_create_greeking(mt_rand(1, $field['settings']['max_length'] / 6), FALSE), 0, $field['settings']['max_length']); + $max = ceil($field['settings']['max_length'] / 6); + $object_field['value'] = substr(devel_create_greeking(mt_rand(1, $max), FALSE), 0, $field['settings']['max_length']); } $object_field['format'] = $format; return $object_field; diff --git a/profiles/wcm_base/modules/contrib/devel/devel_krumo.css b/profiles/wcm_base/modules/contrib/devel/devel_krumo.css new file mode 100644 index 0000000000000000000000000000000000000000..97018fdbd8529d656170ff7c6fc8e783002cc957 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/devel/devel_krumo.css @@ -0,0 +1,11 @@ +/** + * Krumo + */ +.krumo-version, +.krumo-call { + white-space: nowrap; +} + +.krumo-nest { + display: none; +} diff --git a/profiles/wcm_base/modules/contrib/devel/devel_krumo_path.js b/profiles/wcm_base/modules/contrib/devel/devel_krumo.js similarity index 70% rename from profiles/wcm_base/modules/contrib/devel/devel_krumo_path.js rename to profiles/wcm_base/modules/contrib/devel/devel_krumo.js index d4a578dd23d14f5cfed05aef0dc16302952eb07e..28f01cea80078fa4da0a94025faa4c4958124b24 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_krumo_path.js +++ b/profiles/wcm_base/modules/contrib/devel/devel_krumo.js @@ -1,13 +1,21 @@ +/** + * @file + * Behaviors for Devel. + */ + (function ($) { /** * Attaches double-click behavior to toggle full path of Krumo elements. + * + * @type {Drupal~behavior} */ Drupal.behaviors.devel = { attach: function (context, settings) { + // Path // Add hint to footnote - $('.krumo-footnote .krumo-call').once().before('<img style="vertical-align: middle;" title="Click to expand. Double-click to show path." src="' + settings.basePath + 'misc/help.png"/>'); + $('.krumo-footnote .krumo-call', context).once().before('<img style="vertical-align: middle;" title="Click to expand. Double-click to show path." src="' + settings.basePath + 'misc/help.png"/>'); var krumo_name = []; var krumo_type = []; @@ -21,7 +29,9 @@ Drupal.behaviors.devel = { } } - $('.krumo-child > div:first-child', context).dblclick( + $('.krumo-child > div:first-child', context).once('krumo_path', + function() { + $('.krumo-child > div:first-child', context).dblclick( function(e) { if ($(this).find('> .krumo-php-path').length > 0) { // Remove path if shown. @@ -58,9 +68,20 @@ Drupal.behaviors.devel = { krumo_name = []; krumo_type = []; } - } - ); - } -}; + }); + }); + + // Events + $('.krumo-element').once('krumo-events', function() { + $(this).click(function() { + krumo.toggle(this); + }).mouseover(function() { + krumo.over(this); + }).mouseout(function() { + krumo.out(this); + }); + });// End krumo-events .once + }// End attach. +};// End behaviors.devel. -})(jQuery); +})(jQuery);// end outer function diff --git a/profiles/wcm_base/modules/contrib/devel/devel_node_access.api.php b/profiles/wcm_base/modules/contrib/devel/devel_node_access.api.php index aacf9a639c7049b62806aa77f6808f3bf352c0a5..79265ff92e1136cdc21c20700b220e6f8601bd44 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_node_access.api.php +++ b/profiles/wcm_base/modules/contrib/devel/devel_node_access.api.php @@ -13,19 +13,19 @@ /** * Explain your records in the {node_access} table. * - * In order to help developers and administrators understand the forces - * that control access to any given node, the DNA module provides the + * In order to help developers and administrators understand the forces that + * control access to any given node, the DNA module provides the * Devel Node Access block, which lists all the grant records in the * {node_access} table for that node. * * However, every Node Access module is free in how it defines and uses the - * 'realm' and 'gid' fields in its records in the {node_access} table, and - * it's often difficult to interpret them. This hook passes each record - * that DNA wants to display, and the owning module is expected to return - * an explanation of that record. + * 'realm' and 'gid' fields in its records in the {node_access} table, and it's + * often difficult to interpret them. This hook passes each record that DNA + * wants to display, and the owning module is expected to return an explanation + * of that record. * - * The explanation should not be localized (not be passed through t()), so - * that administrators seeking help can present English explanations. + * The explanation should not be localized (not be passed through t()), so that + * administrators seeking help can present English explanations. * * @param $row * The record from the {node_access} table, as object. The member fields are: diff --git a/profiles/wcm_base/modules/contrib/devel/devel_node_access.info b/profiles/wcm_base/modules/contrib/devel/devel_node_access.info index 22b82bcf76671041843142e54953bbef9560ed60..134932c2bf178af0d407b45b9d2e2db98dd2a031 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_node_access.info +++ b/profiles/wcm_base/modules/contrib/devel/devel_node_access.info @@ -6,9 +6,8 @@ core = 7.x configure = admin/config/development/devel tags[] = developer -; Information added by Drupal.org packaging script on 2014-05-01 -version = "7.x-1.5" +; Information added by Drupal.org packaging script on 2018-04-18 +version = "7.x-1.6" core = "7.x" project = "devel" -datestamp = "1398963366" - +datestamp = "1524009787" diff --git a/profiles/wcm_base/modules/contrib/devel/devel_node_access.install b/profiles/wcm_base/modules/contrib/devel/devel_node_access.install index 0088d78c7a473acda578d8d19d1d83e31aa3d625..541204526febc1ec775f341978beb8ef4d6a9f57 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_node_access.install +++ b/profiles/wcm_base/modules/contrib/devel/devel_node_access.install @@ -1,5 +1,10 @@ <?php +/** + * @file + * Uninstall function for Devel node access. + */ + /** * Implements hook_uninstall(). */ diff --git a/profiles/wcm_base/modules/contrib/devel/devel_node_access.js b/profiles/wcm_base/modules/contrib/devel/devel_node_access.js index b79094291a4b823e8c12a28a752d5d988a68373c..048fefefc66f9c5f0a1a3b3385747450851d3f9d 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_node_access.js +++ b/profiles/wcm_base/modules/contrib/devel/devel_node_access.js @@ -1,11 +1,12 @@ /** - * @file devel_node_access.js. + * @file + * Behavior for Devel node access. */ (function ($) { /** - * Perform the access by user ajax request. + * Performs the access by user ajax request. */ function devel_node_access_user_ajax(context, settings) { // Get the cell ID for the first .dna-permission that isn't processed. @@ -53,6 +54,8 @@ /** * Attach the access by user behavior which initiates ajax. + * + * @type {Drupal~behavior} */ Drupal.behaviors.develNodeAccessUserAjax = { attach: function(context, settings) { diff --git a/profiles/wcm_base/modules/contrib/devel/devel_node_access.module b/profiles/wcm_base/modules/contrib/devel/devel_node_access.module index 74e927e9bf6d404303b13b74a53a3969c6637078..ad574c4d57808615c3ac70a6b0d6ca6775080a38 100644 --- a/profiles/wcm_base/modules/contrib/devel/devel_node_access.module +++ b/profiles/wcm_base/modules/contrib/devel/devel_node_access.module @@ -1,15 +1,18 @@ <?php /** * @file + * Functions for debugging node access permissions. * - * This module gives developers feedback as to what their - * node_access table contains, and which nodes are protected or - * visible to the public. + * This module gives developers feedback as to what their node_access table + * contains, and which nodes are protected or visible to the public. * */ define('DNA_ACCESS_VIEW', 'view devel_node_access information'); +/** + * Implements hook_permission(). + */ function devel_node_access_permission() { return array( 'view devel_node_access information' => array( @@ -51,7 +54,7 @@ function devel_node_access_menu() { if (!module_exists('devel')) { if (!menu_load('devel')) { - // we have to create the 'devel' menu ourselves + // We have to create the 'devel' menu ourselves. $menu = array( 'menu_name' => 'devel', 'title' => 'Development', @@ -60,10 +63,10 @@ function devel_node_access_menu() { menu_save($menu); } - // we have to create the 'Devel settings' menu item ourselves + // We have to create the 'Devel settings' menu item ourselves. $items['admin/config/development/devel'] = array( 'title' => 'Devel settings', - 'description' => 'Helper pages and blocks to assist Drupal developers and admins with node_access. The devel blocks can be managed via the <a href="' . url('admin/structure/block') . '">block administration</a> page.', + 'description' => 'Helper pages and blocks to assist Drupal developers and admins with node_access. The devel blocks can be managed via the <a href="/admin/structure/block">block administration</a> page.', 'page callback' => 'drupal_get_form', 'page arguments' => array('devel_node_access_admin_settings'), 'access arguments' => array('administer site configuration'), @@ -73,7 +76,7 @@ function devel_node_access_menu() { ); } - // create a callback for use by devel_node_access_user_ajax(). + // Create a callback for use by devel_node_access_user_ajax(). $items['devel/node_access/by_user/%/%'] = array( 'page callback' => 'devel_node_access_user_ajax', 'page arguments' => array(3, 4), @@ -81,7 +84,7 @@ function devel_node_access_menu() { 'type' => MENU_CALLBACK, ); - // add this to the custom menu 'devel' created by the devel module. + // Add this to the custom menu 'devel' created by the devel module. $items['devel/node_access/summary'] = array( 'title' => 'Node_access summary', 'page callback' => 'dna_summary', @@ -92,11 +95,24 @@ function devel_node_access_menu() { return $items; } +/** + * Form constructor for Devel node access settings. + * + * @see devel_node_access_form_alter() + * + * @ingroup forms + */ function devel_node_access_admin_settings() { $form = array(); return system_settings_form($form); } +/** + * Implements hook_form_alter(). + * + * Adds form elements to devel_admin_settings() and + * devel_node_access_admin_settings(). + */ function devel_node_access_form_alter(&$form, $form_state, $form_id) { $tr = 't'; if ($form_id == 'devel_admin_settings' || $form_id == 'devel_node_access_admin_settings') { @@ -126,6 +142,9 @@ function devel_node_access_form_alter(&$form, $form_state, $form_id) { } } +/** + * Page callback for the Devel node access summary. + */ function dna_summary() { // warn user if they have any entries that could grant access to all nodes $output = ''; @@ -221,6 +240,16 @@ function dna_summary() { return $output; } +/** + * Retreives the nodes visible in the current menu entry. + * + * @param integer $nid + * (optional) A node ID to add to the list. + * + * @return array + * An associative array of Node ID's that this function has been called with + * keyed by Node ID. + */ function dna_visible_nodes($nid = NULL) { static $nids = array(); if ($nid) { @@ -237,11 +266,21 @@ function dna_visible_nodes($nid = NULL) { return $nids; } +/** + * Implements hook_node_view(). + */ function devel_node_access_node_view($node, $build_mode) { // remember this node, for display in our block dna_visible_nodes($node->nid); } +/** + * Invokes a hook. + * + * @return + * The results of the hook invocation keyed by the machine name of the + * implementing module. + */ function _devel_node_access_module_invoke_all() { // array and scalar returns $args = func_get_args(); $hook = $args[0]; @@ -254,12 +293,12 @@ function _devel_node_access_module_invoke_all() { // array and scalar returns if (isset($result)) { if (is_array($result)) { foreach ($result as $key => $value) { - // add name of module that returned the value: + // Add name of module that returned the value. $result[$key]['#module'] = $module; } } else { - // build array with result keyed by $module: + // Build array with result keyed by $module. $result = array($module => $result); } $return = array_merge_recursive($return, $result); @@ -270,12 +309,13 @@ function _devel_node_access_module_invoke_all() { // array and scalar returns } /** - * Helper function to build an associative array of grant records and their - * history. If there are duplicate records, display an error message. + * Builds an associative array of grant records and their history. + * + * If there are duplicate records, display an error message. * * @param $grants - * An indexed array of grant records, augmented by the '#module' key, - * as created by _devel_node_access_module_invoke_all('node_access_records'). + * An indexed array of grant records, augmented by the '#module' key, as + * created by _devel_node_access_module_invoke_all('node_access_records'). * * @param $node * The node that the grant records belong to. @@ -321,8 +361,7 @@ function _devel_node_access_build_nar_data($grants, $node, $function) { } /** - * Helper function to mimic hook_node_access_records_alter() and trace what - * each module does with it. + * Mimics hook_node_access_records_alter() and traces what each module does with it. * * @param object $grants * An indexed array of grant records, augmented by the '#module' key, @@ -350,18 +389,19 @@ function _devel_node_access_nar_alter(&$grants, $node) { isset($drupal_static['drupal_alter']) || ($drupal_static['drupal_alter'] = &drupal_static('drupal_alter')); $functions = $drupal_static['drupal_alter']; - // build the initial tree (and check for duplicates) + // Build the initial tree (and check for duplicates). $data = _devel_node_access_build_nar_data($grants, $node, 'hook_node_access_records()'); - // simulate drupal_alter('node_access_records', $grants, $node); + // Simulate drupal_alter('node_access_records', $grants, $node); foreach ($functions['node_access_records'] as $function) { - // call hook_node_access_records_alter() for one module at a time and analyze + // Call hook_node_access_records_alter() for one module at a time and + // analyze. $function($grants, $node); // <== $module = substr($function, 0, strlen($function) - 26); foreach ($grants as $i => $grant) { if (empty($data[$grant['realm']][$grant['gid']]['current'])) { - // it's an added grant + // It's an added grant. $data[$grant['realm']][$grant['gid']]['current'] = $grant; $data[$grant['realm']][$grant['gid']]['current']['#module'] = $module; $data[$grant['realm']][$grant['gid']]['changes'][] = array( @@ -371,14 +411,14 @@ function _devel_node_access_nar_alter(&$grants, $node) { $grants[$i]['#module'] = $module; } else { - // it's an existing grant, check for changes + // It's an existing grant, check for changes. $view = $update = $delete = FALSE; foreach (array('view', 'update', 'delete') as $op) { $$op = $grant["grant_$op"] - $data[$grant['realm']][$grant['gid']]['current']["grant_$op"]; } $priority = $grant['priority'] - $data[$grant['realm']][$grant['gid']]['current']['priority']; if ($view || $update || $delete || $priority) { - // it was changed + // It was changed. $data[$grant['realm']][$grant['gid']]['current'] = $grant; $data[$grant['realm']][$grant['gid']]['current']['#module'] = $module; $data[$grant['realm']][$grant['gid']]['changes'][] = array( @@ -391,10 +431,10 @@ function _devel_node_access_nar_alter(&$grants, $node) { $data[$grant['realm']][$grant['gid']]['found'] = TRUE; } - // check for newly introduced duplicates + // Check for newly introduced duplicates. _devel_node_access_build_nar_data($grants, $node, 'hook_node_access_records_alter()'); - // look for grant records that have disappeared + // Look for grant records that have disappeared. foreach ($data as $realm => $data2) { foreach ($data2 as $gid => $data3) { if (empty($data[$realm][$gid]['found']) && isset($data[$realm][$gid]['current'])) { @@ -413,14 +453,12 @@ function _devel_node_access_nar_alter(&$grants, $node) { } /** - * Helper function to mimic hook_node_grants_alter() and trace what - * each module does with it. + * Mimics hook_node_grants_alter() and traces what each module does with it. * * @param object $grants - * An indexed array of grant records, augmented by the '#module' key, - * as created by _devel_node_access_module_invoke_all('node_grants'). - * This array is updated by the hook_node_grants_alter() - * implementations. + * An indexed array of grant records, augmented by the '#module' key, as + * created by _devel_node_access_module_invoke_all('node_grants'). This array + * is updated by the hook_node_grants_alter() implementations. * * @param $node * The node that the grant records belong to. @@ -429,12 +467,13 @@ function _devel_node_access_nar_alter(&$grants, $node) { * A tree representation of the grant records in $grants including their * history: * $data[$realm][$gid] - * ['cur'] - TRUE or FALSE whether the gid is present or not - * ['ori'][] - array of module names that contributed this grant (if any) - * ['chg'][] - array of changes, such as - * - 'added' if module name is a prefix if the $realm, - * - 'added by module' otherwise, or - * - 'removed by module' + * - ['cur']: TRUE or FALSE whether the gid is present or not + * - ['ori'][]: An array of module names that contributed this grant (if + * any) + * - ['chg'][]: An array of changes, such as + * - 'added' if module name is a prefix if the $realm, + * - 'added by module' otherwise, or + * - 'removed by module' */ function _devel_node_access_ng_alter(&$grants, $account, $op) { //dpm($grants, '_devel_node_access_ng_alter(): grants IN'); @@ -444,7 +483,7 @@ function _devel_node_access_ng_alter(&$grants, $account, $op) { isset($drupal_static['drupal_alter']) || ($drupal_static['drupal_alter'] = &drupal_static('drupal_alter')); $functions = $drupal_static['drupal_alter']; - // build the initial structure + // Build the initial structure. $data = array(); foreach ($grants as $realm => $gids) { foreach ($gids as $i => $gid) { @@ -456,13 +495,13 @@ function _devel_node_access_ng_alter(&$grants, $account, $op) { unset($grants[$realm]['#module']); } - // simulate drupal_alter('node_grants', $grants, $account, $op); + // Simulate drupal_alter('node_grants', $grants, $account, $op); foreach ($functions['node_grants'] as $function) { - // call hook_node_grants_alter() for one module at a time and analyze + // Call hook_node_grants_alter() for one module at a time and analyze. $function($grants, $account, $op); // <== $module = substr($function, 0, strlen($function) - 18); - // check for new gids + // Check for new gids. foreach ($grants as $realm => $gids) { foreach ($gids as $i => $gid) { if (empty($data[$realm][$gid]['cur'])) { @@ -472,7 +511,7 @@ function _devel_node_access_ng_alter(&$grants, $account, $op) { } } - // check for removed gids + // Check for removed gids. foreach ($data as $realm => $gids) { foreach ($gids as $gid => $history) { if ($history['cur'] && array_search($gid, $grants[$realm]) === FALSE) { @@ -598,9 +637,9 @@ function devel_node_access_block_view($delta) { foreach ($nids as $nid) { $acquired_grants_nid = array(); if ($node = node_load($nid)) { - // check node_access_acquire_grants() + // Check node_access_acquire_grants(). $grants = _devel_node_access_module_invoke_all('node_access_records', $node); - // check drupal_alter('node_access_records') + // Check drupal_alter('node_access_records'). $data = _devel_node_access_nar_alter($grants, $node); /* (This was the D6 implementation that didn't analyze the hook_node_access_records_alter() details.) if (!empty($grants)) { @@ -645,19 +684,20 @@ function devel_node_access_block_view($delta) { } /**/ //dpm($acquired_grants_nid, "acquired_grants_nid ="); - // check node_access_grants() + // Check node_access_grants(). $published_nid[$nid] = $node->status; if ($node->nid) { foreach (array('view', 'update', 'delete') as $op) { $grants = _devel_node_access_module_invoke_all('node_grants', $user, $op); - // call all hook_node_grants_alter() implementations + // Call all hook_node_grants_alter() implementations. $ng_alter_datas[$op] = _devel_node_access_ng_alter($grants, $user, $op); $checked_grants[$nid][$op] = array_merge(array('all' => array(0)), $grants); } } } - // check for grants in the node_access table that aren't returned by node_access_acquire_grants() + // Check for grants in the node_access table that aren't returned by + // node_access_acquire_grants(). if (isset($active_grants[$nid])) { foreach ($active_grants[$nid] as $realm => $active_grants_realm) { @@ -686,14 +726,15 @@ function devel_node_access_block_view($delta) { elseif (!$found) { $acknowledged = _devel_node_access_module_invoke_all('node_access_acknowledge', $fixed_grant); if (empty($acknowledged)) { - // no module acknowledged this record, mark it as alien + // No module acknowledged this record, mark it as alien. $fixed_grant += array( 'priority' => '?', 'state' => 'alien', ); } else { - // at least one module acknowledged the record, attribute it to the first one + // At least one module acknowledged the record. Attribute it + // to the first one. $acknowledged_keys = array_keys($acknowledged); $fixed_grant += array( 'priority' => '–', @@ -714,7 +755,7 @@ function devel_node_access_block_view($delta) { } } - // order grants and evaluate their status + // Order grants and evaluate their status. foreach ($acquired_grants_nid as $priority => $acquired_grants_priority) { ksort($acquired_grants_priority); foreach ($acquired_grants_priority as $realm => $acquired_grants_realm) { @@ -750,7 +791,7 @@ function devel_node_access_block_view($delta) { } } - // fill in the table rows + // Fill in the table rows. $rows = array(); $error_count = 0; foreach ($all_grants as $grant) { @@ -804,7 +845,7 @@ function devel_node_access_block_view($delta) { ); } - // prepend information from the D7 hook_node_access_records_alter() + // Prepend information from the D7 hook_node_access_records_alter(). $next_style = array(); if (isset($grant['history'])) { $history = $grant['history']; @@ -845,14 +886,15 @@ function devel_node_access_block_view($delta) { } } - // fix up the main row cells with the proper class (needed for Bartik) + // Fix up the main row cells with the proper class (needed for + // Bartik). foreach ($row as $key => $value) { if (!is_array($value)) { $row[$key] = array('data' => $value); } $row[$key]['class'] = array($class); } - // add the main row + // Add the main row. $will_append = empty($history['current']) && !empty($history['changes']); $rows[] = array( 'data' => array_values($row), @@ -860,7 +902,7 @@ function devel_node_access_block_view($delta) { 'style' => array_merge($next_style, ($will_append ? array('border-bottom-style: none;') : array())), ); - // append information from the D7 hook_node_access_records_alter() + // Append information from the D7 hook_node_access_records_alter(). if ($will_append) { $last_change = end($history['changes']); $rows[] = array( @@ -903,7 +945,8 @@ function devel_node_access_block_view($delta) { ); } - // Explain whether access is granted or denied, and why (using code from node_access()). + // Explain whether access is granted or denied, and why (using code from + // node_access()). $tr = 't'; array_shift($nids); // remove the 0 $accounts = array(); @@ -932,7 +975,7 @@ function devel_node_access_block_view($delta) { $menu_item = menu_get_item(); $map = $menu_item['original_map']; if ($map[0] == 'node' && isset($map[1]) && is_numeric($map[1]) && !isset($map[2]) && !$block1_visible) { - // only for single nodes + // Only for single nodes. if (user_is_logged_in()) { $accounts[] = user_load(0); // Anonymous, too } @@ -988,7 +1031,7 @@ function devel_node_access_block_view($delta) { return array('subject' => $subject, 'content' => $output); case 'dna_user': - // show which users can access this node + // Show which users can access this node. $menu_item = menu_get_item(); $map = $menu_item['original_map']; if ($map[0] != 'node' || !isset($map[1]) || !is_numeric($map[1]) || isset($map[2])) { @@ -1079,7 +1122,7 @@ function devel_node_access_block_view($delta) { } /** - * Callback function for node access by user block ajax. + * Page callback for node access by user block ajax. */ function devel_node_access_user_ajax($data_type, $cell) { list($op, $nid, $uid) = explode('-', $cell); @@ -1117,7 +1160,8 @@ function devel_node_access_user_ajax($data_type, $cell) { /** * Helper function that mimicks node.module's node_access() function. * - * Unfortunately, this needs to be updated manually whenever node.module changes! + * Unfortunately, this needs to be updated manually whenever node.module + * changes! * * @return * An array suitable for theming with theme_dna_permission(). @@ -1257,7 +1301,13 @@ function _devel_node_access_explain_access($op, $node, $account = NULL) { } /** - * Helper function to create a list of the grants returned by hook_node_grants(). + * Creates a list of the grants returned by hook_node_grants(). + * + * @param integer $nid + * @param array $ng_alter_data + * + * @return + * A themed item list of grants. */ function _devel_node_access_get_grant_list($nid, $ng_alter_data) { //dpm($ng_alter_data, "_devel_node_access_get_grant_list($nid,"); @@ -1323,7 +1373,16 @@ function devel_node_access_node_access_explain($row) { } /** - * Helper function to return a sanitized node title. + * Return a sanitized node title. + * + * @param $node + * The node from which to get the title. + * @param boolean $clip_and_decorate + * (optional) Set to TRUE to limit the length of the returned title and to add + * markup to make it easier to style. + * + * @return string + * The sanitized node title. */ function _devel_node_access_get_node_title($node, $clip_and_decorate = FALSE) { if (isset($node)) { @@ -1345,7 +1404,13 @@ function _devel_node_access_get_node_title($node, $clip_and_decorate = FALSE) { } /** - * Helper function to apply common formatting to a debug-mode table row. + * Applies common formatting to a debug-mode table row. + * + * @param array $row + * The row to format. + * @param boolean $may_unpack + * (optional) Indicates if $row['data'] needs be formatted rather than $row + * itself. Default is TRUE. */ function _devel_node_access_format_row($row, $may_unpack = TRUE) { if ($may_unpack && isset($row['data'])) { @@ -1385,7 +1450,14 @@ function devel_node_access_theme() { } /** - * Indicate whether user has a permission or not. + * Returns HTML to indicate if a user has a permission. + * + * @param array $variables + * An associative array containing: + * - permission: An indexed array containing: + * - 0: A value indicating if the user has permission. + * - 1: The text of the message to display. + * - 2: The title to display containing additional information. */ function theme_dna_permission($variables) { $permission = &$variables['permission']; diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/INSTALL b/profiles/wcm_base/modules/contrib/devel/krumo/INSTALL old mode 100755 new mode 100644 index e6117c8549e7cd1260347acf5742450104779ff4..9283bc522073a7a2c056daa307bd66ae1ce5c469 --- a/profiles/wcm_base/modules/contrib/devel/krumo/INSTALL +++ b/profiles/wcm_base/modules/contrib/devel/krumo/INSTALL @@ -1,32 +1,32 @@ ------------------------------------------------------------------------------- - - SETUP: How to install Krumo ? - ------------------------------------------------------------------------------- - -In order to use Krumo you have to put it on your (development) server, and -include it in your script. You can put it somewhere in the INCLUDE_PATH, or -specify the full path to the "class.krumo.php" file. - -You have to modify the "krumo.ini" file too. It is the configuration file for -Krumo. The first option is choosing a skin: - - [skin] - selected = "orange" - -The value for this setting has to be the name of one of the sub-folders from the -"Krumo/skins/" folder. If the value provided for the skin results in not finding -the skin, the `default` skin will be used instead. - -The second option is used to set the correct web path to the folder where Krumo -is installed. This is used in order to make the images from Krumo's CSS skins -web-accessible. - - [css] - url = "http://www.example.com/Krumo/" - -So far those two are the only configuration options. - -All the CSS files ("skin.css") from the "Krumo/skins/" sub-folders must have the -proper permissions in order to be readable from Krumo. Same applies for -"krumo.ini" and "krumo.js" files. \ No newline at end of file +------------------------------------------------------------------------------ + + SETUP: How to install Krumo ? + +------------------------------------------------------------------------------ + +In order to use Krumo you have to put it on your (development) server, and +include it in your script. You can put it somewhere in the INCLUDE_PATH, or +specify the full path to the "class.krumo.php" file. + +You have to modify the "krumo.ini" file too. It is the configuration file for +Krumo. The first option is choosing a skin: + + [skin] + selected = "orange" + +The value for this setting has to be the name of one of the sub-folders from the +"Krumo/skins/" folder. If the value provided for the skin results in not finding +the skin, the `default` skin will be used instead. + +The second option is used to set the correct web path to the folder where Krumo +is installed. This is used in order to make the images from Krumo's CSS skins +web-accessible. + + [css] + url = "http://www.example.com/Krumo/" + +So far those two are the only configuration options. + +All the CSS files ("skin.css") from the "Krumo/skins/" sub-folders must have the +proper permissions in order to be readable from Krumo. Same applies for +"krumo.ini" and "krumo.js" files. diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/LICENSE b/profiles/wcm_base/modules/contrib/devel/krumo/LICENSE old mode 100755 new mode 100644 index 03851a3383020eeb8e586cab8073470f1bc2af6c..678c6921d59838dd7d9240be016e05f877d261f1 --- a/profiles/wcm_base/modules/contrib/devel/krumo/LICENSE +++ b/profiles/wcm_base/modules/contrib/devel/krumo/LICENSE @@ -1,504 +1,504 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/README b/profiles/wcm_base/modules/contrib/devel/krumo/README old mode 100755 new mode 100644 index 93914098bd740db015a4c27c62404695a725a3ac..99513ea35146b5272d22fdd9eb483b5f4126ded9 --- a/profiles/wcm_base/modules/contrib/devel/krumo/README +++ b/profiles/wcm_base/modules/contrib/devel/krumo/README @@ -1,103 +1,103 @@ -============================================================================= - - Krumo - version 0.2.1a - -============================================================================= - -You probably got this package from... -http://www.sourceforge.net/projects/krumo/ - -If there is no licence agreement with this package please download -a version from the location above. You must read and accept that -licence to use this software. The file is titled simply LICENSE. - -OVERVIEW ------------------------------------------------------------------------------- -To put it simply, Krumo is a replacement for print_r() and var_dump(). By -definition Krumo is a debugging tool (for PHP5), which displays structured -information about any PHP variable. - -A lot of developers use print_r() and var_dump() in the means of debugging -tools. Although they were intended to present human readble information about a -variable, we can all agree that in general they are not. Krumo is an -alternative: it does the same job, but it presents the information beautified -using CSS and DHTML. - -EXAMPLES ------------------------------------------------------------------------------- -Here's a basic example, which will return a report on the array variable passed -as argument to it: - - krumo(array('a1'=> 'A1', 3, 'red')); - -You can dump simultaneously more then one variable - here's another example: - - krumo($_SERVER, $_REQUEST); - -You probably saw from the examples above that some of the nodes are expandable, -so if you want to inspect the nested information, click on them and they will -expand; if you do not need that information shown simply click again on it to -collapse it. Here's an example to test this: - - $x1->x2->x3->x4->x5->x6->x7->x8->x9 = 'X10'; - krumo($x1); - -The krumo() is the only standalone function from the package, and this is -because basic dumps about variables (like print_r() or var_dump()) are the most -common tasks such functionality is used for. The rest of the functionality can -be called using static calls to the Krumo class. Here are several more examples: - - // print a debug backgrace - krumo::backtrace(); - - // print all the included(or required) files - krumo::includes(); - - // print all the included functions - krumo::functions(); - - // print all the declared classes - krumo::classes(); - - // print all the defined constants - krumo::defines(); - - ... and so on, etc. - -A full PHPDocumenter API documentation exists both in this package and at the -project's website. - -INSTALL ------------------------------------------------------------------------------- -Read the INSTALL file. - -DOCUMENTATION ------------------------------------------------------------------------------- -As I said, a full PHPDocumenter API documentation can be found both in this -package and at the project's website. - -SKINS ------------------------------------------------------------------------------- -There are several skins pre-installed with this package, but if you wish you can -create skins of your own. The skins are simply CSS files that are prepended to -the result that Krumo prints. If you want to use images in your CSS (for -background, list-style, etc), you have to put "%URL%" in front of the image URL -in order hook it up to the skin folder and make the image web-accessible. - -Here's an example: - - ul.krumo-first {background: url(%url%bg.gif);} - -TODO ------------------------------------------------------------------------------- -You can find the list of stuff that is going to be added to this project in the -TODO file from this very package. - -CONTRIBUTION ------------------------------------------------------------------------------ -If you download and use and possibly even extend this tool, please let us know. -Any feedback, even bad, is always welcome and your suggestions are going to be -considered for our next release. Please use our SourceForge page for that: - - http://www.sourceforge.net/projects/krumo/ +============================================================================= + + Krumo + version 0.2.1a + +============================================================================= + +You probably got this package from... +http://www.sourceforge.net/projects/krumo/ + +If there is no licence agreement with this package please download +a version from the location above. You must read and accept that +licence to use this software. The file is titled simply LICENSE. + +OVERVIEW +------------------------------------------------------------------------------ +To put it simply, Krumo is a replacement for print_r() and var_dump(). By +definition Krumo is a debugging tool (for PHP5), which displays structured +information about any PHP variable. + +A lot of developers use print_r() and var_dump() in the means of debugging +tools. Although they were intended to present human readble information about a +variable, we can all agree that in general they are not. Krumo is an +alternative: it does the same job, but it presents the information beautified +using CSS and DHTML. + +EXAMPLES +------------------------------------------------------------------------------ +Here's a basic example, which will return a report on the array variable passed +as argument to it: + + krumo(array('a1'=> 'A1', 3, 'red')); + +You can dump simultaneously more then one variable - here's another example: + + krumo($_SERVER, $_REQUEST); + +You probably saw from the examples above that some of the nodes are expandable, +so if you want to inspect the nested information, click on them and they will +expand; if you do not need that information shown simply click again on it to +collapse it. Here's an example to test this: + + $x1->x2->x3->x4->x5->x6->x7->x8->x9 = 'X10'; + krumo($x1); + +The krumo() is the only standalone function from the package, and this is +because basic dumps about variables (like print_r() or var_dump()) are the most +common tasks such functionality is used for. The rest of the functionality can +be called using static calls to the Krumo class. Here are several more examples: + + // print a debug backgrace + krumo::backtrace(); + + // print all the included(or required) files + krumo::includes(); + + // print all the included functions + krumo::functions(); + + // print all the declared classes + krumo::classes(); + + // print all the defined constants + krumo::defines(); + + ... and so on, etc. + +A full PHPDocumenter API documentation exists both in this package and at the +project's website. + +INSTALL +------------------------------------------------------------------------------ +Read the INSTALL file. + +DOCUMENTATION +------------------------------------------------------------------------------ +As I said, a full PHPDocumenter API documentation can be found both in this +package and at the project's website. + +SKINS +------------------------------------------------------------------------------ +There are several skins pre-installed with this package, but if you wish you can +create skins of your own. The skins are simply CSS files that are prepended to +the result that Krumo prints. If you want to use images in your CSS (for +background, list-style, etc), you have to put "%URL%" in front of the image URL +in order hook it up to the skin folder and make the image web-accessible. + +Here's an example: + + ul.krumo-first {background: url(%url%bg.gif);} + +TODO +------------------------------------------------------------------------------ +You can find the list of stuff that is going to be added to this project in the +TODO file from this very package. + +CONTRIBUTION +----------------------------------------------------------------------------- +If you download and use and possibly even extend this tool, please let us know. +Any feedback, even bad, is always welcome and your suggestions are going to be +considered for our next release. Please use our SourceForge page for that: + + http://www.sourceforge.net/projects/krumo/ diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/TODO b/profiles/wcm_base/modules/contrib/devel/krumo/TODO old mode 100755 new mode 100644 index d1de49fab2a59f230d3f88ea7208c4c12f9d5751..8989f9af6f1570a4ab887c32edcd3d47f5c0b8d6 --- a/profiles/wcm_base/modules/contrib/devel/krumo/TODO +++ b/profiles/wcm_base/modules/contrib/devel/krumo/TODO @@ -1,24 +1,24 @@ -****************************************************************************** - - Krumo: TODO - -****************************************************************************** - -BUGS ----------------- - - watch the SourceForge.net Bug Tracker - -Features: PHP ----------------- - - Try to detect anonymous (lambda) functions - - Try to detect whether an array is indexed or associated - - Add var_export support for arrays and objects - - Add JSON support for arrays and objects - -Features: GUI ----------------- - - Nicer and friendlier skin(s) - - Add top-level links for collapsing and expanding the whole tree - - Add object & array -level links for collapsing and expanding all the - nested nodes - - Print all parent classes for the rendered objects \ No newline at end of file +****************************************************************************** + + Krumo: TODO + +****************************************************************************** + +BUGS +---------------- + - watch the SourceForge.net Bug Tracker + +Features: PHP +---------------- + - Try to detect anonymous (lambda) functions + - Try to detect whether an array is indexed or associated + - Add var_export support for arrays and objects + - Add JSON support for arrays and objects + +Features: GUI +---------------- + - Nicer and friendlier skin(s) + - Add top-level links for collapsing and expanding the whole tree + - Add object & array -level links for collapsing and expanding all the + nested nodes + - Print all parent classes for the rendered objects diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/VERSION b/profiles/wcm_base/modules/contrib/devel/krumo/VERSION old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/class.krumo.php b/profiles/wcm_base/modules/contrib/devel/krumo/class.krumo.php old mode 100755 new mode 100644 index 25dd1e5368a0229cba93e0bcc2abf6b7fb610957..ec31a0aaf3c459022c413aaab618b7c152800a18 --- a/profiles/wcm_base/modules/contrib/devel/krumo/class.krumo.php +++ b/profiles/wcm_base/modules/contrib/devel/krumo/class.krumo.php @@ -655,6 +655,15 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + /** + * Allows CSS and Javascript to be included without performing a krumo::dump(). + */ + Public Static Function addCssJs() { + return krumo::_css(); + } + + // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + /** * Print the skin (CSS) * @@ -674,7 +683,7 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file $css = ''; // DEVEL: changed for Drupal variables system - $skin = variable_get('devel_krumo_skin', 'orange'); + $skin = variable_get('devel_krumo_skin', 'default'); // custom selected skin ? // @@ -705,25 +714,8 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file // the CSS // - ?> -<!-- Using Krumo Skin: <?php echo preg_replace('~^' . preg_quote(realpath(KRUMO_DIR) . DIRECTORY_SEPARATOR) . '~Uis', '', realpath($_));?> --> -<style type="text/css"> -<!--/**/ -<?php echo $css?> - -/**/--> -</style> -<?php - // the JS - // - ?> -<script type="text/javascript"> -<!--// -<?php echo join(file(KRUMO_DIR . "krumo.js"));?> - -//--> -</script> -<?php + drupal_add_css($css, 'inline'); + drupal_add_js(join(file(KRUMO_DIR . "krumo.js")), 'inline'); } return $_css; @@ -924,7 +916,7 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file // $_recursion_marker = krumo::_marker(); (is_object($bee)) - ? @($bee->$_recursion_marker++) + ? (empty($bee->$_recursion_marker) ? ($bee->$_recursion_marker = 1) : $bee->$_recursion_marker++) : @($bee[$_recursion_marker]++); $_[0][] =& $bee; @@ -974,6 +966,29 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file <ul class="krumo-node"> <?php + if ($_is_object && get_class($data) != 'stdClass') { + // this part for protected/private properties only + $refl = new ReflectionClass($data); + foreach ($refl->getProperties() as $property) { + $k = $property->getName(); + if ($k === $_recursion_marker || $property->isPublic()) { + continue; + } + + // add key indicators + if ($property->isProtected()) { + $k .= ':protected'; + } + elseif ($property->isPrivate()) { + $k .= ':private'; + } + + $property->setAccessible(TRUE); + $v = $property->getValue($data); + krumo::_dump($v, $k); + } + } + // keys ? // $keys = ($_is_object) @@ -1045,10 +1060,7 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file ?> <li class="krumo-child"> - <div class="krumo-element<?php echo count($data) > 0 ? ' krumo-expand' : '';?>" - <?php if (count($data) > 0) {?> onClick="krumo.toggle(this);"<?php } ?> - onMouseOver="krumo.over(this);" - onMouseOut="krumo.out(this);"> + <div class="krumo-element<?php echo !empty($data) ? ' krumo-expand' : '';?>"> <?php /* DEVEL: added htmlSpecialChars */ ?> <a class="krumo-name"><?php echo htmlSpecialChars($name);?></a> @@ -1097,10 +1109,7 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file ?> <li class="krumo-child"> - <div class="krumo-element<?php echo count($data) > 0 ? ' krumo-expand' : '';?>" - <?php if (count($data) > 0) {?> onClick="krumo.toggle(this);"<?php } ?> - onMouseOver="krumo.over(this);" - onMouseOut="krumo.out(this);"> + <div class="krumo-element<?php echo ' krumo-expand';?>"> <?php /* DEVEL: added htmlSpecialChars */ ?> <a class="krumo-name"><?php echo htmlSpecialChars($name);?></a> @@ -1108,7 +1117,7 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file <strong class="krumo-class"><?php echo get_class($data);?></strong> </div> - <?php if (count($data)) { + <?php { krumo::_vars($data); } ?> </li> @@ -1244,16 +1253,13 @@ This is a list of all the values from the <code><b><?php echo realpath($ini_file $_extra = false; $_ = $data; if (strLen($data) > KRUMO_TRUNCATE_LENGTH) { - $_ = substr($data, 0, KRUMO_TRUNCATE_LENGTH - 3) . '...'; + $_ = drupal_substr($data, 0, KRUMO_TRUNCATE_LENGTH - 3) . '...'; $_extra = true; } ?> <li class="krumo-child"> - <div class="krumo-element<?php echo $_extra ? ' krumo-expand' : '';?>" - <?php if ($_extra) {?> onClick="krumo.toggle(this);"<?php } ?> - onMouseOver="krumo.over(this);" - onMouseOut="krumo.out(this);"> + <div class="krumo-element<?php echo $_extra ? ' krumo-expand' : '';?>"> <?php /* DEVEL: added htmlSpecialChars */ ?> <a class="krumo-name"><?php echo htmlSpecialChars($name);?></a> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/_class.krumo.php.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/_class.krumo.php.html index 6b3fcf400a6d13b589da2389be9092984ba5c084..cf495695b720ff80aaa049830d8515af1b29fcd4 100644 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/_class.krumo.php.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/_class.krumo.php.html @@ -1,267 +1,268 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title>Docs for page class.krumo.php</title> - <link rel="stylesheet" href="../media/stylesheet.css" /> - <script src="../media/lib/classTree.js"></script> - <script language="javascript" type="text/javascript"> - var imgPlus = new Image(); - var imgMinus = new Image(); - imgPlus.src = "../media/images/plus.png"; - imgMinus.src = "../media/images/minus.png"; - - function showNode(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - var oImg = document.layers["img" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - var oImg = document.all["img" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - var oImg = document.getElementById("img" + Node); - break; - } - oImg.src = imgMinus.src; - oTable.style.display = "block"; - } - - function hideNode(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - var oImg = document.layers["img" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - var oImg = document.all["img" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - var oImg = document.getElementById("img" + Node); - break; - } - oImg.src = imgPlus.src; - oTable.style.display = "none"; - } - - function nodeIsVisible(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - break; - } - return (oTable && oTable.style.display == "block"); - } - - function toggleNodeVisibility(Node){ - if (nodeIsVisible(Node)){ - hideNode(Node); - }else{ - showNode(Node); - } - } - </script> - </head> - <body> - <div class="page-body"> -<h2 class="file-name"><img src="../media/images/Page_logo.png" alt="File" style="vertical-align: middle">/class.krumo.php</h2> - -<a name="sec-description"></a> -<div class="info-box"> - <div class="info-box-title">Description</div> - <div class="nav-bar"> - <span class="disabled">Description</span> | - <a href="#sec-classes">Classes</a> - | <a href="#sec-constants">Constants</a> - | <a href="#sec-functions">Functions</a> - </div> - <div class="info-box-body"> - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Krumo: Structured information display solution</p> -<p class="description"><p>Krumo is a debugging tool (PHP5 only), which displays structured information about any PHP variable. It is a nice replacement for print_r() or var_dump() which are used by a lot of PHP developers.</p></p> - <ul class="tags"> - <li><span class="field">author:</span> Kaloyan K. Tsvetkov <<a href="mailto:kaloyan@kaloyan.info">kaloyan@kaloyan.info</a>></li> - <li><span class="field">version:</span> $Id$</li> - <li><span class="field">license:</span> <a href="http://opensource.org/licenses/lgpl-license.php">GNU Lesser General Public License Version 2.1</a></li> - </ul> - - </div> -</div> - - <a name="sec-classes"></a> - <div class="info-box"> - <div class="info-box-title">Classes</div> - <div class="nav-bar"> - <a href="#sec-description">Description</a> | - <span class="disabled">Classes</span> - | <a href="#sec-constants">Constants</a> - | <a href="#sec-functions">Functions</a> - </div> - <div class="info-box-body"> - <table cellpadding="2" cellspacing="0" class="class-table"> - <tr> - <th class="class-table-header">Class</th> - <th class="class-table-header">Description</th> - </tr> - <tr> - <td style="padding-right: 2em; vertical-align: top; white-space: nowrap"> - <img src="../media/images/Class.png" - alt=" class" - title=" class"/> - <a href="../Krumo/krumo.html">krumo</a> - </td> - <td> - Krumo API - </td> - </tr> - </table> - </div> - </div> - - - <a name="sec-constants"></a> - <div class="info-box"> - <div class="info-box-title">Constants</div> - <div class="nav-bar"> - <a href="#sec-description">Description</a> | - <a href="#sec-classes">Classes</a> - | <span class="disabled">Constants</span> - | <a href="#sec-functions">Functions</a> - </div> - <div class="info-box-body"> - <a name="defineDIR_SEP"><!-- --></a> -<div class="oddrow"> - - <div> - <img src="../media/images/Constant.png" /> - <span class="const-title"> - <span class="const-name">DIR_SEP</span> = DIRECTORY_SEPARATOR - (line <span class="line-number">22</span>) - </span> - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">backward compatibility: the DIR_SEP constant isn't used anymore</p> - - -</div> -<a name="defineKRUMO_DIR"><!-- --></a> -<div class="evenrow"> - - <div> - <img src="../media/images/Constant.png" /> - <span class="const-title"> - <span class="const-name">KRUMO_DIR</span> = dirname(__FILE__).DIRECTORY_SEPARATOR - (line <span class="line-number">39</span>) - </span> - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Set the KRUMO_DIR constant up with the absolute path to Krumo files. If it is not defined, include_path will be used. Set KRUMO_DIR only if any other module or application has not already set it up.</p> - - -</div> -<a name="defineKRUMO_TRUNCATE_LENGTH"><!-- --></a> -<div class="oddrow"> - - <div> - <img src="../media/images/Constant.png" /> - <span class="const-title"> - <span class="const-name">KRUMO_TRUNCATE_LENGTH</span> = 50 - (line <span class="line-number">48</span>) - </span> - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">This constant sets the maximum strings of strings that will be shown as they are. Longer strings will be truncated with this length, and their `full form` will be shown in a child node.</p> - - -</div> -<a name="definePATH_SEPARATOR"><!-- --></a> -<div class="evenrow"> - - <div> - <img src="../media/images/Constant.png" /> - <span class="const-title"> - <span class="const-name">PATH_SEPARATOR</span> = OS_WINDOWS?';':':' - (line <span class="line-number">28</span>) - </span> - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">backward compatibility: the PATH_SEPARATOR constant is availble since 4.3.0RC2</p> - - -</div> - </div> - </div> - - - <a name="sec-functions"></a> - <div class="info-box"> - <div class="info-box-title">Functions</div> - <div class="nav-bar"> - <a href="#sec-description">Description</a> | - <a href="#sec-classes">Classes</a> - | <a href="#sec-constants">Constants</a> - | <span class="disabled">Functions</span> - </div> - <div class="info-box-body"> - <a name="functionkrumo" id="functionkrumo"><!-- --></a> -<div class="oddrow"> - - <div> - <img src="../media/images/Function.png" /> - <span class="method-title">krumo</span> (line <span class="line-number">1295</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Alias of <a href="../Krumo/krumo.html#methoddump">krumo::dump()</a></p> - <ul class="tags"> - <li><span class="field">see:</span> <a href="../Krumo/krumo.html#methoddump">krumo::dump()</a></li> - </ul> - <div class="method-signature"> - <span class="method-result">void</span> - <span class="method-name"> - krumo - </span> - ([<span class="var-type">mixed</span> <span class="var-name">$data,...</span> = <span class="var-default"></span>]) - </div> - - <ul class="parameters"> - <li> - <span class="var-type">mixed</span> - <span class="var-name">$data,...</span> </li> - </ul> - - -</div> - </div> - </div> - - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:24 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </div></body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs for page class.krumo.php</title> + <link rel="stylesheet" href="../media/stylesheet.css"/> + <script src="../media/lib/classTree.js"></script> + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "../media/images/plus.png"; + imgMinus.src = "../media/images/minus.png"; + + function showNode(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + } + oImg.src = imgMinus.src; + oTable.style.display = "block"; + } + + function hideNode(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + } + oImg.src = imgPlus.src; + oTable.style.display = "none"; + } + + function nodeIsVisible(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + } + return (oTable && oTable.style.display == "block"); + } + + function toggleNodeVisibility(Node) { + if (nodeIsVisible(Node)) { + hideNode(Node); + }else { + showNode(Node); + } + } + </script> +</head> +<body> +<div class="page-body"> + + <h2 class="file-name"><img src="../media/images/Page_logo.png" alt="File" style="vertical-align: middle">/class.krumo.php</h2> + + <a name="sec-description"></a> + <div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-classes">Classes</a> + | <a href="#sec-constants">Constants</a> + | <a href="#sec-functions">Functions</a> + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Krumo: Structured information display solution</p> + <p class="description"><p>Krumo is a debugging tool (PHP5 only), which displays structured information about any PHP variable. It is a nice replacement for print_r() or var_dump() which are used by a lot of PHP developers.</p></p> + <ul class="tags"> + <li><span class="field">author:</span> Kaloyan K. Tsvetkov <<a href="mailto:kaloyan@kaloyan.info">kaloyan@kaloyan.info</a>></li> + <li><span class="field">version:</span> $Id$</li> + <li><span class="field">license:</span> <a href="http://opensource.org/licenses/lgpl-license.php">GNU Lesser General Public License Version 2.1</a></li> + </ul> + + </div> + </div> + + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + | <a href="#sec-constants">Constants</a> + | <a href="#sec-functions">Functions</a> + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + <tr> + <td style="padding-right: 2em; vertical-align: top; white-space: nowrap"> + <img src="../media/images/Class.png" + alt=" class" + title=" class"/> + <a href="../Krumo/krumo.html">krumo</a> + </td> + <td> + Krumo API + </td> + </tr> + </table> + </div> + </div> + + + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-classes">Classes</a> + | <span class="disabled">Constants</span> + | <a href="#sec-functions">Functions</a> + </div> + <div class="info-box-body"> + <a name="defineDIR_SEP"><!-- --></a> + <div class="oddrow"> + + <div> + <img src="../media/images/Constant.png"/> + <span class="const-title"> + <span class="const-name">DIR_SEP</span> = DIRECTORY_SEPARATOR + (line <span class="line-number">22</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">backward compatibility: the DIR_SEP constant isn't used anymore</p> + + + </div> + <a name="defineKRUMO_DIR"><!-- --></a> + <div class="evenrow"> + + <div> + <img src="../media/images/Constant.png"/> + <span class="const-title"> + <span class="const-name">KRUMO_DIR</span> = dirname(__FILE__).DIRECTORY_SEPARATOR + (line <span class="line-number">39</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Set the KRUMO_DIR constant up with the absolute path to Krumo files. If it is not defined, include_path will be used. Set KRUMO_DIR only if any other module or application has not already set it up.</p> + + + </div> + <a name="defineKRUMO_TRUNCATE_LENGTH"><!-- --></a> + <div class="oddrow"> + + <div> + <img src="../media/images/Constant.png"/> + <span class="const-title"> + <span class="const-name">KRUMO_TRUNCATE_LENGTH</span> = 50 + (line <span class="line-number">48</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">This constant sets the maximum strings of strings that will be shown as they are. Longer strings will be truncated with this length, and their `full form` will be shown in a child node.</p> + + + </div> + <a name="definePATH_SEPARATOR"><!-- --></a> + <div class="evenrow"> + + <div> + <img src="../media/images/Constant.png"/> + <span class="const-title"> + <span class="const-name">PATH_SEPARATOR</span> = OS_WINDOWS?';':':' + (line <span class="line-number">28</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">backward compatibility: the PATH_SEPARATOR constant is availble since 4.3.0RC2</p> + + + </div> + </div> + </div> + + + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-classes">Classes</a> + | <a href="#sec-constants">Constants</a> + | <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + <a name="functionkrumo" id="functionkrumo"><!-- --></a> + <div class="oddrow"> + + <div> + <img src="../media/images/Function.png"/> + <span class="method-title">krumo</span> (line <span class="line-number">1295</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Alias of <a href="../Krumo/krumo.html#methoddump">krumo::dump()</a></p> + <ul class="tags"> + <li><span class="field">see:</span> <a href="../Krumo/krumo.html#methoddump">krumo::dump()</a></li> + </ul> + <div class="method-signature"> + <span class="method-result">void</span> + <span class="method-name"> + krumo + </span> + ([<span class="var-type">mixed</span> <span class="var-name">$data,...</span> = <span class="var-default"></span>]) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">mixed</span> + <span class="var-name">$data,...</span></li> + </ul> + + + </div> + </div> + </div> + + <p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:24 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> + </p> +</div></body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/krumo.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/krumo.html old mode 100755 new mode 100644 index ce4d33b8977eb4fd10c5058b0e9e41c7401039ec..39557ef9ae574675f5dbb25e7cba6822ff9348eb --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/krumo.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/Krumo/krumo.html @@ -1,900 +1,901 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title>Docs For Class krumo</title> - <link rel="stylesheet" href="../media/stylesheet.css" /> - <script src="../media/lib/classTree.js"></script> - <script language="javascript" type="text/javascript"> - var imgPlus = new Image(); - var imgMinus = new Image(); - imgPlus.src = "../media/images/plus.png"; - imgMinus.src = "../media/images/minus.png"; - - function showNode(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - var oImg = document.layers["img" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - var oImg = document.all["img" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - var oImg = document.getElementById("img" + Node); - break; - } - oImg.src = imgMinus.src; - oTable.style.display = "block"; - } - - function hideNode(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - var oImg = document.layers["img" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - var oImg = document.all["img" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - var oImg = document.getElementById("img" + Node); - break; - } - oImg.src = imgPlus.src; - oTable.style.display = "none"; - } - - function nodeIsVisible(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - break; - } - return (oTable && oTable.style.display == "block"); - } - - function toggleNodeVisibility(Node){ - if (nodeIsVisible(Node)){ - hideNode(Node); - }else{ - showNode(Node); - } - } - </script> - </head> - <body> - <div class="page-body"> -<h2 class="class-name"><img src="../media/images/Class_logo.png" - alt=" Class" - title=" Class" - style="vertical-align: middle"> krumo</h2> - -<a name="sec-description"></a> -<div class="info-box"> - <div class="info-box-title">Description</div> - <div class="nav-bar"> - <span class="disabled">Description</span> | - <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) - - </div> - <div class="info-box-body"> - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Krumo API</p> -<p class="description"><p>This class stores the Krumo API for rendering and displaying the structured information it is reporting</p></p> - <p class="notes"> - Located in <a class="field" href="_class.krumo.php.html">/class.krumo.php</a> (line <span class="field">61</span>) - </p> - - - <pre></pre> - - </div> -</div> - - - - - <a name="sec-method-summary"></a> - <div class="info-box"> - <div class="info-box-title">Method Summary</span></div> - <div class="nav-bar"> - <a href="#sec-description">Description</a> | - <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) - </div> - <div class="info-box-body"> - <div class="method-summary"> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#backtrace" title="details" class="method-name">backtrace</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#classes" title="details" class="method-name">classes</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#conf" title="details" class="method-name">conf</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#cookie" title="details" class="method-name">cookie</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#defines" title="details" class="method-name">defines</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">boolean</span> - <a href="#disable" title="details" class="method-name">disable</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#dump" title="details" class="method-name">dump</a> - (<span class="var-type"></span> <span class="var-name">$data</span>, <span class="var-type">mixed</span> <span class="var-name">$data,...</span>) - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">boolean</span> - <a href="#enable" title="details" class="method-name">enable</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#env" title="details" class="method-name">env</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#extensions" title="details" class="method-name">extensions</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#functions" title="details" class="method-name">functions</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#get" title="details" class="method-name">get</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#headers" title="details" class="method-name">headers</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#includes" title="details" class="method-name">includes</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#ini" title="details" class="method-name">ini</a> - (<span class="var-type">string</span> <span class="var-name">$ini_file</span>) - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#interfaces" title="details" class="method-name">interfaces</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#path" title="details" class="method-name">path</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#phpini" title="details" class="method-name">phpini</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#post" title="details" class="method-name">post</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#request" title="details" class="method-name">request</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#server" title="details" class="method-name">server</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">void</span> - <a href="#session" title="details" class="method-name">session</a> - () - </div> - - <div class="method-definition"> - <img src="../media/images/StaticMethod.png" alt=" "/> - static <span class="method-result">string</span> - <a href="#version" title="details" class="method-name">version</a> - () - </div> - </div> - </div> - </div> - - - <a name="sec-methods"></a> - <div class="info-box"> - <div class="info-box-title">Methods</div> - <div class="nav-bar"> - <a href="#sec-description">Description</a> | - <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) - - </div> - <div class="info-box-body"> - <A NAME='method_detail'></A> -<a name="methodbacktrace" id="backtrace"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static backtrace</span> (line <span class="line-number">82</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a debug backtrace</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - backtrace - </span> - () - </div> - - - - </div> -<a name="methodclasses" id="classes"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static classes</span> (line <span class="line-number">101</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all currently declared classes.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - classes - </span> - () - </div> - - - - </div> -<a name="methodconf" id="conf"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static conf</span> (line <span class="line-number">297</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all your configuration settings.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - conf - </span> - () - </div> - - - - </div> -<a name="methodcookie" id="cookie"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static cookie</span> (line <span class="line-number">441</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from the <em>$_COOKIE</em> array.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - cookie - </span> - () - </div> - - - - </div> -<a name="methoddefines" id="defines"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static defines</span> (line <span class="line-number">197</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all currently declared constants.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - defines - </span> - () - </div> - - - - </div> -<a name="methoddisable" id="disable"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static disable</span> (line <span class="line-number">747</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Disable Krumo</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">boolean</span> - <span class="method-name"> - disable - </span> - () - </div> - - - - </div> -<a name="methoddump" id="dump"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static dump</span> (line <span class="line-number">548</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Dump information about a variable</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - dump - </span> - (<span class="var-type"></span> <span class="var-name">$data</span>, <span class="var-type">mixed</span> <span class="var-name">$data,...</span>) - </div> - - <ul class="parameters"> - <li> - <span class="var-type">mixed</span> - <span class="var-name">$data,...</span> </li> - <li> - <span class="var-type"></span> - <span class="var-name">$data</span> </li> - </ul> - - - </div> -<a name="methodenable" id="enable"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static enable</span> (line <span class="line-number">736</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Enable Krumo</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">boolean</span> - <span class="method-name"> - enable - </span> - () - </div> - - - - </div> -<a name="methodenv" id="env"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static env</span> (line <span class="line-number">465</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from the <em>$_ENV</em> array.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - env - </span> - () - </div> - - - - </div> -<a name="methodextensions" id="extensions"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static extensions</span> (line <span class="line-number">221</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all currently loaded PHP extensions.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - extensions - </span> - () - </div> - - - - </div> -<a name="methodfunctions" id="functions"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static functions</span> (line <span class="line-number">173</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all currently declared functions.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - functions - </span> - () - </div> - - - - </div> -<a name="methodget" id="get"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static get</span> (line <span class="line-number">369</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from the <em>$_GET</em> array.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - get - </span> - () - </div> - - - - </div> -<a name="methodheaders" id="headers"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static headers</span> (line <span class="line-number">245</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all HTTP request headers.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - headers - </span> - () - </div> - - - - </div> -<a name="methodincludes" id="includes"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static includes</span> (line <span class="line-number">149</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all currently included (or required) files.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - includes - </span> - () - </div> - - - - </div> -<a name="methodini" id="ini"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static ini</span> (line <span class="line-number">515</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from an INI file.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - ini - </span> - (<span class="var-type">string</span> <span class="var-name">$ini_file</span>) - </div> - - <ul class="parameters"> - <li> - <span class="var-type">string</span> - <span class="var-name">$ini_file</span> </li> - </ul> - - - </div> -<a name="methodinterfaces" id="interfaces"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static interfaces</span> (line <span class="line-number">125</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all currently declared interfaces (PHP5 only).</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - interfaces - </span> - () - </div> - - - - </div> -<a name="methodpath" id="path"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static path</span> (line <span class="line-number">321</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of the specified directories under your <em>include_path</em> option.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - path - </span> - () - </div> - - - - </div> -<a name="methodphpini" id="phpini"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static phpini</span> (line <span class="line-number">269</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of the configuration settings read from <em>php.ini</em></p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - phpini - </span> - () - </div> - - - - </div> -<a name="methodpost" id="post"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static post</span> (line <span class="line-number">393</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from the <em>$_POST</em> array.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - post - </span> - () - </div> - - - - </div> -<a name="methodrequest" id="request"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static request</span> (line <span class="line-number">345</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from the <em>$_REQUEST</em> array.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - request - </span> - () - </div> - - - - </div> -<a name="methodserver" id="server"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static server</span> (line <span class="line-number">417</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from the <em>$_SERVER</em> array.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - server - </span> - () - </div> - - - - </div> -<a name="methodsession" id="session"><!-- --></a> -<div class="oddrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static session</span> (line <span class="line-number">489</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Prints a list of all the values from the <em>$_SESSION</em> array.</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">void</span> - <span class="method-name"> - session - </span> - () - </div> - - - - </div> -<a name="methodversion" id="version"><!-- --></a> -<div class="evenrow"> - - <div class="method-header"> - <img src="../media/images/StaticMethod.png" /> - <span class="method-title">static version</span> (line <span class="line-number">70</span>) - </div> - - <!-- ========== Info from phpDoc block ========= --> -<p class="short-description">Return Krumo version</p> - <ul class="tags"> - <li><span class="field">access:</span> public</li> - </ul> - - <div class="method-signature"> - static <span class="method-result">string</span> - <span class="method-name"> - version - </span> - () - </div> - - - - </div> - - </div> - </div> - - - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:24 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </div></body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs For Class krumo</title> + <link rel="stylesheet" href="../media/stylesheet.css"/> + <script src="../media/lib/classTree.js"></script> + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "../media/images/plus.png"; + imgMinus.src = "../media/images/minus.png"; + + function showNode(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + } + oImg.src = imgMinus.src; + oTable.style.display = "block"; + } + + function hideNode(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + } + oImg.src = imgPlus.src; + oTable.style.display = "none"; + } + + function nodeIsVisible(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + } + return (oTable && oTable.style.display == "block"); + } + + function toggleNodeVisibility(Node) { + if (nodeIsVisible(Node)) { + hideNode(Node); + } else { + showNode(Node); + } + } + </script> +</head> +<body> +<div class="page-body"> + + <h2 class="class-name"><img src="../media/images/Class_logo.png" + alt=" Class" + title=" Class" + style="vertical-align: middle"> krumo</h2> + + <a name="sec-description"></a> + <div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Krumo API</p> + <p class="description"><p>This class stores the Krumo API for rendering and displaying the structured information it is reporting</p></p> + <p class="notes"> + Located in <a class="field" href="_class.krumo.php.html">/class.krumo.php</a> (line <span class="field">61</span>) + </p> + + + <pre></pre> + + </div> + </div> + + + + + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#backtrace" title="details" class="method-name">backtrace</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#classes" title="details" class="method-name">classes</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#conf" title="details" class="method-name">conf</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#cookie" title="details" class="method-name">cookie</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#defines" title="details" class="method-name">defines</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">boolean</span> + <a href="#disable" title="details" class="method-name">disable</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#dump" title="details" class="method-name">dump</a> + (<span class="var-type"></span> <span class="var-name">$data</span>, <span class="var-type">mixed</span> <span class="var-name">$data,...</span>) + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">boolean</span> + <a href="#enable" title="details" class="method-name">enable</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#env" title="details" class="method-name">env</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#extensions" title="details" class="method-name">extensions</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#functions" title="details" class="method-name">functions</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#get" title="details" class="method-name">get</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#headers" title="details" class="method-name">headers</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#includes" title="details" class="method-name">includes</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#ini" title="details" class="method-name">ini</a> + (<span class="var-type">string</span> <span class="var-name">$ini_file</span>) + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#interfaces" title="details" class="method-name">interfaces</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#path" title="details" class="method-name">path</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#phpini" title="details" class="method-name">phpini</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#post" title="details" class="method-name">post</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#request" title="details" class="method-name">request</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#server" title="details" class="method-name">server</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">void</span> + <a href="#session" title="details" class="method-name">session</a> + () + </div> + + <div class="method-definition"> + <img src="../media/images/StaticMethod.png" alt=" "/> + static <span class="method-result">string</span> + <a href="#version" title="details" class="method-name">version</a> + () + </div> + </div> + </div> + </div> + + + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + + </div> + <div class="info-box-body"> + <A NAME='method_detail'></A> + <a name="methodbacktrace" id="backtrace"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static backtrace</span> (line <span class="line-number">82</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a debug backtrace</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + backtrace + </span> + () + </div> + + + + </div> + <a name="methodclasses" id="classes"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static classes</span> (line <span class="line-number">101</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all currently declared classes.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + classes + </span> + () + </div> + + + + </div> + <a name="methodconf" id="conf"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static conf</span> (line <span class="line-number">297</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all your configuration settings.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + conf + </span> + () + </div> + + + + </div> + <a name="methodcookie" id="cookie"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static cookie</span> (line <span class="line-number">441</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from the <em>$_COOKIE</em> array.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + cookie + </span> + () + </div> + + + + </div> + <a name="methoddefines" id="defines"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static defines</span> (line <span class="line-number">197</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all currently declared constants.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + defines + </span> + () + </div> + + + + </div> + <a name="methoddisable" id="disable"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static disable</span> (line <span class="line-number">747</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Disable Krumo</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">boolean</span> + <span class="method-name"> + disable + </span> + () + </div> + + + + </div> + <a name="methoddump" id="dump"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static dump</span> (line <span class="line-number">548</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Dump information about a variable</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + dump + </span> + (<span class="var-type"></span> <span class="var-name">$data</span>, <span class="var-type">mixed</span> <span class="var-name">$data,...</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">mixed</span> + <span class="var-name">$data,...</span></li> + <li> + <span class="var-type"></span> + <span class="var-name">$data</span></li> + </ul> + + + </div> + <a name="methodenable" id="enable"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static enable</span> (line <span class="line-number">736</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Enable Krumo</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">boolean</span> + <span class="method-name"> + enable + </span> + () + </div> + + + + </div> + <a name="methodenv" id="env"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static env</span> (line <span class="line-number">465</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from the <em>$_ENV</em> array.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + env + </span> + () + </div> + + + + </div> + <a name="methodextensions" id="extensions"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static extensions</span> (line <span class="line-number">221</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all currently loaded PHP extensions.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + extensions + </span> + () + </div> + + + + </div> + <a name="methodfunctions" id="functions"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static functions</span> (line <span class="line-number">173</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all currently declared functions.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + functions + </span> + () + </div> + + + + </div> + <a name="methodget" id="get"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static get</span> (line <span class="line-number">369</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from the <em>$_GET</em> array.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + get + </span> + () + </div> + + + + </div> + <a name="methodheaders" id="headers"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static headers</span> (line <span class="line-number">245</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all HTTP request headers.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + headers + </span> + () + </div> + + + + </div> + <a name="methodincludes" id="includes"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static includes</span> (line <span class="line-number">149</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all currently included (or required) files.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + includes + </span> + () + </div> + + + + </div> + <a name="methodini" id="ini"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static ini</span> (line <span class="line-number">515</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from an INI file.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + ini + </span> + (<span class="var-type">string</span> <span class="var-name">$ini_file</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">string</span> + <span class="var-name">$ini_file</span></li> + </ul> + + + </div> + <a name="methodinterfaces" id="interfaces"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static interfaces</span> (line <span class="line-number">125</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all currently declared interfaces (PHP5 only).</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + interfaces + </span> + () + </div> + + + + </div> + <a name="methodpath" id="path"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static path</span> (line <span class="line-number">321</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of the specified directories under your <em>include_path</em> option.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + path + </span> + () + </div> + + + + </div> + <a name="methodphpini" id="phpini"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static phpini</span> (line <span class="line-number">269</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of the configuration settings read from <em>php.ini</em></p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + phpini + </span> + () + </div> + + + + </div> + <a name="methodpost" id="post"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static post</span> (line <span class="line-number">393</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from the <em>$_POST</em> array.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + post + </span> + () + </div> + + + + </div> + <a name="methodrequest" id="request"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static request</span> (line <span class="line-number">345</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from the <em>$_REQUEST</em> array.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + request + </span> + () + </div> + + + + </div> + <a name="methodserver" id="server"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static server</span> (line <span class="line-number">417</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from the <em>$_SERVER</em> array.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + server + </span> + () + </div> + + + + </div> + <a name="methodsession" id="session"><!-- --></a> + <div class="oddrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static session</span> (line <span class="line-number">489</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Prints a list of all the values from the <em>$_SESSION</em> array.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">void</span> + <span class="method-name"> + session + </span> + () + </div> + + + + </div> + <a name="methodversion" id="version"><!-- --></a> + <div class="evenrow"> + + <div class="method-header"> + <img src="../media/images/StaticMethod.png"/> + <span class="method-title">static version</span> (line <span class="line-number">70</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> + <p class="short-description">Return Krumo version</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + static <span class="method-result">string</span> + <span class="method-name"> + version + </span> + () + </div> + + + + </div> + + </div> + </div> + + + <p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:24 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> + </p> +</div></body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/blank.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/blank.html old mode 100755 new mode 100644 index 98c96360e63de1818cd91b8c323ebeae0bbb9a42..cddfbe5b9d4a0b6263b4ba83f4ea6237731e969c --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/blank.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/blank.html @@ -1,13 +1,13 @@ -<html> -<head> - <title>Krumo</title> - <link rel="stylesheet" href="media/stylesheet.css" /> - <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> -</head> -<body> -<div align="center"><h1>Krumo</h1></div> -<b>Welcome to Krumo!</b><br /> -<br /> -This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.0a2</a><br /> -</body> -</html> \ No newline at end of file +<html> + <head> + <title>Krumo</title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> +<body> +<div align="center"><h1>Krumo</h1></div> +<b>Welcome to Krumo!</b><br /> +<br /> +This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.0a2</a><br /> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/classtrees_Krumo.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/classtrees_Krumo.html old mode 100755 new mode 100644 index 8123084b98469a6013a76e080c3cde04a65bb432..2c927b1a67ebb8e606d3caef35ea1c9f6fabd094 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/classtrees_Krumo.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/classtrees_Krumo.html @@ -1,23 +1,24 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - -<!-- Start of Class Data --> -<H2> - -</H2> -<h2>Root class krumo</h2> +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> + </head> + <body> + + +<!-- Start of Class Data --> +<H2> + +</H2> +<h2>Root class krumo</h2> <ul> <li><a href="Krumo/krumo.html">krumo</a></li></ul> - - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:24 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </body> -</html> \ No newline at end of file + + <p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:24 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> + </p> + </body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex.html old mode 100755 new mode 100644 index bc89b7a342d194f26b85c6431ded872d8d2260de..a2a43cfb025fd8f076bd925eb9a05430f2e2381a --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex.html @@ -1,392 +1,394 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <a name="top"></a> -<h2>Full index</h2> -<h3>Package indexes</h3> -<ul> - <li><a href="elementindex_Krumo.html">Krumo</a></li> -</ul> -<br /> -<div class="index-letter-menu"> - <a class="index-letter" href="elementindex.html#b">b</a> - <a class="index-letter" href="elementindex.html#c">c</a> - <a class="index-letter" href="elementindex.html#d">d</a> - <a class="index-letter" href="elementindex.html#e">e</a> - <a class="index-letter" href="elementindex.html#f">f</a> - <a class="index-letter" href="elementindex.html#g">g</a> - <a class="index-letter" href="elementindex.html#h">h</a> - <a class="index-letter" href="elementindex.html#i">i</a> - <a class="index-letter" href="elementindex.html#k">k</a> - <a class="index-letter" href="elementindex.html#p">p</a> - <a class="index-letter" href="elementindex.html#r">r</a> - <a class="index-letter" href="elementindex.html#s">s</a> - <a class="index-letter" href="elementindex.html#v">v</a> -</div> - - <a name="b"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">b</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">backtrace</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodbacktrace">krumo::backtrace()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a debug backtrace</div> - </dd> - </dl> - <a name="c"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">c</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Page.png" alt="Page" title="Page" /></title> - <span class="include-title">class.krumo.php</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html">class.krumo.php</a> in class.krumo.php</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">classes</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodclasses">krumo::classes()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared classes.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">conf</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodconf">krumo::conf()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all your configuration settings.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">cookie</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodcookie">krumo::cookie()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_COOKIE</em> array.</div> - </dd> - </dl> - <a name="d"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">d</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">defines</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methoddefines">krumo::defines()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared constants.</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">DIR_SEP</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineDIR_SEP">DIR_SEP</a> in class.krumo.php</div> - <div class="index-item-description">backward compatibility: the DIR_SEP constant isn't used anymore</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">disable</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methoddisable">krumo::disable()</a> in class.krumo.php</div> - <div class="index-item-description">Disable Krumo</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">dump</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methoddump">krumo::dump()</a> in class.krumo.php</div> - <div class="index-item-description">Dump information about a variable</div> - </dd> - </dl> - <a name="e"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">e</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">enable</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodenable">krumo::enable()</a> in class.krumo.php</div> - <div class="index-item-description">Enable Krumo</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">env</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodenv">krumo::env()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_ENV</em> array.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">extensions</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodextensions">krumo::extensions()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently loaded PHP extensions.</div> - </dd> - </dl> - <a name="f"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">f</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">functions</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodfunctions">krumo::functions()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared functions.</div> - </dd> - </dl> - <a name="g"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">g</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">get</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodget">krumo::get()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_GET</em> array.</div> - </dd> - </dl> - <a name="h"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">h</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">headers</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodheaders">krumo::headers()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all HTTP request headers.</div> - </dd> - </dl> - <a name="i"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">i</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">includes</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodincludes">krumo::includes()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently included (or required) files.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">ini</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodini">krumo::ini()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from an INI file.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">interfaces</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodinterfaces">krumo::interfaces()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared interfaces (PHP5 only).</div> - </dd> - </dl> - <a name="k"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">k</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Function.png" alt="Function" title="Function" /></title> - <span class="method-title">krumo</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#functionkrumo">krumo()</a> in class.krumo.php</div> - <div class="index-item-description">Alias of <a href="Krumo/krumo.html#methoddump">krumo::dump()</a></div> - </dd> - <dt class="field"> - <img src="media/images/Class.png" alt="Class" title="Class" /></title> - krumo - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html">krumo</a> in class.krumo.php</div> - <div class="index-item-description">Krumo API</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">KRUMO_DIR</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_DIR">KRUMO_DIR</a> in class.krumo.php</div> - <div class="index-item-description">Set the KRUMO_DIR constant up with the absolute path to Krumo files. If it is not defined, include_path will be used. Set KRUMO_DIR only if any other module or application has not already set it up.</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">KRUMO_TRUNCATE_LENGTH</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_TRUNCATE_LENGTH">KRUMO_TRUNCATE_LENGTH</a> in class.krumo.php</div> - <div class="index-item-description">This constant sets the maximum strings of strings that will be shown as they are. Longer strings will be truncated with this length, and their `full form` will be shown in a child node.</div> - </dd> - </dl> - <a name="p"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">p</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">path</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodpath">krumo::path()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of the specified directories under your <em>include_path</em> option.</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">PATH_SEPARATOR</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#definePATH_SEPARATOR">PATH_SEPARATOR</a> in class.krumo.php</div> - <div class="index-item-description">backward compatibility: the PATH_SEPARATOR constant is availble since 4.3.0RC2</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">phpini</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodphpini">krumo::phpini()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of the configuration settings read from <em>php.ini</em></div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">post</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodpost">krumo::post()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_POST</em> array.</div> - </dd> - </dl> - <a name="r"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">r</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">request</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodrequest">krumo::request()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_REQUEST</em> array.</div> - </dd> - </dl> - <a name="s"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">s</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">server</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodserver">krumo::server()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_SERVER</em> array.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">session</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodsession">krumo::session()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_SESSION</em> array.</div> - </dd> - </dl> - <a name="v"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">v</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">version</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodversion">krumo::version()</a> in class.krumo.php</div> - <div class="index-item-description">Return Krumo version</div> - </dd> - </dl> - -<div class="index-letter-menu"> - <a class="index-letter" href="elementindex.html#b">b</a> - <a class="index-letter" href="elementindex.html#c">c</a> - <a class="index-letter" href="elementindex.html#d">d</a> - <a class="index-letter" href="elementindex.html#e">e</a> - <a class="index-letter" href="elementindex.html#f">f</a> - <a class="index-letter" href="elementindex.html#g">g</a> - <a class="index-letter" href="elementindex.html#h">h</a> - <a class="index-letter" href="elementindex.html#i">i</a> - <a class="index-letter" href="elementindex.html#k">k</a> - <a class="index-letter" href="elementindex.html#p">p</a> - <a class="index-letter" href="elementindex.html#r">r</a> - <a class="index-letter" href="elementindex.html#s">s</a> - <a class="index-letter" href="elementindex.html#v">v</a> -</div> </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> +</head> +<body> + +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> + <li><a href="elementindex_Krumo.html">Krumo</a></li> +</ul> +<br/> +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex.html#b">b</a> + <a class="index-letter" href="elementindex.html#c">c</a> + <a class="index-letter" href="elementindex.html#d">d</a> + <a class="index-letter" href="elementindex.html#e">e</a> + <a class="index-letter" href="elementindex.html#f">f</a> + <a class="index-letter" href="elementindex.html#g">g</a> + <a class="index-letter" href="elementindex.html#h">h</a> + <a class="index-letter" href="elementindex.html#i">i</a> + <a class="index-letter" href="elementindex.html#k">k</a> + <a class="index-letter" href="elementindex.html#p">p</a> + <a class="index-letter" href="elementindex.html#r">r</a> + <a class="index-letter" href="elementindex.html#s">s</a> + <a class="index-letter" href="elementindex.html#v">v</a> +</div> + +<a name="b"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">b</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">backtrace</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodbacktrace">krumo::backtrace()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a debug backtrace</div> + </dd> +</dl> +<a name="c"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">c</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Page.png" alt="Page" title="Page"/></title> + <span class="include-title">class.krumo.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html">class.krumo.php</a> in class.krumo.php </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">classes</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodclasses">krumo::classes()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared classes. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">conf</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodconf">krumo::conf()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all your configuration settings. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">cookie</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodcookie">krumo::cookie()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_COOKIE</em> array. </div> + </dd> +</dl> +<a name="d"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">d</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">defines</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methoddefines">krumo::defines()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared constants. </div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">DIR_SEP</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineDIR_SEP">DIR_SEP</a> in class.krumo.php </div> + <div class="index-item-description">backward compatibility: the DIR_SEP constant isn't used anymore </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">disable</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methoddisable">krumo::disable()</a> in class.krumo.php </div> + <div class="index-item-description">Disable Krumo</div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">dump</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methoddump">krumo::dump()</a> in class.krumo.php </div> + <div class="index-item-description">Dump information about a variable</div> + </dd> +</dl> +<a name="e"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">e</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">enable</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodenable">krumo::enable()</a> in class.krumo.php </div> + <div class="index-item-description">Enable Krumo</div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">env</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodenv">krumo::env()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_ENV</em> array. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">extensions</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodextensions">krumo::extensions()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently loaded PHP extensions. </div> + </dd> +</dl> +<a name="f"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">f</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">functions</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodfunctions">krumo::functions()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared functions. </div> + </dd> +</dl> +<a name="g"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">g</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">get</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodget">krumo::get()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_GET</em> array. </div> + </dd> +</dl> +<a name="h"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">h</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">headers</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodheaders">krumo::headers()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all HTTP request headers. </div> + </dd> +</dl> +<a name="i"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">i</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">includes</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodincludes">krumo::includes()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently included (or required) files. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">ini</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodini">krumo::ini()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from an INI file. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">interfaces</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodinterfaces">krumo::interfaces()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared interfaces (PHP5 only). </div> + </dd> +</dl> +<a name="k"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">k</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Function.png" alt="Function" title="Function"/></title> + <span class="method-title">krumo</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#functionkrumo">krumo()</a> in class.krumo.php </div> + <div class="index-item-description">Alias of <a href="Krumo/krumo.html#methoddump">krumo::dump()</a></div> + </dd> + <dt class="field"> + <img src="media/images/Class.png" alt="Class" title="Class"/></title> + krumo + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html">krumo</a> in class.krumo.php </div> + <div class="index-item-description">Krumo API</div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">KRUMO_DIR</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_DIR">KRUMO_DIR</a> in class.krumo.php </div> + <div class="index-item-description">Set the KRUMO_DIR constant up with the absolute path to Krumo files. If it is not defined, include_path will be used. Set KRUMO_DIR only if any other module or application has not already set it up. </div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">KRUMO_TRUNCATE_LENGTH</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_TRUNCATE_LENGTH">KRUMO_TRUNCATE_LENGTH</a> in class.krumo.php </div> + <div class="index-item-description">This constant sets the maximum strings of strings that will be shown as they are. Longer strings will be truncated with this length, and their `full form` will be shown in a child node. </div> + </dd> +</dl> +<a name="p"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">p</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">path</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodpath">krumo::path()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of the specified directories under your <em>include_path</em> option. </div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">PATH_SEPARATOR</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#definePATH_SEPARATOR">PATH_SEPARATOR</a> in class.krumo.php </div> + <div class="index-item-description">backward compatibility: the PATH_SEPARATOR constant is availble since 4.3.0RC2 </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">phpini</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodphpini">krumo::phpini()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of the configuration settings read from <em>php.ini</em></div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">post</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodpost">krumo::post()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_POST</em> array. </div> + </dd> +</dl> +<a name="r"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">r</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">request</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodrequest">krumo::request()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_REQUEST</em> array. </div> + </dd> +</dl> +<a name="s"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">s</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">server</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodserver">krumo::server()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_SERVER</em> array. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">session</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodsession">krumo::session()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_SESSION</em> array. </div> + </dd> +</dl> +<a name="v"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">v</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">version</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodversion">krumo::version()</a> in class.krumo.php </div> + <div class="index-item-description">Return Krumo version</div> + </dd> +</dl> + +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex.html#b">b</a> + <a class="index-letter" href="elementindex.html#c">c</a> + <a class="index-letter" href="elementindex.html#d">d</a> + <a class="index-letter" href="elementindex.html#e">e</a> + <a class="index-letter" href="elementindex.html#f">f</a> + <a class="index-letter" href="elementindex.html#g">g</a> + <a class="index-letter" href="elementindex.html#h">h</a> + <a class="index-letter" href="elementindex.html#i">i</a> + <a class="index-letter" href="elementindex.html#k">k</a> + <a class="index-letter" href="elementindex.html#p">p</a> + <a class="index-letter" href="elementindex.html#r">r</a> + <a class="index-letter" href="elementindex.html#s">s</a> + <a class="index-letter" href="elementindex.html#v">v</a> +</div> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex_Krumo.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex_Krumo.html old mode 100755 new mode 100644 index 39e7477217d34fb478db01483e0145d12ad63983..3cd941fdf7611c42522c45b871261bae5a784bd6 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex_Krumo.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/elementindex_Krumo.html @@ -1,389 +1,391 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <a name="top"></a> -<h2>[Krumo] element index</h2> -<a href="elementindex.html">All elements</a> -<br /> -<div class="index-letter-menu"> - <a class="index-letter" href="elementindex_Krumo.html#b">b</a> - <a class="index-letter" href="elementindex_Krumo.html#c">c</a> - <a class="index-letter" href="elementindex_Krumo.html#d">d</a> - <a class="index-letter" href="elementindex_Krumo.html#e">e</a> - <a class="index-letter" href="elementindex_Krumo.html#f">f</a> - <a class="index-letter" href="elementindex_Krumo.html#g">g</a> - <a class="index-letter" href="elementindex_Krumo.html#h">h</a> - <a class="index-letter" href="elementindex_Krumo.html#i">i</a> - <a class="index-letter" href="elementindex_Krumo.html#k">k</a> - <a class="index-letter" href="elementindex_Krumo.html#p">p</a> - <a class="index-letter" href="elementindex_Krumo.html#r">r</a> - <a class="index-letter" href="elementindex_Krumo.html#s">s</a> - <a class="index-letter" href="elementindex_Krumo.html#v">v</a> -</div> - - <a name="b"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">b</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">backtrace</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodbacktrace">krumo::backtrace()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a debug backtrace</div> - </dd> - </dl> - <a name="c"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">c</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Page.png" alt="Page" title="Page" /></title> - <span class="include-title">class.krumo.php</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html">class.krumo.php</a> in class.krumo.php</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">classes</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodclasses">krumo::classes()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared classes.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">conf</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodconf">krumo::conf()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all your configuration settings.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">cookie</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodcookie">krumo::cookie()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_COOKIE</em> array.</div> - </dd> - </dl> - <a name="d"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">d</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">defines</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methoddefines">krumo::defines()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared constants.</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">DIR_SEP</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineDIR_SEP">DIR_SEP</a> in class.krumo.php</div> - <div class="index-item-description">backward compatibility: the DIR_SEP constant isn't used anymore</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">disable</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methoddisable">krumo::disable()</a> in class.krumo.php</div> - <div class="index-item-description">Disable Krumo</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">dump</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methoddump">krumo::dump()</a> in class.krumo.php</div> - <div class="index-item-description">Dump information about a variable</div> - </dd> - </dl> - <a name="e"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">e</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">enable</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodenable">krumo::enable()</a> in class.krumo.php</div> - <div class="index-item-description">Enable Krumo</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">env</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodenv">krumo::env()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_ENV</em> array.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">extensions</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodextensions">krumo::extensions()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently loaded PHP extensions.</div> - </dd> - </dl> - <a name="f"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">f</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">functions</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodfunctions">krumo::functions()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared functions.</div> - </dd> - </dl> - <a name="g"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">g</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">get</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodget">krumo::get()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_GET</em> array.</div> - </dd> - </dl> - <a name="h"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">h</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">headers</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodheaders">krumo::headers()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all HTTP request headers.</div> - </dd> - </dl> - <a name="i"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">i</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">includes</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodincludes">krumo::includes()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently included (or required) files.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">ini</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodini">krumo::ini()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from an INI file.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">interfaces</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodinterfaces">krumo::interfaces()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all currently declared interfaces (PHP5 only).</div> - </dd> - </dl> - <a name="k"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">k</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Function.png" alt="Function" title="Function" /></title> - <span class="method-title">krumo</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#functionkrumo">krumo()</a> in class.krumo.php</div> - <div class="index-item-description">Alias of <a href="Krumo/krumo.html#methoddump">krumo::dump()</a></div> - </dd> - <dt class="field"> - <img src="media/images/Class.png" alt="Class" title="Class" /></title> - krumo - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html">krumo</a> in class.krumo.php</div> - <div class="index-item-description">Krumo API</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">KRUMO_DIR</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_DIR">KRUMO_DIR</a> in class.krumo.php</div> - <div class="index-item-description">Set the KRUMO_DIR constant up with the absolute path to Krumo files. If it is not defined, include_path will be used. Set KRUMO_DIR only if any other module or application has not already set it up.</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">KRUMO_TRUNCATE_LENGTH</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_TRUNCATE_LENGTH">KRUMO_TRUNCATE_LENGTH</a> in class.krumo.php</div> - <div class="index-item-description">This constant sets the maximum strings of strings that will be shown as they are. Longer strings will be truncated with this length, and their `full form` will be shown in a child node.</div> - </dd> - </dl> - <a name="p"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">p</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">path</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodpath">krumo::path()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of the specified directories under your <em>include_path</em> option.</div> - </dd> - <dt class="field"> - <img src="media/images/Constant.png" alt="Constant" title="Constant" /></title> - <span class="const-title">PATH_SEPARATOR</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#definePATH_SEPARATOR">PATH_SEPARATOR</a> in class.krumo.php</div> - <div class="index-item-description">backward compatibility: the PATH_SEPARATOR constant is availble since 4.3.0RC2</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">phpini</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodphpini">krumo::phpini()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of the configuration settings read from <em>php.ini</em></div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">post</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodpost">krumo::post()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_POST</em> array.</div> - </dd> - </dl> - <a name="r"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">r</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">request</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodrequest">krumo::request()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_REQUEST</em> array.</div> - </dd> - </dl> - <a name="s"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">s</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">server</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodserver">krumo::server()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_SERVER</em> array.</div> - </dd> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">session</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodsession">krumo::session()</a> in class.krumo.php</div> - <div class="index-item-description">Prints a list of all the values from the <em>$_SESSION</em> array.</div> - </dd> - </dl> - <a name="v"></a> - <div class="index-letter-section"> - <div style="float: left" class="index-letter-title">v</div> - <div style="float: right"><a href="#top">top</a></div> - <div style="clear: both"></div> - </div> - <dl> - <dt class="field"> - <img src="media/images/Method.png" alt="Method" title="Method" /></title> - <span class="method-title">version</span> - </dt> - <dd class="index-item-body"> - <div class="index-item-details"><a href="Krumo/krumo.html#methodversion">krumo::version()</a> in class.krumo.php</div> - <div class="index-item-description">Return Krumo version</div> - </dd> - </dl> - -<div class="index-letter-menu"> - <a class="index-letter" href="elementindex_Krumo.html#b">b</a> - <a class="index-letter" href="elementindex_Krumo.html#c">c</a> - <a class="index-letter" href="elementindex_Krumo.html#d">d</a> - <a class="index-letter" href="elementindex_Krumo.html#e">e</a> - <a class="index-letter" href="elementindex_Krumo.html#f">f</a> - <a class="index-letter" href="elementindex_Krumo.html#g">g</a> - <a class="index-letter" href="elementindex_Krumo.html#h">h</a> - <a class="index-letter" href="elementindex_Krumo.html#i">i</a> - <a class="index-letter" href="elementindex_Krumo.html#k">k</a> - <a class="index-letter" href="elementindex_Krumo.html#p">p</a> - <a class="index-letter" href="elementindex_Krumo.html#r">r</a> - <a class="index-letter" href="elementindex_Krumo.html#s">s</a> - <a class="index-letter" href="elementindex_Krumo.html#v">v</a> -</div> </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> +</head> +<body> + +<a name="top"></a> +<h2>[Krumo] element index</h2> +<a href="elementindex.html">All elements</a> +<br/> +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex_Krumo.html#b">b</a> + <a class="index-letter" href="elementindex_Krumo.html#c">c</a> + <a class="index-letter" href="elementindex_Krumo.html#d">d</a> + <a class="index-letter" href="elementindex_Krumo.html#e">e</a> + <a class="index-letter" href="elementindex_Krumo.html#f">f</a> + <a class="index-letter" href="elementindex_Krumo.html#g">g</a> + <a class="index-letter" href="elementindex_Krumo.html#h">h</a> + <a class="index-letter" href="elementindex_Krumo.html#i">i</a> + <a class="index-letter" href="elementindex_Krumo.html#k">k</a> + <a class="index-letter" href="elementindex_Krumo.html#p">p</a> + <a class="index-letter" href="elementindex_Krumo.html#r">r</a> + <a class="index-letter" href="elementindex_Krumo.html#s">s</a> + <a class="index-letter" href="elementindex_Krumo.html#v">v</a> +</div> + +<a name="b"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">b</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">backtrace</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodbacktrace">krumo::backtrace()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a debug backtrace</div> + </dd> +</dl> +<a name="c"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">c</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Page.png" alt="Page" title="Page"/></title> + <span class="include-title">class.krumo.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html">class.krumo.php</a> in class.krumo.php </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">classes</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodclasses">krumo::classes()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared classes. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">conf</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodconf">krumo::conf()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all your configuration settings. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">cookie</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodcookie">krumo::cookie()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_COOKIE</em> array. </div> + </dd> +</dl> +<a name="d"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">d</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">defines</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methoddefines">krumo::defines()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared constants. </div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">DIR_SEP</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineDIR_SEP">DIR_SEP</a> in class.krumo.php </div> + <div class="index-item-description">backward compatibility: the DIR_SEP constant isn't used anymore </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">disable</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methoddisable">krumo::disable()</a> in class.krumo.php </div> + <div class="index-item-description">Disable Krumo</div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">dump</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methoddump">krumo::dump()</a> in class.krumo.php </div> + <div class="index-item-description">Dump information about a variable</div> + </dd> +</dl> +<a name="e"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">e</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">enable</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodenable">krumo::enable()</a> in class.krumo.php </div> + <div class="index-item-description">Enable Krumo</div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">env</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodenv">krumo::env()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_ENV</em> array. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">extensions</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodextensions">krumo::extensions()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently loaded PHP extensions. </div> + </dd> +</dl> +<a name="f"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">f</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">functions</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodfunctions">krumo::functions()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared functions. </div> + </dd> +</dl> +<a name="g"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">g</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">get</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodget">krumo::get()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_GET</em> array. </div> + </dd> +</dl> +<a name="h"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">h</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">headers</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodheaders">krumo::headers()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all HTTP request headers. </div> + </dd> +</dl> +<a name="i"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">i</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">includes</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodincludes">krumo::includes()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently included (or required) files. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">ini</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodini">krumo::ini()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from an INI file. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">interfaces</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodinterfaces">krumo::interfaces()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all currently declared interfaces (PHP5 only). </div> + </dd> +</dl> +<a name="k"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">k</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Function.png" alt="Function" title="Function"/></title> + <span class="method-title">krumo</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#functionkrumo">krumo()</a> in class.krumo.php </div> + <div class="index-item-description">Alias of <a href="Krumo/krumo.html#methoddump">krumo::dump()</a></div> + </dd> + <dt class="field"> + <img src="media/images/Class.png" alt="Class" title="Class"/></title> + krumo + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html">krumo</a> in class.krumo.php </div> + <div class="index-item-description">Krumo API</div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">KRUMO_DIR</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_DIR">KRUMO_DIR</a> in class.krumo.php </div> + <div class="index-item-description">Set the KRUMO_DIR constant up with the absolute path to Krumo files. If it is not defined, include_path will be used. Set KRUMO_DIR only if any other module or application has not already set it up. </div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">KRUMO_TRUNCATE_LENGTH</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#defineKRUMO_TRUNCATE_LENGTH">KRUMO_TRUNCATE_LENGTH</a> in class.krumo.php </div> + <div class="index-item-description">This constant sets the maximum strings of strings that will be shown as they are. Longer strings will be truncated with this length, and their `full form` will be shown in a child node. </div> + </dd> +</dl> +<a name="p"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">p</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">path</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodpath">krumo::path()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of the specified directories under your <em>include_path</em> option. </div> + </dd> + <dt class="field"> + <img src="media/images/Constant.png" alt="Constant" title="Constant"/></title> + <span class="const-title">PATH_SEPARATOR</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/_class.krumo.php.html#definePATH_SEPARATOR">PATH_SEPARATOR</a> in class.krumo.php </div> + <div class="index-item-description">backward compatibility: the PATH_SEPARATOR constant is availble since 4.3.0RC2 </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">phpini</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodphpini">krumo::phpini()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of the configuration settings read from <em>php.ini</em></div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">post</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodpost">krumo::post()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_POST</em> array. </div> + </dd> +</dl> +<a name="r"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">r</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">request</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodrequest">krumo::request()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_REQUEST</em> array. </div> + </dd> +</dl> +<a name="s"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">s</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">server</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodserver">krumo::server()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_SERVER</em> array. </div> + </dd> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">session</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodsession">krumo::session()</a> in class.krumo.php </div> + <div class="index-item-description">Prints a list of all the values from the <em>$_SESSION</em> array. </div> + </dd> +</dl> +<a name="v"></a> +<div class="index-letter-section"> + <div style="float: left" class="index-letter-title">v</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> +</div> +<dl> + <dt class="field"> + <img src="media/images/Method.png" alt="Method" title="Method"/></title> + <span class="method-title">version</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Krumo/krumo.html#methodversion">krumo::version()</a> in class.krumo.php </div> + <div class="index-item-description">Return Krumo version</div> + </dd> +</dl> + +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex_Krumo.html#b">b</a> + <a class="index-letter" href="elementindex_Krumo.html#c">c</a> + <a class="index-letter" href="elementindex_Krumo.html#d">d</a> + <a class="index-letter" href="elementindex_Krumo.html#e">e</a> + <a class="index-letter" href="elementindex_Krumo.html#f">f</a> + <a class="index-letter" href="elementindex_Krumo.html#g">g</a> + <a class="index-letter" href="elementindex_Krumo.html#h">h</a> + <a class="index-letter" href="elementindex_Krumo.html#i">i</a> + <a class="index-letter" href="elementindex_Krumo.html#k">k</a> + <a class="index-letter" href="elementindex_Krumo.html#p">p</a> + <a class="index-letter" href="elementindex_Krumo.html#r">r</a> + <a class="index-letter" href="elementindex_Krumo.html#s">s</a> + <a class="index-letter" href="elementindex_Krumo.html#v">v</a> +</div> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/errors.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/errors.html old mode 100755 new mode 100644 index cf21fd4278eb20685d67bb5f2fac8c6a21850fa7..c53acedd87c6bcc0cab60c68082d26fded13bcf8 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/errors.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/errors.html @@ -1,15 +1,16 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title>phpDocumentor Parser Errors and Warnings</title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <a href="#Post-parsing">Post-parsing</a><br> - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:25 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>phpDocumentor Parser Errors and Warnings</title> + <link rel="stylesheet" href="media/stylesheet.css"/> + </head> + <body> + + <a href="#Post-parsing">Post-parsing</a><br> + <p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:25 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> + </p> + </body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/index.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/index.html old mode 100755 new mode 100644 index 8276a705fb1a1b1418afa9e16ff094db3e8795f2..89518cef890ee4a5e54bb4c5ace44fb38db87bdc --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/index.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/index.html @@ -1,24 +1,24 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <!-- Generated by phpDocumentor on Sun, 02 Dec 2007 09:43:23 +0200 --> - <title>Krumo</title> - <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> -</head> - -<FRAMESET rows='120,*'> - <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> - <FRAMESET cols='25%,*'> - <FRAME src='li_Krumo.html' name='left_bottom' frameborder="1" bordercolor="#999999"> - <FRAME src='blank.html' name='right' frameborder="1" bordercolor="#999999"> - </FRAMESET> - <NOFRAMES> - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - </NOFRAMES> -</FRAMESET> -</HTML> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on Sun, 02 Dec 2007 09:43:23 +0200 --> + <title>Krumo</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='li_Krumo.html' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='blank.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/li_Krumo.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/li_Krumo.html old mode 100755 new mode 100644 index f353e8db69e7b2174c8da4bc3bcc759c365e19a3..d36927084a53a54cc2520b7797c0aca9f13b4a9b --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/li_Krumo.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/li_Krumo.html @@ -1,155 +1,156 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - <script src="media/lib/classTree.js"></script> - <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> - <script language="javascript" type="text/javascript"> - var imgPlus = new Image(); - var imgMinus = new Image(); - imgPlus.src = "media/images/plus.png"; - imgMinus.src = "media/images/minus.png"; - - function showNode(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - var oImg = document.layers["img" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - var oImg = document.all["img" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - var oImg = document.getElementById("img" + Node); - break; - } - oImg.src = imgMinus.src; - oTable.style.display = "block"; - } - - function hideNode(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - var oImg = document.layers["img" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - var oImg = document.all["img" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - var oImg = document.getElementById("img" + Node); - break; - } - oImg.src = imgPlus.src; - oTable.style.display = "none"; - } - - function nodeIsVisible(Node){ - switch(navigator.family){ - case 'nn4': - // Nav 4.x code fork... - var oTable = document.layers["span" + Node]; - break; - case 'ie4': - // IE 4/5 code fork... - var oTable = document.all["span" + Node]; - break; - case 'gecko': - // Standards Compliant code fork... - var oTable = document.getElementById("span" + Node); - break; - } - return (oTable && oTable.style.display == "block"); - } - - function toggleNodeVisibility(Node){ - if (nodeIsVisible(Node)){ - hideNode(Node); - }else{ - showNode(Node); - } - } - </script> - </head> - <body> - <h3 class="package-title">Krumo</h3> -<div class="tree"> -<script language="Javascript"> -if (document.getElementById) { - var tree = new WebFXTree('<span class="package">Krumo</span>'); - tree.setBehavior('classic'); - tree.openIcon = 'media/images/package.png'; - tree.icon = 'media/images/package.png'; - - - var class_trees = new WebFXTreeItem('Class trees', 'classtrees_Krumo.html'); - class_trees.openIcon = 'media/images/Index.png'; - class_trees.icon = 'media/images/Index.png'; - tree.add(class_trees); - - var elements = new WebFXTreeItem('Index of elements', 'elementindex_Krumo.html'); - elements.openIcon = 'media/images/Index.png'; - elements.icon = 'media/images/Index.png'; - tree.add(elements); - - var parent_node; - - - - var tree_classe = new WebFXTreeItem('Class(es)', ''); - tree_classe.openIcon = 'media/images/class_folder.png'; - tree_classe.icon = 'media/images/class_folder.png'; - - var classe = new WebFXTreeItem('krumo', 'Krumo/krumo.html'); - classe.openIcon = 'media/images/Class.png'; - classe.icon = 'media/images/Class.png'; - tree_classe.add(classe); - - tree.add(tree_classe); - - var tree_function = new WebFXTreeItem('Function(s)', ''); - tree_function.openIcon = 'media/images/function_folder.png'; - tree_function.icon = 'media/images/function_folder.png'; - - var fic = new WebFXTreeItem('krumo', 'Krumo/_class.krumo.php.html#functionkrumo'); - fic.openIcon = 'media/images/Function.png'; - fic.icon = 'media/images/Function.png'; - tree_function.add(fic); - - tree.add(tree_function); - - var tree_file = new WebFXTreeItem('File(s)', ''); - tree_file.openIcon = 'media/images/folder.png'; - tree_file.icon = 'media/images/folder.png'; - - var file = new WebFXTreeItem('class.krumo.php', 'Krumo/_class.krumo.php.html'); - file.openIcon = 'media/images/Page.png'; - file.icon = 'media/images/Page.png'; - tree_file.add(file); - - tree.add(tree_file); - - -document.write(tree); -} -</script> -</div> -<p class="notes"> - Generated by - <a href="http://www.phpdoc.org" target="_blank">phpDocumentor <span class="field">1.4.0a2</span></a> -</p> -</body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> + <script src="media/lib/classTree.js"></script> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "media/images/plus.png"; + imgMinus.src = "media/images/minus.png"; + + function showNode(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + } + oImg.src = imgMinus.src; + oTable.style.display = "block"; + } + + function hideNode(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + } + oImg.src = imgPlus.src; + oTable.style.display = "none"; + } + + function nodeIsVisible(Node) { + switch (navigator.family) { + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + } + return (oTable && oTable.style.display == "block"); + } + + function toggleNodeVisibility(Node) { + if (nodeIsVisible(Node)) { + hideNode(Node); + } else { + showNode(Node); + } + } + </script> +</head> +<body> + +<h3 class="package-title">Krumo</h3> +<div class="tree"> + <script language="Javascript"> + if (document.getElementById) { + var tree = new WebFXTree('<span class="package">Krumo</span>'); + tree.setBehavior('classic'); + tree.openIcon = 'media/images/package.png'; + tree.icon = 'media/images/package.png'; + + + var class_trees = new WebFXTreeItem('Class trees', 'classtrees_Krumo.html'); + class_trees.openIcon = 'media/images/Index.png'; + class_trees.icon = 'media/images/Index.png'; + tree.add(class_trees); + + var elements = new WebFXTreeItem('Index of elements', 'elementindex_Krumo.html'); + elements.openIcon = 'media/images/Index.png'; + elements.icon = 'media/images/Index.png'; + tree.add(elements); + + var parent_node; + + + + var tree_classe = new WebFXTreeItem('Class(es)', ''); + tree_classe.openIcon = 'media/images/class_folder.png'; + tree_classe.icon = 'media/images/class_folder.png'; + + var classe = new WebFXTreeItem('krumo', 'Krumo/krumo.html'); + classe.openIcon = 'media/images/Class.png'; + classe.icon = 'media/images/Class.png'; + tree_classe.add(classe); + + tree.add(tree_classe); + + var tree_function = new WebFXTreeItem('Function(s)', ''); + tree_function.openIcon = 'media/images/function_folder.png'; + tree_function.icon = 'media/images/function_folder.png'; + + var fic = new WebFXTreeItem('krumo', 'Krumo/_class.krumo.php.html#functionkrumo'); + fic.openIcon = 'media/images/Function.png'; + fic.icon = 'media/images/Function.png'; + tree_function.add(fic); + + tree.add(tree_function); + + var tree_file = new WebFXTreeItem('File(s)', ''); + tree_file.openIcon = 'media/images/folder.png'; + tree_file.icon = 'media/images/folder.png'; + + var file = new WebFXTreeItem('class.krumo.php', 'Krumo/_class.krumo.php.html'); + file.openIcon = 'media/images/Page.png'; + file.icon = 'media/images/Page.png'; + tree_file.add(file); + + tree.add(tree_file); + + + document.write(tree); + } + </script> +</div> +<p class="notes"> + Generated by + <a href="http://www.phpdoc.org" target="_blank">phpDocumentor <span class="field">1.4.0a2</span></a> +</p> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/banner.css b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/banner.css old mode 100755 new mode 100644 index 1b7fa8a243b5e56c95a49700cec970b2f56f0179..19a383c3935352317f42c0bbef0fd70e6adaa05a --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/banner.css +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/banner.css @@ -1,32 +1,32 @@ -body -{ - background-color: #EEEEEE; - margin: 0px; - padding: 0px; -} - -/* Banner (top bar) classes */ - -.banner { } - -.banner-menu -{ - clear: both; - padding: .5em; - border-top: 2px solid #AAAAAA; -} - -.banner-title -{ - text-align: right; - font-size: 20pt; - font-weight: bold; - margin: .2em; -} - -.package-selector -{ - background-color: #DDDDDD; - border: 1px solid #AAAAAA; - color: #000090; -} +body +{ + background-color: #EEEEEE; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #AAAAAA; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #DDDDDD; + border: 1px solid #AAAAAA; + color: #000090; +} diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractClass.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractClass.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractClass_logo.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractClass_logo.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractMethod.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractMethod.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractPrivateClass.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractPrivateClass.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractPrivateClass_logo.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractPrivateClass_logo.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractPrivateMethod.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/AbstractPrivateMethod.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Class.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Class.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Class_logo.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Class_logo.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Constant.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Constant.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Constructor.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Constructor.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Destructor.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Destructor.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Function.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Function.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Global.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Global.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/I.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/I.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Index.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Index.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/L.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/L.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Lminus.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Lminus.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Lplus.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Lplus.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Method.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Method.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Page.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Page.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Page_logo.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Page_logo.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateClass.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateClass.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateClass_logo.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateClass_logo.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateMethod.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateMethod.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateVariable.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/PrivateVariable.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/T.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/T.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Tminus.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Tminus.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Tplus.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Tplus.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Variable.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/Variable.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/blank.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/blank.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/class_folder.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/class_folder.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/empty.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/empty.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/file.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/file.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/folder.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/folder.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/function_folder.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/function_folder.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/minus.gif b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/minus.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/next_button.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/next_button.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/next_button_disabled.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/next_button_disabled.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/package.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/package.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/package_folder.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/package_folder.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/plus.gif b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/plus.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/previous_button.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/previous_button.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/previous_button_disabled.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/previous_button_disabled.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/private_class_logo.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/private_class_logo.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/tutorial.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/tutorial.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/tutorial_folder.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/tutorial_folder.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/up_button.png b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/images/up_button.png old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/lib/classTree.js b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/lib/classTree.js old mode 100755 new mode 100644 index 5989426f084cceb577f9d96914f6f782a0690cf2..63a1b300375af9d920ac6b23f651b03e904b65a2 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/lib/classTree.js +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/lib/classTree.js @@ -1,454 +1,454 @@ -/*----------------------------------------\ -| Cross Browser Tree Widget 1.1 | -|-----------------------------------------| -| Created by Emil A. Eklund (eae@eae.net) | -| For WebFX (http://webfx.eae.net/) | -|-----------------------------------------| -| This script is provided as is without | -| any warranty whatsoever. It may be used | -| free of charge for non commerical sites | -| For commerical use contact the author | -| of this script for further details. | -|-----------------------------------------| -| Created 2000-12-11 | Updated 2001-09-06 | -\----------------------------------------*/ - -var webFXTreeConfig = { - rootIcon : 'media/images/empty.png', - openRootIcon : 'media/images/empty.png', - folderIcon : 'media/images/empty.png', - openFolderIcon : 'media/images/empty.png', - fileIcon : 'media/images/empty.png', - iIcon : 'media/images/I.png', - lIcon : 'media/images/L.png', - lMinusIcon : 'media/images/Lminus.png', - lPlusIcon : 'media/images/Lplus.png', - tIcon : 'media/images/T.png', - tMinusIcon : 'media/images/Tminus.png', - tPlusIcon : 'media/images/Tplus.png', - blankIcon : 'media/images/blank.png', - defaultText : 'Tree Item', - defaultAction : 'javascript:void(0);', - defaultTarget : 'right', - defaultBehavior : 'classic' -}; - -var webFXTreeHandler = { - idCounter : 0, - idPrefix : "webfx-tree-object-", - all : {}, - behavior : null, - selected : null, - getId : function() { return this.idPrefix + this.idCounter++; }, - toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, - select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, - focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, - blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, - keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, - cookies : new WebFXCookie() -}; - -/* - * WebFXCookie class - */ - -function WebFXCookie() { - if (document.cookie.length) { this.cookies = ' ' + document.cookie; } -} - -WebFXCookie.prototype.setCookie = function (key, value) { - document.cookie = key + "=" + escape(value); -} - -WebFXCookie.prototype.getCookie = function (key) { - if (this.cookies) { - var start = this.cookies.indexOf(' ' + key + '='); - if (start == -1) { return null; } - var end = this.cookies.indexOf(";", start); - if (end == -1) { end = this.cookies.length; } - end -= start; - var cookie = this.cookies.substr(start,end); - return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); - } - else { return null; } -} - -/* - * WebFXTreeAbstractNode class - */ - -function WebFXTreeAbstractNode(sText, sAction, sTarget) { - this.childNodes = []; - this.id = webFXTreeHandler.getId(); - this.text = sText || webFXTreeConfig.defaultText; - this.action = sAction || webFXTreeConfig.defaultAction; - this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; - this._last = false; - webFXTreeHandler.all[this.id] = this; -} - -WebFXTreeAbstractNode.prototype.add = function (node) { - node.parentNode = this; - this.childNodes[this.childNodes.length] = node; - var root = this; - if (this.childNodes.length >=2) { - this.childNodes[this.childNodes.length -2]._last = false; - } - while (root.parentNode) { root = root.parentNode; } - if (root.rendered) { - if (this.childNodes.length >= 2) { - document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); - if (this.childNodes[this.childNodes.length -2].folder) { - this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; - this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; - } - this.childNodes[this.childNodes.length -2]._last = false; - } - this._last = true; - var foo = this; - while (foo.parentNode) { - for (var i = 0; i < foo.parentNode.childNodes.length; i++) { - if (foo.id == foo.parentNode.childNodes[i].id) { break; } - } - if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } - else { foo.parentNode._last = false; } - foo = foo.parentNode; - } - document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); - if ((!this.folder) && (!this.openIcon)) { - this.icon = webFXTreeConfig.folderIcon; - this.openIcon = webFXTreeConfig.openFolderIcon; - } - this.folder = true; - this.indent(); - this.expand(); - } - return node; -} - -WebFXTreeAbstractNode.prototype.toggle = function() { - if (this.folder) { - if (this.open) { this.collapse(); } - else { this.expand(); } - } -} - -WebFXTreeAbstractNode.prototype.select = function() { - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.focus = function() { - webFXTreeHandler.selected = this; - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; - document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.blur = function() { - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; - document.getElementById(this.id + '-anchor').style.color = 'menutext'; -} - -WebFXTreeAbstractNode.prototype.doExpand = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } - this.open = true; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); -} - -WebFXTreeAbstractNode.prototype.doCollapse = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } - this.open = false; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); -} - -WebFXTreeAbstractNode.prototype.expandAll = function() { - this.expandChildren(); - if ((this.folder) && (!this.open)) { this.expand(); } -} - -WebFXTreeAbstractNode.prototype.expandChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].expandAll(); -} } - -WebFXTreeAbstractNode.prototype.collapseAll = function() { - if ((this.folder) && (this.open)) { this.collapse(); } - this.collapseChildren(); -} - -WebFXTreeAbstractNode.prototype.collapseChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].collapseAll(); -} } - -WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { - /* - * Since we only want to modify items one level below ourself, - * and since the rightmost indentation position is occupied by - * the plus icon we set this to -2 - */ - if (lvl == null) { lvl = -2; } - var state = 0; - for (var i = this.childNodes.length - 1; i >= 0 ; i--) { - state = this.childNodes[i].indent(lvl + 1, del, last, level); - if (state) { return; } - } - if (del) { - if (level >= this._level) { - if (this.folder) { - document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; - this.plusIcon = webFXTreeConfig.lPlusIcon; - this.minusIcon = webFXTreeConfig.lMinusIcon; - } - else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } - return 1; - } - } - var foo = document.getElementById(this.id + '-indent-' + lvl); - if (foo) { - if ((del) && (last)) { foo._last = true; } - if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } - else { foo.src = webFXTreeConfig.iIcon; } - } - return 0; -} - -/* - * WebFXTree class - */ - -function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - this.icon = sIcon || webFXTreeConfig.rootIcon; - this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; - /* Defaults to open */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; - this.folder = true; - this.rendered = false; - if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } - this.targetWindow = 'right'; -} - -WebFXTree.prototype = new WebFXTreeAbstractNode; - -WebFXTree.prototype.setBehavior = function (sBehavior) { - webFXTreeHandler.behavior = sBehavior; -}; - -WebFXTree.prototype.getBehavior = function (sBehavior) { - return webFXTreeHandler.behavior; -}; - -WebFXTree.prototype.getSelected = function() { - if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } - else { return null; } -} - -WebFXTree.prototype.remove = function() { } - -WebFXTree.prototype.expand = function() { - this.doExpand(); -} - -WebFXTree.prototype.collapse = function() { - this.focus(); - this.doCollapse(); -} - -WebFXTree.prototype.getFirst = function() { - return null; -} - -WebFXTree.prototype.getLast = function() { - return null; -} - -WebFXTree.prototype.getNextSibling = function() { - return null; -} - -WebFXTree.prototype.getPreviousSibling = function() { - return null; -} - -WebFXTree.prototype.keydown = function(key) { - if (key == 39) { this.expand(); return false; } - if (key == 37) { this.collapse(); return false; } - if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } - return true; -} - -WebFXTree.prototype.toString = function() { - var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; - str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; - str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i, this.childNodes.length); - } - str += "</div>"; - this.rendered = true; - return str; -}; - -/* - * WebFXTreeItem class - */ - -function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - /* Defaults to close */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; - if (eParent) { eParent.add(this); } - if (sIcon) { this.icon = sIcon; } - if (sOpenIcon) { this.openIcon = sOpenIcon; } -} - -WebFXTreeItem.prototype = new WebFXTreeAbstractNode; - -WebFXTreeItem.prototype.remove = function() { - var parentNode = this.parentNode; - var prevSibling = this.getPreviousSibling(true); - var nextSibling = this.getNextSibling(true); - var folder = this.parentNode.folder; - var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; - this.getPreviousSibling().focus(); - this._remove(); - if (parentNode.childNodes.length == 0) { - parentNode.folder = false; - parentNode.open = false; - } - if (last) { - if (parentNode.id == prevSibling.id) { - document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; - } - else { } - } - if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { - parentNode.indent(null, true, last, this._level); - } - if (document.getElementById(prevSibling.id + '-plus')) { - if (nextSibling) { - if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } - else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } - else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } -} - -WebFXTreeItem.prototype._remove = function() { - for (var i = this.childNodes.length - 1; i >= 0; i--) { - this.childNodes[i]._remove(); - } - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this.id == this.parentNode.childNodes[i].id) { - for (var j = i; j < this.parentNode.childNodes.length; j++) { - this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] - } - this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; - if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } - } - } - webFXTreeHandler.all[this.id] = null; - if (document.getElementById(this.id)) { - document.getElementById(this.id).innerHTML = ""; - document.getElementById(this.id).removeNode(); - } -} - -WebFXTreeItem.prototype.expand = function() { - this.doExpand(); - document.getElementById(this.id + '-plus').src = this.minusIcon; -} - -WebFXTreeItem.prototype.collapse = function() { - this.focus(); - this.doCollapse(); - document.getElementById(this.id + '-plus').src = this.plusIcon; -} - -WebFXTreeItem.prototype.getFirst = function() { - return this.childNodes[0]; -} - -WebFXTreeItem.prototype.getLast = function() { - if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } - else { return this.childNodes[this.childNodes.length - 1]; } -} - -WebFXTreeItem.prototype.getNextSibling = function() { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } - else { return this.parentNode.childNodes[i]; } -} - -WebFXTreeItem.prototype.getPreviousSibling = function(b) { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (i == 0) { return this.parentNode; } - else { - if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } - else { return this.parentNode.childNodes[i]; } -} } - -WebFXTreeItem.prototype.keydown = function(key) { - if ((key == 39) && (this.folder)) { - if (!this.open) { this.expand(); return false; } - else { this.getFirst().select(); return false; } - } - else if (key == 37) { - if (this.open) { this.collapse(); return false; } - else { this.parentNode.select(); return false; } - } - else if (key == 40) { - if (this.open) { this.getFirst().select(); return false; } - else { - var sib = this.getNextSibling(); - if (sib) { sib.select(); return false; } - } } - else if (key == 38) { this.getPreviousSibling().select(); return false; } - return true; -} - -WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { - var foo = this.parentNode; - var indent = ''; - if (nItem + 1 == nItemCount) { this.parentNode._last = true; } - var i = 0; - while (foo.parentNode) { - foo = foo.parentNode; - indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; - i++; - } - this._level = i; - if (this.childNodes.length) { this.folder = 1; } - else { this.open = false; } - if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { - if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } - if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } - } - else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } - var label = this.text; - label = label.replace('<', '<'); - label = label.replace('>', '>'); - var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; - str += indent; - str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" - str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; - str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i,this.childNodes.length); - } - str += "</div>"; - this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); - this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); - return str; -} \ No newline at end of file +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "</div>"; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += indent; + str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" + str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "</div>"; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +} diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/stylesheet.css b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/stylesheet.css old mode 100755 new mode 100644 index 498826ae136e385e47d22034a808f08954a3d44f..df89aff5a9df52cc4782626a3d65e396fa31a444 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/stylesheet.css +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/media/stylesheet.css @@ -1,181 +1,181 @@ -a { color: #000090; text-decoration: none; } -a:hover, a:active, a:focus { color: highlighttext; background-color: highlight; text-decoration: none; } - -body { background : #FFFFFF; } -body, table { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; } - -a img { border: 0px; } - -/* Page layout/boxes */ - -.info-box { } -.info-box-title { margin: 1em 0em 0em 0em; font-weight: normal; font-size: 14pt; color: #999999; border-bottom: 2px solid #999999; } -.info-box-body { border: 1px solid #999999; padding: .5em; } -.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } - -.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} -.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} - -.page-body { max-width: 800px; margin: auto; } -.tree { } - -/* Index formatting classes */ - -.index-item-body { margin-top: .5em; margin-bottom: .5em} -.index-item-description { margin-top: .25em } -.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } -.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} -.index-letter-title { font-size: 12pt; font-weight: bold } -.index-letter-menu { text-align: center; margin: 1em } -.index-letter { font-size: 12pt } - -/* Docbook classes */ - -.description {} -.short-description { font-weight: bold; color: #666666; } -.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } -.parameters { padding-left: 0em; margin-left: 3em; color: #014fbe; list-style-type: square; } -.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } -.package { font-weight: bold; } -.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } -.sub-package { font-weight: bold; } -.tutorial { border-width: thin; border-color: #0066ff; } -.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; } - -/* Generic formatting */ - -.field { font-weight: bold; } -.detail { font-size: 8pt; } -.notes { font-style: italic; font-size: 8pt; } -.separator { background-color: #999999; height: 2px; } -.warning { color: #FF6600; } -.disabled { font-style: italic; color: #999999; } - -/* Code elements */ - -.line-number { } - -.class-table { width: 100%; } -.class-table-header { border-bottom: 1px dotted #666666; text-align: left} -.class-name { color: #0000AA; font-weight: bold; } - -.method-summary { color: #009000; padding-left: 1em; font-size: 8pt; } -.method-header { } -.method-definition { margin-bottom: .2em } -.method-title { color: #009000; font-weight: bold; } -.method-name { font-weight: bold; } -.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } -.method-result { font-style: italic; } - -.var-summary { padding-left: 1em; font-size: 8pt; } -.var-header { } -.var-title { color: #014fbe; margin-bottom: .3em } -.var-type { font-style: italic; } -.var-name { font-weight: bold; } -.var-default {} -.var-description { font-weight: normal; color: #000000; } - -.include-title { color: #014fbe;} -.include-type { font-style: italic; } -.include-name { font-weight: bold; } - -.const-title { color: #FF6600; } -.const-name { font-weight: bold; } - -/* Syntax highlighting */ - -.src-code { font-family: 'Courier New', Courier, monospace; font-weight: normal; } -.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } - -.src-code a:link { padding: 1px; text-decoration: underline; color: #0000DD; } -.src-code a:visited { text-decoration: underline; color: #0000DD; } -.src-code a:active { background-color: #FFFF66; color: #008000; } -.src-code a:hover { background-color: #FFFF66; text-decoration: overline underline; color: #008000; } - -.src-comm { color: #666666; } -.src-id { color: #FF6600; font-style: italic; } -.src-inc { color: #0000AA; font-weight: bold; } -.src-key { color: #0000AA; font-weight: bold; } -.src-num { color: #CC0000; } -.src-str { color: #CC0000; } -.src-sym { } -.src-var { } - -.src-php { font-weight: bold; } - -.src-doc { color: #666666; } -.src-doc-close-template { color: #666666 } -.src-doc-coretag { color: #008000; } -.src-doc-inlinetag {} -.src-doc-internal {} -.src-doc-tag { color: #0080CC; } -.src-doc-template { color: #666666 } -.src-doc-type { font-style: italic; color: #444444 } -.src-doc-var { color: #444444 } - -.tute-tag { color: #009999 } -.tute-attribute-name { color: #0000FF } -.tute-attribute-value { color: #0099FF } -.tute-entity { font-weight: bold; } -.tute-comment { font-style: italic } -.tute-inline-tag { color: #636311; font-weight: bold } - -/* tutorial */ - -.authors { } -.author { font-style: italic; font-weight: bold } -.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } -.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } -.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } -.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } -.ref-title-box { } -.ref-title { } -.ref-purpose { font-style: italic; color: #666666 } -.ref-synopsis { } -.title { font-weight: bold; border-bottom: 1px solid #999999; color: #999999; } -.cmd-synopsis { margin: 1em 0em } -.cmd-title { font-weight: bold } -.toc { margin-left: 2em; padding-left: 0em } - -/*------------------------------------------------------------------------------ - webfx-tree -------------------------------------------------------------------------------*/ - -.webfx-tree-container { - margin: 0px; - padding: 0px; - white-space: nowrap; - font: icon; -} - -.webfx-tree-item { - padding: 0px; - margin: 0px; - color: black; - white-space: nowrap; - font: icon; -} - -.webfx-tree-item a { - margin-left: 3px; - padding: 1px 2px 1px 2px; - color: black; - text-decoration: none; -} - -.webfx-tree-item a:hover, .webfx-tree-item a:active { - color: highlighttext; - background: highlight; - text-decoration: none -} - -.webfx-tree-item img { - vertical-align: middle; - border: 0px; -} - -.webfx-tree-icon { - width: 16px; - height: 16px; -} - +a { color: #000090; text-decoration: none; } +a:hover, a:active, a:focus { color: highlighttext; background-color: highlight; text-decoration: none; } + +body { background : #FFFFFF; } +body, table { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; } + +a img { border: 0px; } + +/* Page layout/boxes */ + +.info-box { } +.info-box-title { margin: 1em 0em 0em 0em; font-weight: normal; font-size: 14pt; color: #999999; border-bottom: 2px solid #999999; } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree { } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; color: #014fbe; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { font-weight: bold; } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.sub-package { font-weight: bold; } +.tutorial { border-width: thin; border-color: #0066ff; } +.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #0000AA; font-weight: bold; } + +.method-summary { color: #009000; padding-left: 1em; font-size: 8pt; } +.method-header { } +.method-definition { margin-bottom: .2em } +.method-title { color: #009000; font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { color: #014fbe; margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { color: #014fbe;} +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { color: #FF6600; } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-code a:link { padding: 1px; text-decoration: underline; color: #0000DD; } +.src-code a:visited { text-decoration: underline; color: #0000DD; } +.src-code a:active { background-color: #FFFF66; color: #008000; } +.src-code a:hover { background-color: #FFFF66; text-decoration: overline underline; color: #008000; } + +.src-comm { color: #666666; } +.src-id { color: #FF6600; font-style: italic; } +.src-inc { color: #0000AA; font-weight: bold; } +.src-key { color: #0000AA; font-weight: bold; } +.src-num { color: #CC0000; } +.src-str { color: #CC0000; } +.src-sym { } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #666666; } +.src-doc-close-template { color: #666666 } +.src-doc-coretag { color: #008000; } +.src-doc-inlinetag {} +.src-doc-internal {} +.src-doc-tag { color: #0080CC; } +.src-doc-template { color: #666666 } +.src-doc-type { font-style: italic; color: #444444 } +.src-doc-var { color: #444444 } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border-bottom: 1px solid #999999; color: #999999; } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + +/*------------------------------------------------------------------------------ + webfx-tree +------------------------------------------------------------------------------*/ + +.webfx-tree-container { + margin: 0px; + padding: 0px; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item { + padding: 0px; + margin: 0px; + color: black; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item a { + margin-left: 3px; + padding: 1px 2px 1px 2px; + color: black; + text-decoration: none; +} + +.webfx-tree-item a:hover, .webfx-tree-item a:active { + color: highlighttext; + background: highlight; + text-decoration: none +} + +.webfx-tree-item img { + vertical-align: middle; + border: 0px; +} + +.webfx-tree-icon { + width: 16px; + height: 16px; +} + diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/packages.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/packages.html old mode 100755 new mode 100644 index a4852e3d067a7666e35ce3299516f040c8c7f31e..c1ec015439aa9e122384c9621b2fc2242d9360cb --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/packages.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/packages.html @@ -1,40 +1,40 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - <link rel="stylesheet" href="media/banner.css" /> - <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> - </head> - <body> - <div class="banner"> - <div class="banner-title">Krumo</div> - <div class="banner-menu"> - <form> - <table cellpadding="0" cellspacing="0" style="width: 100%"> - <tr> - <td> - - <a href="ric_INSTALL.html" target="right">INSTALL</a> - - | <a href="ric_LICENSE.html" target="right">LICENSE</a> - - | <a href="ric_README.html" target="right">README</a> - - | <a href="ric_TODO.html" target="right">TODO</a> - - | <a href="ric_VERSION.html" target="right">VERSION</a> - - </td> - <td style="width: 2em"> </td> - <td style="text-align: right"> - </td> - </tr> - </table> - </form> - </div> - </div> - </body> - </html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> + <link rel="stylesheet" href="media/banner.css"/> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div class="banner"> + <div class="banner-title">Krumo</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + + <a href="ric_INSTALL.html" target="right">INSTALL</a> + + | <a href="ric_LICENSE.html" target="right">LICENSE</a> + + | <a href="ric_README.html" target="right">README</a> + + | <a href="ric_TODO.html" target="right">TODO</a> + + | <a href="ric_VERSION.html" target="right">VERSION</a> + + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + </td> + </tr> + </table> + </form> + </div> +</div> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_INSTALL.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_INSTALL.html old mode 100755 new mode 100644 index 8851703f1100bec231d420833cd32540fed83cbf..1b6e70b859a123d99312fae00aa3c7c8435aecee --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_INSTALL.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_INSTALL.html @@ -1,49 +1,50 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <div align="center"><h1>INSTALL</h1></div> -<pre> ------------------------------------------------------------------------------- - - SETUP: How to install Krumo ? - ------------------------------------------------------------------------------- - -In order to use Krumo you have to put it on your (development) server, and -include it in your script. You can put it somewhere in the INCLUDE_PATH, or -specify the full path to the "class.krumo.php" file. - -You have to modify the "krumo.ini" file too. It is the configuration file for -Krumo. The first option is choosing a skin: - - [skin] - selected = "orange" - -The value for this setting has to be the name of one of the sub-folders from the -"Krumo/skins/" folder. If the value provided for the skin results in not finding -the skin, the `default` skin will be used instead. - -The second option is used to set the correct web path to the folder where Krumo -is installed. This is used in order to make the images from Krumo's CSS skins -web-accessible. - - [css] - url = "http://www.example.com/Krumo/" - -So far those two are the only configuration options. - -All the CSS files ("skin.css") from the "Krumo/skins/" sub-folders must have the -proper permissions in order to be readable from Krumo. Same applies for -"krumo.ini" and "krumo.js" files. -</pre> - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:22 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> +</head> +<body> + +<div align="center"><h1>INSTALL</h1></div> +<pre> +------------------------------------------------------------------------------ + + SETUP: How to install Krumo ? + +------------------------------------------------------------------------------ + +In order to use Krumo you have to put it on your (development) server, and +include it in your script. You can put it somewhere in the INCLUDE_PATH, or +specify the full path to the "class.krumo.php" file. + +You have to modify the "krumo.ini" file too. It is the configuration file for +Krumo. The first option is choosing a skin: + + [skin] + selected = "orange" + +The value for this setting has to be the name of one of the sub-folders from the +"Krumo/skins/" folder. If the value provided for the skin results in not finding +the skin, the `default` skin will be used instead. + +The second option is used to set the correct web path to the folder where Krumo +is installed. This is used in order to make the images from Krumo's CSS skins +web-accessible. + + [css] + url = "http://www.example.com/Krumo/" + +So far those two are the only configuration options. + +All the CSS files ("skin.css") from the "Krumo/skins/" sub-folders must have the +proper permissions in order to be readable from Krumo. Same applies for +"krumo.ini" and "krumo.js" files. +</pre> + <p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:22 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> + </p> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_LICENSE.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_LICENSE.html old mode 100755 new mode 100644 index aa2cad1e9c71e1c4be9048ccbbde09ca167aed19..ec72a254a752fe56186c8e7507f491df4c5bd930 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_LICENSE.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_LICENSE.html @@ -1,522 +1,523 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <div align="center"><h1>LICENSE</h1></div> -<pre> - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - - -</pre> - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> +</head> +<body> + +<div align="center"><h1>LICENSE</h1></div> +<pre> + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + + +</pre> +<p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> +</p> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_README.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_README.html old mode 100755 new mode 100644 index 02a45c8f37d8b93608646b14e51dcd1ea798d303..49f526293c6ddec0c3c40cfe5f4f054e1a59112f --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_README.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_README.html @@ -1,121 +1,122 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <div align="center"><h1>README</h1></div> -<pre> -============================================================================= - - Krumo - version 0.2.1a - -============================================================================= - -You probably got this package from... -http://www.sourceforge.net/projects/krumo/ - -If there is no licence agreement with this package please download -a version from the location above. You must read and accept that -licence to use this software. The file is titled simply LICENSE. - -OVERVIEW ------------------------------------------------------------------------------- -To put it simply, Krumo is a replacement for print_r() and var_dump(). By -definition Krumo is a debugging tool (for PHP5), which displays structured -information about any PHP variable. - -A lot of developers use print_r() and var_dump() in the means of debugging -tools. Although they were intended to present human readble information about a -variable, we can all agree that in general they are not. Krumo is an -alternative: it does the same job, but it presents the information beautified -using CSS and DHTML. - -EXAMPLES ------------------------------------------------------------------------------- -Here's a basic example, which will return a report on the array variable passed -as argument to it: - - krumo(array('a1'=> 'A1', 3, 'red')); - -You can dump simultaneously more then one variable - here's another example: - - krumo($_SERVER, $_REQUEST); - -You probably saw from the examples above that some of the nodes are expandable, -so if you want to inspect the nested information, click on them and they will -expand; if you do not need that information shown simply click again on it to -collapse it. Here's an example to test this: - - $x1->x2->x3->x4->x5->x6->x7->x8->x9 = 'X10'; - krumo($x1); - -The krumo() is the only standalone function from the package, and this is -because basic dumps about variables (like print_r() or var_dump()) are the most -common tasks such functionality is used for. The rest of the functionality can -be called using static calls to the Krumo class. Here are several more examples: - - // print a debug backgrace - krumo::backtrace(); - - // print all the included(or required) files - krumo::includes(); - - // print all the included functions - krumo::functions(); - - // print all the declared classes - krumo::classes(); - - // print all the defined constants - krumo::defines(); - - ... and so on, etc. - -A full PHPDocumenter API documentation exists both in this package and at the -project's website. - -INSTALL ------------------------------------------------------------------------------- -Read the INSTALL file. - -DOCUMENTATION ------------------------------------------------------------------------------- -As I said, a full PHPDocumenter API documentation can be found both in this -package and at the project's website. - -SKINS ------------------------------------------------------------------------------- -There are several skins pre-installed with this package, but if you wish you can -create skins of your own. The skins are simply CSS files that are prepended to -the result that Krumo prints. If you want to use images in your CSS (for -background, list-style, etc), you have to put "%URL%" in front of the image URL -in order hook it up to the skin folder and make the image web-accessible. - -Here's an example: - - ul.krumo-first {background: url(%url%bg.gif);} - -TODO ------------------------------------------------------------------------------- -You can find the list of stuff that is going to be added to this project in the -TODO file from this very package. - -CONTRIBUTION ------------------------------------------------------------------------------ -If you download and use and possibly even extend this tool, please let us know. -Any feedback, even bad, is always welcome and your suggestions are going to be -considered for our next release. Please use our SourceForge page for that: - - http://www.sourceforge.net/projects/krumo/ - -</pre> - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> +</head> +<body> + +<div align="center"><h1>README</h1></div> +<pre> +============================================================================= + + Krumo + version 0.2.1a + +============================================================================= + +You probably got this package from... +http://www.sourceforge.net/projects/krumo/ + +If there is no licence agreement with this package please download +a version from the location above. You must read and accept that +licence to use this software. The file is titled simply LICENSE. + +OVERVIEW +------------------------------------------------------------------------------ +To put it simply, Krumo is a replacement for print_r() and var_dump(). By +definition Krumo is a debugging tool (for PHP5), which displays structured +information about any PHP variable. + +A lot of developers use print_r() and var_dump() in the means of debugging +tools. Although they were intended to present human readble information about a +variable, we can all agree that in general they are not. Krumo is an +alternative: it does the same job, but it presents the information beautified +using CSS and DHTML. + +EXAMPLES +------------------------------------------------------------------------------ +Here's a basic example, which will return a report on the array variable passed +as argument to it: + + krumo(array('a1'=> 'A1', 3, 'red')); + +You can dump simultaneously more then one variable - here's another example: + + krumo($_SERVER, $_REQUEST); + +You probably saw from the examples above that some of the nodes are expandable, +so if you want to inspect the nested information, click on them and they will +expand; if you do not need that information shown simply click again on it to +collapse it. Here's an example to test this: + + $x1->x2->x3->x4->x5->x6->x7->x8->x9 = 'X10'; + krumo($x1); + +The krumo() is the only standalone function from the package, and this is +because basic dumps about variables (like print_r() or var_dump()) are the most +common tasks such functionality is used for. The rest of the functionality can +be called using static calls to the Krumo class. Here are several more examples: + + // print a debug backgrace + krumo::backtrace(); + + // print all the included(or required) files + krumo::includes(); + + // print all the included functions + krumo::functions(); + + // print all the declared classes + krumo::classes(); + + // print all the defined constants + krumo::defines(); + + ... and so on, etc. + +A full PHPDocumenter API documentation exists both in this package and at the +project's website. + +INSTALL +------------------------------------------------------------------------------ +Read the INSTALL file. + +DOCUMENTATION +------------------------------------------------------------------------------ +As I said, a full PHPDocumenter API documentation can be found both in this +package and at the project's website. + +SKINS +------------------------------------------------------------------------------ +There are several skins pre-installed with this package, but if you wish you can +create skins of your own. The skins are simply CSS files that are prepended to +the result that Krumo prints. If you want to use images in your CSS (for +background, list-style, etc), you have to put "%URL%" in front of the image URL +in order hook it up to the skin folder and make the image web-accessible. + +Here's an example: + + ul.krumo-first {background: url(%url%bg.gif);} + +TODO +------------------------------------------------------------------------------ +You can find the list of stuff that is going to be added to this project in the +TODO file from this very package. + +CONTRIBUTION +----------------------------------------------------------------------------- +If you download and use and possibly even extend this tool, please let us know. +Any feedback, even bad, is always welcome and your suggestions are going to be +considered for our next release. Please use our SourceForge page for that: + + http://www.sourceforge.net/projects/krumo/ + +</pre> +<p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> +</p> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_TODO.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_TODO.html old mode 100755 new mode 100644 index 82b751e8b16264f6931c16fca6c2fe24cd56963f..b0eba4d5ed5a3a45c5fffa70a4f6dcedacd2b20e --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_TODO.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_TODO.html @@ -1,41 +1,42 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <div align="center"><h1>TODO</h1></div> -<pre> -****************************************************************************** - - Krumo: TODO - -****************************************************************************** - -BUGS ----------------- - - watch the SourceForge.net Bug Tracker - -Features: PHP ----------------- - - Try to detect anonymous (lambda) functions - - Try to detect whether an array is indexed or associated - - Add var_export support for arrays and objects - - Add JSON support for arrays and objects - -Features: GUI ----------------- - - Nicer and friendlier skin(s) - - Add top-level links for collapsing and expanding the whole tree - - Add object & array -level links for collapsing and expanding all the - nested nodes - - Print all parent classes for the rendered objects -</pre> - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> +</head> +<body> + +<div align="center"><h1>TODO</h1></div> +<pre> +****************************************************************************** + + Krumo: TODO + +****************************************************************************** + +BUGS +---------------- + - watch the SourceForge.net Bug Tracker + +Features: PHP +---------------- + - Try to detect anonymous (lambda) functions + - Try to detect whether an array is indexed or associated + - Add var_export support for arrays and objects + - Add JSON support for arrays and objects + +Features: GUI +---------------- + - Nicer and friendlier skin(s) + - Add top-level links for collapsing and expanding the whole tree + - Add object & array -level links for collapsing and expanding all the + nested nodes + - Print all parent classes for the rendered objects +</pre> + <p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> + </p> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_VERSION.html b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_VERSION.html old mode 100755 new mode 100644 index 45904040eeead20db97ab71f29196af82647be32..f929fc8260ca8b23ddff8c72c887ad0a3cdf2418 --- a/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_VERSION.html +++ b/profiles/wcm_base/modules/contrib/devel/krumo/docs/ric_VERSION.html @@ -1,18 +1,19 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <!-- template designed by Marco Von Ballmoos --> - <title></title> - <link rel="stylesheet" href="media/stylesheet.css" /> - </head> - <body> - <div align="center"><h1>VERSION</h1></div> -<pre> -0.2.1a -</pre> - <p class="notes" id="credit"> - Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> - </p> - </body> -</html> \ No newline at end of file +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css"/> +</head> +<body> + +<div align="center"><h1>VERSION</h1></div> +<pre> +0.2.1a +</pre> +<p class="notes" id="credit"> + Documentation generated on Sun, 02 Dec 2007 09:43:23 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0a2</a> +</p> +</body> +</html> diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/krumo.ini b/profiles/wcm_base/modules/contrib/devel/krumo/krumo.ini old mode 100755 new mode 100644 index 3e20dd91d59e2e22f27a3b6ec47af770d6568ff0..8946ec06ef2a220b37de8dcc10d9ceaacc1203d1 --- a/profiles/wcm_base/modules/contrib/devel/krumo/krumo.ini +++ b/profiles/wcm_base/modules/contrib/devel/krumo/krumo.ini @@ -1,20 +1,20 @@ -; -; KRUMO CONFIGURATION FILE -; - -[skin] -selected = "white" -; -; Change the above value to set the CSS skin used to render -; Krumo layout. If the skin is not found, then the "default" one -; is going to be used. -; - -[css] -url = "http://www.example.com/Krumo/" -; -; This value is used to set the URL path to -; where the Krumo folder is. This is required in -; order to have web access to Krumo's CSS and -; image files. -; +; +; KRUMO CONFIGURATION FILE +; + +[skin] +selected = "white" +; +; Change the above value to set the CSS skin used to render +; Krumo layout. If the skin is not found, then the "default" one +; is going to be used. +; + +[css] +url = "http://www.example.com/Krumo/" +; +; This value is used to set the URL path to +; where the Krumo folder is. This is required in +; order to have web access to Krumo's CSS and +; image files. +; diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/krumo.js b/profiles/wcm_base/modules/contrib/devel/krumo/krumo.js old mode 100755 new mode 100644 index 240af8cb409e7e56e1592d6025ed5611699965e3..10631ee0149aee6b306a483d24a76aa7f805934a --- a/profiles/wcm_base/modules/contrib/devel/krumo/krumo.js +++ b/profiles/wcm_base/modules/contrib/devel/krumo/krumo.js @@ -1,97 +1,97 @@ -/** -* JavaScript routines for Krumo -* -* @link http://sourceforge.net/projects/krumo -*/ - -///////////////////////////////////////////////////////////////////////////// - -/** -* Krumo JS Class -*/ -function krumo() { - } - -// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - -/** -* Add a CSS class to an HTML element -* -* @param HtmlElement el -* @param string className -* @return void -*/ -krumo.reclass = function(el, className) { - if (el.className.indexOf(className) < 0) { - el.className += (' ' + className); - } - } - -// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - -/** -* Remove a CSS class to an HTML element -* -* @param HtmlElement el -* @param string className -* @return void -*/ -krumo.unclass = function(el, className) { - if (el.className.indexOf(className) > -1) { - el.className = el.className.replace(className, ''); - } - } - -// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - -/** -* Toggle the nodes connected to an HTML element -* -* @param HtmlElement el -* @return void -*/ -krumo.toggle = function(el) { - var ul = el.parentNode.getElementsByTagName('ul'); - for (var i=0; i<ul.length; i++) { - if (ul[i].parentNode.parentNode == el.parentNode) { - ul[i].parentNode.style.display = (ul[i].parentNode.style.display == 'none') - ? 'block' - : 'none'; - } - } - - // toggle class - // - if (ul[0].parentNode.style.display == 'block') { - krumo.reclass(el, 'krumo-opened'); - } else { - krumo.unclass(el, 'krumo-opened'); - } - } - -// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - -/** -* Hover over an HTML element -* -* @param HtmlElement el -* @return void -*/ -krumo.over = function(el) { - krumo.reclass(el, 'krumo-hover'); - } - -// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - -/** -* Hover out an HTML element -* -* @param HtmlElement el -* @return void -*/ - -krumo.out = function(el) { - krumo.unclass(el, 'krumo-hover'); - } - -///////////////////////////////////////////////////////////////////////////// \ No newline at end of file +/** +* JavaScript routines for Krumo +* +* @link http://sourceforge.net/projects/krumo +*/ + +///////////////////////////////////////////////////////////////////////////// + +/** +* Krumo JS Class +*/ +function krumo() { + } + +// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +/** +* Add a CSS class to an HTML element +* +* @param HtmlElement el +* @param string className +* @return void +*/ +krumo.reclass = function(el, className) { + if (el.className.indexOf(className) < 0) { + el.className += (' ' + className); + } + } + +// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +/** +* Remove a CSS class to an HTML element +* +* @param HtmlElement el +* @param string className +* @return void +*/ +krumo.unclass = function(el, className) { + if (el.className.indexOf(className) > -1) { + el.className = el.className.replace(className, ''); + } + } + +// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +/** +* Toggle the nodes connected to an HTML element +* +* @param HtmlElement el +* @return void +*/ +krumo.toggle = function(el) { + var ul = el.parentNode.getElementsByTagName('ul'); + for (var i=0; i<ul.length; i++) { + if (ul[i].parentNode.parentNode == el.parentNode) { + ul[i].parentNode.style.display = (window.getComputedStyle(ul[i].parentNode).display == 'none') + ? 'block' + : 'none'; + } + } + + // toggle class + // + if (ul[0].parentNode.style.display == 'block') { + krumo.reclass(el, 'krumo-opened'); + } else { + krumo.unclass(el, 'krumo-opened'); + } + } + +// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +/** +* Hover over an HTML element +* +* @param HtmlElement el +* @return void +*/ +krumo.over = function(el) { + krumo.reclass(el, 'krumo-hover'); + } + +// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + +/** +* Hover out an HTML element +* +* @param HtmlElement el +* @return void +*/ + +krumo.out = function(el) { + krumo.unclass(el, 'krumo-hover'); + } + +///////////////////////////////////////////////////////////////////////////// diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/blue/bg.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/blue/bg.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/blue/skin.css b/profiles/wcm_base/modules/contrib/devel/krumo/skins/blue/skin.css old mode 100755 new mode 100644 index 0430feaafb6d1449f7ffd250be49740e9f88014a..1fc28812b3b74b2d67ce17015402fffc1babe647 --- a/profiles/wcm_base/modules/contrib/devel/krumo/skins/blue/skin.css +++ b/profiles/wcm_base/modules/contrib/devel/krumo/skins/blue/skin.css @@ -1,158 +1,158 @@ -/** -* Krumo "Blue" Skin -* -* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> -*/ - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -ul.krumo-node { - margin: 0px; - padding: 0px; - } -ul.krumo-node ul { - margin-left: 20px; - } -* html ul.krumo-node ul { - margin-left: 24px; - } -div.krumo-root { - border: solid 1px black; - margin: 1em 0em; - } -ul.krumo-first { - font: normal 12px arial; - border: solid 2px white; - border-top-width:1px; - background: url(%url%bg.gif); - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-child { - display:block; - list-style: none; - padding: 0px; - margin: 0px; - overflow:hidden; - } -div.krumo-element { - cursor:default; - - line-height: 24px; - display:block; - - clear:both; - white-space:nowrap; - - border-top: solid 1px white; - background: #BFDFFF; - padding-left: 10px; - } -* html div.krumo-element { - padding-bottom: 3px; - } -a.krumo-name { - color:navy; - font: bold 13px Arial; - } -a.krumo-name big { - font: bold 20pt Georgia; - line-height: 14px; - position:relative; - top:2px; - left:-2px; - } -* html a.krumo-name big { - font: bold 19pt Georgia; - top: 5px; - left: 0px; - line-height: 9px; - height: 12px; - padding: 0px; - margin: 0px; - } -div.krumo-expand { - background: #AAD5FF; - cursor:pointer; - } -div.krumo-hover { - background: #FFBE7D; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-preview { - font: normal 13px courier new; - padding: 5px 5px 14px 5px; - background: white; - border-top: 0px; - overflow:auto; - white-space: pre; - } -* html div.krumo-preview { - padding-top: 2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-footnote { - background:white; - padding: 2px 5px; - list-style:none; - border-top: solid 1px #bebebe; - margin-top:2px; - cursor:default; - } -* html li.krumo-footnote { - line-height: 13px; - } -div.krumo-version { - float:right; - } -li.krumo-footnote h6 { - font: bold 11px verdana; - margin: 0px; - padding: 0px; - color:navy; - display:inline; - } -* html li.krumo-footnote h6 { - margin-right: 3px; - } -li.krumo-footnote a { - font: bold 10px arial; - color: #434343; - text-decoration:none; - } -li.krumo-footnote a:hover { - color:black; - } - -li.krumo-footnote span.krumo-call { - font:normal 11px verdana; - position: relative; - top: 1px; - } -li.krumo-footnote span.krumo-call code { - font-weight:bold; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-title { - font: normal 11px verdana ; - position:relative; - top:9px; - cursor:default; - line-height:2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -strong.krumo-array-length, -strong.krumo-string-length { - font-weight: normal; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ +/** +* Krumo "Blue" Skin +* +* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> +*/ + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +ul.krumo-node { + margin: 0px; + padding: 0px; + } +ul.krumo-node ul { + margin-left: 20px; + } +* html ul.krumo-node ul { + margin-left: 24px; + } +div.krumo-root { + border: solid 1px black; + margin: 1em 0em; + } +ul.krumo-first { + font: normal 12px arial; + border: solid 2px white; + border-top-width:1px; + background: url(%url%bg.gif); + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-child { + display:block; + list-style: none; + padding: 0px; + margin: 0px; + overflow:hidden; + } +div.krumo-element { + cursor:default; + + line-height: 24px; + display:block; + + clear:both; + white-space:nowrap; + + border-top: solid 1px white; + background: #BFDFFF; + padding-left: 10px; + } +* html div.krumo-element { + padding-bottom: 3px; + } +a.krumo-name { + color:navy; + font: bold 13px Arial; + } +a.krumo-name big { + font: bold 20pt Georgia; + line-height: 14px; + position:relative; + top:2px; + left:-2px; + } +* html a.krumo-name big { + font: bold 19pt Georgia; + top: 5px; + left: 0px; + line-height: 9px; + height: 12px; + padding: 0px; + margin: 0px; + } +div.krumo-expand { + background: #AAD5FF; + cursor:pointer; + } +div.krumo-hover { + background: #FFBE7D; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-preview { + font: normal 13px courier new; + padding: 5px 5px 14px 5px; + background: white; + border-top: 0px; + overflow:auto; + white-space: pre; + } +* html div.krumo-preview { + padding-top: 2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-footnote { + background:white; + padding: 2px 5px; + list-style:none; + border-top: solid 1px #bebebe; + margin-top:2px; + cursor:default; + } +* html li.krumo-footnote { + line-height: 13px; + } +div.krumo-version { + float:right; + } +li.krumo-footnote h6 { + font: bold 11px verdana; + margin: 0px; + padding: 0px; + color:navy; + display:inline; + } +* html li.krumo-footnote h6 { + margin-right: 3px; + } +li.krumo-footnote a { + font: bold 10px arial; + color: #434343; + text-decoration:none; + } +li.krumo-footnote a:hover { + color:black; + } + +li.krumo-footnote span.krumo-call { + font:normal 11px verdana; + position: relative; + top: 1px; + } +li.krumo-footnote span.krumo-call code { + font-weight:bold; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-title { + font: normal 11px verdana ; + position:relative; + top:9px; + cursor:default; + line-height:2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +strong.krumo-array-length, +strong.krumo-string-length { + font-weight: normal; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/default/bg.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/default/bg.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/default/skin.css b/profiles/wcm_base/modules/contrib/devel/krumo/skins/default/skin.css old mode 100755 new mode 100644 index 5c29d70fd39518fef9242db550a9299d759cff44..0fb87ef12d01ce61dcb85c44f640fa6764ecbd60 --- a/profiles/wcm_base/modules/contrib/devel/krumo/skins/default/skin.css +++ b/profiles/wcm_base/modules/contrib/devel/krumo/skins/default/skin.css @@ -1,158 +1,158 @@ -/** -* Krumo Default Skin -* -* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> -*/ - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -ul.krumo-node { - margin: 0px; - padding: 0px; - } -ul.krumo-node ul { - margin-left: 20px; - } -* html ul.krumo-node ul { - margin-left: 24px; - } -div.krumo-root { - border: solid 1px black; - margin: 1em 0em; - } -ul.krumo-first { - font: normal 12px arial; - border: solid 2px white; - border-top-width:1px; - background: url(%url%bg.gif); - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-child { - display:block; - list-style: none; - padding: 0px; - margin: 0px; - overflow:hidden; - } -div.krumo-element { - cursor:default; - - line-height: 24px; - display:block; - - clear:both; - white-space:nowrap; - - border-top: solid 1px white; - background: #E8E8E8; - padding-left: 10px; - } -* html div.krumo-element { - padding-bottom: 3px; - } -a.krumo-name { - color:#2C5858; - font: bold 13px Arial; - } -a.krumo-name big { - font: bold 20pt Georgia; - line-height: 14px; - position:relative; - top:2px; - left:-2px; - } -* html a.krumo-name big { - font: bold 19pt Georgia; - top: 5px; - left: 0px; - line-height: 9px; - height: 12px; - padding: 0px; - margin: 0px; - } -div.krumo-expand { - background: #CCCCCC; - cursor:pointer; - } -div.krumo-hover { - background: #B7DBDB; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-preview { - font: normal 13px courier new; - padding: 5px 5px 14px 5px; - background: white; - border-top: 0px; - overflow:auto; - white-space: pre; - } -* html div.krumo-preview { - padding-top: 2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-footnote { - background:white; - padding: 2px 5px; - list-style:none; - border-top: solid 1px #bebebe; - margin-top:2px; - cursor:default; - } -* html li.krumo-footnote { - line-height: 13px; - } -div.krumo-version { - float:right; - } -li.krumo-footnote h6 { - font: bold 11px verdana; - margin: 0px; - padding: 0px; - color:#366D6D; - display:inline; - } -* html li.krumo-footnote h6 { - margin-right: 3px; - } -li.krumo-footnote a { - font: bold 10px arial; - color: #434343; - text-decoration:none; - } -li.krumo-footnote a:hover { - color:black; - } - -li.krumo-footnote span.krumo-call { - font:normal 11px verdana; - position: relative; - top: 1px; - } -li.krumo-footnote span.krumo-call code { - font-weight:bold; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-title { - font: normal 11px verdana ; - position:relative; - top:9px; - cursor:default; - line-height:2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -strong.krumo-array-length, -strong.krumo-string-length { - font-weight: normal; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ +/** +* Krumo Default Skin +* +* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> +*/ + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +ul.krumo-node { + margin: 0px; + padding: 0px; + } +ul.krumo-node ul { + margin-left: 20px; + } +* html ul.krumo-node ul { + margin-left: 24px; + } +div.krumo-root { + border: solid 1px black; + margin: 1em 0em; + } +ul.krumo-first { + font: normal 12px arial; + border: solid 2px white; + border-top-width:1px; + background: url(%url%bg.gif); + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-child { + display:block; + list-style: none; + padding: 0px; + margin: 0px; + overflow:hidden; + } +div.krumo-element { + cursor:default; + + line-height: 24px; + display:block; + + clear:both; + white-space:nowrap; + + border-top: solid 1px white; + background: #E8E8E8; + padding-left: 10px; + } +* html div.krumo-element { + padding-bottom: 3px; + } +a.krumo-name { + color:#2C5858; + font: bold 13px Arial; + } +a.krumo-name big { + font: bold 20pt Georgia; + line-height: 14px; + position:relative; + top:2px; + left:-2px; + } +* html a.krumo-name big { + font: bold 19pt Georgia; + top: 5px; + left: 0px; + line-height: 9px; + height: 12px; + padding: 0px; + margin: 0px; + } +div.krumo-expand { + background: #CCCCCC; + cursor:pointer; + } +div.krumo-hover { + background: #B7DBDB; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-preview { + font: normal 13px courier new; + padding: 5px 5px 14px 5px; + background: white; + border-top: 0px; + overflow:auto; + white-space: pre; + } +* html div.krumo-preview { + padding-top: 2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-footnote { + background:white; + padding: 2px 5px; + list-style:none; + border-top: solid 1px #bebebe; + margin-top:2px; + cursor:default; + } +* html li.krumo-footnote { + line-height: 13px; + } +div.krumo-version { + float:right; + } +li.krumo-footnote h6 { + font: bold 11px verdana; + margin: 0px; + padding: 0px; + color:#366D6D; + display:inline; + } +* html li.krumo-footnote h6 { + margin-right: 3px; + } +li.krumo-footnote a { + font: bold 10px arial; + color: #434343; + text-decoration:none; + } +li.krumo-footnote a:hover { + color:black; + } + +li.krumo-footnote span.krumo-call { + font:normal 11px verdana; + position: relative; + top: 1px; + } +li.krumo-footnote span.krumo-call code { + font-weight:bold; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-title { + font: normal 11px verdana ; + position:relative; + top:9px; + cursor:default; + line-height:2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +strong.krumo-array-length, +strong.krumo-string-length { + font-weight: normal; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/green/bg.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/green/bg.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/green/skin.css b/profiles/wcm_base/modules/contrib/devel/krumo/skins/green/skin.css old mode 100755 new mode 100644 index ffaf189ec269c8c41d10935846378758e3c47c28..6f985231bd697e685227c1371965ccb2439eca9f --- a/profiles/wcm_base/modules/contrib/devel/krumo/skins/green/skin.css +++ b/profiles/wcm_base/modules/contrib/devel/krumo/skins/green/skin.css @@ -1,158 +1,158 @@ -/** -* Krumo "Green" Skin -* -* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> -*/ - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -ul.krumo-node { - margin: 0px; - padding: 0px; - } -ul.krumo-node ul { - margin-left: 20px; - } -* html ul.krumo-node ul { - margin-left: 24px; - } -div.krumo-root { - border: solid 1px black; - margin: 1em 0em; - } -ul.krumo-first { - font: normal 12px arial; - border: solid 2px white; - border-top-width:1px; - background: url(%url%bg.gif); - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-child { - display:block; - list-style: none; - padding: 0px; - margin: 0px; - overflow:hidden; - } -div.krumo-element { - cursor:default; - - line-height: 24px; - display:block; - - clear:both; - white-space:nowrap; - - border-top: solid 1px white; - background: #D7F4CA; - padding-left: 10px; - } -* html div.krumo-element { - padding-bottom: 3px; - } -a.krumo-name { - color:#004000; - font: bold 13px Arial; - } -a.krumo-name big { - font: bold 20pt Georgia; - line-height: 14px; - position:relative; - top:2px; - left:-2px; - } -* html a.krumo-name big { - font: bold 19pt Georgia; - top: 5px; - left: 0px; - line-height: 9px; - height: 12px; - padding: 0px; - margin: 0px; - } -div.krumo-expand { - background: #C0EEAC; - cursor:pointer; - } -div.krumo-hover { - background: gold; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-preview { - font: normal 13px courier new; - padding: 5px 5px 14px 5px; - background: white; - border-top: 0px; - overflow:auto; - white-space: pre; - } -* html div.krumo-preview { - padding-top: 2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-footnote { - background:white; - padding: 2px 5px; - list-style:none; - border-top: solid 1px #bebebe; - margin-top:2px; - cursor:default; - } -* html li.krumo-footnote { - line-height: 13px; - } -div.krumo-version { - float:right; - } -li.krumo-footnote h6 { - font: bold 11px verdana; - margin: 0px; - padding: 0px; - color:#008040; - display:inline; - } -* html li.krumo-footnote h6 { - margin-right: 3px; - } -li.krumo-footnote a { - font: bold 10px arial; - color: #434343; - text-decoration:none; - } -li.krumo-footnote a:hover { - color:black; - } - -li.krumo-footnote span.krumo-call { - font:normal 11px verdana; - position: relative; - top: 1px; - } -li.krumo-footnote span.krumo-call code { - font-weight:bold; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-title { - font: normal 11px verdana ; - position:relative; - top:9px; - cursor:default; - line-height:2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -strong.krumo-array-length, -strong.krumo-string-length { - font-weight: normal; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ +/** +* Krumo "Green" Skin +* +* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> +*/ + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +ul.krumo-node { + margin: 0px; + padding: 0px; + } +ul.krumo-node ul { + margin-left: 20px; + } +* html ul.krumo-node ul { + margin-left: 24px; + } +div.krumo-root { + border: solid 1px black; + margin: 1em 0em; + } +ul.krumo-first { + font: normal 12px arial; + border: solid 2px white; + border-top-width:1px; + background: url(%url%bg.gif); + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-child { + display:block; + list-style: none; + padding: 0px; + margin: 0px; + overflow:hidden; + } +div.krumo-element { + cursor:default; + + line-height: 24px; + display:block; + + clear:both; + white-space:nowrap; + + border-top: solid 1px white; + background: #D7F4CA; + padding-left: 10px; + } +* html div.krumo-element { + padding-bottom: 3px; + } +a.krumo-name { + color:#004000; + font: bold 13px Arial; + } +a.krumo-name big { + font: bold 20pt Georgia; + line-height: 14px; + position:relative; + top:2px; + left:-2px; + } +* html a.krumo-name big { + font: bold 19pt Georgia; + top: 5px; + left: 0px; + line-height: 9px; + height: 12px; + padding: 0px; + margin: 0px; + } +div.krumo-expand { + background: #C0EEAC; + cursor:pointer; + } +div.krumo-hover { + background: gold; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-preview { + font: normal 13px courier new; + padding: 5px 5px 14px 5px; + background: white; + border-top: 0px; + overflow:auto; + white-space: pre; + } +* html div.krumo-preview { + padding-top: 2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-footnote { + background:white; + padding: 2px 5px; + list-style:none; + border-top: solid 1px #bebebe; + margin-top:2px; + cursor:default; + } +* html li.krumo-footnote { + line-height: 13px; + } +div.krumo-version { + float:right; + } +li.krumo-footnote h6 { + font: bold 11px verdana; + margin: 0px; + padding: 0px; + color:#008040; + display:inline; + } +* html li.krumo-footnote h6 { + margin-right: 3px; + } +li.krumo-footnote a { + font: bold 10px arial; + color: #434343; + text-decoration:none; + } +li.krumo-footnote a:hover { + color:black; + } + +li.krumo-footnote span.krumo-call { + font:normal 11px verdana; + position: relative; + top: 1px; + } +li.krumo-footnote span.krumo-call code { + font-weight:bold; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-title { + font: normal 11px verdana ; + position:relative; + top:9px; + cursor:default; + line-height:2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +strong.krumo-array-length, +strong.krumo-string-length { + font-weight: normal; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/orange/bg.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/orange/bg.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/orange/skin.css b/profiles/wcm_base/modules/contrib/devel/krumo/skins/orange/skin.css old mode 100755 new mode 100644 index 840680cc94259d9c366285622703936bfc813895..0a54da3b4a947e8164c4fb1885e7cb71a2497418 --- a/profiles/wcm_base/modules/contrib/devel/krumo/skins/orange/skin.css +++ b/profiles/wcm_base/modules/contrib/devel/krumo/skins/orange/skin.css @@ -1,158 +1,158 @@ -/** -* Krumo "Orange" Skin -* -* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> -*/ - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -ul.krumo-node { - margin: 0px; - padding: 0px; - } -ul.krumo-node ul { - margin-left: 20px; - } -* html ul.krumo-node ul { - margin-left: 24px; - } -div.krumo-root { - border: solid 1px black; - margin: 1em 0em; - } -ul.krumo-first { - font: normal 12px arial; - border: solid 2px white; - border-top-width:1px; - background: url(%url%bg.gif); - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-child { - display:block; - list-style: none; - padding: 0px; - margin: 0px; - overflow:hidden; - } -div.krumo-element { - cursor:default; - - line-height: 24px; - display:block; - - clear:both; - white-space:nowrap; - - border-top: solid 1px white; - background: #FCEBA9; - padding-left: 10px; - } -* html div.krumo-element { - padding-bottom: 3px; - } -a.krumo-name { - color:#404000; - font: bold 13px Arial; - } -a.krumo-name big { - font: bold 20pt Georgia; - line-height: 14px; - position:relative; - top:2px; - left:-2px; - } -* html a.krumo-name big { - font: bold 19pt Georgia; - top: 5px; - left: 0px; - line-height: 9px; - height: 12px; - padding: 0px; - margin: 0px; - } -div.krumo-expand { - background: #FADB61; - cursor:pointer; - } -div.krumo-hover { - background: #FF8A4B; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-preview { - font: normal 13px courier new; - padding: 5px 5px 14px 5px; - background: white; - border-top: 0px; - overflow:auto; - white-space: pre; - } -* html div.krumo-preview { - padding-top: 2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-footnote { - background:white; - padding: 2px 5px; - list-style:none; - border-top: solid 1px #bebebe; - margin-top:2px; - cursor:default; - } -* html li.krumo-footnote { - line-height: 13px; - } -div.krumo-version { - float:right; - } -li.krumo-footnote h6 { - font: bold 11px verdana; - margin: 0px; - padding: 0px; - color:#E87400; - display:inline; - } -* html li.krumo-footnote h6 { - margin-right: 3px; - } -li.krumo-footnote a { - font: bold 10px arial; - color: #434343; - text-decoration:none; - } -li.krumo-footnote a:hover { - color:black; - } - -li.krumo-footnote span.krumo-call { - font:normal 11px verdana; - position: relative; - top: 1px; - } -li.krumo-footnote span.krumo-call code { - font-weight:bold; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-title { - font: normal 11px verdana ; - position:relative; - top:9px; - cursor:default; - line-height:2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -strong.krumo-array-length, -strong.krumo-string-length { - font-weight: normal; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ +/** +* Krumo "Orange" Skin +* +* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> +*/ + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +ul.krumo-node { + margin: 0px; + padding: 0px; + } +ul.krumo-node ul { + margin-left: 20px; + } +* html ul.krumo-node ul { + margin-left: 24px; + } +div.krumo-root { + border: solid 1px black; + margin: 1em 0em; + } +ul.krumo-first { + font: normal 12px arial; + border: solid 2px white; + border-top-width:1px; + background: url(%url%bg.gif); + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-child { + display:block; + list-style: none; + padding: 0px; + margin: 0px; + overflow:hidden; + } +div.krumo-element { + cursor:default; + + line-height: 24px; + display:block; + + clear:both; + white-space:nowrap; + + border-top: solid 1px white; + background: #FCEBA9; + padding-left: 10px; + } +* html div.krumo-element { + padding-bottom: 3px; + } +a.krumo-name { + color:#404000; + font: bold 13px Arial; + } +a.krumo-name big { + font: bold 20pt Georgia; + line-height: 14px; + position:relative; + top:2px; + left:-2px; + } +* html a.krumo-name big { + font: bold 19pt Georgia; + top: 5px; + left: 0px; + line-height: 9px; + height: 12px; + padding: 0px; + margin: 0px; + } +div.krumo-expand { + background: #FADB61; + cursor:pointer; + } +div.krumo-hover { + background: #FF8A4B; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-preview { + font: normal 13px courier new; + padding: 5px 5px 14px 5px; + background: white; + border-top: 0px; + overflow:auto; + white-space: pre; + } +* html div.krumo-preview { + padding-top: 2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-footnote { + background:white; + padding: 2px 5px; + list-style:none; + border-top: solid 1px #bebebe; + margin-top:2px; + cursor:default; + } +* html li.krumo-footnote { + line-height: 13px; + } +div.krumo-version { + float:right; + } +li.krumo-footnote h6 { + font: bold 11px verdana; + margin: 0px; + padding: 0px; + color:#E87400; + display:inline; + } +* html li.krumo-footnote h6 { + margin-right: 3px; + } +li.krumo-footnote a { + font: bold 10px arial; + color: #434343; + text-decoration:none; + } +li.krumo-footnote a:hover { + color:black; + } + +li.krumo-footnote span.krumo-call { + font:normal 11px verdana; + position: relative; + top: 1px; + } +li.krumo-footnote span.krumo-call code { + font-weight:bold; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-title { + font: normal 11px verdana ; + position:relative; + top:9px; + cursor:default; + line-height:2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +strong.krumo-array-length, +strong.krumo-string-length { + font-weight: normal; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/collapsed.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/collapsed.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/dotted.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/dotted.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/empty.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/empty.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/expanded.gif b/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/expanded.gif old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/skin.css b/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/skin.css old mode 100755 new mode 100644 index 84f72fd4b9448f96f6f076cece8618039dcad52f..bdcad3c1f2a081a0a423634ce8ce2810e5e35239 --- a/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/skin.css +++ b/profiles/wcm_base/modules/contrib/devel/krumo/skins/white/skin.css @@ -1,165 +1,165 @@ -/** -* Krumo `Schablon.com` Skin -* -* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> -*/ - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -ul.krumo-node { - margin: 0px; - padding: 0px; - background-color: white; - } -ul.krumo-node ul { - margin-left: 20px; - } -* html ul.krumo-node ul { - margin-left: 24px; - } -div.krumo-root { - border: solid 1px black; - margin: 1em 0em; - } -ul.krumo-first { - font: normal 11px tahoma, verdana; - border: solid 1px white; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-child { - display:block; - list-style: none; - padding: 0px; - margin: 0px; - overflow:hidden; - } -div.krumo-element { - cursor:default; - display:block; - clear:both; - white-space:nowrap; - - background-color: white; - background-image: url(%url%empty.gif); - background-repeat: no-repeat; - background-position: 6px 5px; - padding: 2px 0px 3px 20px; - } -* html div.krumo-element { - padding-bottom: 3px; - line-height: 13px; - } -div.krumo-expand { - background-image: url(%url%collapsed.gif); - cursor:pointer; - } -div.krumo-hover { - background-color: #BFDFFF; - } -div.krumo-opened { - background-image: url(%url%expanded.gif); - } -a.krumo-name { - color:navy; - font: bold 13px courier new; - line-height:12px; - } -a.krumo-name big { - font: bold 16pt Georgia; - line-height: 10px; - position:relative; - top:2px; - left:-2px; - } -* html a.krumo-name big { - font: bold 15pt Georgia; - float:left; - top: -5px; - left: 0px; - padding: 0px; - margin: 0px; - } -em.krumo-type { - font-style:normal; - margin: 0px 2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-preview { - font: normal 13px courier new; - padding: 5px ; - background: lightyellow; - border: solid 1px #808000; - overflow:auto; - margin: 5px 1em 1em 0px; - white-space: pre; - } -* html div.krumo-preview { - padding-top: 2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -li.krumo-footnote { - background: white url(%url%dotted.gif) repeat-x; - padding: 4px 5px 3px 5px; - list-style:none; - cursor:default; - } -* html li.krumo-footnote { - line-height: 13px; - } -div.krumo-version { - float:right; - } -li.krumo-footnote h6 { - font: bold 11px verdana; - margin: 0px; - padding: 0px; - color:navy; - display:inline; - } -* html li.krumo-footnote h6 { - margin-right: 3px; - } -li.krumo-footnote a { - font: bold 10px arial; - color: #434343; - text-decoration:none; - } -li.krumo-footnote a:hover { - color:black; - } - - -li.krumo-footnote span.krumo-call { - font:normal 11px tahoma, verdana; - position: relative; - top: 1px; - } -li.krumo-footnote span.krumo-call code { - font-weight:bold; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -div.krumo-title { - font: normal 11px tahoma, verdana; - position:relative; - top:9px; - cursor:default; - line-height:2px; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ - -strong.krumo-array-length, -strong.krumo-string-length { - font-weight: normal; - color: #000099; - } - -/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ +/** +* Krumo `Schablon.com` Skin +* +* @author Kaloyan K. Tsvetkov <mrasnika@users.sourceforge.net> +*/ + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +ul.krumo-node { + margin: 0px; + padding: 0px; + background-color: white; + } +ul.krumo-node ul { + margin-left: 20px; + } +* html ul.krumo-node ul { + margin-left: 24px; + } +div.krumo-root { + border: solid 1px black; + margin: 1em 0em; + } +ul.krumo-first { + font: normal 11px tahoma, verdana; + border: solid 1px white; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-child { + display:block; + list-style: none; + padding: 0px; + margin: 0px; + overflow:hidden; + } +div.krumo-element { + cursor:default; + display:block; + clear:both; + white-space:nowrap; + + background-color: white; + background-image: url(%url%empty.gif); + background-repeat: no-repeat; + background-position: 6px 5px; + padding: 2px 0px 3px 20px; + } +* html div.krumo-element { + padding-bottom: 3px; + line-height: 13px; + } +div.krumo-expand { + background-image: url(%url%collapsed.gif); + cursor:pointer; + } +div.krumo-hover { + background-color: #BFDFFF; + } +div.krumo-opened { + background-image: url(%url%expanded.gif); + } +a.krumo-name { + color:navy; + font: bold 13px courier new; + line-height:12px; + } +a.krumo-name big { + font: bold 16pt Georgia; + line-height: 10px; + position:relative; + top:2px; + left:-2px; + } +* html a.krumo-name big { + font: bold 15pt Georgia; + float:left; + top: -5px; + left: 0px; + padding: 0px; + margin: 0px; + } +em.krumo-type { + font-style:normal; + margin: 0px 2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-preview { + font: normal 13px courier new; + padding: 5px ; + background: lightyellow; + border: solid 1px #808000; + overflow:auto; + margin: 5px 1em 1em 0px; + white-space: pre; + } +* html div.krumo-preview { + padding-top: 2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +li.krumo-footnote { + background: white url(%url%dotted.gif) repeat-x; + padding: 4px 5px 3px 5px; + list-style:none; + cursor:default; + } +* html li.krumo-footnote { + line-height: 13px; + } +div.krumo-version { + float:right; + } +li.krumo-footnote h6 { + font: bold 11px verdana; + margin: 0px; + padding: 0px; + color:navy; + display:inline; + } +* html li.krumo-footnote h6 { + margin-right: 3px; + } +li.krumo-footnote a { + font: bold 10px arial; + color: #434343; + text-decoration:none; + } +li.krumo-footnote a:hover { + color:black; + } + + +li.krumo-footnote span.krumo-call { + font:normal 11px tahoma, verdana; + position: relative; + top: 1px; + } +li.krumo-footnote span.krumo-call code { + font-weight:bold; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +div.krumo-title { + font: normal 11px tahoma, verdana; + position:relative; + top:9px; + cursor:default; + line-height:2px; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ + +strong.krumo-array-length, +strong.krumo-string-length { + font-weight: normal; + color: #000099; + } + +/* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */ diff --git a/profiles/wcm_base/modules/contrib/entity/PATCHES.txt b/profiles/wcm_base/modules/contrib/entity/PATCHES.txt new file mode 100644 index 0000000000000000000000000000000000000000..43ec05075c168941a4397ca1afea5c5f3233b0b2 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/entity/PATCHES.txt @@ -0,0 +1,4 @@ +The following patches have been applied to this project: +- http://drupal.org/files/issues/entity-1312374-42-fatal-error-if-missing-property-callback.patch + +This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/profiles/wcm_base/modules/contrib/entity/modules/field.info.inc b/profiles/wcm_base/modules/contrib/entity/modules/field.info.inc index aeea79a19e8e66dba84175e1be704bdd7c0f72fe..81596ff3182c2dd5d3c8886f808430daa64df0cb 100644 --- a/profiles/wcm_base/modules/contrib/entity/modules/field.info.inc +++ b/profiles/wcm_base/modules/contrib/entity/modules/field.info.inc @@ -27,7 +27,12 @@ function entity_metadata_field_entity_property_info() { if ($instance && empty($instance['deleted'])) { foreach ($field_type['property_callbacks'] as $callback) { - $callback($info, $entity_type, $field, $instance, $field_type); + if (function_exists($callback)) { + $callback($info, $entity_type, $field, $instance, $field_type); + } + else { + watchdog($entity_type, 'Missing property callback %callback.', array('%callback' => $callback), WATCHDOG_ERROR); + } } } } diff --git a/profiles/wcm_base/modules/contrib/libraries/CHANGELOG.txt b/profiles/wcm_base/modules/contrib/libraries/CHANGELOG.txt index e3c941198b730a1ae8def4075a3192ab397bef24..33fa5e8a542521bb63fdba9b92848e46bc06530c 100644 --- a/profiles/wcm_base/modules/contrib/libraries/CHANGELOG.txt +++ b/profiles/wcm_base/modules/contrib/libraries/CHANGELOG.txt @@ -1,4 +1,20 @@ +Libraries 7.x-2.3, 2016-05-12 +----------------------------- +#1884246 by BR0kEN, tstoeckler et al: Allow downloading libraries via Drush. +by tstoeckler: Allow detecting all libraries by calling libraries_detect(). +by tstoeckler: Prevent LibrariesWebTestBase from being displayed in the UI. +#819610 by tstoeckler: Add tests for the Libraries UI. +#1884246 by BR0kEN, tstoeckler: Show the provider in drush libraries-list +#819610 by Pol, tstoeckler: Show the provider in the UI. +#2634732 by Rob Holmes, tstoeckler: Sort libraries by title in the UI. +#2585395 by robinsonsarah01: Allow object methods as version callbacks. +#819610 by tstoeckler, Pol: Provide a status report for library information. +#2352251 by netw3rker: Fix incorrect hook name in libraries.api.php. +#2352237 by netw3rker, tstoeckler: Allow clearing the libraries cache from Drush. +#2193969 by tstoeckler: Avoid warnings for stale library caches. +#2287529 by drupalshrek, tstoeckler: Update installation link in README.txt. + Libraries 7.x-2.2, 2014-02-09 ----------------------------- #2046919 by tstoeckler: Clarify 'version' docs. diff --git a/profiles/wcm_base/modules/contrib/libraries/LICENSE.txt b/profiles/wcm_base/modules/contrib/libraries/LICENSE.txt old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/libraries/README.txt b/profiles/wcm_base/modules/contrib/libraries/README.txt index 70a77256c90d2e4e9345e9f95d83a5614e0e8e34..200bc537a0851fa76f204be409985d17fe177be7 100644 --- a/profiles/wcm_base/modules/contrib/libraries/README.txt +++ b/profiles/wcm_base/modules/contrib/libraries/README.txt @@ -16,10 +16,11 @@ Bug reports, feature suggestions and latest developments: -- INSTALLATION -- -* Install as usual, see http://drupal.org/node/70151 for further information. - Note that installing external libraries is separate from installing this - module and should happen in the sites/all/libraries directory. See - http://drupal.org/node/1440066 for more information. +* Install as usual, see + https://www.drupal.org/documentation/install/modules-themes/modules-7 for + further information. Note that installing external libraries is separate from + installing this module and should happen in the sites/all/libraries directory. + See http://drupal.org/node/1440066 for more information. -- CONTACT -- diff --git a/profiles/wcm_base/modules/contrib/libraries/libraries.admin.inc b/profiles/wcm_base/modules/contrib/libraries/libraries.admin.inc new file mode 100644 index 0000000000000000000000000000000000000000..8d9e0fbdfbf1ed2570b8caf18be83674aaf70f45 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/libraries/libraries.admin.inc @@ -0,0 +1,547 @@ +<?php + +/** + * @file + * Provides administrative page and form callbacks for Libraries module. + */ + +/** + * Form generation callback for the libraries overview table. + * + * This is a form instead of a page to allow easier extending in contributed + * modules. + * + * @param array $form + * An associative array containing the structure of the form. + * @param array $form_state + * A keyed array containing the current state of the form. + * + * @return array + * The form array for the overview form. + */ +function libraries_admin_overview(array $form, array &$form_state) { + $header = array(t('Name'), t('Status'), t('Installed version'), t('Provider'), t('Links')); + $rows = array(); + + $libraries = libraries_detect(); + uasort($libraries, 'libraries_admin_sort_title'); + + foreach ($libraries as $machine_name => $library) { + $actions = array(); + + if ($library['vendor url']) { + $actions[] = l('Homepage', $library['vendor url']); + } + if ($library['download url']) { + $actions[] = l('Download', $library['download url']); + } + + $rows[] = array( + 'data' => array( + l($library['name'], 'admin/reports/libraries/' . $machine_name), + ($library['installed'] ? t('OK') : drupal_ucfirst($library['error'])), + (isset($library['version']) ? $library['version'] : ''), + libraries_admin_get_provider_with_type($library), + implode(' | ', $actions), + ), + 'class' => ($library['installed'] ? array('ok') : array('error')), + ); + } + + $form['libraries']['list'] = array( + '#theme' => 'table', + '#header' => $header, + '#rows' => $rows, + '#empty' => t('There are currently no libraries installed'), + ); + + return $form; +} + +/** + * Form generation callback for the status overview for a single library. + * + * This is a form instead of a page to allow easier extending in contributed + * modules. + * + * @param array $form + * An associative array containing the structure of the form. + * @param array $form_state + * A keyed array containing the current state of the form. + * @param array $library + * A library information array. + * + * @return array|null + * The form array for the status form or NULL if the library was not found. + * + * @todo Add some var_export($library)-style output + */ +function libraries_admin_library_status_form(array $form, array &$form_state, $library) { + drupal_set_title(t('Status report for library %library', array('%library' => $library['name'])), PASS_THROUGH); + + if ($library['installed']) { + drupal_set_message(t('The %name library is installed correctly.', array('%name' => $library['name']))); + $form['status'] = libraries_admin_status_table($library); + } + else { + drupal_set_message($library['error message'], 'error'); + switch ($library['error']) { + case 'not found': + $form['instructions'] = libraries_admin_instructions_missing($library); + break; + + case 'not detected': + $form['instructions'] = libraries_admin_instructions_undetected($library);; + break; + + case 'not supported': + $form['instructions'] = libraries_admin_instructions_unsupported($library); + break; + + case 'missing dependency': + $form['instructions']['instruction']['#markup'] = t('There a missing dependency in your configuration that prevent this library to work properly.') . '<br>'; + break; + + case 'incompatible dependency': + $form['instructions']['instruction']['#markup'] = t('There an incompatible dependency in your configuration that prevent this library to work properly.') . '<br>'; + break; + } + } + + return $form; +} + + +/** + * Displays a table of status information about a library. + * + * @param array $library + * A library information array. + * + * @return array + * A renderable array containing a table with status information. + */ +function libraries_admin_status_table(array $library) { + $header = array(array( + // @todo The title implies that other type of information is displayed, as + // well, but this is currently not the case. + // @todo Use CSS instead of a <strong> element. + 'data' => '<strong>' . t('General information') . '</strong>', + 'colspan' => 2, + 'class' => 'table-heading', + 'no_striping' => TRUE, + )); + + $rows = array(); + // @todo Use CSS instead of <strong> elements. + $rows['name'] = array('<strong>' . t('Name') . '</strong>', check_plain($library['name'])); + $rows['machine_name'] = array('<strong>' . t('Machine name') . '</strong>', check_plain($library['machine name'])); + if ($library['vendor url']) { + $rows['vendor_url'] = array('<strong>' . t('Vendor URL') . '</strong>', l($library['vendor url'], $library['vendor url'])); + } + if ($library['download url']) { + $rows['download_url'] = array('<strong>' . t('Download URL') . '</strong>', l($library['download url'], $library['download url'])); + } + $rows['provider'] = array('<strong>' . t('Provider') . '</strong>', libraries_admin_get_provider_with_type($library)); + $rows['library_path'] = array('<strong>' . t('Library path') . '</strong>', $library['library path']); + $rows['version'] = array('<strong>' . t('Version') . '</strong>', $library['version']); + if (!empty($library['variants'])) { + $rows['variants'] = array('<strong>' . t('Variants') . '</strong>', implode(', ', array_keys($library['variants']))); + } + + return array( + '#theme' => 'table', + '#header' => $header, + '#rows' => $rows, + ); +} + +/** + * Returns instructions for dealing with a missing library. + * + * @param array $library + * A library information array. + * + * @return array + * A renderable array containing the instructions. + */ +function libraries_admin_instructions_missing(array $library) { + $build = array(); + + $build['instruction']['#markup'] = t('Follow these steps to install the library:'); + + $items = array(); + // 1. Download the library. + // If no supported versions are specified, the latest version is + // recommended. + if (empty($library['versions'])) { + $items[] = t('Download the latest version of the library <a href="@download-url">here</a>.', array( + '@download-url' => $library['download url'], + )); + } + // Otherwise, the latest supported version is recommended. + else { + $versions = array_keys($library['versions']); + usort($versions, 'version_compare'); + $versions = array_reverse($versions); + $version = $versions[0]; + $items[] = t('Download version %version of the library <a href="@download-url">here</a>.', array( + '%version' => $version, + '@download-url' => $library['download url'], + )); + } + // 2. Unpack it. + $items[] = t('If the library is an archive, i.e. if the file ending is for example <em>.tar.gz</em> or <em>.zip</em>, unpack it.'); + // 3. Create the libraries folder. + $items[] = t('In the %library-directory directory of your Drupal installation create a %library directory.', array( + '%library-directory' => 'sites/all/libraries', + '%library' => $library['machine name'], + )); + // 4. Upload it. + // If the library has variant-independent files, give the user the + // location of an example file to check his filesystem against. + if ($directory_layout = libraries_admin_directory_layout($library)) { + $items[] = t('Upload the whole library (which can consist of multiple directories) into the newly created %library-path directory. The following files and directories should be contained in that directory: !directory-layout', array( + '%library-path' => 'sites/all/libraries/' . $library['machine name'], + '!directory-layout' => drupal_render($directory_layout), + )); + } + else { + $items[] = t('Upload the whole library (which can consist of multiple directories) into the newly created %library-path directory.', array( + '%library-path' => 'sites/all/libraries/' . $library['machine name'], + )); + } + // 5. Reload. + $items[] = t('<a href="">Reload</a> the page. If successful, you should see status information about this library.'); + + $build['steps'] = array( + '#theme' => 'item_list', + '#items' => $items, + '#type' => 'ol' + ); + + return $build; +} + + +/** + * Returns instructions for dealing with an undetected library. + * + * @param array $library + * A library information array. + * + * @return array + * A renderable array containing the instructions. + */ +function libraries_admin_instructions_undetected($library) { + $build = array(); + // Re-check location. + // @todo Avoid usage of <br> elements. + $build['instruction']['#markup'] = t('Check that the whole library is located at %library-path.', array( + '%library-path' => $library['library path'], + )) . '<br>'; + // If the library has variant-independent files, give the user the + // exact location of the files to check against. + // @todo It should be possible to display even variant-specific files + // in case the variant is installed, but libraries_detect() does not + // detect variants if the library version cannot be detected. + if ($directory_layout = libraries_admin_directory_layout($library)) { + $build['directory_layout'] = $directory_layout; + $build['directory_layout']['#prefix'] = t('The following files and directories should be contained in that directory:'); + } + + // If the library is placed correctly the library information is + // incorrect. + // This switch could be avoided by using $library['info type'], but that would + // hinder properly translating these strings. + $build['reload']['#markup'] = t('If you have moved any files, <a href="">reload</a> the page. If successful, you should see status information about this library.') . '<br>'; + $build['notice']['#markup'] = t('If the files are placed correctly and the version can still not be detected, the library information is incorrect.') . '<br>'; + + $provider = libraries_admin_get_provider($library); + switch ($library['info type']) { + case 'module': + $build['contact']['#markup'] = t('Contact the maintainer of the %module module to correct this.', array( + '%module' => $provider, + )) . '<br>'; + break; + + case 'theme': + $build['contact']['#markup'] = t('Contact the maintainer of the %theme theme to correct this.', array( + '%theme' => $provider, + )) . '<br>'; + break; + + case 'info file': + $build['contact']['#markup'] = t('Contact the maintainer of the %info-file info file to correct this.', array( + '%info-file' => $provider, + )) . '<br>'; + break; + } + return $build; +} + + +/** + * Returns instructions for dealing with an unsupported library. + * + * @param array $library + * A library information array. + * + * @return array + * A renderable array containing the instructions. + */ +function libraries_admin_instructions_unsupported($library) { + $build = array(); + $items = array(); + + // Either download a different version of the library... + $versions = array_keys($library['versions']); + usort($versions, 'version_compare'); + $versions = array_reverse($versions); + $version = $versions[0]; + $build['instruction']['#markup'] = t('Please install version %version of the library by following the following steps:', + array( + '%version' => $version, + )); + // 1. Delete the old library. + $items[] = t('Delete the entire contents of the %library-path directory.', + array( + '%library-path' => $library['library path'], + )); + // 2. Download the new library. + $items[] = t('Download version %version of the library <a href="@download-url">here</a>.', + array( + '%version' => $version, + '@download-url' => $library['download url'], + )); + // 3. Unpack it. + $items[] = t('If the library is an archive, i.e. if the file ending is for example <em>.tar.gz</em> or <em>.zip</em>, unpack it.'); + // 4. Upload the new library. + // If the library has variant-independent files, give the user the + // location of an example file to check his filesystem against. + if ($directory_layout = libraries_admin_directory_layout($library)) { + $items[] = t('Upload the new files into the %library-path directory. The following files and directories should be contained in that directory: !directory-layout', + array( + '%library-path' => $library['library path'], + '!directory-layout' => drupal_render($directory_layout), + )); + } + else { + $items[] = t('Upload the new files into the %library-path directory.', + array( + '%library-path' => $library['library path'], + )); + } + // 5. Reload. + $items[] = t('<a href="">Reload</a> the page. If successful, you should see status information about this library.'); + $build['steps'] = array( + '#theme' => 'item_list', + '#items' => $items, + '#type' => 'ol', + ); + // ...or contact the maintainer of the library information. + $provider = libraries_admin_get_provider($library); + switch ($library['info type']) { + case 'module': + $build['contact']['#markup'] = t('If you are bound to version @version of the library, ask the maintainer of the %module module to provide support for it.', array( + '@version' => $library['version'], + '%module' => $provider, + )) . '<br>'; + break; + + case 'theme': + $build['contact']['#markup'] = t('If you are bound to version @version of the library, ask the maintainer of the %theme theme to provide support for it.', array( + '@version' => $library['version'], + '%theme' => $provider, + )) . '<br>'; + break; + + case 'info file': + $build['contact']['#markup'] = t('If you are bound to version @version of the library, ask the maintainer of the %info-file info file to provide support for it.', array( + '@version' => $library['version'], + '%info-file' => $provider, + )) . '<br>'; + break; + } + return $build; +} + +/** + * Returns the directory layout of the library, if possible. + * + * The result of this function can help users to verify that they have uploaded + * the library to the correct location. + * + * @param array $library + * A library information array. + * + * @return array|false + * A renderable array containing the directory layout of the library or FALSE + * if a directory layout could not be generated. + */ +function libraries_admin_directory_layout(array $library) { + $build = array( + '#theme' => 'item_list', + '#type' => 'ul', + '#items' => array(), + ); + + $items = &$build['#items']; + if ($library['path']) { + $items = &libraries_admin_path_to_tree($items, $library['path']); + } + foreach (array('js', 'css', 'php') as $type) { + if (!empty($library['files'][$type])) { + $files = array_keys($library['files'][$type]); + foreach ($files as $file) { + // Skip JavaScript settings. + if (is_int($file)) { + continue; + } + + $children = &$items; + libraries_admin_path_to_tree($children, $file); + } + } + } + return $build['#items'] ? $build : FALSE; +} + +/** + * Converts a file path into a tree structure for use in an item list. + * + * For example, the path 'foo/bar/baz' will be converted into the tree structure + * represented by the following list: + * - foo + * - bar + * - baz + * + * The $items array that is modified by reference or returned (see below) can + * be used as the 'items' variable for theme_item_list(). + * + * This function modifies passed-in $items array, so that multiple paths can + * be placed into the same tree structure easily. + * + * @code + * $items = array(); + * foreach ($paths as $path) { + * libraries_admin_path_to_tree($items, $path); + * } + * @endcode + * + * It also returns the last item by reference, so that it can also be used to + * traverse into a sub-structure and add further children there. + * + * @code + * $items = array(); + * $children = &libraries_admin_path_to_tree($items, $path); + * foreach ($sub_paths as $sub_path) { + * libraries_admin_path_to_tree($children, $sub_path); + * } + * @endcode + * + * @param array $items + * @param string $path + * + * @return array + */ +function &libraries_admin_path_to_tree(array &$items, $path) { + $part = strtok($path, '/'); + while ($part) { + if (!isset($items[$part])) { + $items[$part] = array( + 'data' => $part, + 'children' => array(), + ); + } + $items = &$items[$part]['children']; + $part = strtok('/'); + } + + return $items; +} + +/** + * Sorts libraries by name. + * + * This function can be used as a callback for usort() or uasort(). + * + * @param array $a + * The first library information array. + * @param array $b + * The second library information array. + * + * @return int + * Returns -1 if $a is considered smaller than $b, 1 if $a considered greater + * than $b and 0 if $a and $b are considered equal. + * + * @see strnatcasecmp() + * @see usort() + * @see uasort() + */ +function libraries_admin_sort_title(array $a, array $b) { + return strnatcasecmp($a['name'], $b['name']); +} + +/** + * Returns the library's provider. + * + * The provider can be a module, a theme, or an info file. + * + * @param array $library + * A library information array. + * + * @return string + * The provider. + */ +function libraries_admin_get_provider($library) { + $provider = ''; + + switch ($library['info type']) { + case 'module': + case 'theme': + $info = system_get_info($library['info type'], $library[$library['info type']]); + $provider = $info['name']; + break; + + case 'info file': + $provider = basename($library['info file']); + break; + } + + return $provider; +} + +/** + * Returns the library's provider and provider type. + * + * The provider type is either 'module', 'theme', or 'info file'. + * + * @param array $library + * A library information array. + * + * @return string + * The provider and provider type. + */ +function libraries_admin_get_provider_with_type($library) { + $provider = libraries_admin_get_provider($library); + $provider_with_type = ''; + + // This switch could be avoided by using $library['info type'], but that would + // hinder properly translating these strings. + switch ($library['info type']) { + case 'module': + $provider_with_type = t('%module module', array('%module' => $provider)); + break; + + case 'theme': + $provider_with_type = t('%theme theme', array('%theme' => $provider)); + break; + + case 'info file': + $provider_with_type = t('%info-file info file', array('%info-file' => $provider)); + break; + } + + return $provider_with_type; +} diff --git a/profiles/wcm_base/modules/contrib/libraries/libraries.api.php b/profiles/wcm_base/modules/contrib/libraries/libraries.api.php index 8ac3111532acd10736c3a6cf19074ed4d6929050..71e90e0c249ec0871dd216716ab5f3d9fddee7ca 100644 --- a/profiles/wcm_base/modules/contrib/libraries/libraries.api.php +++ b/profiles/wcm_base/modules/contrib/libraries/libraries.api.php @@ -16,6 +16,10 @@ * - name: The official, human-readable name of the library. * - vendor url: The URL of the homepage of the library. * - download url: The URL of a web page on which the library can be obtained. + * - download file url: (optional) The URL where the latest version of the + * library can be downloaded. In case such a static URL exists the library + * can be downloaded automatically via Drush. Run + * 'drush help libraries-download' in the command-line for more information. * - path: (optional) A relative path from the directory of the library to the * actual library. Only required if the extracted download package contains * the actual library files in a sub-directory. @@ -211,6 +215,9 @@ function hook_libraries_info() { 'name' => 'Example library', 'vendor url' => 'http://example.com', 'download url' => 'http://example.com/download', + // It is important that this URL does not include the actual version to + // download. Not all libraries provide such a static URL. + 'download file url' => 'http://example.com/latest.tar.gz', // Optional: If, after extraction, the actual library files are contained in // 'sites/all/libraries/example/lib', specify the relative path here. 'path' => 'lib', @@ -343,6 +350,9 @@ function hook_libraries_info() { 'name' => 'Simple library', 'vendor url' => 'http://example.com/simple', 'download url' => 'http://example.com/simple', + // The download file URL can also point to a single file (instead of an + // archive). + 'download file url' => 'http://example.com/latest/simple.js', 'version arguments' => array( 'file' => 'readme.txt', // Best practice: Document the actual version strings for later reference. @@ -467,7 +477,7 @@ function hook_libraries_info_alter(&$libraries) { * @return * An array of paths. */ -function hook_libraries_paths() { +function hook_libraries_info_file_paths() { // Taken from the Libraries test module, which needs to specify the path to // the test library. return array(drupal_get_path('module', 'libraries_test') . '/example'); diff --git a/profiles/wcm_base/modules/contrib/libraries/libraries.drush.inc b/profiles/wcm_base/modules/contrib/libraries/libraries.drush.inc index 26b35eb8313019e4003e6e5d6384f9bb6f4b6e64..32587135531160d885840f727855e3ef3386a3e2 100644 --- a/profiles/wcm_base/modules/contrib/libraries/libraries.drush.inc +++ b/profiles/wcm_base/modules/contrib/libraries/libraries.drush.inc @@ -1,5 +1,4 @@ <?php - /** * @file * Drush integration for Libraries API. @@ -9,59 +8,71 @@ * Implements hook_drush_command(). */ function libraries_drush_command() { + $items = array(); + $items['libraries-list'] = array( - 'callback' => 'libraries_drush_list', - 'description' => dt('Lists registered library information.'), + 'description' => dt('Show a list of registered libraries.'), 'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL, + 'aliases' => array('lls', 'lib-list'), ); - /**$items['libraries-download'] = array( - 'callback' => 'libraries_drush_download', - 'description' => dt('Downloads a registered library into the libraries directory for the active site.'), + + $items['libraries-download'] = array( + 'description' => dt('Download library files of registered libraries.'), + 'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL, + 'aliases' => array('ldl', 'lib-download'), 'arguments' => array( - 'name' => dt('The internal name of the registered library.'), + 'libraries' => 'A comma delimited list of library machine names.', ), - );*/ + 'required-arguments' => TRUE, + ); + return $items; } /** - * Implements hook_drush_help(). + * Implements hook_drush_cache_clear(). + * + * @see drush_cache_clear_types() */ -function libraries_drush_help($section) { - switch ($section) { - case 'drush:libraries-list': - return dt('Lists registered library information.'); - - case 'drush:libraries-download': - return dt('Downloads a registered library into the libraries directory for the active site. +function libraries_drush_cache_clear(array &$types) { + $types['libraries'] = 'libraries_drush_invalidate_cache'; +} -See libraries-list for a list of registered libraries.'); +/** + * Clears the library cache. + */ +function libraries_drush_invalidate_cache() { + // @see drupal_flush_all_caches() + foreach (libraries_flush_caches() as $table) { + cache_clear_all('*', $table, TRUE); } } /** - * Lists registered library information. + * Command callback. Show a list of registered libraries. */ -function libraries_drush_list() { - $libraries = array(); - foreach (libraries_info() as $name => $info) { - $libraries[$name] = libraries_detect($name); - } +function drush_libraries_list() { + $libraries = libraries_detect(); ksort($libraries); if (empty($libraries)) { drush_print('There are no registered libraries.'); } - else { + module_load_include('inc', 'libraries', 'libraries.admin'); + $rows = array(); // drush_print_table() automatically treats the first row as the header, if // $header is TRUE. - $rows[] = array(dt('Name'), dt('Status'), dt('Version'), dt('Variants'), dt('Dependencies')); + $rows[] = array( + dt('Name'), + dt('Status'), + dt('Version'), + dt('Variants'), + dt('Dependencies'), + dt('Provider'), + ); foreach ($libraries as $name => $library) { - $status = ($library['installed'] ? dt('OK') : drupal_ucfirst($library['error'])); - $version = (($library['installed'] && !empty($library['version'])) ? $library['version'] : '-'); - // Only list installed variants. $variants = array(); foreach ($library['variants'] as $variant_name => $variant) { @@ -69,83 +80,150 @@ function libraries_drush_list() { $variants[] = $variant_name; } } - $variants = (empty($variants) ? '-' : implode(', ', $variants)); - $dependencies = (!empty($library['dependencies']) ? implode(', ', $library['dependencies']) : '-'); - - $rows[] = array($name, $status, $version, $variants, $dependencies); + $rows[] = array( + $name, + $library['installed'] ? dt('OK') : drupal_ucfirst($library['error']), + ($library['installed'] && $library['version']) ? '-' : $library['version'], + $variants ? implode(', ', $variants) : '-', + $library['dependencies'] ? implode(', ', $library['dependencies']) : '-', + libraries_admin_get_provider($library), + ); } + // Make the possible values for the 'Status' column and the 'Version' header // wrap nicely. - $widths = array(0, 12, 7, 0, 0); + $widths = array(0, 12, 7, 0, 0, 0); drush_print_table($rows, TRUE, $widths); } } /** - * Downloads a library. + * Command callback. Downloads a library. + * + * Only libraries that provide a download file URL can be downloaded. * - * @param $name - * The internal name of the library to download. + * @see hook_libraries_info() + * @see drush_pm_download() */ -function libraries_drush_download($name) { - return; +function drush_libraries_download() { + drush_command_include('pm-download'); + + $libraries = libraries_info(); + + // @todo Consider supporting downloading all downloadable libraries. + // @todo Consider offering a selection if no library is specified. + foreach (pm_parse_arguments(func_get_args(), FALSE) as $machine_name) { + if (!isset($libraries[$machine_name])) { + $message = dt("The !library library is not registered with Libraries API.\n", array('!library' => $machine_name)); + $message .= dt("Provide an info file for it or implement hook_libraries_info().\n"); + $message .= dt("See hook_libraries_info() for more information.\n"); + drush_set_error('DRUSH_LIBRARY_UKNOWN', $message); + continue; + } + $library = $libraries[$machine_name]; + + if (empty($library['download file url'])) { + $message = dt("The !library library cannot be downloaded.\n", array('!library' => $machine_name)); + $message .= dt("Libraries need to specify a download file URL to support being downloaded via Drush.\n"); + $message .= dt("See hook_libraries_info() for more information.\n"); + drush_set_error('DRUSH_LIBRARY_NOT_DOWNLOADABLE', $message); + continue; + } + $download_url = $library['download file url']; + + drush_log(dt('Downloading library !name ...', array('!name' => $machine_name))); + + // @see package_handler_download_project() in wget.inc + // It cannot be used directly because it will always try to extract the + // archive which fails when downloading a single file. + // @todo Modify upstream to be able to use + // package_handler_download_project() directly. + // Prepare download path. On Windows file name cannot contain '?'. + // See http://drupal.org/node/1782444 + $filename = str_replace('?', '_', basename($download_url)); + $download_path = drush_tempdir() . '/' . $filename; + + // Download the tarball. + // Never cache the downloaded file. The downloading relies on the fact that + // different versions of the library are available under the same URL as new + // versions are released. + $download_path = drush_download_file($download_url, $download_path, 0); + if ($download_path || drush_get_context('DRUSH_SIMULATE')) { + drush_log(dt('Downloading !filename was successful.', array('!filename' => $filename))); + } + else { + drush_set_error('DRUSH_PM_DOWNLOAD_FAILED', dt('Unable to download !project to !path from !url.', array('!project' => $machine_name, '!path' => $download_path, '!url' => $download_url))); + drush_log(dt('Error downloading !name', array('!name' => $machine_name)), 'error'); + continue; + } - // @todo Looks wonky? - if (!drush_shell_exec('type unzip')) { - return drush_set_error(dt('Missing dependency: unzip. Install it before using this command.')); - } + // @todo Suport MD5 file hashing. - // @todo Simply use current drush site. - $args = func_get_args(); - if ($args[0]) { - $path = $args[0]; - } - else { - $path = 'sites/all/libraries'; - } + // Extract the tarball in place and return the full path to the untarred directory. + $download_base = dirname($download_path); + if (drush_file_is_tarball($download_path)) { + if (!$tar_file_list = drush_tarball_extract($download_path, $download_base, TRUE)) { + // An error has been logged. + return FALSE; + } + $tar_directory = drush_trim_path($tar_file_list[0]); + $download_path = $download_base . '/' . $tar_directory; + } + else { + $download_path = $download_base; + } - // Create the path if it does not exist. - if (!is_dir($path)) { - drush_op('mkdir', $path); - drush_log(dt('Directory @path was created', array('@path' => $path)), 'notice'); - } + // Determine the install location for the project. User provided + // --destination has preference. + $destination = drush_get_option('destination'); + if (!empty($destination)) { + if (!file_exists($destination)) { + drush_mkdir($destination); + } + $install_location = realpath($destination); + } + else { + /** @see _pm_download_destination_lookup() */ + // _pm_download_destination_lookup() pluralizes the passed type by + // appending an s. + // This relies on the fact that there is no library named 'contrib'. + // @todo Request that this be turned into a proper API upstream. + $install_location = _pm_download_destination('librarie'); + } - // Set the directory to the download location. - $olddir = getcwd(); - chdir($path); + // @todo Consider invoking a hook similar to + // hook_drush_pm_download_destination_alter(). - $filename = basename(COLORBOX_DOWNLOAD_URI); - $dirname = basename(COLORBOX_DOWNLOAD_URI, '.zip'); + // @todo Consider adding version-control support similar to pm-download. - // Remove any existing Colorbox plugin directory - if (is_dir($dirname)) { - drush_log(dt('A existing Colorbox plugin was overwritten at @path', array('@path' => $path)), 'notice'); - } - // Remove any existing Colorbox plugin zip archive - if (is_file($filename)) { - drush_op('unlink', $filename); - } + $install_location .= '/' . $machine_name; - // Download the zip archive - if (!drush_shell_exec('wget '. COLORBOX_DOWNLOAD_URI)) { - drush_shell_exec('curl -O '. COLORBOX_DOWNLOAD_URI); - } + // Check if install location already exists. + if (is_dir($install_location)) { + if (drush_confirm(dt('Install location !location already exists. Do you want to overwrite it?', array('!location' => $install_location)))) { + drush_delete_dir($install_location, TRUE); + } + else { + drush_log(dt("Skip installation of !project to !dest.", array('!project' => $library['machine name'], '!dest' => $install_location)), 'warning'); + continue; + } + } - if (is_file($filename)) { - // Decompress the zip archive - drush_shell_exec('unzip -qq -o '. $filename); - // Remove the zip archive - drush_op('unlink', $filename); - } + // Copy the project to the install location. + if (drush_op('_drush_recursive_copy', $download_path, $install_location)) { + drush_log(dt("Library !project downloaded to !dest.", array('!project' => $machine_name, '!dest' => $install_location)), 'success'); - // Set working directory back to the previous working directory. - chdir($olddir); + // @todo Consider invoking a hook similar to + // hook_drush_pm_post_download(). - if (is_dir($path .'/'. $dirname)) { - drush_log(dt('Colorbox plugin has been downloaded to @path', array('@path' => $path)), 'success'); - } - else { - drush_log(dt('Drush was unable to download the Colorbox plugin to @path', array('@path' => $path)), 'error'); + // @todo Support printing release notes. + } + else { + // We don't `return` here in order to proceed with downloading additional projects. + drush_set_error('DRUSH_PM_DOWNLOAD_FAILED', dt("Project !project could not be downloaded to !dest.", array('!project' => $machine_name, '!dest' => $install_location))); + } + + // @todo Consider adding notify support. } } diff --git a/profiles/wcm_base/modules/contrib/libraries/libraries.info b/profiles/wcm_base/modules/contrib/libraries/libraries.info index 136d323b084615408d5c5abd17e2ecaa9b1cff09..dcd2d486c9b11ab671eb9a835bbfb8cc91b339f1 100644 --- a/profiles/wcm_base/modules/contrib/libraries/libraries.info +++ b/profiles/wcm_base/modules/contrib/libraries/libraries.info @@ -3,11 +3,14 @@ description = Allows version-dependent and shared usage of external libraries. core = 7.x ; We use hook_system_theme_info() which was added in Drupal 7.11 dependencies[] = system (>=7.11) -files[] = tests/libraries.test +files[] = tests/LibrariesAdminWebTest.test +files[] = tests/LibrariesLoadWebTest.test +files[] = tests/LibrariesUnitTest.test +files[] = tests/LibrariesWebTestBase.test -; Information added by Drupal.org packaging script on 2014-02-09 -version = "7.x-2.2" +; Information added by Drupal.org packaging script on 2016-05-12 +version = "7.x-2.3" core = "7.x" project = "libraries" -datestamp = "1391965716" +datestamp = "1463077450" diff --git a/profiles/wcm_base/modules/contrib/libraries/libraries.install b/profiles/wcm_base/modules/contrib/libraries/libraries.install index b210b98c9ec9e28d9ec6a4e90f0489180a4ef92c..ebc4087ba73f888a5e880f7c4fc52f1943f80efa 100644 --- a/profiles/wcm_base/modules/contrib/libraries/libraries.install +++ b/profiles/wcm_base/modules/contrib/libraries/libraries.install @@ -25,3 +25,12 @@ function libraries_update_7200() { db_create_table('cache_libraries', $specs['cache_libraries']); } } + +/** + * Rebuild the class registry. + */ +function libraries_update_7201() { + // The tests were split from a single libraries.test file into multiple files + // during the 7.x-2.x cycle. + registry_rebuild(); +} diff --git a/profiles/wcm_base/modules/contrib/libraries/libraries.module b/profiles/wcm_base/modules/contrib/libraries/libraries.module index 0448476d9b6ba250ead7b40e3d3468e264ece57f..48275250f3dbe0036b525cf0fe46f3419b422f9d 100644 --- a/profiles/wcm_base/modules/contrib/libraries/libraries.module +++ b/profiles/wcm_base/modules/contrib/libraries/libraries.module @@ -33,7 +33,7 @@ function libraries_flush_caches() { * @param $base_path * Whether to prefix the resulting path with base_path(). * - * @return + * @return string * The path to the specified library or FALSE if the library wasn't found. * * @ingroup libraries @@ -67,7 +67,7 @@ function libraries_get_path($name, $base_path = FALSE) { * in both the site-wide directory and site-specific directory, only the * site-specific version will be listed. * - * @return + * @return array * A list of library directories. * * @ingroup libraries @@ -122,7 +122,7 @@ function libraries_get_libraries() { * - sites/$sitename/libraries * - any directories specified via hook_libraries_info_file_paths() * - * @return + * @return array * An array of info files, keyed by library name. The values are the paths of * the files. */ @@ -429,17 +429,21 @@ function &libraries_info($name = NULL) { /** * Applies default properties to a library definition. * - * @library + * @param array $library * An array of library information, passed by reference. - * @name + * @param string $name * The machine name of the passed-in library. + * + * @return array + * The library information array with defaults populated. */ -function libraries_info_defaults(&$library, $name) { +function libraries_info_defaults(array &$library, $name) { $library += array( 'machine name' => $name, 'name' => $name, 'vendor url' => '', 'download url' => '', + 'download file url' => '', 'path' => '', 'library path' => NULL, 'version callback' => 'libraries_get_version', @@ -472,12 +476,15 @@ function libraries_info_defaults(&$library, $name) { /** * Tries to detect a library and its installed version. * - * @param $name - * The machine name of a library to return registered information for. + * @param string $name + * (optional) The machine name of a library to detect and return registered + * information for. If omitted, information about all registered libraries is + * returned. * * @return array|false - * An associative array containing registered information for the library - * specified by $name, or FALSE if the library $name is not registered. + * An associative array containing registered information for all libraries, + * the registered information for the library specified by $name, or FALSE if + * the library $name is not registered. * In addition to the keys returned by libraries_info(), the following keys * are contained: * - installed: A boolean indicating whether the library is installed. Note @@ -491,7 +498,15 @@ function libraries_info_defaults(&$library, $name) { * * @see libraries_info() */ -function libraries_detect($name) { +function libraries_detect($name = NULL) { + if (!isset($name)) { + $libraries = &libraries_info(); + foreach ($libraries as $name => $library) { + libraries_detect($name); + } + return $libraries; + } + // Re-use the statically cached value of libraries_info() to save memory. $library = &libraries_info($name); @@ -531,7 +546,7 @@ function libraries_detect($name) { $library['version'] = call_user_func_array($library['version callback'], array_merge(array($library), $library['version arguments'])); } else { - $library['version'] = $library['version callback']($library, $library['version arguments']); + $library['version'] = call_user_func($library['version callback'], $library, $library['version arguments']); } if (empty($library['version'])) { $library['error'] = 'not detected'; @@ -693,6 +708,10 @@ function libraries_load($name, $variant = NULL) { * The number of loaded files. */ function libraries_load_files($library) { + // As this key was added after 7.x-2.1 cached library structures might not + // have it. + $library += array('post-load integration files' => FALSE); + // Load integration files. if (!$library['post-load integration files'] && !empty($library['integration files'])) { $enabled_themes = array(); @@ -867,3 +886,61 @@ function libraries_get_version($library, $options) { } fclose($file); } + +/** + * Implements hook_help(). + */ +function libraries_help($path, $arg) { + switch ($path) { + case 'admin/reports/libraries': + return t('Click on a library for a status report or detailed installation instructions in case the library is not installed correctly.'); + } +} + +/** + * Implements hook_menu(). + */ +function libraries_menu() { + $items = array(); + $items['admin/reports/libraries'] = array( + 'title' => 'Libraries', + 'description' => 'An overview of libraries installed on this site.', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('libraries_admin_overview'), + 'access arguments' => array('access site reports'), + 'file' => 'libraries.admin.inc' + ); + $items['admin/reports/libraries/%libraries_ui'] = array( + 'title' => 'Library status report', + 'description' => 'Status overview for a single library', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('libraries_admin_library_status_form', 3), + 'access arguments' => array('access site reports'), + 'file' => 'libraries.admin.inc' + ); + return $items; +} + +/** + * Loads library information for display in the user interface. + * + * This can be used as a menu loader function by specifying a '%libraries_ui' + * parameter in a path. + * + * We do not use libraries_load() (and, thus, a '%libraries' parameter) directly + * for displaying library information in the user interface as we do not want + * the library files to be loaded. + * + * @param string $name + * The machine name of a library to return registered information for. + * + * @return array|false + * An associative array containing registered information for the library + * specified by $name, or FALSE if the library $name is not registered. + * + * @see libraries_detect() + * @see libraries_menu() + */ +function libraries_ui_load($name) { + return libraries_detect($name); +} diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesAdminWebTest.test b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesAdminWebTest.test new file mode 100644 index 0000000000000000000000000000000000000000..a4d2188bebb74bd1157eaf9bd7b1de0c48f8a5db --- /dev/null +++ b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesAdminWebTest.test @@ -0,0 +1,119 @@ +<?php + +/** + * @file + * Contains LibrariesAdminWebTest. + * + * Simpletest automatically discovers test files using PSR-4. We cannot, + * however, declare a namespace for this class, as that would require PHP 5.3. + * To prepare the PHP 5.3 requirement and the usage of PSR-4 in 7.x-3.x, we + * split each test class into its own file and use the correct base name, but + * for now use the 'test' extension and register them explicitly in + * libraries.info. + * + * @see simpletest_test_get_all() + */ + +/** + * Tests the administrative interface for libraries. + */ +class LibrariesAdminWebTest extends LibrariesWebTestBase { + + /** + * Provides metadata about this test. + * + * @return array + * An array of test metadata with the following keys: + * - name: The name of the test. + * - description: The description of the test. + * - group: The group of the test. + */ + public static function getInfo() { + return array( + 'name' => 'Libraries administration', + 'description' => 'Tests the administrative interface for libraries.', + 'group' => 'Libraries API', + ); + } + + /** + * Tests the libraries report at /admin/reports/libraries. + */ + public function testLibrariesReportOverview() { + $this->getWithPermissions(array('access site reports'), 'admin/reports/libraries'); + $this->assertRaw('Libraries'); + + // Make sure that all the libraries are listed. + $libraries = libraries_info(); + $this->assertTrue($libraries); + foreach ($libraries as $library) { + $this->assertText($library['name']); + $this->assertLinkByHref('admin/reports/libraries/' . $library['machine name']); + } + + // Make sure that all possible statuses are displayed. + $this->assertText('OK'); + $this->assertText('Not found'); + $this->assertText('Not detected'); + $this->assertText('Not supported'); + $this->assertText('Missing dependency'); + $this->assertText('Incompatible dependency'); + + // Make sure that the providers are displayed. + $this->assertRaw('<em class="placeholder">Libraries test module</em> module'); + $this->assertRaw('<em class="placeholder">Libraries test theme</em> theme'); + $this->assertRaw('<em class="placeholder">example_info_file.libraries.info</em> info file'); + + // Make sure that homepage and download links are displayed. + $this->assertLinkByHref('http://example.com'); + $this->assertLinkByHref('http://example.com/download'); + } + + /** + * Tests the libraries report for an installed library. + */ + public function testLibrariesReportInstalled() { + $this->getWithPermissions(array('access site reports'), 'admin/reports/libraries/example_files'); + $this->assertRaw('Status report for library <em class="placeholder">Example files</em>'); + $this->assertRaw('The <em class="placeholder">Example files</em> library is installed correctly.'); + // Check that the information in the status report is displayed. + $this->assertText('Example files'); + $this->assertText('example_files'); + $this->assertRaw('<em class="placeholder">Libraries test module</em> module'); + $this->assertText(drupal_get_path('module', 'libraries') . '/tests/libraries/example'); + $this->assertText('1'); + } + + /** + * Tests the libraries report for a missing library. + */ + public function testLibrariesReportMissing() { + $this->getWithPermissions(array('access site reports'), 'admin/reports/libraries/example_missing'); + $this->assertRaw('Status report for library <em class="placeholder">Example missing</em>'); + $this->assertRaw('The <em class="placeholder">Example missing</em> library could not be found.'); + // Check that the download link is being displayed. + $this->assertLinkByHref('http://example.com/download'); + } + + + /** + * Tests the libraries report for a missing library. + */ + public function testLibrariesReportNotDetected() { + $this->getWithPermissions(array('access site reports'), 'admin/reports/libraries/example_undetected_version'); + $this->assertRaw('Status report for library <em class="placeholder">Example undetected version</em>'); + $this->assertRaw('The version of the <em class="placeholder">Example undetected version</em> library could not be detected.'); + } + + /** + * Tests the libraries report for a missing library. + */ + public function testLibrariesReportNotSupported() { + $this->getWithPermissions(array('access site reports'), 'admin/reports/libraries/example_unsupported_version'); + $this->assertRaw('Status report for library <em class="placeholder">Example unsupported version</em>'); + $this->assertRaw('The installed version <em class="placeholder">1</em> of the <em class="placeholder">Example unsupported version</em> library is not supported.'); + // Check that the download link is being displayed. + $this->assertLinkByHref('http://example.com/download'); + } + +} diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/libraries.test b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesLoadWebTest.test similarity index 92% rename from profiles/wcm_base/modules/contrib/libraries/tests/libraries.test rename to profiles/wcm_base/modules/contrib/libraries/tests/LibrariesLoadWebTest.test index 419263181cf74b65abc0d6f7fdffa43adb249e5b..7c4fe51daf710330aef72dfdc94b7454beaab635 100644 --- a/profiles/wcm_base/modules/contrib/libraries/tests/libraries.test +++ b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesLoadWebTest.test @@ -2,67 +2,29 @@ /** * @file - * Tests for Libraries API. + * Contains LibrariesLoadWebTest. + * + * Simpletest automatically discovers test files using PSR-4. We cannot, + * however, declare a namespace for this class, as that would require PHP 5.3. + * To prepare the PHP 5.3 requirement and the usage of PSR-4 in 7.x-3.x, we + * place the test files in the correct directory already, but for now register + * them explicitly in libraries.info */ /** - * Tests basic Libraries API functions. + * Tests basic detection and loading of libraries. */ -class LibrariesUnitTestCase extends DrupalUnitTestCase { - public static function getInfo() { - return array( - 'name' => 'Libraries API unit tests', - 'description' => 'Tests basic functions provided by Libraries API.', - 'group' => 'Libraries API', - ); - } - - function setUp() { - drupal_load('module', 'libraries'); - parent::setUp(); - } - - /** - * Tests libraries_get_path(). - */ - function testLibrariesGetPath() { - // Note that, even though libraries_get_path() doesn't find the 'example' - // library, we are able to make it 'installed' by specifying the 'library - // path' up-front. This is only used for testing purposed and is strongly - // discouraged as it defeats the purpose of Libraries API in the first - // place. - $this->assertEqual(libraries_get_path('example'), FALSE, 'libraries_get_path() returns FALSE for a missing library.'); - } +class LibrariesLoadWebTest extends LibrariesWebTestBase { /** - * Tests libraries_prepare_files(). + * Provides metadata about this test. + * + * @return array + * An array of test metadata with the following keys: + * - name: The name of the test. + * - description: The description of the test. + * - group: The group of the test. */ - function testLibrariesPrepareFiles() { - $expected = array( - 'files' => array( - 'js' => array('example.js' => array()), - 'css' => array('example.css' => array()), - 'php' => array('example.php' => array()), - ), - ); - $library = array( - 'files' => array( - 'js' => array('example.js'), - 'css' => array('example.css'), - 'php' => array('example.php'), - ), - ); - libraries_prepare_files($library, NULL, NULL); - $this->assertEqual($expected, $library, 'libraries_prepare_files() works correctly.'); - } -} - -/** - * Tests basic detection and loading of libraries. - */ -class LibrariesTestCase extends DrupalWebTestCase { - protected $profile = 'testing'; - public static function getInfo() { return array( 'name' => 'Libraries detection and loading', @@ -71,15 +33,10 @@ class LibrariesTestCase extends DrupalWebTestCase { ); } - function setUp() { - parent::setUp('libraries', 'libraries_test_module'); - theme_enable(array('libraries_test_theme')); - } - /** * Tests libraries_detect_dependencies(). */ - function testLibrariesDetectDependencies() { + public function testLibrariesDetectDependencies() { $library = array( 'name' => 'Example', 'dependencies' => array('example_missing'), @@ -158,7 +115,7 @@ class LibrariesTestCase extends DrupalWebTestCase { /** * Tests libraries_scan_info_files(). */ - function testLibrariesScanInfoFiles() { + public function testLibrariesScanInfoFiles() { $expected = array('example_info_file' => (object) array( 'uri' => drupal_get_path('module', 'libraries') . '/tests/libraries/example_info_file.libraries.info', 'filename' => 'example_info_file.libraries.info', @@ -171,7 +128,7 @@ class LibrariesTestCase extends DrupalWebTestCase { /** * Tests libraries_info(). */ - function testLibrariesInfo() { + public function testLibrariesInfo() { // Test that modules can provide and alter library information. $info = libraries_info(); $this->assertTrue(isset($info['example_module'])); @@ -226,7 +183,7 @@ class LibrariesTestCase extends DrupalWebTestCase { /** * Tests libraries_detect(). */ - function testLibrariesDetect() { + public function testLibrariesDetect() { // Test missing library. $library = libraries_detect('example_missing'); $this->verbose('<pre>' . var_export($library, TRUE) . '</pre>'); @@ -306,10 +263,24 @@ class LibrariesTestCase extends DrupalWebTestCase { $this->assertEqual($library['variants']['example_variant']['installed'], TRUE, 'Existing variant found.'); } + /** + * Tests libraries_detect() without a $name parameter. + */ + public function testLibrariesDetectAll() { + // Test that an array with all library information is returned and that the + // libraries are properly detected. + $libraries = libraries_detect(); + $this->verbose('<pre>' . var_export($libraries, TRUE) . '</pre>'); + $this->assertEqual($libraries['example_missing']['error'], 'not found'); + $this->assertEqual($libraries['example_undetected_version']['error'], 'not detected'); + $this->assertEqual($libraries['example_unsupported_version']['error'], 'not supported'); + $this->assertEqual($libraries['example_supported_version']['installed'], TRUE); + } + /** * Tests libraries_load(). */ - function testLibrariesLoad() { + public function testLibrariesLoad() { // Test dependencies. $library = libraries_load('example_dependency_missing'); $this->verbose('<pre>' . var_export($library, TRUE) . '</pre>'); @@ -334,7 +305,7 @@ class LibrariesTestCase extends DrupalWebTestCase { /** * Tests the applying of callbacks. */ - function testCallbacks() { + public function testCallbacks() { $expected = array( 'name' => 'Example callback', 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', @@ -453,7 +424,7 @@ class LibrariesTestCase extends DrupalWebTestCase { * * @see _libraries_test_module_load() */ - function testLibrariesOutput() { + public function testLibrariesOutput() { // Test loading of a simple library with a top-level files property. $this->drupalGet('libraries-test-module/files'); $this->assertLibraryFiles('example_1', 'File loading'); @@ -527,7 +498,7 @@ class LibrariesTestCase extends DrupalWebTestCase { * (optional) The expected file extensions of $name. Defaults to * array('js', 'css', 'php'). */ - function assertLibraryFiles($name, $label = '', $extensions = array('js', 'css', 'php')) { + public function assertLibraryFiles($name, $label = '', $extensions = array('js', 'css', 'php')) { $label = ($label !== '' ? "$label: " : ''); // Test that the wrong files are not loaded... @@ -570,4 +541,3 @@ class LibrariesTestCase extends DrupalWebTestCase { } } - diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesUnitTest.test b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesUnitTest.test new file mode 100644 index 0000000000000000000000000000000000000000..cd5d30a2c5555747c57484d8c69f6d44db200f53 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesUnitTest.test @@ -0,0 +1,78 @@ +<?php + +/** + * @file + * Contains LibrariesUnitTest. + * + * Simpletest automatically discovers test files using PSR-4. We cannot, + * however, declare a namespace for this class, as that would require PHP 5.3. + * To prepare the PHP 5.3 requirement and the usage of PSR-4 in 7.x-3.x, we + * place the test files in the correct directory already, but for now register + * them explicitly in libraries.info. + */ + +/** + * Tests basic Libraries API functions. + */ +class LibrariesUnitTest extends DrupalUnitTestCase { + + /** + * Provides metadata about this test. + * + * @return array + * An array of test metadata with the following keys: + * - name: The name of the test. + * - description: The description of the test. + * - group: The group of the test. + */ + public static function getInfo() { + return array( + 'name' => 'Libraries API unit tests', + 'description' => 'Tests basic functions provided by Libraries API.', + 'group' => 'Libraries API', + ); + } + + /** + * {@inheritdoc} + */ + protected function setUp() { + drupal_load('module', 'libraries'); + parent::setUp(); + } + + /** + * Tests libraries_get_path(). + */ + public function testLibrariesGetPath() { + // Note that, even though libraries_get_path() doesn't find the 'example' + // library, we are able to make it 'installed' by specifying the 'library + // path' up-front. This is only used for testing purposed and is strongly + // discouraged as it defeats the purpose of Libraries API in the first + // place. + $this->assertEqual(libraries_get_path('example'), FALSE, 'libraries_get_path() returns FALSE for a missing library.'); + } + + /** + * Tests libraries_prepare_files(). + */ + public function testLibrariesPrepareFiles() { + $expected = array( + 'files' => array( + 'js' => array('example.js' => array()), + 'css' => array('example.css' => array()), + 'php' => array('example.php' => array()), + ), + ); + $library = array( + 'files' => array( + 'js' => array('example.js'), + 'css' => array('example.css'), + 'php' => array('example.php'), + ), + ); + libraries_prepare_files($library, NULL, NULL); + $this->assertEqual($expected, $library, 'libraries_prepare_files() works correctly.'); + } + +} diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesWebTestBase.test b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesWebTestBase.test new file mode 100644 index 0000000000000000000000000000000000000000..094534cee38469f237371916480979ee9f8d994b --- /dev/null +++ b/profiles/wcm_base/modules/contrib/libraries/tests/LibrariesWebTestBase.test @@ -0,0 +1,64 @@ +<?php + +/** + * @file + * Contains LibrariesWebTestBase. + * + * Simpletest automatically discovers test files using PSR-4. We cannot, + * however, declare a namespace for this class, as that would require PHP 5.3. + * To prepare the PHP 5.3 requirement and the usage of PSR-4 in 7.x-3.x, we + * place the test files in the correct directory already, but for now register + * them explicitly in libraries.info + */ + +/** + * Base class for Libraries API web tests. + */ +abstract class LibrariesWebTestBase extends DrupalWebTestCase { + + /** + * {@inheritdoc} + */ + protected $profile = 'testing'; + + /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp('libraries', 'libraries_test_module'); + theme_enable(array('libraries_test_theme')); + } + + /** + * Retrieves a path making sure a set of permissions is required to access it. + * + * After calling this method, a user with the given permissions is logged in + * and the retrieved page is loaded into the internal browser. + * + * @param array $permissions + * An array of permission names to assign to user. Note that the user always + * has the default permissions derived from the "authenticated users" role. + * @param string $path + * Drupal path or URL to load into the internal browser. + * @param array $options + * Options to be forwarded to url(). + * @param array $headers + * An array containing additional HTTP request headers, each formatted as + * "name: value". + * + * @return string + * The retrieved HTML string, also available as $this->drupalGetContent(). + * + * @see \DrupalWebTestCase::drupalGet() + * @see \DrupalWebTestCase::drupalCreateUser() + */ + protected function getWithPermissions(array $permissions, $path, array $options = array(), array $headers = array()) { + $this->drupalGet($path, $options, $headers); + $this->assertResponse(403); + + $this->drupalLogin($this->drupalCreateUser($permissions)); + $this->drupalGet($path, $options, $headers); + $this->assertResponse(200); + } + +} diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/libraries/example_info_file.libraries.info b/profiles/wcm_base/modules/contrib/libraries/tests/libraries/example_info_file.libraries.info index 59475b4eb684ae4c0a848a3bf4dfa8fcf419504a..111527314938ac9741d7d616989a373123ee02a7 100644 --- a/profiles/wcm_base/modules/contrib/libraries/tests/libraries/example_info_file.libraries.info +++ b/profiles/wcm_base/modules/contrib/libraries/tests/libraries/example_info_file.libraries.info @@ -2,9 +2,9 @@ name = Example info file -; Information added by Drupal.org packaging script on 2014-02-09 -version = "7.x-2.2" +; Information added by Drupal.org packaging script on 2016-05-12 +version = "7.x-2.3" core = "7.x" project = "libraries" -datestamp = "1391965716" +datestamp = "1463077450" diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.info b/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.info index 450a0a20c2b5bcdf16a4a8e0ec48c4a73697eb38..7ad319a2f3a8b688a58083f163c507f3001c64c2 100644 --- a/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.info +++ b/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.info @@ -5,9 +5,9 @@ package = Testing dependencies[] = libraries hidden = TRUE -; Information added by Drupal.org packaging script on 2014-02-09 -version = "7.x-2.2" +; Information added by Drupal.org packaging script on 2016-05-12 +version = "7.x-2.3" core = "7.x" project = "libraries" -datestamp = "1391965716" +datestamp = "1463077450" diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.module b/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.module index 65f412ece25a5dfb712470468fd858cd34319705..51d07c981e073491db28990415d039a9b5b7ced2 100644 --- a/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.module +++ b/profiles/wcm_base/modules/contrib/libraries/tests/modules/libraries_test_module/libraries_test_module.module @@ -18,6 +18,9 @@ function libraries_test_module_libraries_info() { // Test library detection. $libraries['example_missing'] = array( 'name' => 'Example missing', + // Provide a vendor and download URL to test that the UI links to it. + 'vendor url' => 'http://example.com', + 'download url' => 'http://example.com/download', 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/missing', ); $libraries['example_undetected_version'] = array( @@ -28,6 +31,8 @@ function libraries_test_module_libraries_info() { ); $libraries['example_unsupported_version'] = array( 'name' => 'Example unsupported version', + // Provide a download URL to test that the UI links to it. + 'download url' => 'http://example.com/download', 'library path' => drupal_get_path('module', 'libraries') . '/tests/libraries/example', 'version callback' => '_libraries_test_module_return_version', 'version arguments' => array('1'), diff --git a/profiles/wcm_base/modules/contrib/libraries/tests/themes/libraries_test_theme/libraries_test_theme.info b/profiles/wcm_base/modules/contrib/libraries/tests/themes/libraries_test_theme/libraries_test_theme.info index 7528416be0fc909c2a541b6e087513b201c2dd16..255d1040ef4171166e03b157e4300e9ce3cb084c 100644 --- a/profiles/wcm_base/modules/contrib/libraries/tests/themes/libraries_test_theme/libraries_test_theme.info +++ b/profiles/wcm_base/modules/contrib/libraries/tests/themes/libraries_test_theme/libraries_test_theme.info @@ -3,9 +3,9 @@ description = Tests that themes can provide and alter library information. core = 7.x hidden = TRUE -; Information added by Drupal.org packaging script on 2014-02-09 -version = "7.x-2.2" +; Information added by Drupal.org packaging script on 2016-05-12 +version = "7.x-2.3" core = "7.x" project = "libraries" -datestamp = "1391965716" +datestamp = "1463077450" diff --git a/profiles/wcm_base/modules/contrib/media_vimeo/PATCHES.txt b/profiles/wcm_base/modules/contrib/media_vimeo/PATCHES.txt index 804e03144e2da21292104471ada8434606a09166..a0eace9b79203c163ce2a81375d26870cf18b784 100644 --- a/profiles/wcm_base/modules/contrib/media_vimeo/PATCHES.txt +++ b/profiles/wcm_base/modules/contrib/media_vimeo/PATCHES.txt @@ -1,4 +1,5 @@ The following patches have been applied to this project: - https://www.drupal.org/files/issues/no_exception_handling-2446199-1.patch +- https://www.drupal.org/files/issues/media_vimeo_https-2913855-3.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaInternetVimeoHandler.inc b/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaInternetVimeoHandler.inc index 3a1ce094f8a349a8e662e4d2eb9c9c1b0728a71d..bd40bcfaded0c175d9c51c24d7c863a8c7ef06c1 100644 --- a/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaInternetVimeoHandler.inc +++ b/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaInternetVimeoHandler.inc @@ -66,7 +66,7 @@ class MediaInternetVimeoHandler extends MediaInternetBaseHandler { public function getOEmbed() { $uri = $this->parse($this->embedCode); $external_url = file_create_url($uri); - $oembed_url = url('http://vimeo.com/api/oembed.json', array('query' => array('url' => $external_url))); + $oembed_url = url('https://vimeo.com/api/oembed.json', array('query' => array('url' => $external_url))); $response = drupal_http_request($oembed_url); if (!isset($response->error)) { @@ -88,7 +88,7 @@ class MediaInternetVimeoHandler extends MediaInternetBaseHandler { static public function validId($id) { $uri = file_stream_wrapper_uri_normalize('vimeo://v/' . check_plain($id)); $external_url = file_create_url($uri); - $oembed_url = url('http://vimeo.com/api/oembed.json', array('query' => array('url' => $external_url))); + $oembed_url = url('https://vimeo.com/api/oembed.json', array('query' => array('url' => $external_url))); $response = drupal_http_request($oembed_url, array('method' => 'HEAD')); if ($response->code == 401) { diff --git a/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaVimeoStreamWrapper.inc b/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaVimeoStreamWrapper.inc index 5f7be605d7baddf6f4b99400855dc04e73fd5050..27d953adfb66e8ace52eff75533889c07a0e2840 100644 --- a/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaVimeoStreamWrapper.inc +++ b/profiles/wcm_base/modules/contrib/media_vimeo/includes/MediaVimeoStreamWrapper.inc @@ -10,7 +10,7 @@ * $vimeo = new MediaVimeoStreamWrapper('vimeo://v/[video-code]'); */ class MediaVimeoStreamWrapper extends MediaReadOnlyStreamWrapper { - protected $base_url = 'http://vimeo.com'; + protected $base_url = 'https://vimeo.com'; static function getMimeType($uri, $mapping = NULL) { return 'video/vimeo'; @@ -26,7 +26,7 @@ class MediaVimeoStreamWrapper extends MediaReadOnlyStreamWrapper { $parts = $this->get_parameters(); $uri = file_stream_wrapper_uri_normalize('vimeo://v/' . check_plain($parts['v'])); $external_url = file_create_url($uri); - $oembed_url = url('http://vimeo.com/api/oembed.json', array('query' => array('url' => $external_url))); + $oembed_url = url('https://vimeo.com/api/oembed.json', array('query' => array('url' => $external_url))); $response = drupal_http_request($oembed_url); if (!isset($response->error)) { diff --git a/profiles/wcm_base/modules/contrib/module_filter/CHANGELOG.txt b/profiles/wcm_base/modules/contrib/module_filter/CHANGELOG.txt index c5c66703b321f8bfcf1a1a671653b5334d4fd1ac..5513831ca951da5f8c99aac0dcab61626f9095e1 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/CHANGELOG.txt +++ b/profiles/wcm_base/modules/contrib/module_filter/CHANGELOG.txt @@ -1,27 +1,38 @@ -Module Filter 7.x-2.x, 2015-02-20 +Module Filter 7.x-2.1, 2017-06-09 --------------------------------- -Simplifying the table rows by hiding version and requirements until a - particular description is clicked. +Issue #2437439 by mikhail.krainiuk, greenSkin, jayhawkfan75: Module Filter does + not care about anchors in permission links. +Issue #2866236 by Munavijayalakshmi, dhruveshdtripathi: Typo error in + README.TXT file. +Issue #2452067 by Madis: Option to show description expanded as default + not working. +Issue #2580791 by makbul_khan8: Coding standards and few function without + help comments. +Issue #2153697 by annya: Disabling option "Number of enabled modules" breaks + tabs functionality. +Issue #1710230 by willvincent: On | Off buttons does not change state with + jquery_update module active. +Added option to show description as expanded by default. +Improved description field so when it is open, interacting with it's contents + does not make it collapse. +Placed collapsed/expanded images inside of module for easier, more reliable + access. +Added option to place version in own column. +Issue #2113191 by joelpittet: Category tabs not working. -Module Filter 7.x-2.x, 2014-09-01 +Module Filter 7.x-2.0, 2015-02-22 --------------------------------- +Simplifying the table rows by hiding version and requirements until a + particular description is clicked. #2235553 by greenSkin: Fixed latest jquery_update breaks module filter. #2304687 by mpdonadio: Fixed Remove hardcoded operations. #2293029 by topsitemakers: Fixed Take header offset into account when selecting a tab. #2290213 by topsitemakers: Minor typo in description - "has no affect" -> "has no effect". - - -Module Filter 7.x-2.0-alpha2, 2013-12-06 ----------------------------------------- #2141743, #2141743 by greenSkin: Fixed issues related to the new dynamically positioned tabs and using the dynamically positioned save button. - - -Module Filter 7.x-2.0-alpha1, 2013-11-18 ----------------------------------------- by greenSkin: Tabs now should always be visible while scrolling large lists of modules. #1854348 by alexweber, greenSkin: Make filter textfield wider on modules page diff --git a/profiles/wcm_base/modules/contrib/module_filter/README.txt b/profiles/wcm_base/modules/contrib/module_filter/README.txt index 0bc967abe884629c54b1afb085a6eb031b2ee7d3..b03d9702aab8649a9891b5dc976fa4f231f46694 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/README.txt +++ b/profiles/wcm_base/modules/contrib/module_filter/README.txt @@ -17,8 +17,8 @@ visibility of modules that are disabled and depend on module(s) that are missing. The update status report filter also contains four checkboxes: Up-to-Date, -Update availabe, Security update, and Unknown. These directly affect the -visibilty of each project; whether it is up-to-date, there is an update +Update available, Security update, and Unknown. These directly affect the +visibility of each project; whether it is up-to-date, there is an update available, a security update is available, or the status is unknown. Installation diff --git a/profiles/wcm_base/modules/contrib/module_filter/css/module_filter.css b/profiles/wcm_base/modules/contrib/module_filter/css/module_filter.css index 19d113fba8bbf278c89f7dc5574251ac96f8792c..b03bbb75524b0532e3e4600264c82345bb2cf7b4 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/css/module_filter.css +++ b/profiles/wcm_base/modules/contrib/module_filter/css/module_filter.css @@ -18,3 +18,9 @@ text-transform: uppercase; color: #888; } +#module-filter-modules { + position: relative; +} +#module-filter-modules table { + position: absolute; +} diff --git a/profiles/wcm_base/modules/contrib/module_filter/css/module_filter_tab.css b/profiles/wcm_base/modules/contrib/module_filter/css/module_filter_tab.css index 2607a6175cae1fde0d2c5b2f42923e9dd5c4abf1..fd7d0f0c4b9a2eed7278eda29399ccdae72a074e 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/css/module_filter_tab.css +++ b/profiles/wcm_base/modules/contrib/module_filter/css/module_filter_tab.css @@ -167,9 +167,6 @@ html.js #module-filter-modules table td { .admin-version { white-space: nowrap; } -.admin-operations { - float: right; -} .admin-operations a.module-link { display: inline; } diff --git a/profiles/wcm_base/modules/contrib/module_filter/css/modules.css b/profiles/wcm_base/modules/contrib/module_filter/css/modules.css index 91fa7418b465cdb7716e374db1808f963c7dc7b7..0659825739f70b10be6d3b8dc4087782649db9af 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/css/modules.css +++ b/profiles/wcm_base/modules/contrib/module_filter/css/modules.css @@ -7,6 +7,9 @@ #system-modules th.name { width: 25%; } +#system-modules th.version { + width: 10%; +} #system-modules th.links { width: 15%; } @@ -14,12 +17,12 @@ vertical-align: top; } #system-modules .expand.inner { - background: transparent url(/misc/menu-collapsed.png) left 0.6em no-repeat; + background: transparent url(../images/collapsed.png) left 0.6em no-repeat; margin-left: -12px; padding-left: 12px; } #system-modules .expanded.expand.inner { - background: transparent url(/misc/menu-expanded.png) left 0.6em no-repeat; + background: transparent url(../images/expanded.png) left 0.6em no-repeat; } #system-modules .description { cursor: pointer; @@ -29,6 +32,9 @@ text-overflow: ellipsis; white-space: nowrap; } +#system-modules .description .inner.expanded > * { + cursor: auto; +} #system-modules .description .requirements, #system-modules .description .links { display: none; diff --git a/profiles/wcm_base/modules/contrib/module_filter/images/collapsed.png b/profiles/wcm_base/modules/contrib/module_filter/images/collapsed.png new file mode 100644 index 0000000000000000000000000000000000000000..91f3fd40ede024798b6de5ea2675bb692a3cfa95 Binary files /dev/null and b/profiles/wcm_base/modules/contrib/module_filter/images/collapsed.png differ diff --git a/profiles/wcm_base/modules/contrib/module_filter/images/expanded.png b/profiles/wcm_base/modules/contrib/module_filter/images/expanded.png new file mode 100644 index 0000000000000000000000000000000000000000..46f39ecb351cff65243fa9a614a69d039e1302a5 Binary files /dev/null and b/profiles/wcm_base/modules/contrib/module_filter/images/expanded.png differ diff --git a/profiles/wcm_base/modules/contrib/module_filter/js/module_filter.js b/profiles/wcm_base/modules/contrib/module_filter/js/module_filter.js index d5f53287b78277b7846cfdbf7814e920a5d3a256..4fcf6e653edcb2b0a12f0b7fc3badb4e13040548 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/js/module_filter.js +++ b/profiles/wcm_base/modules/contrib/module_filter/js/module_filter.js @@ -265,6 +265,9 @@ $.fn.moduleFilter = function(selector, options) { if (Drupal.settings.moduleFilter.setFocus) { filterInput.focus(); } + if (Drupal.settings.moduleFilter.expandedDescription) { + $('#system-modules td.description .inner.expand').addClass('expanded'); + } filterInput.data('moduleFilter', new Drupal.ModuleFilter.Filter(this, selector, options)); }; diff --git a/profiles/wcm_base/modules/contrib/module_filter/js/module_filter_tab.js b/profiles/wcm_base/modules/contrib/module_filter/js/module_filter_tab.js index aa54b9835e9ebf99139d665ffca23a025d5c5a89..967eca60364ce2b9e91e5261b0ddd26bd6b0fe5c 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/js/module_filter_tab.js +++ b/profiles/wcm_base/modules/contrib/module_filter/js/module_filter_tab.js @@ -84,7 +84,7 @@ Drupal.behaviors.moduleFilterTabs = { summary += '<span>' + Drupal.t('No modules were enabled or disabled within the last week.') + '</span>'; } break; - default: + default: var $row = $('#' + id + '-package'); name = $.trim($row.text()); $row.remove(); @@ -242,17 +242,14 @@ Drupal.behaviors.moduleFilterTabs = { if (!$(this).hasClass('disabled')) { if (Drupal.ModuleFilter.jQueryIsNewer()) { $checkbox.click(); + $switch.toggleClass('off'); } else { $checkbox.click().change(); + $switch.toggleClass('off'); } } }); - $checkbox.click(function() { - if (!$switch.hasClass('disabled')) { - $switch.toggleClass('off'); - } - }); }); } diff --git a/profiles/wcm_base/modules/contrib/module_filter/js/modules.js b/profiles/wcm_base/modules/contrib/module_filter/js/modules.js index 7df5f87fc4301c286afd3593700730083ad3bdb8..b0b49391c5637d636f78151540c0d8d834e4d5d2 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/js/modules.js +++ b/profiles/wcm_base/modules/contrib/module_filter/js/modules.js @@ -3,8 +3,13 @@ Drupal.behaviors.moduleFilter = { attach: function(context) { $('#system-modules td.description').once('description', function() { - $('.inner.expand', $(this)).click(function() { - $(this).toggleClass('expanded'); + $(this).click(function() { + $('.inner.expand', $(this)).toggleClass('expanded'); + }); + $('.inner.expand', $(this)).children().click(function(e) { + if ($(this).parent().hasClass('expanded')) { + e.stopPropagation(); + } }); }); diff --git a/profiles/wcm_base/modules/contrib/module_filter/module_filter.admin.inc b/profiles/wcm_base/modules/contrib/module_filter/module_filter.admin.inc index 2345d8dee7fd74b0bcfd6dcd08574a4f17e81c88..cdb3f49f72ad2b3709edc123c33a16a6e4c59fde 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/module_filter.admin.inc +++ b/profiles/wcm_base/modules/contrib/module_filter/module_filter.admin.inc @@ -25,44 +25,44 @@ function module_filter_settings() { '#type' => 'checkbox', '#title' => t('Enhance the modules page with tabs'), '#description' => t('Alternate tabbed theme that restructures packages into tabs.'), - '#default_value' => variable_get('module_filter_tabs', 1) + '#default_value' => variable_get('module_filter_tabs', 1), ); $form['tabs'] = array( '#type' => 'fieldset', '#title' => t('Tabs'), '#description' => t('Settings used with the tabs view of the modules page.'), '#collapsible' => TRUE, - '#collapsed' => FALSE + '#collapsed' => FALSE, ); $form['tabs']['module_filter_count_enabled'] = array( '#type' => 'checkbox', '#title' => t('Number of enabled modules'), '#description' => t('Display the number of enabled modules in the active tab along with the total number of modules.'), - '#default_value' => variable_get('module_filter_count_enabled', 1) + '#default_value' => variable_get('module_filter_count_enabled', 1), ); $form['tabs']['module_filter_visual_aid'] = array( '#type' => 'checkbox', '#title' => t('Visual aids'), '#description' => t('When enabling/disabling modules, the module name will display in the tab summary.<br />When filtering, a count of results for each tab will be presented.'), - '#default_value' => variable_get('module_filter_visual_aid', 1) + '#default_value' => variable_get('module_filter_visual_aid', 1), ); $form['tabs']['module_filter_hide_empty_tabs'] = array( '#type' => 'checkbox', '#title' => t('Hide tabs with no results'), '#description' => t('When a filter returns no results for a tab, the tab is hidden. This is dependent on visual aids being enabled.'), - '#default_value' => variable_get('module_filter_hide_empty_tabs', 0) + '#default_value' => variable_get('module_filter_hide_empty_tabs', 0), ); $form['tabs']['module_filter_dynamic_save_position'] = array( '#type' => 'checkbox', '#title' => t('Dynamically position Save button'), '#description' => t("For sites with lots of tabs, enable to help keep the 'Save configuration' button more accessible."), - '#default_value' => variable_get('module_filter_dynamic_save_position', 1) + '#default_value' => variable_get('module_filter_dynamic_save_position', 1), ); $form['tabs']['module_filter_use_url_fragment'] = array( '#type' => 'checkbox', '#title' => t('Use URL fragment'), '#description' => t('Use URL fragment when navigating between tabs. This lets you use the browsers back/forward buttons to navigate through the tabs you selected.') . '<br />' . t('When the Overlay module is enabled this functionality will not be used since overlay relies on the URL fragment.'), - '#default_value' => variable_get('module_filter_use_url_fragment', 1) + '#default_value' => variable_get('module_filter_use_url_fragment', 1), ); $form['tabs']['module_filter_use_switch'] = array( '#type' => 'checkbox', @@ -82,6 +82,18 @@ function module_filter_settings() { '#description' => t('When enabled, the active tab will be remembered.'), '#default_value' => variable_get('module_filter_remember_active_tab', 1), ); + $form['tabs']['module_filter_version_column'] = array( + '#type' => 'checkbox', + '#title' => t('Place version in own column'), + '#description' => t("Moves the version out of the description and into it's own column"), + '#default_value' => variable_get('module_filter_version_column', 0), + ); + $form['tabs']['module_filter_expanded_description'] = array( + '#type' => 'checkbox', + '#title' => t('Expand description by default'), + '#description' => t('When enabled, the description will be expanded by default.'), + '#default_value' => variable_get('module_filter_expanded_description', 0), + ); $form['update'] = array( '#type' => 'fieldset', diff --git a/profiles/wcm_base/modules/contrib/module_filter/module_filter.info b/profiles/wcm_base/modules/contrib/module_filter/module_filter.info index a48b58f33a7ad94cc5828da5c99697b1d6acde80..a219eebacf0d01684f1b125ee0f6b7281c475618 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/module_filter.info +++ b/profiles/wcm_base/modules/contrib/module_filter/module_filter.info @@ -4,7 +4,6 @@ core = 7.x package = Administration files[] = module_filter.install -files[] = module_filter.js files[] = module_filter.module files[] = module_filter.admin.inc files[] = module_filter.theme.inc @@ -17,9 +16,9 @@ files[] = js/module_filter_tab.js configure = admin/config/user-interface/modulefilter -; Information added by Drupal.org packaging script on 2015-02-22 -version = "7.x-2.0" +; Information added by Drupal.org packaging script on 2017-06-09 +version = "7.x-2.1" core = "7.x" project = "module_filter" -datestamp = "1424631189" +datestamp = "1497029349" diff --git a/profiles/wcm_base/modules/contrib/module_filter/module_filter.install b/profiles/wcm_base/modules/contrib/module_filter/module_filter.install index c39b3d1299f646fd5420756051eaeb0597fafac1..529d836093eb5e2cf6f249f306c9c00953258540 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/module_filter.install +++ b/profiles/wcm_base/modules/contrib/module_filter/module_filter.install @@ -19,6 +19,8 @@ function module_filter_uninstall() { variable_del('module_filter_track_recent_modules'); variable_del('module_filter_remember_active_tab'); variable_del('module_filter_remember_update_state'); + variable_del('module_filter_version_column'); + variable_del('module_filter_expanded_description'); } /** diff --git a/profiles/wcm_base/modules/contrib/module_filter/module_filter.module b/profiles/wcm_base/modules/contrib/module_filter/module_filter.module index 42b39135e860d7b88e7e23ae7a1fa23cd4892b6f..17059ecea107d5d0463ed2c086dae1431d8a62a6 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/module_filter.module +++ b/profiles/wcm_base/modules/contrib/module_filter/module_filter.module @@ -18,8 +18,8 @@ function module_filter_permission() { return array( 'administer module filter' => array( 'title' => t('Administer Module Filter'), - 'description' => t('Configure how Module Filter performs.') - ) + 'description' => t('Configure how Module Filter performs.'), + ), ); } @@ -33,7 +33,7 @@ function module_filter_menu() { 'access arguments' => array('administer module filter'), 'page callback' => 'drupal_get_form', 'page arguments' => array('module_filter_settings'), - 'file' => 'module_filter.admin.inc' + 'file' => 'module_filter.admin.inc', ); return $items; } @@ -63,32 +63,32 @@ function module_filter_form_system_modules_alter(&$form, &$form_state, $form_id) '#type' => 'module_filter', '#attached' => array( 'js' => array( - drupal_get_path('module', 'module_filter') . '/js/modules.js' - ) - ) + drupal_get_path('module', 'module_filter') . '/js/modules.js' => array('weight' => 1), + ), + ), ); $checkbox_defaults = array( ((isset($_GET['enabled'])) ? $_GET['enabled'] : 1) ? 'enabled' : '', ((isset($_GET['disabled'])) ? $_GET['disabled'] : 1) ? 'disabled' : '', ((isset($_GET['required'])) ? $_GET['required'] : 1) ? 'required' : '', - ((isset($_GET['unavailable'])) ? $_GET['unavailable'] : 1) ? 'unavailable' : '' + ((isset($_GET['unavailable'])) ? $_GET['unavailable'] : 1) ? 'unavailable' : '', ); $form['module_filter']['show'] = array( '#type' => 'checkboxes', '#default_value' => array_filter($checkbox_defaults), '#options' => array('enabled' => t('Enabled'), 'disabled' => t('Disabled'), 'required' => t('Required'), 'unavailable' => t('Unavailable')), '#prefix' => '<div id="module-filter-show-wrapper">', - '#suffix' => '</div>' + '#suffix' => '</div>', ); if (variable_get('module_filter_tabs', 1)) { - $form['module_filter']['#attached']['css'][] = drupal_get_path('module', 'module_filter') .'/css/module_filter_tab.css'; + $form['module_filter']['#attached']['css'][] = drupal_get_path('module', 'module_filter') . '/css/module_filter_tab.css'; $form['module_filter']['#attached']['library'][] = array('system', 'jquery.bbq'); - $form['module_filter']['#attached']['js'][] = drupal_get_path('module', 'module_filter') .'/js/module_filter_tab.js'; + $form['module_filter']['#attached']['js'][drupal_get_path('module', 'module_filter') . '/js/module_filter_tab.js'] = array('weight' => 2); if (!module_exists('page_actions') && variable_get('module_filter_dynamic_save_position', 1)) { - $form['module_filter']['#attached']['css'][] = drupal_get_path('module', 'module_filter') .'/css/dynamic_position.css'; - $form['module_filter']['#attached']['js'][] = drupal_get_path('module', 'module_filter') .'/js/dynamic_position.js'; + $form['module_filter']['#attached']['css'][] = drupal_get_path('module', 'module_filter') . '/css/dynamic_position.css'; + $form['module_filter']['#attached']['js'][drupal_get_path('module', 'module_filter') . '/js/dynamic_position.js'] = array('weight' => 3); } $form['#attached']['css'][] = drupal_get_path('module', 'module_filter') . '/css/modules.css'; @@ -128,7 +128,7 @@ function module_filter_element_info() { '#process' => array('form_process_module_filter', 'ajax_process_form'), '#weight' => -1, '#tree' => TRUE, - '#theme' => 'module_filter' + '#theme' => 'module_filter', ); return $types; } @@ -153,6 +153,18 @@ function module_filter_theme() { ); } +/** + * Create and add new textfield element. + * + * @param $element + * An associative array containing the properties and children of the + * form actions container. + * @param $form_state + * The $form_state array for the form this element belongs to. + * + * @return + * The processed element. + */ function form_process_module_filter($element, &$form_state) { $element['name'] = array( '#type' => 'textfield', @@ -163,7 +175,7 @@ function form_process_module_filter($element, &$form_state) { '#attributes' => ((isset($element['#attributes'])) ? $element['#attributes'] : array()) + array('autocomplete' => 'off'), '#attached' => array( 'css' => array( - drupal_get_path('module', 'module_filter') . '/css/module_filter.css' + drupal_get_path('module', 'module_filter') . '/css/module_filter.css', ), 'js' => array( 'misc/jquery.cookie.js', @@ -182,12 +194,13 @@ function form_process_module_filter($element, &$form_state) { 'trackRecent' => variable_get('module_filter_track_recent_modules', 1), 'rememberActiveTab' => variable_get('module_filter_remember_active_tab', 1), 'rememberUpdateState' => variable_get('module_filter_remember_update_state', 0), - ) + 'expandedDescription' => variable_get('module_filter_expanded_description', 0), + ), ), - 'type' => 'setting' - ) - ) - ) + 'type' => 'setting', + ), + ), + ), ); if (isset($element['#description'])) { $element['name']['#description'] = $element['#description']; @@ -195,15 +208,18 @@ function form_process_module_filter($element, &$form_state) { return $element; } +/** + * Form submission handler to filters module list. + */ function module_filter_system_modules_submit_redirect($form, &$form_state) { $query = array(); if (!empty($form_state['values']['module_filter']['name'])) { $query['filter'] = $form_state['values']['module_filter']['name']; } - $query['enabled'] = (int)(!empty($form_state['values']['module_filter']['show']['enabled'])); - $query['disabled'] = (int)(!empty($form_state['values']['module_filter']['show']['disabled'])); - $query['required'] = (int)(!empty($form_state['values']['module_filter']['show']['required'])); - $query['unavailable'] = (int)(!empty($form_state['values']['module_filter']['show']['unavailable'])); + $query['enabled'] = (int) (!empty($form_state['values']['module_filter']['show']['enabled'])); + $query['disabled'] = (int) (!empty($form_state['values']['module_filter']['show']['disabled'])); + $query['required'] = (int) (!empty($form_state['values']['module_filter']['show']['required'])); + $query['unavailable'] = (int) (!empty($form_state['values']['module_filter']['show']['unavailable'])); $form_state['redirect'] = array( 'admin/modules', @@ -211,6 +227,9 @@ function module_filter_system_modules_submit_redirect($form, &$form_state) { ); } +/** + * Form submission handler to track recently enabled/disabled modules + */ function module_filter_system_modules_submit_recent($form, &$form_state) { $recent_modules = variable_get('module_filter_recent_modules', array()); @@ -225,6 +244,11 @@ function module_filter_system_modules_submit_recent($form, &$form_state) { variable_set('module_filter_recent_modules', $recent_modules); } +/** + * Create list of newly added modules (within a week) + * @return + * An array of newly added modules. + */ function module_filter_new_modules() { // Get current list of modules. $files = system_rebuild_module_data(); @@ -249,12 +273,24 @@ function module_filter_new_modules() { return $new_modules; } +/** + * Function to replace special characters with hyphen. + * @param string $text + * @return + * String + */ function module_filter_get_id($text) { $id = strtolower($text); $id = preg_replace('/([^a-z0-9]+)/', '-', $id); return trim($id, '-'); } +/** + * Function to return true/false depending on module changed time and a week timestamp + * @param integer $var + * @return + * Boolean indicating + */ function module_filter_recent_filter($var) { - return (!($var < REQUEST_TIME - 60*60*24*7)); + return (!($var < REQUEST_TIME - 60 * 60 * 24 * 7)); } diff --git a/profiles/wcm_base/modules/contrib/module_filter/module_filter.pages.inc b/profiles/wcm_base/modules/contrib/module_filter/module_filter.pages.inc index a4c234950384c25749991a1a23c7f86475563bac..a18fbc5f8405c124777946fde08f53372e255a20 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/module_filter.pages.inc +++ b/profiles/wcm_base/modules/contrib/module_filter/module_filter.pages.inc @@ -1,5 +1,9 @@ <?php +/** + * @file + */ + /** * Wrapper function for update_status(). * @@ -12,20 +16,23 @@ function module_filter_update_status() { return array( 'module_filter' => drupal_get_form('module_filter_update_status_form'), 'update_report' => array( - '#markup' => $update_report - ) + '#markup' => $update_report, + ), ); } +/** + * Form builder for the module filter form. + */ function module_filter_update_status_form($form, &$form_state) { $form['module_filter'] = array( '#type' => 'module_filter', '#attached' => array( 'css' => array( - drupal_get_path('module', 'module_filter') . '/css/update_status.css' + drupal_get_path('module', 'module_filter') . '/css/update_status.css', ), 'js' => array( - drupal_get_path('module', 'module_filter') . '/js/update_status.js' + drupal_get_path('module', 'module_filter') . '/js/update_status.js', ), ), ); @@ -34,7 +41,7 @@ function module_filter_update_status_form($form, &$form_state) { '#default_value' => (isset($_GET['show']) && in_array($_GET['show'], array('all', 'updates', 'security', 'unknown'))) ? $_GET['show'] : 'all', '#options' => array('all' => t('All'), 'updates' => t('Update available'), 'security' => t('Security update'), 'unknown' => t('Unknown')), '#prefix' => '<div id="module-filter-show-wrapper">', - '#suffix' => '</div>' + '#suffix' => '</div>', ); if (module_exists('update_advanced')) { $options = $form['module_filter']['show']['#options']; diff --git a/profiles/wcm_base/modules/contrib/module_filter/module_filter.theme.inc b/profiles/wcm_base/modules/contrib/module_filter/module_filter.theme.inc index b199bedfeeed86a46ef2bd1a256e55ea7dd06c11..2d00ab78ea7a806b67109efc3f8485571dea890f 100644 --- a/profiles/wcm_base/modules/contrib/module_filter/module_filter.theme.inc +++ b/profiles/wcm_base/modules/contrib/module_filter/module_filter.theme.inc @@ -37,6 +37,9 @@ function theme_module_filter_system_modules_tabs($variables) { array('data' => t('Description'), 'class' => array('description')), array('data' => t('Links'), 'class' => array('links')), ); + if (variable_get('module_filter_version_column', 0)) { + array_splice($header, 2, 0, array(array('data' => t('Version'), 'class' => array('version')))); + } $package_ids = array('all'); $enabled['all'] = array(); @@ -101,11 +104,18 @@ function theme_module_filter_system_modules_tabs($variables) { } $row[] = array('class' => array('name'), 'data' => $label . '><strong>' . drupal_render($module['name']) . '</strong> <span class="module-machine-name">(' . $key . ')</span></label>'); + if (variable_get('module_filter_version_column', 0) && $version) { + $row[] = array('class' => array('version'), 'data' => drupal_render($module['version'])); + } + // Add the description, along with any modules it requires. + if (empty($module['description']['#markup'])) { + $module['description']['#markup'] = '<em>' . t('No description available.') . '</em>'; + } $description = '<span class="details"><span class="text">' . drupal_render($module['description']) . '</span></span>'; - if ($version || $requires || $required_by) { + if ($requires || $required_by || (!variable_get('module_filter_version_column', 0) && $version)) { $description .= '<div class="requirements">'; - if ($version) { + if (!variable_get('module_filter_version_column', 0) && $version) { $description .= '<div class="admin-requirements">' . t('Version: !module-version', array('!module-version' => drupal_render($module['version']))) . '</div>'; } if ($requires) { @@ -136,21 +146,20 @@ function theme_module_filter_system_modules_tabs($variables) { $form['modules'][$package]['#printed'] = TRUE; } - if (variable_get('module_filter_count_enabled', 1)) { - $enabled_counts = array(); - foreach ($enabled as $package_id => $value) { - $enabled_counts[$package_id] = array( - 'enabled' => count(array_filter($value)), - 'total' => count($value), - ); - } - drupal_add_js(array( - 'moduleFilter' => array( - 'packageIDs' => $package_ids, - 'enabledCounts' => $enabled_counts, - ) - ), 'setting'); + //Get packages and count number of modules + $enabled_counts = array(); + foreach ($enabled as $package_id => $value) { + $enabled_counts[$package_id] = array( + 'enabled' => count(array_filter($value)), + 'total' => count($value), + ); } + drupal_add_js(array( + 'moduleFilter' => array( + 'packageIDs' => $package_ids, + 'enabledCounts' => $enabled_counts, + ) + ), 'setting'); // Add first and last class to rows. $rows[0]['class'][] = 'first'; @@ -165,6 +174,12 @@ function theme_module_filter_system_modules_tabs($variables) { return $output; } +/** + * Theme function for module filter operations. + * @param $variables + * @return + * HTML for admin status operations. + */ function theme_module_filter_operations(&$vars) { $links = &$vars['links']; $dropbutton = $vars['dropbutton']; @@ -174,16 +189,19 @@ function theme_module_filter_operations(&$vars) { if ($dropbutton) { hide($links[$key]); if (!empty($links[$key]['#href'])) { - $operations[] = array( + $operations[$key] = array( 'title' => $links[$key]['#title'], 'href' => $links[$key]['#href'], ); + if (isset($links[$key]['#options'])) { + $operations[$key] += $links[$key]['#options']; + } } } else { $data = drupal_render($links[$key]); if (!empty($data)) { - $operations[] = array('data' => $data); + $operations[$key] = array('data' => $data); } } } diff --git a/profiles/wcm_base/modules/contrib/search_api/CHANGELOG.txt b/profiles/wcm_base/modules/contrib/search_api/CHANGELOG.txt index 0084fe0dddcc00f04692dd04312c68658ea8d9a4..24c120fed14d856b4db70fd6b8a2e4e5d257bcd4 100644 --- a/profiles/wcm_base/modules/contrib/search_api/CHANGELOG.txt +++ b/profiles/wcm_base/modules/contrib/search_api/CHANGELOG.txt @@ -1,3 +1,46 @@ +Search API 1.24 (2018-04-05): +----------------------------- +- #2958201 by jcnventura, drunken monkey: Reverted issue #2566529: Added + support for the "Content access" processor for "Multiple types" indexes. + +Search API 1.23 (2018-03-31): +----------------------------- +- #2949562 by DamienMcKenna, drunken monkey: Fixed stemming of multi-word + tokens. +- #1903004 by AndyF, joseph.olstad, drunken monkey: Fixed errors at feature + module installation in certain edge cases. +- #2889989 by kevineinarsson, drunken monkey, kristofferwiklund: Fixed + highlighting for text with multi-byte characters. +- #1393064 by xlyz, drunken monkey, jannis: Fixed handling of empty facet + filters. +- #2927692 by drunken monkey, Kristi Wachter: Fixed exposed grouped Views + options filters. +- #2928769 by jannis, drunken monkey: Fixed Views cache not being cleared when + enabling indexes. +- #2566529 by Dylan Donkersgoed, drunken monkey, joachim, swirt: Added support + for the "Content access" processor for "Multiple types" indexes. +- #2905445 by ciss, drunken monkey: Fixed error handling in Views term filter + handler. +- #2904268 by pobster, drunken monkey: Added support for language hierarchy in + Views. + +Search API 1.22 (2017-07-18): +----------------------------- +- #1710212 by drunken monkey: Added a data alteration for indexing a user's + content. +- #2879892 by blacklabel_tom, drunken monkey: Fixed link in description of + "Stemmer" processor. +- #2788593 by drunken monkey: Fixed error in Views query settings for specific + setups. +- #2749963 by drunken monkey: Fixed "Index hierarchy" not having values + numerically indexed. +- #2875793 by drunken monkey: Fixed buggy error handling in Views. +- #2860624 by drunken monkey: Fixed problem with empty words in Views fulltext + filter. +- #2855447 by mparker17, drunken monkey: Added "Separator" option for + aggregated fields of type "Fulltext". +- #2863445 by dbjpanda, drunken monkey: Fixed phrasing in README.txt. + Search API 1.21 (2017-02-23): ----------------------------- - #2780341 by Berdir: Fixed passing of custom ranges to date facets. diff --git a/profiles/wcm_base/modules/contrib/search_api/README.txt b/profiles/wcm_base/modules/contrib/search_api/README.txt index 3943ceec5b81095d58d6c927dd7eadaed37b2d1c..a6264e97b3edbe1f66e411bc8704cabb92536412 100644 --- a/profiles/wcm_base/modules/contrib/search_api/README.txt +++ b/profiles/wcm_base/modules/contrib/search_api/README.txt @@ -31,9 +31,9 @@ Terms as used in this module. Sphinx or any other professional or simple indexing mechanism. Takes care of the details of all operations, especially indexing or searching content. - Server: - One specific place for indexing data, using a set service class. Can - e.g. be some tables in a database, a connection to a Solr server or other - external services, etc. + One specific place for indexing data, using a specific service class. For + example this could be some tables in a database, a connection to a Solr server + or other external services, etc. - Index: A configuration object for indexing data of a specific type. What and how data is indexed is determined by its settings. Also keeps track of which items diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/plugins/facetapi/query_type_term.inc b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/plugins/facetapi/query_type_term.inc index 64d797a72f81aa945a069c0e673f6531e522018a..4c674a8af40e7d809d9f8b818ffe587f2830d75e 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/plugins/facetapi/query_type_term.inc +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/plugins/facetapi/query_type_term.inc @@ -115,7 +115,7 @@ class SearchApiFacetapiTerm extends FacetapiQueryType implements FacetapiQueryTy if ($filter == '!') { $query_filter->condition($field, NULL, $exclude ? '<>' : '='); } - elseif ($filter[0] == '[' && $filter[strlen($filter) - 1] == ']' && ($pos = strpos($filter, ' TO '))) { + elseif ($filter && $filter[0] == '[' && $filter[strlen($filter) - 1] == ']' && ($pos = strpos($filter, ' TO '))) { $lower = trim(substr($filter, 1, $pos)); $upper = trim(substr($filter, $pos + 4, -1)); if ($lower == '*' && $upper == '*') { diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/search_api_facetapi.info b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/search_api_facetapi.info index 022eefc0ee0bfe75d82d1558485856290db27af1..9c80f6e6ed3b9d935615056196d6fe63bbfa422e 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/search_api_facetapi.info +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_facetapi/search_api_facetapi.info @@ -9,9 +9,8 @@ files[] = plugins/facetapi/adapter.inc files[] = plugins/facetapi/query_type_term.inc files[] = plugins/facetapi/query_type_date.inc -; Information added by Drupal.org packaging script on 2017-02-23 -version = "7.x-1.21" +; Information added by Drupal.org packaging script on 2018-04-05 +version = "7.x-1.24" core = "7.x" project = "search_api" -datestamp = "1487844493" - +datestamp = "1522913891" diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_fulltext.inc b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_fulltext.inc index 320adc363c0104921b647e1cfb389c3da1da6410..dcb3e263d83f850b3f35324f0030c660df3baefe 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_fulltext.inc +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_fulltext.inc @@ -121,6 +121,11 @@ class SearchApiViewsHandlerFilterFulltext extends SearchApiViewsHandlerFilterTex $words = preg_split('/\s+/', $input); $quoted = FALSE; foreach ($words as $i => $word) { + $word_length = drupal_strlen($word); + if (!$word_length) { + unset($words[$i]); + continue; + } // Protect quoted strings. if ($quoted && $word[strlen($word) - 1] === '"') { $quoted = FALSE; @@ -130,7 +135,7 @@ class SearchApiViewsHandlerFilterFulltext extends SearchApiViewsHandlerFilterTex $quoted = TRUE; continue; } - if (drupal_strlen($word) < $this->options['min_length']) { + if ($word_length < $this->options['min_length']) { unset($words[$i]); } } diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_language.inc b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_language.inc index a7de5f9465a322986729c7e3f2ae286f3614a0f3..3202cdbc6ba7b9ee4097347cfd303fbea0ea75ea 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_language.inc +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_language.inc @@ -18,10 +18,13 @@ class SearchApiViewsHandlerFilterLanguage extends SearchApiViewsHandlerFilterOpt */ protected function get_value_options() { parent::get_value_options(); - $this->value_options = array( - 'current' => t("Current user's language"), - 'default' => t('Default site language'), - ) + $this->value_options; + $options = array(); + if (module_exists('language_hierarchy')) { + $options['fallback'] = t("Current user's language with fallback"); + } + $options['current'] = t("Current user's language"); + $options['default'] = t('Default site language'); + $this->value_options = $options + $this->value_options; } /** @@ -40,6 +43,11 @@ class SearchApiViewsHandlerFilterLanguage extends SearchApiViewsHandlerFilterOpt elseif ($v == 'default') { $this->value[$i] = language_default('language'); } + elseif ($v == 'fallback' && module_exists('language_hierarchy')) { + $fallbacks = array($language_content->language => $language_content->language); + $fallbacks += array_keys(language_hierarchy_get_ancestors($language_content->language)); + $this->value[$i] = drupal_map_assoc($fallbacks); + } } parent::query(); } diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_options.inc b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_options.inc index c63c07e70e7af8e4eee13321a7b109a5054e1084..3040fb0fb59ffbf231e7498eb8cf8738c5ab05db 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_options.inc +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_options.inc @@ -256,6 +256,32 @@ class SearchApiViewsHandlerFilterOptions extends SearchApiViewsHandlerFilter { return $operator . (($values !== '') ? ' ' . $values : ''); } + /** + * {@inheritdoc} + */ + function accept_exposed_input($input) { + $accepted = parent::accept_exposed_input($input); + + // Grouped filters will have the raw form values structure from the + // checkboxes as the value here. Convert that into the correct array of + // values instead. + if ($accepted && is_array($this->value) && $this->is_a_group()) { + // For some reason, Views thinks it's a good idea to nest the form values + // into a second array in some cases. That one will be numerically indexed + // with just a single entry, though, so it should be relatively easy to + // spot. + if (count($this->value) && isset($this->value[0])) { + $this->value = reset($this->value); + } + $this->value = array_keys(array_filter($this->value)); + if (!$this->value) { + return FALSE; + } + } + + return $accepted; + } + /** * Add this filter to the query. */ diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_taxonomy_term.inc b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_taxonomy_term.inc index f3317cfa154edc5eba0cbbf3e71a15f7208a12e0..51982b0e5c0c007000dcd6fe98ee15dd7de42be6 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_taxonomy_term.inc +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/handler_filter_taxonomy_term.inc @@ -321,9 +321,13 @@ class SearchApiViewsHandlerFilterTaxonomyTerm extends SearchApiViewsHandlerFilte * {@inheritdoc} */ protected function ids_to_strings(array $ids) { + $ids = array_filter($ids); + if (!$ids) { + return ''; + } return implode(', ', db_select('taxonomy_term_data', 'td') ->fields('td', array('name')) - ->condition('td.tid', array_filter($ids)) + ->condition('td.tid', $ids) ->execute() ->fetchCol()); } diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/query.inc b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/query.inc index 4394c5f336c2edb83807831c5dd8e7541f3e10cc..ae58b9a72376cb0b204bd5b59afec29ccd880e10 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/query.inc +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/includes/query.inc @@ -135,7 +135,9 @@ class SearchApiViewsQuery extends views_plugin_query { * The order to sort items in - either 'ASC' or 'DESC'. Defaults to 'ASC'. */ public function add_selector_orderby($selector, $order = 'ASC') { - $this->query->sort($selector, $order); + if (!$this->errors) { + $this->query->sort($selector, $order); + } } /** @@ -213,7 +215,7 @@ class SearchApiViewsQuery extends views_plugin_query { '#default_value' => $this->options['search_api_bypass_access'], ); - if ($this->index->getEntityType()) { + if ($this->index && $this->index->getEntityType()) { $form['entity_access'] = array( '#type' => 'checkbox', '#title' => t('Additional access checks on result entities'), diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.info b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.info index 2ba7ccaa2f1689e50f7ff87433358cb3d34fe69f..82c2f8f399a0bf0fc789370e8dfb7c0d2ce1b482 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.info +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.info @@ -27,9 +27,8 @@ files[] = includes/handler_sort.inc files[] = includes/plugin_cache.inc files[] = includes/query.inc -; Information added by Drupal.org packaging script on 2017-02-23 -version = "7.x-1.21" +; Information added by Drupal.org packaging script on 2018-04-05 +version = "7.x-1.24" core = "7.x" project = "search_api" -datestamp = "1487844493" - +datestamp = "1522913891" diff --git a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.module b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.module index 62fcb944acdf7d6200010cd78b7d723b2f7d917a..a927f082e12da196a253c9d219d6c2509d0fc42b 100644 --- a/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.module +++ b/profiles/wcm_base/modules/contrib/search_api/contrib/search_api_views/search_api_views.module @@ -27,8 +27,11 @@ function search_api_views_search_api_index_insert() { */ function search_api_views_search_api_index_update(SearchApiIndex $index) { // Check whether index was disabled. - if (!$index->enabled && $index->original->enabled) { + $is_enabled = $index->enabled; + $was_enabled = $index->original->enabled; + if (!$is_enabled && $was_enabled) { _search_api_views_index_unavailable($index); + return; } // Check whether the indexed fields changed. @@ -36,7 +39,9 @@ function search_api_views_search_api_index_update(SearchApiIndex $index) { $old_fields = $old_fields['fields']; $new_fields = $index->options + array('fields' => array()); $new_fields = $new_fields['fields']; - if ($old_fields != $new_fields) { + + // If the index was enabled or its fields changed, invalidate the Views cache. + if ($is_enabled != $was_enabled || $old_fields != $new_fields) { views_invalidate_cache(); } } diff --git a/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_aggregation.inc b/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_aggregation.inc index 069c4107375cc034f69fe331ea744534bfdef508..2e744f60f0a0ed1741599b2028f7c37b21c6e0e1 100644 --- a/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_aggregation.inc +++ b/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_aggregation.inc @@ -20,11 +20,23 @@ class SearchApiAlterAddAggregation extends SearchApiAbstractAlterCallback { */ protected $reductionType; + /** + * A separator to use when the aggregation type is 'fulltext'. + * + * Used to temporarily store a string separator when the aggregation type is + * "fulltext", for use in SearchApiAlterAddAggregation::reduce() with + * array_reduce(). + * + * @var string + */ + protected $fulltextReductionSeparator; + public function configurationForm() { $form['#attached']['css'][] = drupal_get_path('module', 'search_api') . '/search_api.admin.css'; $fields = $this->index->getFields(FALSE); $field_options = array(); + $field_properties = array(); foreach ($fields as $name => $field) { $field_options[$name] = check_plain($field['name']); $field_properties[$name] = array( @@ -79,9 +91,23 @@ class SearchApiAlterAddAggregation extends SearchApiAbstractAlterCallback { '#required' => TRUE, ); $form['fields'][$name]['type_descriptions'] = $type_descriptions; + $type_selector = ':input[name="callbacks[search_api_alter_add_aggregation][settings][fields][' . $name . '][type]"]'; foreach (array_keys($types) as $type) { - $form['fields'][$name]['type_descriptions'][$type]['#states']['visible'][':input[name="callbacks[search_api_alter_add_aggregation][settings][fields][' . $name . '][type]"]']['value'] = $type; + $form['fields'][$name]['type_descriptions'][$type]['#states']['visible'][$type_selector]['value'] = $type; } + $form['fields'][$name]['separator'] = array( + '#type' => 'textfield', + '#title' => t('Fulltext separator'), + '#description' => t('For aggregation type "Fulltext", set the text that should be used to separate the aggregated field values. Use "\t" for tabs and "\n" for newline characters.'), + '#default_value' => addcslashes(isset($field['separator']) ? $field['separator'] : "\n\n", "\0..\37\\"), + '#states' => array( + 'visible' => array( + $type_selector => array( + 'value' => 'fulltext', + ), + ), + ), + ); $form['fields'][$name]['fields'] = array_merge($field_properties, array( '#type' => 'checkboxes', '#title' => t('Contained fields'), @@ -125,11 +151,12 @@ class SearchApiAlterAddAggregation extends SearchApiAbstractAlterCallback { return; } foreach ($values['fields'] as $name => $field) { - $fields = $values['fields'][$name]['fields'] = array_values(array_filter($field['fields'])); unset($values['fields'][$name]['actions']); + $fields = $values['fields'][$name]['fields'] = array_values(array_filter($field['fields'])); if ($field['name'] && !$fields) { form_error($form['fields'][$name]['fields'], t('You have to select at least one field to aggregate. If you want to remove an aggregated field, please delete its name.')); } + $values['fields'][$name]['separator'] = stripcslashes($field['separator']); } } @@ -176,6 +203,7 @@ class SearchApiAlterAddAggregation extends SearchApiAbstractAlterCallback { $values = $this->flattenArray($values); $this->reductionType = $field['type']; + $this->fulltextReductionSeparator = isset($field['separator']) ? $field['separator'] : "\n\n"; $item->$name = array_reduce($values, array($this, 'reduce'), NULL); if ($field['type'] == 'count' && !$item->$name) { $item->$name = 0; @@ -192,7 +220,7 @@ class SearchApiAlterAddAggregation extends SearchApiAbstractAlterCallback { public function reduce($a, $b) { switch ($this->reductionType) { case 'fulltext': - return isset($a) ? $a . "\n\n" . $b : $b; + return isset($a) ? $a . $this->fulltextReductionSeparator . $b : $b; case 'sum': return $a + $b; case 'count': diff --git a/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_hierarchy.inc b/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_hierarchy.inc index d69badb6162b9a105290a5db2986cef7ece88f66..b9aada53a59630c5680e32474337f08cd41224b8 100644 --- a/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_hierarchy.inc +++ b/profiles/wcm_base/modules/contrib/search_api/includes/callback_add_hierarchy.inc @@ -108,7 +108,7 @@ class SearchApiAlterAddHierarchy extends SearchApiAbstractAlterCallback { $this->extractHierarchy($child, $prop, $values[$key]); } foreach ($values as $key => $value) { - $item->$key = $value; + $item->$key = array_values($value); } } } diff --git a/profiles/wcm_base/modules/contrib/search_api/includes/callback_user_content.inc b/profiles/wcm_base/modules/contrib/search_api/includes/callback_user_content.inc new file mode 100644 index 0000000000000000000000000000000000000000..168f3ae1c344ebc0ce0db138b45d0ba25762636d --- /dev/null +++ b/profiles/wcm_base/modules/contrib/search_api/includes/callback_user_content.inc @@ -0,0 +1,57 @@ +<?php + +/** + * @file + * Contains SearchApiAlterAddUserContent. + */ + +/** + * Adds the nodes created by the indexed user for indexing. + */ +class SearchApiAlterAddUserContent extends SearchApiAbstractAlterCallback { + + /** + * {@inheritdoc} + */ + public function supportsIndex(SearchApiIndex $index) { + return $index->getEntityType() === 'user'; + } + + /** + * {@inheritdoc} + */ + public function propertyInfo() { + return array( + 'search_api_user_content' => array( + 'label' => t('User content'), + 'description' => t('The nodes created by this user'), + 'type' => 'list<node>', + ), + ); + } + + /** + * {@inheritdoc} + */ + public function alterItems(array &$items) { + $uids = array(); + foreach ($items as $item) { + $uids[] = $item->uid; + } + + $sql = 'SELECT nid, uid FROM {node} WHERE uid IN (:uids)'; + $nids = db_query($sql, array(':uids' => $uids)); + $user_nodes = array(); + foreach ($nids as $row) { + $user_nodes[$row->uid][] = $row->nid; + } + + foreach ($items as $item) { + $item->search_api_user_content = array(); + if (!empty($user_nodes[$item->uid])) { + $item->search_api_user_content = $user_nodes[$item->uid]; + } + } + } + +} diff --git a/profiles/wcm_base/modules/contrib/search_api/includes/processor_highlight.inc b/profiles/wcm_base/modules/contrib/search_api/includes/processor_highlight.inc index 5b41949153806bd209b1898bc92e533daf13614c..04be02b6697bd41b732ac29455bb87be901d6c71 100644 --- a/profiles/wcm_base/modules/contrib/search_api/includes/processor_highlight.inc +++ b/profiles/wcm_base/modules/contrib/search_api/includes/processor_highlight.inc @@ -351,7 +351,8 @@ class SearchApiHighlight extends SearchApiAbstractProcessor { } } else { - $p = stripos($text, $key, $included[$key]); + $function = function_exists('mb_stripos') ? 'mb_stripos' : 'stripos'; + $p = $function($text, $key, $included[$key]); } // Now locate a space in front (position $q) and behind it (position $s), // leaving about 60 characters extra before and after for context. diff --git a/profiles/wcm_base/modules/contrib/search_api/includes/processor_stemmer.inc b/profiles/wcm_base/modules/contrib/search_api/includes/processor_stemmer.inc index a6c05489eb724b45081330b003625cb1516d43d4..03d9fb039a2c2f8262ac7551b4577c6b3de3dcf2 100644 --- a/profiles/wcm_base/modules/contrib/search_api/includes/processor_stemmer.inc +++ b/profiles/wcm_base/modules/contrib/search_api/includes/processor_stemmer.inc @@ -24,12 +24,11 @@ class SearchApiPorterStemmer extends SearchApiAbstractProcessor { $form = parent::configurationForm(); $args = array( - '!algorithm' => url('https://github.com/markfullmer/porter2'), - '!exclusions' => url('https://github.com/markfullmer/porter2#user-content-custom-exclusions'), + '@algorithm' => url('http://snowball.tartarus.org/algorithms/english/stemmer.html'), ); $form += array( 'help' => array( - '#markup' => '<p>' . t('Optionally, provide an exclusion list to override the stemmer algorithm. Read about the <a href="@algorithm">algorithm</a> and <a href="@exclusions">exclusions</a>.', $args) . '</p>', + '#markup' => '<p>' . t('Optionally, provide an exclusion list to override the stemmer algorithm. (<a href="@algorithm">Read about the algorithm</a>.)', $args) . '</p>', ), 'exceptions' => array( '#type' => 'textarea', @@ -66,7 +65,7 @@ class SearchApiPorterStemmer extends SearchApiAbstractProcessor { $stemmed[] = $word; } } - $value = implode('', $stemmed); + $value = implode(' ', $stemmed); } /** diff --git a/profiles/wcm_base/modules/contrib/search_api/search_api.info b/profiles/wcm_base/modules/contrib/search_api/search_api.info index e7317531c989c15dbdc1ecf2f23dcd95ee44443f..1c85bdadc1218f0b66b8156ea48e20e2ef468dc4 100644 --- a/profiles/wcm_base/modules/contrib/search_api/search_api.info +++ b/profiles/wcm_base/modules/contrib/search_api/search_api.info @@ -16,6 +16,7 @@ files[] = includes/callback_language_control.inc files[] = includes/callback_node_access.inc files[] = includes/callback_node_status.inc files[] = includes/callback_role_filter.inc +files[] = includes/callback_user_content.inc files[] = includes/callback_user_status.inc files[] = includes/datasource.inc files[] = includes/datasource_entity.inc @@ -37,9 +38,8 @@ files[] = includes/service.inc configure = admin/config/search/search_api -; Information added by Drupal.org packaging script on 2017-02-23 -version = "7.x-1.21" +; Information added by Drupal.org packaging script on 2018-04-05 +version = "7.x-1.24" core = "7.x" project = "search_api" -datestamp = "1487844493" - +datestamp = "1522913891" diff --git a/profiles/wcm_base/modules/contrib/search_api/search_api.module b/profiles/wcm_base/modules/contrib/search_api/search_api.module index 61385c5d3cfa5872f807bcb47a846bb4f3eb78c3..8fe3e2a7cf2e8cd0992538fd4261e5aa10fdd273 100644 --- a/profiles/wcm_base/modules/contrib/search_api/search_api.module +++ b/profiles/wcm_base/modules/contrib/search_api/search_api.module @@ -1025,6 +1025,28 @@ function search_api_search_api_item_type_info() { return $types; } +/** + * Implements hook_module_implements_alter(). + * + * Ensures the item type and service class static caches are invalidated at the + * right time. + */ +function search_api_module_implements_alter(array &$implementations, $hook) { + switch ($hook) { + case 'modules_enabled': + $group = $implementations['search_api']; + unset($implementations['search_api']); + $implementations = array('search_api' => $group) + $implementations; + break; + + case 'modules_disabled': + $group = $implementations['search_api']; + unset($implementations['search_api']); + $implementations['search_api'] = $group; + break; + } +} + /** * Implements hook_modules_enabled(). */ @@ -1103,6 +1125,11 @@ function search_api_search_api_alter_callback_info() { 'description' => t('Exclude unpublished nodes from the index. <strong>Caution:</strong> This only affects the indexed nodes themselves. If an enabled node has references to disabled nodes, those will still be indexed (or displayed) normally.'), 'class' => 'SearchApiAlterNodeStatus', ); + $callbacks['search_api_alter_user_content'] = array( + 'name' => t('Add user content'), + 'description' => t('Allows indexing of nodes (and their fields) created by the indexed user. (Caution: This might lead to performance problems, or even errors during indexing, on larger sites.)'), + 'class' => 'SearchApiAlterAddUserContent', + ); $callbacks['search_api_alter_user_status'] = array( 'name' => t('Exclude blocked users'), 'description' => t('Exclude blocked users from the index. <strong>Caution:</strong> This only affects the indexed users themselves. If an active user account includes a reference to a disabled user, that reference will still be indexed (or displayed) normally.'), diff --git a/profiles/wcm_base/modules/contrib/search_api/search_api.test b/profiles/wcm_base/modules/contrib/search_api/search_api.test index 23f36bcf0789815f44568157e54817c156b16fe2..76a89705ff68b64bfd8bd94a7ee8cdc77612a65c 100644 --- a/profiles/wcm_base/modules/contrib/search_api/search_api.test +++ b/profiles/wcm_base/modules/contrib/search_api/search_api.test @@ -86,6 +86,7 @@ class SearchApiWebTest extends DrupalWebTestCase { * and then run tests on it. */ public function testFramework() { + module_enable(array('search_api_test_2')); $this->drupalLogin($this->drupalCreateUser(array('administer search_api'))); $this->insertItems(); $this->createIndex(); @@ -730,13 +731,17 @@ class SearchApiWebTest extends DrupalWebTestCase { * deleteServer()) and that all associated tables and variables are removed. */ protected function disableModules() { + module_disable(array('search_api_test_2'), FALSE); + $this->assertFalse(module_exists('search_api_test_2'), 'Second test module was successfully disabled.'); module_disable(array('search_api_test'), FALSE); - $this->assertFalse(module_exists('search_api_test'), 'Test module was successfully disabled.'); + $this->assertFalse(module_exists('search_api_test'), 'First test module was successfully disabled.'); module_disable(array('search_api'), FALSE); $this->assertFalse(module_exists('search_api'), 'Search API module was successfully disabled.'); + drupal_uninstall_modules(array('search_api_test_2'), FALSE); + $this->assertEqual(drupal_get_installed_schema_version('search_api_test_2', TRUE), SCHEMA_UNINSTALLED, 'Second test module was successfully uninstalled.'); drupal_uninstall_modules(array('search_api_test'), FALSE); - $this->assertEqual(drupal_get_installed_schema_version('search_api_test', TRUE), SCHEMA_UNINSTALLED, 'Test module was successfully uninstalled.'); + $this->assertEqual(drupal_get_installed_schema_version('search_api_test', TRUE), SCHEMA_UNINSTALLED, 'First test module was successfully uninstalled.'); $this->assertFalse(db_table_exists('search_api_test'), 'Test module table was successfully removed.'); drupal_uninstall_modules(array('search_api'), FALSE); $this->assertEqual(drupal_get_installed_schema_version('search_api', TRUE), SCHEMA_UNINSTALLED, 'Search API module was successfully uninstalled.'); diff --git a/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test.info b/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test.info index 95c999ab72a5cbffc9c51d5f30003be87ab156a7..5286e5ebaabdaa9cc677e15854efc9af8ea7add3 100644 --- a/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test.info +++ b/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test.info @@ -10,9 +10,8 @@ files[] = search_api_test.module hidden = TRUE -; Information added by Drupal.org packaging script on 2017-02-23 -version = "7.x-1.21" +; Information added by Drupal.org packaging script on 2018-04-05 +version = "7.x-1.24" core = "7.x" project = "search_api" -datestamp = "1487844493" - +datestamp = "1522913891" diff --git a/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test_2.info b/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test_2.info new file mode 100644 index 0000000000000000000000000000000000000000..72d47e90ec8f427334a28496e86b73cb89e3411f --- /dev/null +++ b/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test_2.info @@ -0,0 +1,16 @@ +name = Search API test service 2 +description = "A module providing a second test search service." +core = 7.x +package = Search + +dependencies[] = search_api + +files[] = search_api_test_service_2.module + +hidden = TRUE + +; Information added by Drupal.org packaging script on 2018-04-05 +version = "7.x-1.24" +core = "7.x" +project = "search_api" +datestamp = "1522913891" diff --git a/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test_2.module b/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test_2.module new file mode 100644 index 0000000000000000000000000000000000000000..d78a80eb61697e876865a80be478886cf0c63e87 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/search_api/tests/search_api_test_2.module @@ -0,0 +1,136 @@ +<?php + +/** + * @file + * Provides a second test service and server for testing Search API. + */ + +/** + * Implements hook_search_api_service_info(). + */ +function search_api_test_2_search_api_service_info() { + $name = 'search_api_test_service_2'; + $services[$name] = array( + 'name' => $name, + 'description' => 'search_api_test_service_2 description', + 'class' => 'SearchApiDummyService', + ); + return $services; +} + +/** + * Implements hook_default_search_api_server(). + */ +function search_api_test_2_default_search_api_server() { + $id = 'test_server_2'; + $items[$id] = entity_create('search_api_server', array( + 'name' => 'Search API test server 2', + 'machine_name' => $id, + 'enabled' => 1, + 'description' => 'A server used for testing.', + 'class' => 'search_api_test_service_2', + )); + return $items; +} + +/** + * Dummy service for testing. + */ +class SearchApiDummyService implements SearchApiServiceInterface { + + /** + * {@inheritdoc} + */ + public function __construct(\SearchApiServer $server) {} + + /** + * {@inheritdoc} + */ + public function configurationForm(array $form, array &$form_state) { + return array(); + } + + /** + * {@inheritdoc} + */ + public function configurationFormValidate(array $form, array &$values, array &$form_state) {} + + /** + * {@inheritdoc} + */ + public function configurationFormSubmit(array $form, array &$values, array &$form_state) {} + + /** + * {@inheritdoc} + */ + public function supportsFeature($feature) { + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function viewSettings() { + return array(); + } + + /** + * {@inheritdoc} + */ + public function postCreate() {} + + /** + * {@inheritdoc} + */ + public function postUpdate() { + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function preDelete() {} + + /** + * {@inheritdoc} + */ + public function addIndex(SearchApiIndex $index) {} + + /** + * {@inheritdoc} + */ + public function fieldsUpdated(SearchApiIndex $index) { + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function removeIndex($index) {} + + /** + * {@inheritdoc} + */ + public function indexItems(SearchApiIndex $index, array $items) { + return array(); + } + + /** + * {@inheritdoc} + */ + public function deleteItems($ids = 'all', SearchApiIndex $index = NULL) {} + + /** + * {@inheritdoc} + */ + public function query(SearchApiIndex $index, $options = array()) { + throw new SearchApiException("The dummy service doesn't support queries"); + } + + /** + * {@inheritdoc} + */ + public function search(SearchApiQueryInterface $query) { + return array(); + } +} diff --git a/profiles/wcm_base/modules/contrib/simple_gmap/LICENSE.txt b/profiles/wcm_base/modules/contrib/simple_gmap/LICENSE.txt old mode 100755 new mode 100644 diff --git a/profiles/wcm_base/modules/contrib/apps/PATCHES.txt b/profiles/wcm_base/modules/contrib/simple_gmap/PATCHES.txt similarity index 64% rename from profiles/wcm_base/modules/contrib/apps/PATCHES.txt rename to profiles/wcm_base/modules/contrib/simple_gmap/PATCHES.txt index 1896d0650f382f7e3216e8d4154680fc4cbae02c..9b815309d05d4db0673a7c7cd1bd028a1ea588f5 100644 --- a/profiles/wcm_base/modules/contrib/apps/PATCHES.txt +++ b/profiles/wcm_base/modules/contrib/simple_gmap/PATCHES.txt @@ -1,4 +1,4 @@ The following patches have been applied to this project: -- https://www.drupal.org/files/issues/apps-manifest-2753413-3.patch +- https://www.drupal.org/files/issues/simple_gmap-iframe-title-2902178-15.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/profiles/wcm_base/modules/contrib/simple_gmap/README.txt b/profiles/wcm_base/modules/contrib/simple_gmap/README.txt index c92972b5192aca93af79ae05287a60944ea84ebf..d481e431890f830812497034daf61ea7726cf42d 100644 --- a/profiles/wcm_base/modules/contrib/simple_gmap/README.txt +++ b/profiles/wcm_base/modules/contrib/simple_gmap/README.txt @@ -26,9 +26,8 @@ To install and use: - If desired, click the button to change the field display settings. Note: There are no field validation steps in this module, and it just uses a -regular Text field rather than defining its own field (this is the "simple" -part of this module). The display settings let you choose the size of the map, -the text for the map link, the map zoom level (applies to both embedded and -linked map), whether to display information about the address in a bubble, and -to turn on/off the various things you can display. That's pretty much it -(remember: simple is in the name!). +regular Text field rather than defining its own field (this is the "simple" part +of this module). The display settings let you choose the size of the map, the +text for the map link, the map zoom level (applies to both embedded and linked +map), and to turn on/off the various things you can display. That's pretty much +it (remember: simple is in the name!). diff --git a/profiles/wcm_base/modules/contrib/simple_gmap/simple-gmap-output.tpl.php b/profiles/wcm_base/modules/contrib/simple_gmap/simple-gmap-output.tpl.php index 479e4289ace36ccd0c4be6900b9575d2458a5735..796d3db2fabd4c592df6b800e62c408eeec9e5dc 100644 --- a/profiles/wcm_base/modules/contrib/simple_gmap/simple-gmap-output.tpl.php +++ b/profiles/wcm_base/modules/contrib/simple_gmap/simple-gmap-output.tpl.php @@ -13,35 +13,35 @@ * - $url_suffix: Suffix of URLs to send to Google Maps for embedded and linked * maps. Contains the URL-encoded address. * - $zoom: Zoom level for embedded and linked maps. - * - $information_bubble: TRUE if an information bubble should be displayed on - * maps. Note that in the Google Maps URLs, you need to send iwloc=A to use - * a bubble, and iwloc=near to omit the bubble. * - $address_text: Address text to display (empty if it should not be * displayed). * - $map_type: Type of map to use (Google code, such as 'm' or 't'). * - $langcode: Two-letter language code to use. * - $static_map_type: Type of map to use for static map (Google code, such as - * 'roadmap' or 'satellite') + * 'roadmap' or 'satellite'). + * - $iframe_title: Title attribute for iframe. + * - $apikey: Google Maps API key (used for static maps only). * * @ingroup themeable */ if ($include_map) { ?> -<iframe width="<?php print $width; ?>" height="<?php print $height; ?>" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?hl=<?php print $langcode; ?>&q=<?php print $url_suffix; ?>&iwloc=<?php print ($information_bubble ? 'A': 'near'); ?>&z=<?php print $zoom; ?>&t=<?php print $map_type; ?>&output=embed"></iframe> +<iframe width="<?php print $width; ?>" height="<?php print $height; ?>" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?hl=<?php print $langcode; ?>&q=<?php print $url_suffix; ?>&z=<?php print $zoom; ?>&t=<?php print $map_type; ?>&output=embed" title="<?php print $iframe_title; ?>"></iframe> <?php } if ($include_static_map) { $static_w = (int) $width; $static_h = (int) $height; + $static_s = (int) $static_scale; ?> <div class="simple-gmap-static-map"> - <img src="http://maps.googleapis.com/maps/api/staticmap?size=<?php print $static_w; ?>x<?php print $static_h; ?>&zoom=<?php print $zoom; ?>&language=<?php print $langcode; ?>&maptype=<?php print $static_map_type; ?>&markers=color:red|<?php print $url_suffix; ?>&sensor=false" /> + <img src="https://maps.googleapis.com/maps/api/staticmap?size=<?php print $static_w; ?>x<?php print $static_h; ?>&scale=<?php print $static_s; ?>&zoom=<?php print $zoom; ?>&language=<?php print $langcode; ?>&maptype=<?php print $static_map_type; ?>&markers=color:red|<?php print $url_suffix; ?>&sensor=false&key=<?php print $apikey; ?>" /> </div> <?php } if ($include_link) { ?> -<p class="simple-gmap-link"><a href="https://maps.google.com/maps?q=<?php print $url_suffix; ?>&hl=<?php print $langcode; ?>&iwloc=<?php print ($information_bubble ? 'A': 'near'); ?>&z=<?php print $zoom; ?>&t=<?php print $map_type; ?>" target="_blank"><?php print $link_text; ?></a></p> +<p class="simple-gmap-link"><a href="https://maps.google.com/maps?q=<?php print $url_suffix; ?>&hl=<?php print $langcode; ?>&z=<?php print $zoom; ?>&t=<?php print $map_type; ?>" target="_blank"><?php print $link_text; ?></a></p> <?php } if (!empty($address_text)) { diff --git a/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.info b/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.info index 68bd928a7aa987a01723408d8542a890f67cfab7..9ad228f5be9d75d5de33a421f863231866b518b4 100644 --- a/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.info +++ b/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.info @@ -4,9 +4,9 @@ core = 7.x files[] = simple_gmap.module -; Information added by Drupal.org packaging script on 2014-01-03 -version = "7.x-1.2" +; Information added by Drupal.org packaging script on 2017-01-27 +version = "7.x-1.4" core = "7.x" project = "simple_gmap" -datestamp = "1388781572" +datestamp = "1485532686" diff --git a/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.module b/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.module index 04f9412e2b017567018cd777becff24dec90d836..329f6309adabafbc4e0c0054b5791ef624f75a2b 100644 --- a/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.module +++ b/profiles/wcm_base/modules/contrib/simple_gmap/simple_gmap.module @@ -2,7 +2,7 @@ /** * @file - * Simple Google Maps module + * Simple Google Maps module. * * Provides a Google Maps link/map formatter for simple Text fields. Note that * this is just a field formatter for Text fields, not a field. See README.txt @@ -19,7 +19,7 @@ function simple_gmap_field_formatter_info() { $formatters['simple_gmap'] = array( 'label' => t('Google Map from one-line address'), - 'field types' => array('text'), + 'field types' => array('text', 'computed'), 'settings' => array( 'include_map' => 1, 'include_static_map' => 0, @@ -27,11 +27,13 @@ function simple_gmap_field_formatter_info() { 'include_text' => 0, 'iframe_height' => 200, 'iframe_width' => 200, + 'static_scale' => 1, 'zoom_level' => 14, - 'information_bubble' => 1, 'link_text' => t('View larger map'), 'map_type' => 'm', 'langcode' => 'en', + 'iframe_title' => t('Google Map of [address]'), + 'apikey' => '', ), ); @@ -51,14 +53,16 @@ function simple_gmap_theme($existing, $type, $theme, $path) { 'include_text' => FALSE, 'width' => 200, 'height' => 200, + 'static_scale' => 1, 'url_suffix' => '', 'zoom' => 12, 'static_map_type' => 'roadmap', - 'information_bubble' => TRUE, 'link_text' => t('View larger map'), 'address_text' => '', 'map_type' => 'm', 'langcode' => 'en', + 'iframe_title' => t('Google Map of [address]'), + 'apikey' => NULL, ), 'template' => 'simple-gmap-output', ), @@ -78,15 +82,16 @@ function simple_gmap_field_formatter_view($entity_type, $entity, $field, $instan // Figure out what to display for each item we have here. $embed = (int) $display['settings']['include_map'] ? TRUE : FALSE; - $static = (isset($display['settings']['include_static_map']) && (int) $display['settings']['include_static_map'] ) ? TRUE : FALSE; + $static = (isset($display['settings']['include_static_map']) && (int) $display['settings']['include_static_map']) ? TRUE : FALSE; $link = (int) $display['settings']['include_link'] ? TRUE : FALSE; $text = (int) $display['settings']['include_text'] ? TRUE : FALSE; $height = check_plain($display['settings']['iframe_height']); $width = check_plain($display['settings']['iframe_width']); + $static_scale = (int) check_plain($display['settings']['static_scale']); $link_text = $link ? check_plain($display['settings']['link_text']) : ''; - $bubble = $display['settings']['information_bubble'] ? TRUE : FALSE; $zoom_level = (int) $display['settings']['zoom_level']; + $apikey = check_plain($display['settings']['apikey']); // Figure out a language code to use. Google cannot recognize 'und'. $lang_to_use = isset($display['settings']['langcode']) ? check_plain($display['settings']['langcode']) : 'en'; @@ -98,7 +103,12 @@ function simple_gmap_field_formatter_view($entity_type, $entity, $field, $instan } // For some reason, static gmaps accepts a different value for map type. - $static_map_types = array('m' => 'roadmap', 'k' => 'satellite', 'h' => 'hybrid', 'p' => 'terrain'); + $static_map_types = array( + 'm' => 'roadmap', + 'k' => 'satellite', + 'h' => 'hybrid', + 'p' => 'terrain', + ); $map_type = isset($display['settings']['map_type']) ? check_plain($display['settings']['map_type']) : 'm'; // Default to standard map if not recognized. @@ -106,27 +116,36 @@ function simple_gmap_field_formatter_view($entity_type, $entity, $field, $instan $map_type = 'm'; } - foreach($items as $delta => $item) { - $url_value = urlencode(check_plain($item['value'])); + foreach ($items as $delta => $item) { + $url_value = urlencode($item['value']); $address_value = check_plain($item['value']); $address = $text ? $address_value : ''; - $element[$delta] = array('#markup' => theme('simple_gmap_output', array( - 'include_map' => $embed, - 'include_static_map' => $static, - 'include_link' => $link, - 'include_text' => $text, - 'width' => $width, - 'height' => $height, - 'url_suffix' => $url_value, - 'zoom' => $zoom_level, - 'information_bubble' => $bubble, - 'link_text' => ($link_text == 'use_address') ? $address_value : $link_text, - 'address_text' => $address, - 'map_type' => $map_type, - 'langcode' => $lang_to_use, - 'static_map_type' => $static_map_types[$map_type], - ))); + // Set the iframe title attribute. + $iframe_title = check_plain($display['settings']['iframe_title']); + if (!empty($iframe_title) && strpos($iframe_title, '[address]') !== FALSE) { + $iframe_title = str_replace('[address]', $address_value, $iframe_title); + } + + $element[$delta] = array( + '#theme' => 'simple_gmap_output', + '#include_map' => $embed, + '#include_static_map' => $static, + '#include_link' => $link, + '#include_text' => $text, + '#width' => $width, + '#height' => $height, + '#static_scale' => $static_scale, + '#url_suffix' => $url_value, + '#zoom' => $zoom_level, + '#link_text' => ($link_text == 'use_address') ? $address_value : $link_text, + '#address_text' => $address, + '#map_type' => $map_type, + '#langcode' => $lang_to_use, + '#static_map_type' => $static_map_types[$map_type], + '#iframe_title' => $iframe_title, + '#apikey' => $apikey, + ); } return $element; @@ -157,20 +176,45 @@ function simple_gmap_field_formatter_settings_form($field, $instance, $view_mode '#default_value' => (isset($settings['include_static_map'])) ? (int) $settings['include_static_map'] : 0, ); + $element['apikey'] = array( + '#type' => 'textfield', + '#title' => t('Google Maps API key'), + '#default_value' => check_plain($settings['apikey']), + '#description' => t('Static Maps will not work without an API key. See the <a href="https://developers.google.com/maps/documentation/static-maps" target="_blank">Static Maps API page</a> to learn more and obtain a key.'), + ); + $element['iframe_width'] = array( '#title' => t('Width of embedded map'), '#type' => 'textfield', - '#description' => t('Note that static maps only accept sizes in pixels'), + '#description' => t('You can set sizes in px or percent (ex: 600px or 100%). Note that static maps only accept sizes in pixels, without the suffix px (ex: 600).'), '#default_value' => check_plain($settings['iframe_width']), ); $element['iframe_height'] = array( '#title' => t('Height of embedded map'), '#type' => 'textfield', - '#description' => t('Note that static maps only accept sizes in pixels'), + '#description' => t('You can set sizes in px or percent (ex: 600px or 100%). Note that static maps only accept sizes in pixels, without the suffix px (ex: 600).'), '#default_value' => check_plain($settings['iframe_height']), ); + $element['iframe_title'] = array( + '#title' => t('Title of iframe for embedded map'), + '#type' => 'textfield', + '#default_value' => $settings['iframe_title'], + '#description' => t("The embedded map is in an iframe HTML tag, which should have a title attribute for screen readers (not shown on the page). Use [address] to insert the address text in the title."), + ); + + $element['static_scale'] = array( + '#title' => t('Load Retina sized static image'), + '#type' => 'select', + '#description' => t('Choose "Yes" to double the width and height of the static image for use on retina displays. (Only applicable to static map)'), + '#options' => array( + 1 => t('No'), + 2 => t('Yes'), + ), + '#default_value' => (int) $settings['static_scale'], + ); + $element['link_label'] = array( '#type' => 'markup', '#markup' => '<h3>' . t('Link to map') . '</h3>', @@ -223,13 +267,6 @@ function simple_gmap_field_formatter_settings_form($field, $instance, $view_mode '#default_value' => (int) $settings['zoom_level'], ); - $element['information_bubble'] = array( - '#title' => t('Show information bubble'), - '#type' => 'checkbox', - '#description' => t('If checked, the information bubble for the marker will be displayed when the embedded or linked map loads.'), - '#default_value' => (int) $settings['information_bubble'], - ); - $element['include_text'] = array( '#type' => 'checkbox', '#title' => t('Include original address text'), @@ -253,7 +290,7 @@ function simple_gmap_field_formatter_settings_form($field, $instance, $view_mode '#title' => t('Language'), '#type' => 'textfield', '#default_value' => check_plain($settings['langcode']), - '#description' => t("Enter a two-letter language code that Google Maps can recognize, or enter 'page' (without the quotes) to use the current page's Drupal language code"), + '#description' => t("Enter a two-letter language code that Google Maps can recognize, or enter 'page' (without the quotes) to use the current page's language code"), ); return $element; @@ -270,13 +307,11 @@ function simple_gmap_field_formatter_settings_summary($field, $instance, $view_m $settings['include_static_map'] = 0; } - $information_bubble = $settings['information_bubble'] ? t('Yes') : t('No'); - $map_types = array( - 'm' => t('Map'), - 'k' => t('Satellite'), - 'h' => t('Hybrid'), - 'p' => t('Terrain'), + 'm' => t('Map'), + 'k' => t('Satellite'), + 'h' => t('Hybrid'), + 'p' => t('Terrain'), ); $map_type = isset($settings['map_type']) ? check_plain($settings['map_type']) : 'm'; $map_type = isset($map_types[$map_type]) ? $map_types[$map_type] : $map_types['m']; @@ -287,8 +322,18 @@ function simple_gmap_field_formatter_settings_summary($field, $instance, $view_m $summary[] = t('Embedded map: @width x @height', array('@width' => $settings['iframe_width'], '@height' => $settings['iframe_height'])); } if ($settings['include_static_map']) { - $summary[] = t('Static map: @width x @height', array('@width' => $settings['iframe_width'], '@height' => $settings['iframe_height'])); + $summary[] = t('Static map: @width x @height, Scale: @static_scale', + array( + '@width' => $settings['iframe_width'], + '@height' => $settings['iframe_height'], + '@static_scale' => $settings['static_scale'], + )); } + + if ($settings['iframe_title']) { + $summary[] = t('Title attribute of embedded iframe: @iframe_title', array('@iframe_title' => $settings['iframe_title'])); + } + if ($settings['include_link']) { $summary[] = t('Map link: @link_text', array('@link_text' => $settings['link_text'])); } @@ -297,7 +342,6 @@ function simple_gmap_field_formatter_settings_summary($field, $instance, $view_m $language = isset($display['settings']['langcode']) ? check_plain($display['settings']['langcode']) : 'en'; $summary[] = t('Map Type: @map_type', array('@map_type' => $map_type)); $summary[] = t('Zoom Level: @zoom_level', array('@zoom_level' => $settings['zoom_level'])); - $summary[] = t('Information Bubble: @information_bubble', array('@information_bubble' => $information_bubble)); $summary[] = t('Language: @language', array('@language' => $language)); } diff --git a/profiles/wcm_base/modules/contrib/breakpoints/PATCHES.txt b/profiles/wcm_base/modules/contrib/tablefield/PATCHES.txt similarity index 62% rename from profiles/wcm_base/modules/contrib/breakpoints/PATCHES.txt rename to profiles/wcm_base/modules/contrib/tablefield/PATCHES.txt index bd8feba4b63914414c5f1403322f29ef8360d92b..2f8bbc7ae4efd22063c69ed7afe266782c8b80a1 100644 --- a/profiles/wcm_base/modules/contrib/breakpoints/PATCHES.txt +++ b/profiles/wcm_base/modules/contrib/tablefield/PATCHES.txt @@ -1,4 +1,4 @@ The following patches have been applied to this project: -- https://www.drupal.org/files/issues/2415363-breakpoints-menu_rebuild-13.patch +- https://www.drupal.org/files/issues/tablefield-7.x-3.1-duplicate-ids-2923462-14.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/profiles/wcm_base/modules/contrib/tablefield/README.txt b/profiles/wcm_base/modules/contrib/tablefield/README.txt index 762ee4d504f6262e2b32fba1c5399ee99aa4c15d..d9fcb2a090bd586b5bc12bf16cf29f1ecbded7a0 100644 --- a/profiles/wcm_base/modules/contrib/tablefield/README.txt +++ b/profiles/wcm_base/modules/contrib/tablefield/README.txt @@ -1,16 +1,151 @@ -$Id - -README.txt ----------- -This module provides a simple, generic form/widget to input tabular data. The form allows the user to select the number or rows/columns in the table, then enter data via textfields. Since this is a CCK field, it is automatically revision capable, multi-value capable and has prebuilt integration with Views. - -INSTALLATION ------------- -- Copy tablefield directory to /sites/all/modules -- Enable module at /admin/build/modules -- Add a tablefield to an entity at /admin/structure - -AUTHOR/MAINTAINER ------------------ -- Kevin Hankens -- http://www.kevinhankens.com +# TableField # + +Provides a simple, generic form/widget to input tabular data. The form allows +the user to select the number of rows/columns in the table, then enter the data +via textfields. Since this is a field it is revision capable,multi-value +capable and has integration with Views. + + +## INSTALLATION ## + +- Copy tablefield directory to ../sites/all/modules. +- Enable module at ../admin/modules. + + +## GET STARTED ## + +Add a tablefield to any entity: +- For nodes at ../admin/structure/types. Then click 'manage fields' for the + desired content type. +- For users at ../admin/config/people/accounts/fields. +- For taxonomies at ../admin/structure/taxonomy. Then click 'edit vocabulary' + for the desired vocabulary. +- For files using the File Entity (fieldable files) module + (https://www.drupal.org/project/file_entity) at + ../admin/structure/file-types. Then click 'manage fields' for the desired + file type. + + +## FEATURES ## + +### Per table (in Edit mode) ### + +- Change number of rows/columns per table (even within multi-value instances). + Optionally restict that to users with the permission 'Rebuild tablefied' + (see field settings below). +- Rows can be rearranged with drag and drop. +- Upload a CSV file to be converted into a table on the fly. The used + separator can be defined at ../admin/config/content/tablefield. +- Copy paste tables e.g. from Excel. +- Add a table caption. +- Easily remove tables from a multi-value field with the button. Just install + and enable https://www.drupal.org/project/multiple_fields_remove_button. + + +### Per field (field settings) ### + +For nodes field settings for some of the below options can be found through +'manage fields' at ../admin/structure/types. For others entities see above. + +- Restrict rebuilding to users with the permission "rebuild tablefield". +- Lock table header so default values cannot be changed. +- Input type: textfield or textarea. +- Maximum cell length in characters (integer >= 1, max 999999). +- Table cell processing (radios). + * Plain text + * Filtered text (user selects input format) +- Default value for example to create a header on new tables. Can be locked + selecting the appropriate checkbox mentiond above. + + +### Per display mode (display settings) ### + +For nodes display settings for the below options can be found through +'manage display' at ../admin/structure/types. For others entities see above +under 'GET STARTED'. Display options can be set per view mode e.g. 'Default' or +'Teaser'. + +The options of all of the below settings are 'Yes'/'No' (checkbox) unless +stated otherwise. + + +#### Tabular view #### + +- Sticky header +- Sortable (install and enable https://drupal.org/project/tablesorter) +- Hide first row +- Hide empty columns ignoring column header +- Trim empty trailing columns +- Trim empty trailing rows +- Hide empty rows +- Hide empty columns +- Show link to export table data as CSV depending on permission + + +#### Raw data (JSON or XML) #### + +This format is intended to provide table data as a service: + +- directly by enabling the submodule TableField Themeless. It provides + themeless output of a node's tablefield on the path 'node/%/themeless' (HTML, + JSON or XML). +- using a View (e.g. with https://www.drupal.org/project/views_datasource) that + outputs JSON or XML. The Views field settings includes 'Formatter'. +- using a custom service (e.g. with https://www.drupal.org/project/services). + + +When choosing 'Raw data (JSON or XML)' it shows the below options: + +- Wrapper for table data (if applicable) + * tabledata (fixed string) + * Label: [the actual field label] + * Machine name: [the actual field machine name without field_ prefix] + * To provide a custom value install and enable the 'Select (or other)' + module (https://www.drupal.org/project/select_or_other). +- Use first row/column values as array keys (if not empty). (select) + * No + * Header only + * Both first row and first column (two headers) +- Row identifier key +- Vertical header (first column instead of first row) +- Table data only (no caption) +- Encode numeric strings as numbers (for JSON only) +- XML instead of JSON +- How to make field values XML safe? (for XML only) + * Convert special characters to HTML entities (htmlspecialchars) + * Represent field values that contain special characters as a CDATA section + * Represent all field values as a CDATA section + +Using this format for a display mode for a node content type will display the +JSON or XML in pretty print. More logical is to use the regular 'Tabular view' +for the node display and use the 'Raw dat (JSON)' diplay only for a service. +That would expose the data of published tables on a site automatically as a +service. + + +### Themeless output ### + +Enabling the submodule TableField Themeless provides themeless output of a +node's tablefield on the path 'node/%/themeless' (HTML, JSON or XML). This is +useful to embed the table's HTML elsewhere (as an iFrame) or to provide the +table data as a service (JSON or XML) directly without the need of Views or a +Service. + +- Enable the submodule TableField Themeless. +- Go to ../admin/structure/types/manage/[your-content-type]/display. +- Uncollapse the CUSTOM DISPLAY SETTINGS and select 'Themeless'. +- Save. +- Now a new display mode appears besides Default and Teaser. Go and configure. +- Save. + +Install and enable https://www.drupal.org/project/subpathauto to have the +themeless output available under the alias path like 'some/alias/themeless' +besides 'node/%/themeless'. + + +## CREDITS ## + +- Original author: Kevin Hankens (http://www.kevinhankens.com) +- Maintainer: vitalie (https://www.drupal.org/u/vitalie) +- Maintainer: jenlampton (https://www.drupal.org/u/jenlampton) +- Maintainer D7: Martin Postma (https://www.drupal.org/u/lolandese) diff --git a/profiles/wcm_base/modules/contrib/tablefield/UPGRADE.txt b/profiles/wcm_base/modules/contrib/tablefield/UPGRADE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ccf560474900f2b0c5d2c6aa2d1a087e06063d8f --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/UPGRADE.txt @@ -0,0 +1,16 @@ +Upgrading from tablefield-7.x-2.x to tablefield-7.x-3.x: + +A database update script using hook_update_N is provided that takes care of: +- converting existing table to a new database structure +- moving existing field settings to diplay settings instead, maintaining the + values. +- moving options from TABLE FIELD SETTINGS to [content-type] SETTINGS, + maintaining the values. + +It should be noted that the database structure has fundamentally changed. If +you use (custom) code that interacts directly with the tablefield data you +would probably have to revise the code. + +Backup your database and take note of what version of the module you currently +use (of make a copy if it is a dev version). After you run update.php check +your existing tables and their settings thoroughly. diff --git a/profiles/wcm_base/modules/contrib/tablefield/css/tablefield.css b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield.css new file mode 100644 index 0000000000000000000000000000000000000000..8586acc58693951ee3483e70ec870e56f2b97fcf --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield.css @@ -0,0 +1,42 @@ +/** + * @file + * Styles for Table fields themselves and the form field as well. + */ + +.field-widget-tablefield .form-tablefield table, +.form-tablefield table { + width: 100%; +} +.field-widget-tablefield .form-tablefield table tr td, +.form-tablefield table tr td { + margin: 0; + padding: 2px 0; + text-align: center; +} +.form-tablefield table tr td.tablefield-row-count { + color: #cccccc; + vertical-align: middle; + max-width: 20px; +} +.field-widget-tablefield .draggable a.tabledrag-handle { + margin-left: 0; +} +.field-widget-tablefield .form-type-textfield { + overflow: hidden; + width: 98%; +} +.table-no-headers input.tablefield-row-0 { + font-weight: normal !important; +} +.form-tablefield input { + background-color: transparent; + width: 100%; +} +.form-tablefield table, +.form-tablefield fieldset { + margin: 0.5em 0; +} +/* To have an input value close to its unit for the field 'Maximum cell length'.*/ +.tablefield-form-align { + text-align: right; /* LTR */ +} diff --git a/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_header_hor.css b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_header_hor.css new file mode 100644 index 0000000000000000000000000000000000000000..8acf4c0323e015e152479aa41bc3c7d973fb66ac --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_header_hor.css @@ -0,0 +1,8 @@ +/** + * @file + * Styles for TableField form field in case of vertical header (first column). + */ + +.form-tablefield input.tablefield-row-0 { + font-weight: bold; +} diff --git a/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_header_vert.css b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_header_vert.css new file mode 100644 index 0000000000000000000000000000000000000000..081b1b671aa85369789d8437098856a48aab6928 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_header_vert.css @@ -0,0 +1,8 @@ +/** + * @file + * Styles for TableField form field in case of vertical header (first column). + */ + +.form-tablefield td.col-0 input { + font-weight: bold; +} diff --git a/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_sort.css b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_sort.css new file mode 100644 index 0000000000000000000000000000000000000000..6eda9f7900456708dc5cdfa77c34e9f210e3d743 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/css/tablefield_sort.css @@ -0,0 +1,27 @@ +/** + * @file + * Sorting indicator (arrow up/down). + */ +.tablesorter thead { + cursor: pointer; +} +.headerSortDown:after, +.headerSortUp:after { + content: ' '; + position: relative; + left: 10px; + border: 7px solid transparent; +} +.headerSortDown:after { + top: 10px; + border-top-color: silver; +} +.headerSortUp:after { + bottom: 15px; + border-bottom-color: silver; +} +.headerSortDown, +.headerSortUp { + padding-left: 20px; + opacity: 0.8; +} diff --git a/profiles/wcm_base/modules/contrib/tablefield/tablefield.css b/profiles/wcm_base/modules/contrib/tablefield/tablefield.css deleted file mode 100644 index 43a9d9fff9cf29e0bccd9240c29bba93ec90f6ea..0000000000000000000000000000000000000000 --- a/profiles/wcm_base/modules/contrib/tablefield/tablefield.css +++ /dev/null @@ -1,30 +0,0 @@ - -.field-widget-tablefield .form-tablefield .form-text, -.form-tablefield .form-text { - width: auto; - margin: 1px 1px 1px 1px; - padding: 1px 1px 1px 1px; -} -.field-widget-tablefield .form-tablefield table, -.form-tablefield table { - width: 100%; -} -.form-tablefield .form-type-textfield { - width: 98%; -} -.field-widget-tablefield .form-tablefield table tr td, -.form-tablefield table tr td { - margin: 0 0 0 0; - padding: 0 0 0 0; - text-align: center; -} -.form-tablefield input.tablefield-row-0 { - font-weight: bold; -} -.form-tablefield input { - background-color: transparent !important; -} -.form-tablefield table, -.form-tablefield fieldset { - margin: 0.5em 0; -} diff --git a/profiles/wcm_base/modules/contrib/tablefield/tablefield.info b/profiles/wcm_base/modules/contrib/tablefield/tablefield.info index 498bc7d720be41858abbdd5bfc7a7f0de8bf5c65..42bc3df664cbaedfbf2100993988151e5f96acc0 100644 --- a/profiles/wcm_base/modules/contrib/tablefield/tablefield.info +++ b/profiles/wcm_base/modules/contrib/tablefield/tablefield.info @@ -1,13 +1,15 @@ name = TableField -description = Defines a generic tablular data field. +description = Defines a tabular data field. core = 7.x -files[] = tablefield.css -files[] = tablefield.module -files[] = tablefield.install +; 5.4.0 JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, and JSON_UNESCAPED_UNICODE options were added. +php = 5.4 +package = Fields +dependencies[] = field +configure = admin/config/content/tablefield -; Information added by Drupal.org packaging script on 2015-04-21 -version = "7.x-2.4" +; Information added by Drupal.org packaging script on 2017-06-13 +version = "7.x-3.1" core = "7.x" project = "tablefield" -datestamp = "1429600085" +datestamp = "1497359647" diff --git a/profiles/wcm_base/modules/contrib/tablefield/tablefield.install b/profiles/wcm_base/modules/contrib/tablefield/tablefield.install index 715797ebe1bdac926ce0e9a13d589a8be06cdf31..4eb31864d4f400de7ef9b4ce85d5d75755311a2f 100644 --- a/profiles/wcm_base/modules/contrib/tablefield/tablefield.install +++ b/profiles/wcm_base/modules/contrib/tablefield/tablefield.install @@ -2,35 +2,15 @@ /** * @file - * Installation options for TableField + * Installation options for TableField. */ -/** - * Implements hook_install(). - */ -function tablefield_install() { -} - /** * Implements hook_uninstall(). */ function tablefield_uninstall() { -} - -/** - * Implements hook_enable(). - * - * Notify content module when this module is enabled. - */ -function tablefield_enable() { -} - -/** - * Implements hook_disable(). - * - * Notify content module when this module is disabled. - */ -function tablefield_disable() { + variable_del('tablefield_csv_separator'); + variable_del('tablefield_detect_encodings'); } /** @@ -42,7 +22,6 @@ function tablefield_update_dependencies() { $dependencies['text'][7000] = array( 'filter' => 7010, ); - return $dependencies; } @@ -65,6 +44,9 @@ function tablefield_field_schema($field) { ); } +/** + * Helper function for updating/repairing the database schema. + */ function tablefield_repair_schema() { $spec = array( 'type' => 'varchar', @@ -84,7 +66,7 @@ function tablefield_repair_schema() { $table = "field_data_{$field['field_name']}"; $revision_table = "field_revision_{$field['field_name']}"; } - $column = $field['field_name'] . '_' . 'format'; + $column = $field['field_name'] . '_format'; db_change_field($table, $column, $column, $spec); db_change_field($revision_table, $column, $column, $spec); } @@ -98,20 +80,23 @@ function tablefield_update_7000() { } /** - * Fix colums created by versions prior to beta1. + * Fix columns created by versions prior to beta1. */ function tablefield_update_7001() { tablefield_repair_schema(); } - /** * Change default field_formatter name from 'default' to 'tablefield_default'. */ function tablefield_update_7002() { - $include_additional = array('include_inactive' => TRUE, 'include_deleted' => TRUE); - $fields = field_read_fields(array('type' => 'tablefield'), $include_additional); - $instances = field_read_instances(array('field_id' => array_keys($fields)), $include_additional); + $fields = field_read_fields(array('type' => 'tablefield')); + // Tablefield enabled but no tablefields. + if (!is_array($fields) || !count($fields)) { + return; + } + + $instances = field_read_instances(array('field_id' => array_keys($fields))); foreach ($instances as $instance) { foreach ($instance['display'] as $d => $display) { @@ -122,3 +107,297 @@ function tablefield_update_7002() { } } } + +/** + * Re-save the default existing table fields and all entities containing them. + */ +function tablefield_update_7003() { + // Change the default field for each content type. + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + if (in_array($instance['widget']['type'], array('tablefield'))) { + // Uniquely store the field names in an array for later use. + if (!in_array($instance['field_name'], $field_names)) { + array_push($field_names, $instance['field_name']); + } + // Rationalize the table data. + if (!empty($instance['default_value'][0]['tablefield'])) { + // Remove extraneous data. + $count_cols = $instance['default_value'][0]['tablefield']['rebuild']['count_cols']; + $count_rows = $instance['default_value'][0]['tablefield']['rebuild']['count_rows']; + $caption = $instance['default_value'][0]['tablefield']['caption']; + $rebuild = $instance['default_value'][0]['tablefield']['rebuild']; + $import = $instance['default_value'][0]['tablefield']['import']; + $paste = $instance['default_value'][0]['tablefield']['paste']; + unset($instance['default_value'][0]['tablefield']['caption']); + unset($instance['default_value'][0]['tablefield']['rebuild']); + unset($instance['default_value'][0]['tablefield']['import']); + unset($instance['default_value'][0]['tablefield']['paste']); + + foreach ($instance['default_value'][0]['tablefield'] as $key => $value) { + if (preg_match('/cell_(.*)_(.*)/', $key, $cell)) { + // $cell[1] is row count $cell[2] is col count. + if ((int) $cell[1] < $count_rows && (int) $cell[2] < $count_cols) { + $cel = explode('_', ltrim($key, 'cell_')); + if ($cel[1] === 'weight') { + $instance['default_value'][0]['tablefield']['tabledata']['row_' . $cel[0]]['weight'] = $value; + } + else { + $instance['default_value'][0]['tablefield']['tabledata']['row_' . $cel[0]]['col_' . $cel[1]] = $value; + } + unset($instance['default_value'][0]['tablefield'][$key]); + } + } + } + } + // Recreate previous removed data. + $instance['default_value'][0]['tablefield']['caption'] = $caption; + $instance['default_value'][0]['tablefield']['rebuild'] = $rebuild; + $instance['default_value'][0]['tablefield']['import'] = $import; + $instance['default_value'][0]['tablefield']['paste'] = $paste; + field_update_instance($instance); + } + } + } + } + + // Change all existing fields to store the data with the new format. + foreach ($field_names as $field_name) { + $tables = array('field_data_' . $field_name, 'field_revision_' . $field_name); + foreach ($tables as $table) { + $field = $field_name . '_value'; + $query = db_select($table, 'n') + ->fields('n') + ->execute() + ->fetchAll(); + foreach ($query as $record) { + $instance = unserialize($record->$field); + + // Rationalize the table data. + if (!empty($instance)) { + // Remove extraneous data. + $count_cols = $instance['rebuild']['count_cols']; + $count_rows = $instance['rebuild']['count_rows']; + $caption = $instance['caption']; + $rebuild = $instance['rebuild']; + $import = $instance['import']; + $paste = $instance['paste']; + unset($instance['caption']); + unset($instance['rebuild']); + unset($instance['import']); + unset($instance['paste']); + + foreach ($instance as $key => $value) { + if (preg_match('/cell_(.*)_(.*)/', $key, $cell)) { + // $cell[1] is row count $cell[2] is col count. + if ((int) $cell[1] < $count_rows && (int) $cell[2] < $count_cols) { + $cel = explode('_', ltrim($key, 'cell_')); + if ($cel[1] === 'weight') { + $instance['tabledata']['row_' . $cel[0]]['weight'] = $value; + } + else { + $instance['tabledata']['row_' . $cel[0]]['col_' . $cel[1]] = $value; + } + unset($instance[$key]); + } + } + } + } + // Recreate previous removed data. + $instance['caption'] = $caption; + $instance['rebuild'] = $rebuild; + $instance['import'] = $import; + $instance['paste'] = $paste; + + // Change the stored data by a per record unique column key combination. + db_update($table) + ->fields(array( + $field => serialize($instance), + )) + ->condition('entity_id', $record->entity_id) + ->condition('revision_id', $record->revision_id) + ->condition('delta', $record->delta) + ->condition('entity_type', $record->entity_type) + ->condition('bundle', $record->bundle) + ->execute(); + } + } + } + + field_cache_clear(); + drupal_set_message(t('All Table Field fields are now stored with a new data format.'), 'warning'); +} + +/** + * Convert field settings to display settings. + */ +function tablefield_update_7004() { + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield'))) { + // Uniquely store the field names in an array for later use. + if (!in_array($instance['field_name'], $field_names)) { + array_push($field_names, $instance['field_name']); + } + // Convert the entity properties. + foreach ($instance['display'] as $view_mode => $occurrence) { + $instance['display'][$view_mode]['settings']['hide_header'] = $field_info['settings']['hide_headers'] ? 1 : 0; + $instance['display'][$view_mode]['settings']['export_csv'] = $field_info['settings']['export'] ? 1 : 0; + } + field_update_instance($instance); + } + } + } + } + field_cache_clear(); + drupal_set_message(t('All Table Field fields have their display related field settings converted to display settings.'), 'warning'); +} + +/** + * Remove all empty multi-value TableField fields with locked values. + */ +function tablefield_update_7005() { + // Get all the field names for all multi-value tablefields with locked values. + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield')) + && $field_info['cardinality'] != 1 + && $field_info['settings']['lock_values'] == 1 + ) { + // Uniquely store the field names in an array for later use. + if (!in_array($instance['field_name'], $field_names)) { + array_push($field_names, $instance['field_name']); + } + } + } + } + } + // Go through all empty multi-value TableField fields with locked values. + foreach ($field_names as $field_name) { + $tables = array('field_data_' . $field_name, 'field_revision_' . $field_name); + foreach ($tables as $table) { + $field = $field_name . '_value'; + $query = db_select($table, 'n') + ->fields('n') + ->execute() + ->fetchAll(); + foreach ($query as $record) { + $instance = unserialize($record->$field); + + // Rationalize the table data. + if (!empty($instance)) { + // Remove extraneous data. + $count_cols = $instance['rebuild']['count_cols']; + $count_rows = $instance['rebuild']['count_rows']; + $caption = $instance['caption']; + $rebuild = $instance['rebuild']; + $import = $instance['import']; + $paste = $instance['paste']; + unset($instance['caption']); + unset($instance['rebuild']); + unset($instance['import']); + unset($instance['paste']); + foreach ($instance as $key => $value) { + array_shift($value); + $empty = TRUE; + foreach ($value as $row) { + array_pop($row); + if (array_filter($row)) { + $empty = FALSE; + } + } + } + } + if ($empty) { + unset($instance['tabledata']); + } + else { + // Recreate previous removed data. + $instance['caption'] = $caption; + $instance['rebuild'] = $rebuild; + $instance['import'] = $import; + $instance['paste'] = $paste; + } + // Change the stored data by a per record unique column key combination. + db_update($table) + ->fields(array( + $field => serialize($instance), + )) + ->condition('entity_id', $record->entity_id) + ->condition('revision_id', $record->revision_id) + ->condition('delta', $record->delta) + ->condition('entity_type', $record->entity_type) + ->condition('bundle', $record->bundle) + ->execute(); + // Delete the tables that are now empty. + db_delete($table) + ->condition($field_name . '_value', 'a:0:{}') + ->execute(); + } + } + } + + field_cache_clear(); + drupal_set_message(t('All empty multi-value TableField fields with locked values are now removed.'), 'warning'); +} + +/** + * Convert field settings to widget settings. + */ +function tablefield_update_7006() { + $instances = field_info_instances(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield'))) { + // Convert the entity properties. + foreach ($instance['display'] as $view_mode => $occurrence) { + $instance['widget']['settings']['restrict_rebuild'] = $field_info['settings']['restrict_rebuild'] ? 1 : 0; + $instance['widget']['settings']['lock_values'] = $field_info['settings']['lock_values'] ? 1 : 0; + $instance['widget']['settings']['cell_processing'] = $field_info['settings']['cell_processing'] ? 1 : 0; + } + field_update_instance($instance); + } + } + } + } + $norepeat = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield')) && !in_array($field_info['id'], $norepeat)) { + // Remove the now unused field settings values. We can not use + // field_update_field($field) as there is data in the field thus the + // field's storage module forbids an update. + $update = array(); + $data = db_query("SELECT data FROM {field_config} WHERE id = :id", array(':id' => $field_info['id']))->fetchField(); + $data = unserialize($data); + $data['settings'] = array(); + $update['data'] = serialize($data); + if ($update) { + $query = db_update('field_config') + ->condition('id', $field_info['id']) + ->fields($update) + ->execute(); + } + $norepeat[] = $field_info['id']; + } + } + } + } + field_cache_clear(); + drupal_set_message(t('All Table Field fields have their field settings converted to widget settings.'), 'warning'); +} diff --git a/profiles/wcm_base/modules/contrib/tablefield/tablefield.module b/profiles/wcm_base/modules/contrib/tablefield/tablefield.module index f9337aa422bd4da76aeae90c36a5b478f66f6dde..8ae7491c864bd3d367eba85d5058fe66253d4f36 100644 --- a/profiles/wcm_base/modules/contrib/tablefield/tablefield.module +++ b/profiles/wcm_base/modules/contrib/tablefield/tablefield.module @@ -2,14 +2,22 @@ /** * @file - * This module provides a set of fields that can be used to store - * tabular data with a node. The implementation uses a custom CCK widget. + * Provides a set of fields that can be used to store tabular data with a node. + * + * @todo Should we create a helper function for sanitization? + * - We should see if it makes sense to sanitize on load as well as view. */ /** - * @todo should we create a helper function for sanitization? - * - we should see if it makes sense to sanitize on load as well as view + * Implements hook_help(). */ +function tablefield_help($path, $arg) { + switch ($path) { + case 'admin/help#tablefield': + // Return a line-break version of the README.txt. + return _filter_autop(file_get_contents(dirname(__FILE__) . '/README.txt')); + } +} /** * Implements hook_menu(). @@ -25,8 +33,8 @@ function tablefield_menu() { 'admin/config/content/tablefield' => array( 'page callback' => 'drupal_get_form', 'page arguments' => array('tablefield_admin_settings_form'), - 'title' => 'tablefield', - 'description' => 'Global configuration for the tablefield module', + 'title' => 'Tablefield', + 'description' => 'Global configuration for the Tablefield module.', 'access arguments' => array('configure tablefield'), ), ); @@ -50,19 +58,6 @@ function tablefield_admin_settings_form() { return system_settings_form($form); } -/** - * Validation hook for tablefield_admin_settings_form form. - * - * @param array $form - * @param array $form_state - */ -function tablefield_admin_settings_form_validate($form, &$form_state) { - if (drupal_strlen($form_state['values']['tablefield_csv_separator']) !== 1) { - $message = t('Separator must be one character only!'); - form_set_error('tablefield_csv_separator', $message); - } -} - /** * Implements hook_permission(). */ @@ -70,9 +65,15 @@ function tablefield_permission() { return array( 'export tablefield' => array( 'title' => t('Export Tablefield Data as CSV'), + 'description' => t('Acts in addition to the field widget settings (AND).'), + ), + 'always use additional datasources' => array( + 'title' => t('Always allow additional data sources to be used (CSV upload or copy/paste)'), + 'description' => t('Overrides the field widget settings (OR).'), ), 'rebuild tablefield' => array( 'title' => t('Rebuild any tablefield'), + 'description' => t('Overrides the field widget settings (OR).'), ), 'configure tablefield' => array( 'title' => t('Allow changes in the global tablefield module configuration'), @@ -83,16 +84,16 @@ function tablefield_permission() { /** * Menu callback to export a table as a CSV. * - * @param String $entity_type - * The type of entity, e.g. node. - * @param String $entity_id - * The id of the entity. - * @param String $field_name - * The machine name of the field to load. - * @param String $langcode - * The language code specified. - * @param String $delta - * The field delta to load. + * @param string $entity_type + * The type of entity, e.g. node. + * @param string $entity_id + * The id of the entity. + * @param string $field_name + * The machine name of the field to load. + * @param string $langcode + * The language code specified. + * @param string $delta + * The field delta to load. */ function tablefield_export_csv($entity_type, $entity_id, $field_name, $langcode, $delta) { $filename = sprintf('%s_%s_%s_%s_%s.csv', $entity_type, $entity_id, $field_name, $langcode, $delta); @@ -106,10 +107,11 @@ function tablefield_export_csv($entity_type, $entity_id, $field_name, $langcode, // Ensure that the data is available and that we can load a // temporary file to stream the data. if (isset($entity->{$field_name}[$langcode][$delta]['value']) && $fp = fopen($uri, 'w+')) { - $table = tablefield_rationalize_table(unserialize($entity->{$field_name}[$langcode][$delta]['value'])); - + $table = unserialize($entity->{$field_name}[$langcode][$delta]['value']); // Save the data as a CSV file. - foreach ($table as $row) { + foreach ($table['tabledata'] as $row) { + // Remove the weight column. + array_pop($row); fputcsv($fp, $row, variable_get('tablefield_csv_separator', ',')); } @@ -123,7 +125,7 @@ function tablefield_export_csv($entity_type, $entity_id, $field_name, $langcode, ); // IE needs special headers. - if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) { + if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) { $http_headers['Cache-Control'] = 'must-revalidate, post-check=0, pre-check=0'; $http_headers['Pragma'] = 'public'; } @@ -164,46 +166,226 @@ function tablefield_property_info_callback(&$info, $entity_type, $field, $instan $property = &$info[$entity_type]['bundles'][$instance['bundle']]['properties'][$field['field_name']]; $property['getter callback'] = 'entity_metadata_field_verbatim_get'; $property['setter callback'] = 'entity_metadata_field_verbatim_set'; + // Needed for Search API indexing. + $property['property info'] = tablefield_item_property_info(); unset($property['query callback']); } /** - * Implements hook_field_settings_form(). + * Define metadata about item properties. Search API indexing addition. */ -function tablefield_field_settings_form($field, $instance, $has_data) { - $form = array(); - $form['export'] = array( - '#type' => 'checkbox', - '#title' => 'Allow users to export table data as CSV', - '#default_value' => isset($field['settings']['export']) ? $field['settings']['export'] : FALSE, +function tablefield_item_property_info() { + + $properties['table_value'] = array( + 'type' => 'text', + 'label' => t('The value of the table.'), + 'computed' => TRUE, + 'getter callback' => 'tablefield_get_table_value', ); + + return $properties; +} + +/** + * Get the property just as it is set in the data. Search API indexing addition. + */ +function tablefield_get_table_value($data, array $options, $name, $type, $info) { + if (isset($data['tabledata'])) { + $data['value'] = ''; + + foreach ($data['tabledata'] as $rows) { + $data['value'] .= implode(" ", $rows) . " "; + } + } + + return trim($data['value']); +} + +/** + * Implements hook_field_widget_settings_form(). + */ +function tablefield_field_widget_settings_form($field, $instance) { + $form = array(); $form['restrict_rebuild'] = array( '#type' => 'checkbox', - '#title' => 'Restrict rebuilding to users with the permission "rebuild tablefield"', - '#default_value' => isset($field['settings']['restrict_rebuild']) ? $field['settings']['restrict_rebuild'] : FALSE, + '#title' => t('Restrict rebuilding'), + '#description' => t('Avoid the number of cols/rows being changed by content editors. For all users in combination with locked cells below. For users without the permission "rebuild tablefield" in other cases.') . '<br />' . t('Also needed if added or removed rows from the default field settings should apply on the edit form of existing content.'), + '#default_value' => isset($instance['widget']['settings']['restrict_rebuild']) ? $instance['widget']['settings']['restrict_rebuild'] : FALSE, ); $form['lock_values'] = array( '#type' => 'checkbox', - '#title' => 'Lock table field defaults from further edits during node add/edit.', - '#default_value' => isset($field['settings']['lock_values']) ? $field['settings']['lock_values'] : FALSE, + '#title' => t('Lock cells with default values'), + '#description' => t('Avoid headers being changed by content editors.'), + '#default_value' => isset($instance['widget']['settings']['lock_values']) ? $instance['widget']['settings']['lock_values'] : FALSE, + ); + $form['input_type'] = array( + '#type' => 'radios', + '#title' => t('Input type'), + '#default_value' => isset($instance['widget']['settings']['input_type']) ? $instance['widget']['settings']['input_type'] : 'textfield', + '#required' => TRUE, + '#options' => array( + 'textfield' => t('textfield'), + 'textarea' => t('textarea'), + ), + ); + $form['max_length'] = array( + '#type' => 'textfield', + '#title' => t('Maximum cell length'), + '#default_value' => isset($instance['widget']['settings']['max_length']) ? $instance['widget']['settings']['max_length'] : '2048', + '#element_validate' => array('tablefield_validate_number'), + '#size' => 6, + '#maxlength' => 6, + '#min' => 1, + '#step' => 1, + '#field_suffix' => t('characters'), + '#attributes' => array('class' => array('tablefield-form-align')), + '#required' => TRUE, ); $form['cell_processing'] = array( '#type' => 'radios', '#title' => t('Table cell processing'), - '#default_value' => isset($field['settings']['cell_processing']) ? $field['settings']['cell_processing'] : 0, + '#default_value' => isset($instance['widget']['settings']['cell_processing']) ? $instance['widget']['settings']['cell_processing'] : 0, '#options' => array( t('Plain text'), - t('Filtered text (user selects input format)') + t('Filtered text (user selects input format)'), + ), + ); + $form['data_sources'] = array( + '#type' => 'checkboxes', + '#title' => 'Additional data sources', + '#description' => t('Note this setting gets overridden for users with the permission "always use additional datasources".'), + '#options' => array( + 'paste' => t('Copy & Paste'), + 'upload' => t('Upload CSV file'), ), + '#default_value' => isset($instance['widget']['settings']['data_sources']) ? $instance['widget']['settings']['data_sources'] : array('paste', 'upload'), ); - $form['default_message'] = array( - '#type' => 'markup', - '#value' => t('To specify a default table, use the "Default Value" above. There you can specify a default number of rows/columns and values.'), + + return $form; +} + +/** + * Implements hook_field_settings_form(). + */ +function tablefield_field_settings_form($field, $instance, $has_data) { + $multiple_fields_remove_button_module = l(t('Multiple Fields Remove Button module'), 'https://www.drupal.org/project/multiple_fields_remove_button', array( + 'attributes' => array( + 'title' => t('Project page on Drupal.org'), + 'target' => '_blank', + ), + )); + $manage_display = l(t('Manage display'), '/admin/structure/types/manage/' . $instance['bundle'] . '/display', array( + 'attributes' => array( + 'title' => t('More tablefield options'), + ), + )); + $form = array(); + $form['message'] = array( + '#markup' => t('If multiple values are allowed it is recommended to install and enable the !multiple_fields_remove_button_module. Additional TableField settings are available at !manage_display.', array('!multiple_fields_remove_button_module' => $multiple_fields_remove_button_module, '!manage_display' => $manage_display)), + '#weight' => -100, ); return $form; } +/** + * Form element validation handler for #type 'tablefield_number'. + * + * Note that #required is validated by _form_validate() already. + */ +function tablefield_validate_number($element, &$form_state) { + $value = $element['#value']; + if ($value === '') { + return; + } + + $name = empty($element['#title']) ? $element['#parents'][0] : $element['#title']; + + // Ensure the input is numeric. + if (!is_numeric($value)) { + form_error($element, t('%name must be a number.', array('%name' => $name))); + return; + } + + // Ensure that the input is greater than the #min property, if set. + if (isset($element['#min']) && $value < $element['#min']) { + form_error($element, t('%name must be higher or equal to %min.', array('%name' => $name, '%min' => $element['#min']))); + } + + // Ensure that the input is less than the #max property, if set. + if (isset($element['#max']) && $value > $element['#max']) { + form_error($element, t('%name must be below or equal to %max.', array('%name' => $name, '%max' => $element['#max']))); + } + + if (isset($element['#step']) && strtolower($element['#step']) != 'any') { + // Check that the input is an allowed multiple of #step (offset by #min if + // #min is set). + $offset = isset($element['#min']) ? $element['#min'] : 0.0; + + if (!tablefield_valid_number_step($value, $element['#step'], $offset)) { + form_error($element, t('%name is not a multiple of %step.', array('%name' => $name, '%step' => $element['#step']))); + } + } +} + +/** + * Verifies that a number is a multiple of a given step. + * + * The implementation assumes it is dealing with IEEE 754 double precision + * floating point numbers that are used by PHP on most systems. + * + * This is based on the number/range verification methods of webkit. + * + * @param $value + * The value that needs to be checked. + * @param $step + * The step scale factor. Must be positive. + * @param $offset + * (optional) An offset, to which the difference must be a multiple of the + * given step. + * + * @return bool + * TRUE if no step mismatch has occured, or FALSE otherwise. + * + * @see http://opensource.apple.com/source/WebCore/WebCore-1298/html/NumberInputType.cpp + */ +function tablefield_valid_number_step($value, $step, $offset = 0.0) { + $double_value = (double) abs($value - $offset); + + // The fractional part of a double has 53 bits. The greatest number that could + // be represented with that is 2^53. If the given value is even bigger than + // $step * 2^53, then dividing by $step will result in a very small remainder. + // Since that remainder can't even be represented with a single precision + // float the following computation of the remainder makes no sense and we can + // safely ignore it instead. + if ($double_value / pow(2.0, 53) > $step) { + return TRUE; + } + + // Now compute that remainder of a division by $step. + $remainder = (double) abs($double_value - $step * round($double_value / $step)); + + // $remainder is a double precision floating point number. Remainders that + // can't be represented with single precision floats are acceptable. The + // fractional part of a float has 24 bits. That means remainders smaller than + // $step * 2^-24 are acceptable. + $computed_acceptable_error = (double) ($step / pow(2.0, 24)); + + return $computed_acceptable_error >= $remainder || $remainder >= ($step - $computed_acceptable_error); +} + +/** + * Implements hook_field_prepare_view(). + */ +function tablefield_field_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items) { + // Reset the array's internal pointer to the first element. + $instance = reset($instances); + foreach ($entities as $id => $entity) { + $entity_items = &$items[$id]; + tablefield_field_presave($entity_type, $entity, $field, $instance, $langcode, $entity_items); + } +} + /** * Implements hook_field_presave(). */ @@ -212,14 +394,35 @@ function tablefield_field_presave($entity_type, $entity, $field, $instance, $lan if (empty($table['value'])) { $tablefield = array(); if (!empty($table['tablefield'])) { - foreach ($table['tablefield'] as $key => $value) { - $tablefield[$key] = $value; + unset($tablefield['tablefield']); + // Sort by weight. + uasort($table['tablefield']['tabledata'], 'drupal_sort_weight'); + // Put the data in the desired order before saving. + $row_counter = $col_counter = 0; + foreach ($table['tablefield']['tabledata'] as $row) { + foreach ($row as $key => $cell) { + if ($key === 'weight') { + $tablefield['tablefield']['tabledata']['row_' . $row_counter]['weight'] = $cell; + } + else { + $tablefield['tablefield']['tabledata']['row_' . $row_counter]['col_' . $col_counter] = $cell; + } + $col_counter++; + } + $row_counter++; + $col_counter = 0; } + + // Clear the old table data and repopulate it with the new values. + unset($table['tablefield']['tabledata']); + $table['tablefield']['tabledata'] = $tablefield['tablefield']['tabledata']; + // Add the non-value data back in before we save. + $tablefield = array_merge($tablefield, $table); } - $items[$delta]['value'] = serialize($tablefield); + $items[$delta]['value'] = isset($tablefield['tablefield']) ? serialize($tablefield['tablefield']) : ''; } elseif (empty($table['tablefield'])) { - // Batch processing only provides the 'value' + // Batch processing only provides the 'value'. $items[$delta]['tablefield'] = unserialize($items[$delta]['value']); } } @@ -229,8 +432,7 @@ function tablefield_field_presave($entity_type, $entity, $field, $instance, $lan * Implements hook_field_validate(). */ function tablefield_field_validate($entity_type, $entity, $field, $instance, $langcode, $items, &$errors) { - drupal_add_css(drupal_get_path('module', 'tablefield') . '/tablefield.css'); - // Catch empty form submissions for required tablefields + // Catch empty form submissions for required tablefields. if ($instance['required'] && isset($items[0]) && tablefield_field_is_empty($items[0], $field)) { $message = t('@field is a required field.', array('@field' => $instance['label'])); $errors[$field['field_name']][$langcode][0]['tablefield'][] = array( @@ -247,7 +449,6 @@ function tablefield_field_widget_error($element, $error, $form, &$form_state) { form_error($element['tablefield'], $error[0]['message']); } - /** * Implements hook_field_load(). */ @@ -255,21 +456,20 @@ function tablefield_field_load($entity_type, $entities, $field, $instances, $lan foreach ($entities as $id => $entity) { foreach ($items[$id] as $delta => $item) { if (isset($item['value'])) { - $items[$id][$delta]['tabledata'] = tablefield_rationalize_table(unserialize($item['value'])); + $items[$id][$delta]['tabledata'] = unserialize($item['value']); } } } } /** - * Implementation of hook_field_is_empty(). + * Implements hook_field_is_empty(). */ function tablefield_field_is_empty($item, $field) { // @todo, is this the best way to mark the default value form? // if we don't, it won't save the number of rows/cols // Allow the system settings form to have an emtpy table - $arg0 = arg(0); - if ($arg0 == 'admin') { + if (arg(0) == 'admin') { return FALSE; } @@ -279,13 +479,21 @@ function tablefield_field_is_empty($item, $field) { return FALSE; } - // Remove the preference fields to see if the table cells are all empty + $count_rows = $item['tablefield']['rebuild']['count_rows']; + // Remove the preference fields to see if the table cells are all empty. + unset($item['tablefield']['caption']); unset($item['tablefield']['rebuild']); unset($item['tablefield']['import']); - if (!empty($item['tablefield'])) { - foreach ($item['tablefield'] as $cell) { - if (!empty($cell)) { - return FALSE; + unset($item['tablefield']['paste']); + if (!empty($item['tablefield']['tabledata'])) { + + for ($i = 0; $i < $count_rows; $i++) { + foreach ($item['tablefield']['tabledata']["row_{$i}"] as $key => $cell) { + // Keys denoting weight data and anything still iterateable should be + // ignored while checking for empty cell data. + if (strpos($key, 'weight') === FALSE && !is_array($cell) && !empty($cell)) { + return FALSE; + } } } } @@ -294,17 +502,303 @@ function tablefield_field_is_empty($item, $field) { } /** - * Implementation of hook_field_formatter_info(). + * Implements hook_field_formatter_info(). */ function tablefield_field_formatter_info() { return array( 'tablefield_default' => array( - 'label' => t('Tabular View'), + 'label' => t('Tabular view'), + 'field types' => array('tablefield'), + 'settings' => array( + 'header_orientation' => 'Horizontal', + 'sticky_header' => TRUE, + 'striping' => TRUE, + 'sortable' => FALSE, + 'hide_header' => FALSE, + 'hide_empty_rows' => FALSE, + 'hide_empty_cols' => FALSE, + 'hide_cols_skip_head' => FALSE, + 'trim_trailing_cols' => FALSE, + 'trim_trailing_rows' => FALSE, + 'export_csv' => FALSE, + ), + ), + 'format_raw' => array( + 'label' => t('Raw data (JSON or XML)'), 'field types' => array('tablefield'), + 'settings' => array( + 'tabledatakey' => 'tabledata', + 'usearraykeys' => 'No', + 'rowkey' => FALSE, + 'vertheader' => FALSE, + 'tabledataonly' => TRUE, + 'numeric_check' => TRUE, + 'xml' => FALSE, + 'xml_safe' => 'cdata', + ), ), ); } +/** + * Implements hook_field_formatter_settings_summary(). + */ +function tablefield_field_formatter_settings_summary($field, $instance, $view_mode) { + $display = $instance['display'][$view_mode]; + $settings = $display['settings']; + $summary = array(); + switch ($display['type']) { + case 'format_raw': + $summary[] = t('Wrapper for table data (if applicable): %tr', array('%tr' => $settings['tabledatakey'])); + $summary[] = t('Use first row/column values as keys (if not empty): %tr', array('%tr' => $settings['usearraykeys'])); + if ($settings['usearraykeys'] === 'Both') { + $summary[] = t('Row identifier key: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Row identifier key: %tr', array('%tr' => $settings['rowkey'] ? t('Yes') : t('No'))); + } + $summary[] = t('Vertical header (first column instead of first row): %tr', array('%tr' => $settings['vertheader'] ? t('Yes') : t('No'))); + $summary[] = t('Table data only (no caption): %tr', array('%tr' => ($settings['tabledataonly']) ? t('Yes') : t('No'))); + if ($settings['xml']) { + $summary[] = t('Encode numeric strings as numbers: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Encode numeric strings as numbers: %tr', array('%tr' => ($settings['numeric_check']) ? t('Yes') : t('No'))); + } + $summary[] = t('XML instead of JSON: %tr', array('%tr' => ($settings['xml']) ? t('Yes') : t('No'))); + if (!$settings['xml']) { + $summary[] = t('How to make field values XML safe?: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('How to make field values XML safe?: %tr', array('%tr' => $settings['xml_safe'])); + } + break; + + default: + $summary[] = t('Header orientation: %tr', array('%tr' => $settings['header_orientation'])); + if ($settings['header_orientation'] === 'Vertical') { + $summary[] = t('Sticky header: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Sticky header: %tr', array('%tr' => ($settings['sticky_header']) ? t('Yes') : t('No'))); + } + $summary[] = t('Striping (odd/even class): %tr', array('%tr' => ($settings['striping']) ? t('Yes') : t('No'))); + if (!module_exists('tablesorter') || $settings['header_orientation'] === 'Vertical') { + $summary[] = t('Sortable: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Sortable: %tr', array('%tr' => ($settings['sortable']) ? t('Yes') : t('No'))); + } + $summary[] = t('Hide first row: %tr', array('%tr' => ($settings['hide_header']) ? t('Yes') : t('No'))); + $summary[] = t('Hide empty columns ignoring column header: %tr', array('%tr' => ($settings['hide_cols_skip_head']) ? t('Yes') : t('No'))); + $summary[] = t('Trim empty trailing rows: %tr', array('%tr' => ($settings['trim_trailing_rows']) ? t('Yes') : t('No'))); + $summary[] = t('Trim empty trailing columns: %tr', array('%tr' => ($settings['trim_trailing_cols']) ? t('Yes') : t('No'))); + $summary[] = t('Hide empty rows: %tr', array('%tr' => ($settings['hide_empty_rows']) ? t('Yes') : t('No'))); + $summary[] = t('Hide empty columns: %tr', array('%tr' => ($settings['hide_empty_cols']) ? t('Yes') : t('No'))); + $permission = l(t('permission'), 'admin/people/permissions', array( + 'fragment' => 'module-tablefield', + 'attributes' => array( + 'title' => t('Manage user permissions'), + ), + )); + $summary[] = t('Show link to export table data as CSV depending on !permission: %tr', array('%tr' => ($settings['hide_cols_skip_head']) ? t('Yes') : t('No'), '!permission' => $permission)); + } + return implode('<br />', $summary);; +} + +/** + * Implements hook_field_formatter_settings_form(). + */ +function tablefield_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) { + $display = $instance['display'][$view_mode]; + $settings = $display['settings']; + $element = array(); + switch ($display['type']) { + case 'format_raw': + // Get a machine name from the field name (without 'field_' prefix). + $prefix = 'field_'; + $machine = $instance['field_name']; + $select = 'select'; + $select_or_other_module = l(t('Select (or other) module'), 'https://drupal.org/project/select_or_other', array( + 'attributes' => array( + 'title' => t('Select (or other) | Drupal.org'), + 'target' => '_blank', + ), + )); + $description = t('To provide a custom value install and enable the !select_or_other_module.', array('!select_or_other_module' => $select_or_other_module)); + if (module_exists('select_or_other')) { + $select = 'select_or_other'; + $description = NULL; + } + if (substr($machine, 0, strlen($prefix)) == $prefix) { + $machine = substr($machine, strlen($prefix)); + } + $element['tabledatakey'] = array( + '#type' => $select, + '#title' => t('Wrapper for table data (if applicable)'), + '#description' => $description, + '#options' => array( + 'tabledata' => t('tabledata (fixed string)'), + $instance['label'] => t('Label: @label', array('@label' => $instance['label'])), + $machine => t('Machine name: @machine', array('@machine' => $machine)), + ), + '#default_value' => $settings['tabledatakey'], + '#other_unknown_defaults' => 'other', + '#other_delimiter' => FALSE, + ); + $element['usearraykeys'] = array( + '#type' => 'select', + '#title' => t('Use first row/column values as keys (if not empty)'), + '#options' => array( + 'No' => t('No'), + 'Header' => t('Header only'), + 'Both' => t('Both first row and first column (two headers, horizontal and vertical)'), + ), + '#default_value' => $settings['usearraykeys'], + ); + $element['rowkey'] = array( + '#title' => t('Row identifier key'), + '#type' => 'checkbox', + '#default_value' => $settings['rowkey'], + ); + if ($settings['usearraykeys'] === 'Both') { + $element['rowkey']['#disabled'] = TRUE; + $element['rowkey']['#title'] = '<span class="grayed-out">' . t('Row identifier key') . '</span> | ' . t("Disabled because above the first column values are set to be used as row identifiers."); + } + $element['vertheader'] = array( + '#title' => t('Vertical header (first column instead of first row)'), + '#type' => 'checkbox', + '#default_value' => $settings['vertheader'], + ); + $element['tabledataonly'] = array( + '#title' => t('Table data only (no caption)'), + '#type' => 'checkbox', + '#default_value' => $settings['tabledataonly'], + ); + $element['numeric_check'] = array( + '#title' => t('Encode numeric strings as numbers'), + '#type' => 'checkbox', + '#default_value' => $settings['numeric_check'], + ); + if ($settings['xml']) { + $element['numeric_check']['#disabled'] = TRUE; + $element['numeric_check']['#title'] = '<span class="grayed-out">' . t('Encode numeric strings as numbers') . '</span> | ' . t("Disabled because below XML is selected that does not use quotes around any values."); + } + $element['xml'] = array( + '#title' => t('XML instead of JSON'), + '#type' => 'checkbox', + '#default_value' => $settings['xml'], + ); + $element['xml_safe'] = array( + '#type' => 'select', + '#title' => t('How to make field values XML safe?'), + '#options' => array( + 'htmlspecialchars' => t('Convert special characters to HTML entities (htmlspecialchars)'), + 'cdata' => t('Represent field values that contain special characters as a CDATA section'), + 'cdata_all' => t('Represent all field values as a CDATA section'), + ), + '#default_value' => $settings['xml_safe'], + ); + if (!$settings['xml']) { + $element['xml_safe']['#disabled'] = TRUE; + $element['xml_safe']['#title'] = '<span class="grayed-out">' . t('How to make field values XML safe?') . '</span> | ' . t("Disabled because above XML is not selected."); + } + break; + + default: + $element['header_orientation'] = array( + '#type' => 'select', + '#title' => t('Header orientation'), + '#options' => array( + 'Horizontal' => t('First row (horizontal)'), + 'Vertical' => t('First column (vertical)'), + 'Both' => t('Both first row and first column (two headers, horizontal and vertical)'), + ), + '#default_value' => $settings['header_orientation'], + ); + $element['sticky_header'] = array( + '#title' => t('Sticky header'), + '#type' => 'checkbox', + '#default_value' => $settings['sticky_header'], + ); + if ($settings['header_orientation'] === 'Vertical') { + $element['sticky_header']['#disabled'] = TRUE; + $element['sticky_header']['#title'] = '<span class="grayed-out">' . t('Sticky header') . '</span> | ' . t("Disabled because above only the first column is set as header."); + } + $element['striping'] = array( + '#title' => t('Striping (odd/even class)'), + '#type' => 'checkbox', + '#default_value' => $settings['striping'], + ); + $element['sortable'] = array( + '#title' => t('Sortable'), + '#type' => 'checkbox', + '#default_value' => $settings['sortable'], + ); + $tablesorter_module = l(t('Tablesorter module'), 'https://drupal.org/project/tablesorter', array( + 'attributes' => array( + 'title' => t('Tablesorter | Drupal.org'), + 'target' => '_blank', + ), + )); + if (!module_exists('tablesorter')) { + $element['sortable']['#disabled'] = TRUE; + $element['sortable']['#title'] = '<span class="grayed-out">' . t('Sortable') . '</span> | ' . t("Disabled until the !tablesorter_module gets enabled.", array('!tablesorter_module' => $tablesorter_module)); + } + elseif ($settings['header_orientation'] === 'Vertical') { + $element['sortable']['#disabled'] = TRUE; + $element['sortable']['#title'] = '<span class="grayed-out">' . t('Sortable') . '</span> | ' . t("Disabled because the header orientation is only 'Vertical'.", array('!tablesorter_module' => $tablesorter_module)); + } + $element['hide_header'] = array( + '#title' => t('Hide first row'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_header'], + ); + $element['hide_cols_skip_head'] = array( + '#title' => t('Hide empty columns ignoring column header'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_cols_skip_head'], + ); + $element['trim_trailing_cols'] = array( + '#title' => t('Trim empty trailing columns'), + '#type' => 'checkbox', + '#default_value' => $settings['trim_trailing_cols'], + ); + $element['trim_trailing_rows'] = array( + '#title' => t('Trim empty trailing rows'), + '#type' => 'checkbox', + '#default_value' => $settings['trim_trailing_rows'], + ); + $element['hide_empty_rows'] = array( + '#title' => t('Hide empty rows'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_empty_rows'], + ); + $element['hide_empty_cols'] = array( + '#title' => t('Hide empty columns'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_empty_cols'], + ); + $element['hide_cols_skip_head'] = array( + '#title' => t('Hide empty columns ignoring column header'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_cols_skip_head'], + ); + $permission = l(t('permission'), 'admin/people/permissions', array( + 'fragment' => 'module-tablefield', + 'attributes' => array( + 'title' => t('Manage user permissions'), + ), + )); + $element['export_csv'] = array( + '#title' => t('Show link to export table data as CSV depending on !permission', array('!permission' => $permission)), + '#type' => 'checkbox', + '#default_value' => $settings['export_csv'], + ); + } + return $element; +} + /** * Implements hook_field_formatter_view(). */ @@ -312,62 +806,348 @@ function tablefield_field_formatter_view($entity_type, $entity, $field, $instanc $element = array(); $settings = $display['settings']; $formatter = $display['type']; - - foreach ($items as $delta => $table) { - - // Rationalize the stored data - if (!empty($table['tabledata'])) { - $tabledata = $table['tabledata']; - } - elseif (!empty($table['value'])) { - $tabledata = tablefield_rationalize_table(unserialize($table['value'])); - } - - // Run the table through input filters - if (isset($tabledata)) { - if (!empty($tabledata)) { - foreach ($tabledata as $row_key => $row) { - foreach ($row as $col_key => $cell) { - if (!empty($table['format'])) { - $tabledata[$row_key][$col_key] = array('data' => check_markup($cell, $table['format']), 'class' => array('row_' . $row_key, 'col_' . $col_key)); + if (!empty($items)) { + switch ($display['type']) { + case 'format_raw': + $values = array(); + foreach ($items as $delta => $table) { + $value = unserialize($table['value']); + // Swap rows and columns if the header is vertical (first column). + if ($settings['vertheader']) { + $transposed = tablefield_transpose($value['tabledata']); + unset($value['tabledata']); + array_pop($transposed); + // Swap column and row key names. + foreach ($transposed as $colk => $colv) { + foreach ($colv as $rowk => $rowv) { + $value['tabledata'][str_replace('col_', 'row_', $colk)][str_replace('row_', 'col_', $rowk)] = $rowv; + } + // Add a 'weight' although the value is not relevant. + $value['tabledata'][str_replace('col_', 'row_', $colk)]['weight'] = 0; } - else { - $tabledata[$row_key][$col_key] = array('data' => check_plain($cell), 'class' => array('row_' . $row_key, 'col_' . $col_key)); + } + // Remove unneeded data. + unset($value['rebuild']); + unset($value['import']); + unset($value['paste']); + // DEVELOPERS! Extra future data should be captured and unset below. + $caption = $value['caption']; + unset($value['caption']); + if ($settings['usearraykeys'] === 'Header' || $settings['usearraykeys'] === 'Both') { + // Keep first row values (header) to use for array keys later. + $keys = $value['tabledata']['row_0']; + // Remove linebreaks from array keys. + array_walk_recursive($keys, function (&$key) { + $key = str_replace(array("\r", "\n", "<br />"), '', $key); + }); + // If a header value is empty use the column key (col_#). + foreach ($keys as $key => $content) { + if (empty($content)) { + $keys[$key] = $key; + } + } + // Warning about columns with duplicate names being suppressed. + $unique = array_unique($keys); + $duplicates = array_diff_assoc($keys, $unique); + foreach ($duplicates as $duplicate) { + drupal_set_message(t('The column header "%key" appears multiple times in a table. In the JSON output only the last column with this key is used to avoid duplicate names.', array('%key' => $duplicate)), 'warning', FALSE); + } + unset($keys['weight']); + // Remove the first row (header). + unset($value['tabledata']['row_0']); + + if ($settings['usearraykeys'] === 'Both') { + // Remove the first column from the keys. + unset($keys['col_0']); + // Make number of elements same as $row for array_combine later. + unset($keys['weight']); + } + } + foreach ($value['tabledata'] as $key => $row) { + unset($row['weight']); + if ($settings['usearraykeys'] === 'Header' || $settings['usearraykeys'] === 'Both') { + if ($settings['usearraykeys'] === 'Both') { + $row_ident = $row['col_0']; + // Clean up unneeded data. + unset($value['tabledata'][$key]); + unset($row['col_0']); + $row = array_combine($keys, $row); + // If the first column value is empty use the row key (row_#). + $row_id = empty($row_ident) ? $key : $row_ident; + $row_id = str_replace(array("\r", "\n", "<br />"), '', $row_id); + // Warning about rows with duplicate names being suppressed. + if (isset($value['tabledata'][$row_id])) { + drupal_set_message(t('The row header "%row_id" appears multiple times in a table. In the JSON output only the last row with this key is used to avoid duplicate names.', array('%row_id' => $row_id)), 'warning', FALSE); + } + $value['tabledata'][$row_id] = $row; + // Remove the old key from the data set if it was replaced. + if (!empty($row_ident)) { + unset($value['tabledata'][$key]); + } + } + $unique = array_unique($keys); + $row = array_combine($unique, $row); + } + if ($settings['usearraykeys'] != 'Both') { + $value['tabledata'][$key] = $row; + } + } + // For a row identifier key to be retained we need to insert a + // numeric index key for each row. + if ($settings['usearraykeys'] === 'Both' || $settings['rowkey']) { + $i = 0; + foreach ($value as $key => $val) { + $value[$i][$key] = $val; + // Remove original key. We'll get it back with array_values(). + unset($value[$key]); + $i++; } } + if ($settings['tabledataonly']) { + $value = reset($value); + } + else { + // DEVELOPERS! Extra future data should be unset below (e.g. title). + $value['caption'] = $caption; + } + // Use the set wrapper for the table data. + if (isset($value[0]['tabledata']) && $settings['tabledatakey'] !== 'tabledata') { + $value[0][$settings['tabledatakey']] = $value[0]['tabledata']; + unset($value[0]['tabledata']); + } + elseif (isset($value['tabledata']) && $settings['tabledatakey'] !== 'tabledata') { + $value[$settings['tabledatakey']] = $value['tabledata']; + unset($value['tabledata']); + } + // Add the table to the final output. + if ($settings['tabledataonly']) { + array_push($values, array_values($value)); + } + else { + $value[$settings['tabledatakey']] = $settings['usearraykeys'] === 'Both' || $settings['rowkey'] ? $value[0][$settings['tabledatakey']] : array_values($value[$settings['tabledatakey']]); + unset($value[0]); + krsort($value); + array_push($values, $value); + } + // If the field is not plain text and a text area then remove + // linebreaks. + $format = isset($items[$delta]['format']) ? $items[$delta]['format'] : 'plain_text'; + array_walk_recursive($values, function (&$value) use ($format, $settings) { + if ($format !== 'plain_text') { + if ($settings['xml']) { + switch ($settings['xml_safe']) { + case 'htmlspecialchars': + $value = str_replace(array("\r", "\n"), '', htmlspecialchars($value)); + break; + + case 'cdata': + if (preg_match('/[&"\'<>]/', $value)) { + $value = str_replace(array("\r", "\n"), '', '<![CDATA[' . str_replace(']]>', '', $value) . ']]>'); + } + else { + $value = str_replace(array("\r", "\n"), '', $value); + } + break; + + default: + $value = str_replace(array("\r", "\n"), '', '<![CDATA[' . str_replace(']]>', '', $value) . ']]>'); + break; + } + } + else { + $value = str_replace(array("\r", "\n"), '', $value); + } + } + }); } - } + // Serve pretty print with a fixed-width font and preserve spaces and + // line breaks. + // Show pretty print on node pages and raw on other pages. + $prettyprint = (menu_get_object() && arg(2) !== 'themeless') ? JSON_PRETTY_PRINT : FALSE; + if ($prettyprint) { + $element['#prefix'] = '<pre>'; + $element['#suffix'] = '</pre>'; + } + $numeric_check = $settings['numeric_check'] ? JSON_NUMERIC_CHECK : FALSE; + // Avoid a wrapping array if we have a single table (not multi-value). + if (!(count($values) - 1)) { + $values = array_shift($values); + } + // Render multiple values as one to ensure valid JSON (e.g. seperator) + // or XML. + if ($settings['xml']) { + // Creating object of SimpleXMLElement. + $xml_data = new SimpleXMLElement('<?xml version="1.0"?><' . $settings['tabledatakey'] . '></' . $settings['tabledatakey'] . '>'); + // Flatten the array if we only have one element. + if (count($values) === 1) { + $values = current($values); + } + // Function call to convert array to xml. + array_to_xml($values, $xml_data); + if ($prettyprint) { + $dom = dom_import_simplexml($xml_data)->ownerDocument; + $dom->formatOutput = TRUE; + $output = $dom->saveXML(); + $markup = '<xmp>' . $output . '</xmp>'; + // Let other modules change the output. + $context = array( + 'entity_type' => $entity_type, + 'entity' => $entity, + 'field' => $field, + 'instance' => $instance, + 'language' => $langcode, + 'items' => $items, + 'display' => $display, + 'table_field_output_type' => 'xml_pretty_print', + ); + drupal_alter('tablefield_output', $markup, $context); + $element[0] = array( + '#markup' => $markup, + ); + } + else { + $output = $xml_data->asXML(); + $markup = str_replace('<?xml version="1.0"?>', '', $output); + // Let other modules change the output. + $context = array( + 'entity_type' => $entity_type, + 'entity' => $entity, + 'field' => $field, + 'instance' => $instance, + 'language' => $langcode, + 'items' => $items, + 'display' => $display, + 'table_field_output_type' => 'xml_raw', + ); + drupal_alter('tablefield_output', $markup, $context); + $element[0] = array( + '#markup' => $markup, + ); + } + } + else { + $markup = json_encode($values, $prettyprint | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | $numeric_check); + // Let other modules change the output. + $context = array( + 'entity_type' => $entity_type, + 'entity' => $entity, + 'field' => $field, + 'instance' => $instance, + 'language' => $langcode, + 'items' => $items, + 'display' => $display, + 'table_field_output_type' => $prettyprint ? 'json_pretty_print' : 'json_raw', + ); + drupal_alter('tablefield_output', $markup, $context); + $element[0] = array( + // See http://php.net/manual/en/json.constants.php#119565. + '#markup' => $markup, + ); + } + break; - // Pull the header for theming - $header_data = array_shift($tabledata); + default: + foreach ($items as $delta => $table) { + // Check for table caption. + $raw = unserialize($table['value']); + $caption = isset($raw['caption']) ? check_plain($raw['caption']) : ''; - // Check for an empty header, if so we don't want to theme it. - $noheader = TRUE; - foreach ($header_data as $cell) { - if (strlen($cell['data']) > 0) { - $noheader = FALSE; - break; - } - } + // Rationalize the stored data. + if (!empty($table['tablefield'])) { + $tabledata = $table['tablefield']; + } + elseif (!empty($table['value'])) { + $tabledata = unserialize($table['value']); + } - $header = $noheader ? NULL : $header_data; + // Run the table through input filters. + if (isset($tabledata['tabledata'])) { + if (!empty($tabledata['tabledata'])) { + + if ($settings['trim_trailing_rows']) { + $tabledata['tabledata'] = tablefield_trim($tabledata['tabledata']); + } + + if ($settings['trim_trailing_cols']) { + $tabledata['tabledata'] = tablefield_rtrim_cols($tabledata['tabledata']); + } + + if ($settings['hide_empty_rows']) { + $tabledata['tabledata'] = tablefield_hide_rows($tabledata['tabledata']); + } + + if ($settings['hide_empty_cols']) { + $tabledata['tabledata'] = tablefield_hide_cols($tabledata['tabledata']); + } + + if ($settings['hide_cols_skip_head']) { + $tabledata['tabledata'] = tablefield_hide_cols($tabledata['tabledata'], TRUE); + } + + foreach ($tabledata['tabledata'] as $row_key => $row) { + foreach ($row as $col_key => $cell) { + if (!empty($table['format']) && $col_key !== 'weight') { + $tabledata[$row_key][$col_key] = array( + 'data' => check_markup($cell, $table['format']), + 'class' => array($row_key, $col_key), + ); + } + elseif ($col_key !== 'weight') { + $tabledata[$row_key][$col_key] = array( + 'data' => check_plain($cell), + 'class' => array($row_key, $col_key), + ); + } + } + } + } - $entity_info = entity_get_info($entity_type); - $entity_id = !empty($entity_info['entity keys']['id']) ? $entity->{$entity_info['entity keys']['id']} : NULL; + // Pull the header for theming. + unset($tabledata['caption']); + unset($tabledata['tabledata']); + unset($tabledata['rebuild']); + unset($tabledata['import']); + unset($tabledata['paste']); + $header_data = isset($tabledata['row_0']) ? $tabledata['row_0'] : NULL; + + // Check for an empty header, if so we don't want to theme it. + $noheader = TRUE; + if (empty($settings['hide_header']) && $header_data) { + foreach ($header_data as $cell) { + if (strlen($cell['data']) > 0) { + $noheader = FALSE; + break; + } + } + } - // Theme the table for display - $element[$delta]['#markup'] = theme('tablefield_view', array( - 'header' => $header, - 'rows' => $tabledata, - 'delta' => $delta, - 'export' => isset($field['settings']['export']) ? $field['settings']['export'] : NULL, - 'entity_type' => $entity_type, - 'entity_id' => $entity_id, - 'field_name' => $field['field_name'], - 'langcode' => $langcode, - )); + $header = $noheader ? NULL : $header_data; + $entity_info = entity_get_info($entity_type); + $entity_id = !empty($entity_info['entity keys']['id']) ? $entity->{$entity_info['entity keys']['id']} : NULL; + + // Remove the first row from the tabledata. + array_shift($tabledata); + // Theme the table for display. + $element[$delta] = array( + '#theme' => 'tablefield_view', + '#caption' => $caption, + '#header_orientation' => isset($settings['header_orientation']) ? $settings['header_orientation'] : 'Horizontal', + '#sticky' => isset($settings['sticky_header']) ? $settings['sticky_header'] : NULL, + '#striping' => isset($settings['striping']) ? $settings['striping'] : NULL, + '#sortable' => isset($settings['sortable']) ? $settings['sortable'] : NULL, + '#header' => $header, + '#rows' => $tabledata, + '#delta' => $delta, + '#export' => isset($settings['export_csv']) ? $settings['export_csv'] : NULL, + '#entity_type' => $entity_type, + '#entity_id' => $entity_id, + '#field_name' => $field['field_name'], + '#langcode' => $langcode, + '#formatter' => $formatter, + ); + } + } } - } return $element; } @@ -389,20 +1169,38 @@ function tablefield_field_widget_info() { } /** - * Implements hook_widget_form(). + * Implements hook_field_widget_form(). */ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) { - drupal_add_css(drupal_get_path('module', 'tablefield') . '/tablefield.css'); - + $form['#after_build'][] = 'tablefield_after_build'; + $settings = isset($instance['display']['default']['settings']) ? $instance['display']['default']['settings'] : FALSE; $element['#type'] = 'tablefield'; $form['#attributes']['enctype'] = 'multipart/form-data'; + if ($settings) { + $hide_header = isset($settings['hide_header']) ? $settings['hide_header'] : FALSE; + } + $header_orientation = isset($settings['header_orientation']) ? $settings['header_orientation'] : 'Horizontal'; + switch ($header_orientation) { + case 'Both': + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_hor.css'); + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_vert.css'); + break; + + case 'Vertical': + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_vert.css'); + break; + + default: + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_hor.css'); + break; + } /* Tablefield is sometimes embedded within another form by other modules, such - * as Field Collection. Because of that, we cannot rely on field_name and - * $delta to provide a unique ID for this element. Instead we use a - * concatenation of the field parents along with the current field name, - * language, delta and tablefield key. - */ + * as Field Collection. Because of that, we cannot rely on field_name and + * $delta to provide a unique ID for this element. Instead we use a + * concatenation of the field parents along with the current field name, + * language, delta and tablefield key. + */ $tablefield_parents = isset($element['#field_parents']) ? $element['#field_parents'] : array(); array_push($tablefield_parents, $element['#field_name'], @@ -413,59 +1211,88 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ $id = drupal_clean_css_identifier(implode('-', $tablefield_parents)); // IDs to use for various buttons/wrapper for this element. When processing - // an AJAX request, these IDs are used to build the fieldstack so we know + // an AJAX request, these IDs are used to build the field stack so we know // where the value we're adjusting is in the FormAPI array. $ajax_wrapper_id = "$id-wrapper"; $rebuild_id = "$id-rebuild"; $import_id = "$id-import"; + $pasted_id = "$id-pasted"; - // Establish a list of saved/submitted/default values - if (isset($form_state['clicked_button']['#value']) && $form_state['clicked_button']['#name'] == $rebuild_id) { - // Rebuilding table rows/cols - $tablefield_rebuild = drupal_array_get_nested_value($form_state['tablefield_rebuild'], $tablefield_parents); - $default_value = tablefield_rationalize_table($tablefield_rebuild); - } - elseif (isset($form_state['clicked_button']['#value']) && $form_state['clicked_button']['#name'] == $import_id) { - // Importing CSV data - tablefield_import_csv($form, $form_state, $langcode, $import_id, $tablefield_parents); - $default_value = tablefield_rationalize_table(drupal_array_get_nested_value($form_state['input'], $tablefield_parents)); - } - elseif ($form_state['submitted'] && isset($items[$delta]) && isset($items[$delta]['tablefield']) && !isset($form_state['clicked_button']['#value'])) { - // A form was submitted - $default_value = tablefield_rationalize_table($items[$delta]['tablefield']); - } - elseif (isset($items[$delta]['value']) && !isset($form_state['clicked_button']['#value'])) { - // Default from database (saved node) - $default_value = tablefield_rationalize_table(unserialize($items[$delta]['value'])); - } - else { - // After the first table, we don't want to populate the values in the table - if ($delta > 0) { - tablefield_delete_table_values($instance['default_value'][0]['tablefield']); - } + // Default table size. + $default_size['count_cols'] = isset($instance['default_value'][0]['tablefield']['rebuild']['count_cols']) ? $instance['default_value'][0]['tablefield']['rebuild']['count_cols'] : 5; + $default_size['count_rows'] = isset($instance['default_value'][0]['tablefield']['rebuild']['count_rows']) ? $instance['default_value'][0]['tablefield']['rebuild']['count_rows'] : 5; + + // Default table cell values. + $default_value = NULL; - // Get the widget default value - $default_value = drupal_array_get_nested_value($form_state['input'], $tablefield_parents); - if (!empty($default_value)) { - // locked cells values do not end up in the input, so use instance defaults - if (!empty($field['settings']['lock_values'])) { - $default_value = tablefield_fill_locked_values($default_value, $instance['default_value'][0]['tablefield']); + // If there's a triggering element get the values from form state. + if (isset($form_state['triggering_element'])) { + if ($form_state['triggering_element']['#name'] == $rebuild_id) { + // Rebuilding table rows/cols. + $default_value = drupal_array_get_nested_value($form_state['tablefield_rebuild'], $tablefield_parents); + drupal_set_message(t('Table structure rebuilt.'), 'status', FALSE); + } + elseif ($form_state['triggering_element']['#name'] == $import_id) { + // Importing CSV data. + tablefield_import_csv($form, $form_state, $langcode, $import_id, $tablefield_parents); + $default_value = drupal_array_get_nested_value($form_state['input'], $tablefield_parents); + } + elseif ($form_state['triggering_element']['#name'] == $pasted_id) { + // Importing pasted data. + tablefield_import_pasted($form, $form_state, $langcode, $pasted_id, $tablefield_parents); + $default_value = drupal_array_get_nested_value($form_state['input'], $tablefield_parents); + if (empty($default_value['rebuild'])) { + $default_value['rebuild'] = $default_size; } - $default_value = tablefield_rationalize_table($default_value); } else { - $default_value = tablefield_rationalize_table($instance['default_value'][0]['tablefield']); + // The triggering element is neither a rebuild nor an import + // e.g. a file upload. + $default_value = drupal_array_get_nested_value($form_state['input'], $tablefield_parents); + } + } + // If no values by now, get tablefield item value stored in database, if any. + if (!$default_value) { + // This could be set e.g. when using paragraphs module. + if (isset($items[$delta]['tablefield'])) { + $default_value = $items[$delta]['tablefield']; } + elseif (isset($items[$delta]['value'])) { + $default_value = unserialize($items[$delta]['value']); + } + // If still nothing then get the instance default, but only for delta 0. + elseif ($delta === 0 && isset($instance['default_value'][0]['tablefield'])) { + $default_value = $instance['default_value'][0]['tablefield']; + } + } - $default_count_cols = isset($items[0]['tablefield']['rebuild']['count_cols']) ? $items[0]['tablefield']['rebuild']['count_cols'] : 5; - $default_count_rows = isset($items[0]['tablefield']['rebuild']['count_cols']) ? $items[0]['tablefield']['rebuild']['count_cols'] : 5; + if (empty($default_value['rebuild'])) { + $default_value['rebuild'] = $default_size; + } + else { + $default_size = $default_value['rebuild']; } + $count_rows = $default_size['count_rows']; + $count_cols = $default_size['count_cols']; + // Now we can build the widget. if (!empty($instance['description'])) { $help_text = $instance['description']; } else { - $help_text = t('The first row will appear as the table header. Leave the first row blank if you do not need a header.'); + if ($settings) { + $display_settings = l(t('default display settings'), 'admin/structure/types/manage/' . $element['#bundle'] . '/display', array( + 'attributes' => array( + 'title' => t('Manage display settings'), + ), + )); + if ($hide_header == TRUE) { + $help_text = t('This table will not have a header according to the !display_settings.', array('!display_settings' => $display_settings)); + } + else { + $help_text = t('The first row will appear as the table header. Leave the first row blank if you do not need a header.'); + } + } } $element['tablefield'] = array( @@ -473,104 +1300,166 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ '#description' => filter_xss_admin($help_text), '#attributes' => array( 'id' => $id, - 'class' => array('form-tablefield') + 'class' => array('form-tablefield'), ), '#type' => 'fieldset', '#tree' => TRUE, '#collapsible' => FALSE, - '#prefix' => '<div id="'. $ajax_wrapper_id .'">', + '#prefix' => '<div id="' . $ajax_wrapper_id . '">', '#suffix' => '</div>', ); - - // Give the fieldset the appropriate class if it is required - if ($element['#required']) { - $element['tablefield']['#title'] .= ' <span class="form-required" title="' . t('This field is required') . '">*</span>'; + if ($settings) { + if ($hide_header) { + $element['tablefield']['#attributes']['class'][] = 'table-no-headers'; + } } - $arg0 = arg(0); - if ($arg0 == 'admin') { - $element['tablefield']['#description'] = t('This form defines the table field defaults, but the number of rows/columns and content can be overridden on a per-node basis. The first row will appear as the table header. Leave the first row blank if you do not need a header.'); + // Give the fieldset the appropriate class if it is required. + if ($element['#required']) { + $element['tablefield']['#title'] .= ' <span class="form-required" title="'; + $element['tablefield']['#title'] .= t('This field is required'); + $element['tablefield']['#title'] .= '">*</span>'; } - // Determine how many rows/columns are saved in the data - if (!empty($default_value)) { - $count_rows = count($default_value); - $count_cols = 0; - foreach ($default_value as $row) { - $temp_count = count($row); - if ($temp_count > $count_cols) { - $count_cols = $temp_count; + if (arg(0) == 'admin') { + $element['tablefield']['#description'] = t('This form defines the table field defaults, but the number of rows/columns and content can be overridden.'); + if ($settings) { + if (!$hide_header) { + $element['tablefield']['#description'] .= ' ' . t('The first row will appear as the table header. Leave the first row blank if you do not need a header.'); } } } - else { - $count_cols = isset($default_count_cols) ? $default_count_cols : 0; - $count_rows = isset($default_count_rows) ? $default_count_rows : 0; - } - // Override the number of rows/columns if the user rebuilds the form. - // $tablefield_rebuild variable was set above - if (isset($form_state['clicked_button']['#value']) && $form_state['clicked_button']['#name'] == $rebuild_id) { - $count_cols = $tablefield_rebuild['rebuild']['count_cols']; - $count_rows = $tablefield_rebuild['rebuild']['count_rows']; - drupal_set_message(t('Table structure rebuilt.'), 'status', FALSE); - } - - // Render the form table - $element['tablefield']['a_break'] = array( - '#markup' => '<table>', + // Render the form table. + $element['tablefield']['tabledata']['a_break'] = array( + '#markup' => '<table id="tablefield-editor">', ); + + $default_value = isset($default_value['tabledata']) ? $default_value['tabledata'] : $default_value; + // Make added default values visible when editing existing content. + if (isset($instance['widget']['settings']['restrict_rebuild']) + && $instance['widget']['settings']['restrict_rebuild'] + && $instance['widget']['settings']['lock_values'] + && arg(0) !== 'admin' + && arg(0) !== 'system') { + // Use the default number of cols/rows if they changed. + $count_cols = $count_cols != $instance['default_value'][0]['tablefield']['rebuild']['count_cols'] ? $instance['default_value'][0]['tablefield']['rebuild']['count_cols'] : $count_cols; + $count_rows = $count_rows != $instance['default_value'][0]['tablefield']['rebuild']['count_rows'] ? $instance['default_value'][0]['tablefield']['rebuild']['count_rows'] : $count_rows; + } + // Loop over all the rows. for ($i = 0; $i < $count_rows; $i++) { $zebra = $i % 2 == 0 ? 'even' : 'odd'; - $element['tablefield']['b_break' . $i] = array( - '#markup' => '<tr class="tablefield-row-' . $i . ' ' . $zebra . '">', + // Disable table drag functionality in case of locked default cells under + // the first row or completely on the field settings form. + $draggable = 'draggable '; + unset($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]['weight']); + if (arg(0) == 'admin' || + (isset($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]) + && array_filter($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"])) + ) { + $draggable = FALSE; + } + $element['tablefield']['tabledata']['b_break' . $i] = array( + '#markup' => '<tr class="' . $draggable . 'tablefield-row-' . $i . ' ' . $zebra . '"><td class="tablefield-row-count">' . ($i + 1) . '</td>', ); + + // Loop over all the columns. for ($ii = 0; $ii < $count_cols; $ii++) { - $instance_default = isset($instance['default_value'][$delta]['tablefield']["cell_{$i}_{$ii}"]) ? $instance['default_value'][$delta]['tablefield']["cell_{$i}_{$ii}"] : array(); - if (!empty($instance_default) && !empty($field['settings']['lock_values']) && $arg0 != 'admin') { + $instance_default = isset($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]["col_{$ii}"]) ? $instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]["col_{$ii}"] : array(); + if (!empty($instance_default) && !empty($instance['widget']['settings']['lock_values']) && arg(0) != 'admin') { // The value still needs to be send on every load in order for the // table to be saved correctly. - $element['tablefield']['cell_' . $i . '_' . $ii] = array( + $element['tablefield']['tabledata']['row_' . $i]['col_' . $ii] = array( '#type' => 'value', '#value' => $instance_default, ); // Display the default value, since it's not editable. - $element['tablefield']['cell_' . $i . '_' . $ii . '_display'] = array( + $element['tablefield']['tabledata']['row_' . $i]['col_' . $ii . '_display'] = array( '#type' => 'item', '#title' => $instance_default, - '#prefix' => '<td style="width:' . floor(100/$count_cols) . '%">', + '#prefix' => '<td class="col-' . $ii . '">', '#suffix' => '</td>', ); } else { - $cell_default = isset($default_value[$i][$ii]) ? $default_value[$i][$ii] : ''; - $element['tablefield']['cell_' . $i . '_' . $ii] = array( - '#type' => 'textfield', - '#maxlength' => 2048, + $input_type = isset($instance['widget']['settings']['input_type']) ? $instance['widget']['settings']['input_type'] : 'textfield'; + $max_length = isset($instance['widget']['settings']['max_length']) ? abs($instance['widget']['settings']['max_length']) : '2048'; + $cell_default = isset($default_value['row_' . $i]['col_' . $ii]) ? $default_value['row_' . $i]['col_' . $ii] : ''; + // If the field does not contain HTML, is not plain text and a text area + // then covert linebreaks to <br />. + $format = isset($items[$delta]['format']) ? $items[$delta]['format'] : 'plain_text'; + if (!($cell_default != strip_tags($cell_default)) && $format !== 'plain_text') { + $nl2br = array('_cell_validate'); + } + else { + $nl2br = NULL; + } + + $element['tablefield']['tabledata']['row_' . $i]['col_' . $ii] = array( + '#type' => $input_type, + '#maxlength' => $max_length, '#size' => 0, '#attributes' => array( - 'id' => $id .'-cell-' . $i . '-' . $ii, + 'id' => $id . '-cell-' . $i . '-' . $ii, 'class' => array('tablefield-row-' . $i, 'tablefield-col-' . $ii), - 'style' => 'width:100%' + 'style' => 'min-width: 100%', ), - '#default_value' => (empty($field_value)) ? $cell_default : $field_value, - '#prefix' => '<td style="width:' . floor(100/$count_cols) . '%">', + '#default_value' => $cell_default, + '#prefix' => '<td class="col-' . $ii . '">', '#suffix' => '</td>', + '#element_validate' => $nl2br, ); } } + + // Add an extra column for the weight. + $row_weight_default = isset($default_value[$i]['weight']) ? $default_value[$i]['weight'] : ($i + 1); + $element['tablefield']['tabledata']['row_' . $i]['weight'] = array( + '#type' => 'weight', + '#title' => t('Weight'), + '#default_value' => $row_weight_default, + '#delta' => $count_rows, + '#attributes' => array('class' => array('tablefield-weight')), + '#prefix' => '<td class="tabledrag-hide">', + '#suffix' => '</td>', + ); + $element['tablefield']['c_break' . $i] = array( '#markup' => '</tr>', ); } + $element['tablefield']['t_break' . $i] = array( '#markup' => '</table>', ); + // Provide caption field to describe the data contained in the table. + $element['tablefield']['caption'] = array( + '#type' => 'textfield', + '#title' => t('Table description'), + '#default_value' => '', + '#description' => t('This brief caption will be associated with the table and will help Assitive Technology, like screen readers, better describe the content within.'), + ); + if (isset($items[$delta]['value'])) { + $raw = unserialize($items[$delta]['value']); + if (isset($raw['caption'])) { + $element['tablefield']['caption']['#default_value'] = check_plain($raw['caption']); + } + } + // If the user doesn't have rebuild perms, we pass along the data as a value. - // Otherwise, we will provide form elements to specify the size and ajax rebuild. - if (isset($field['settings']['restrict_rebuild']) && $field['settings']['restrict_rebuild'] && !user_access('rebuild tablefield')) { - $element['tablefield']['rebuild'] = array ( + // Otherwise we provide form elements to specify the size and ajax rebuild. + if (( + isset($instance['widget']['settings']['restrict_rebuild']) + && $instance['widget']['settings']['restrict_rebuild'] + && !user_access('rebuild tablefield')) + || (isset($instance['widget']['settings']['restrict_rebuild']) + && $instance['widget']['settings']['restrict_rebuild'] + && $instance['widget']['settings']['lock_values'] + && arg(0) !== 'admin' + && arg(0) !== 'system' + )) { + $element['tablefield']['rebuild'] = array( '#type' => 'value', '#tree' => TRUE, 'count_cols' => array( @@ -630,41 +1519,89 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ ); } - // Allow the user to import a csv file - $element['tablefield']['import'] = array( - '#type' => 'fieldset', - '#tree' => TRUE, - '#title' => t('Import from CSV'), - '#collapsible' => TRUE, - '#collapsed' => TRUE, - ); - $element['tablefield']['import']['file'] = array( - '#name' => 'files[' . $import_id . ']', - '#title' => 'File upload', - '#type' => 'file', - ); - - $element['tablefield']['import']['import'] = array( - '#type' => 'button', - '#validate' => array(), - '#limit_validation_errors' => array(), - '#executes_submit_callback' => TRUE, - '#submit' => array('tablefield_rebuild_form'), - '#value' => t('Upload CSV'), - '#name' => $import_id, - '#attributes' => array( - 'class' => array('tablefield-rebuild'), - ), - '#ajax' => array( - 'callback' => 'tablefield_rebuild_form_ajax', - 'wrapper' => $ajax_wrapper_id, - 'effect' => 'fade', - ), - ); + if (user_access('always use additional datasources') || (isset($instance['widget']['settings']['data_sources']['upload']) && ($instance['widget']['settings']['data_sources']['upload'] === 'upload'))) { + // Allow the user to import a csv file. + $element['tablefield']['import'] = array( + '#type' => 'fieldset', + '#tree' => TRUE, + '#title' => t('Upload CSV file'), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + ); + $element['tablefield']['import']['file'] = array( + '#name' => 'files[' . $import_id . ']', + '#title' => t('File upload'), + '#type' => 'file', + ); + $element['tablefield']['import']['import'] = array( + '#type' => 'button', + '#validate' => array(), + '#limit_validation_errors' => array(), + '#executes_submit_callback' => TRUE, + '#submit' => array('tablefield_rebuild_form'), + '#value' => t('Upload CSV'), + '#name' => $import_id, + '#attributes' => array( + 'class' => array('tablefield-rebuild'), + ), + '#ajax' => array( + 'callback' => 'tablefield_rebuild_form_ajax', + 'wrapper' => $ajax_wrapper_id, + 'effect' => 'fade', + ), + ); + } + if (user_access('always use additional datasources') || (isset($instance['widget']['settings']['data_sources']['paste']) && ($instance['widget']['settings']['data_sources']['paste'] === 'paste'))) { + // Allow user to paste data (e.g. from Excel). + $element['tablefield']['paste'] = array( + '#type' => 'fieldset', + '#tree' => TRUE, + '#title' => t('Copy & Paste'), + '#attributes' => array('class' => array('tablefield-extra tablefield-paste')), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + ); + $delimiters = array( + 'TAB' => t('TAB'), + ',' => t('Comma ,'), + ';' => t('Semicolon ;'), + '|' => t('Pipe |'), + '+' => t('Plus +'), + ':' => t('Colon :'), + ); + $element['tablefield']['paste']['paste_delimiter'] = array( + '#type' => 'select', + '#tree' => TRUE, + '#title' => t('Column separator'), + '#name' => 'delimiter[' . $pasted_id . ']', + '#options' => $delimiters, + '#description' => t('Data copied from Excel will use TAB.'), + ); + $element['tablefield']['paste']['data'] = array( + '#type' => 'textarea', + '#tree' => TRUE, + '#name' => 'data[' . $pasted_id . ']', + '#title' => t('Paste table data here:'), + ); + $element['tablefield']['paste']['paste_import'] = array( + '#type' => 'button', + '#validate' => array(), + '#limit_validation_errors' => array(), + '#executes_submit_callback' => TRUE, + '#submit' => array('tablefield_rebuild_form'), + '#value' => t('Import & Rebuild'), + '#name' => $pasted_id, + '#ajax' => array( + 'callback' => 'tablefield_rebuild_form_ajax', + 'wrapper' => $ajax_wrapper_id, + 'effect' => 'fade', + ), + ); + } - // Allow the user to select input filters - if (!empty($field['settings']['cell_processing'])) { + // Allow the user to select input filters. + if (!empty($instance['widget']['settings']['cell_processing'])) { $element['#base_type'] = $element['#type']; $element['#type'] = 'text_format'; $element['#format'] = isset($items[$delta]['format']) ? $items[$delta]['format'] : NULL; @@ -677,35 +1614,77 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ } /** - * Helper function to import data from a CSV file + * Custom callback for a textarea to be processed for linebreaks. + */ +function _cell_validate($element, &$form_state) { + $value = $element['#value']; + if (!empty($element['#value'])) { + $value = nl2br($value); + form_set_value($element, $value, $form_state); + } +} + +/** + * Form #after_build callback for tablefield_field_widget_form(). + */ +function tablefield_after_build($form, &$form_state) { + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield.css'); + drupal_add_tabledrag('tablefield-editor', 'order', 'sibling', 'tablefield-weight'); + return $form; +} + +/** + * Helper function to import data from a CSV file. + * * @param array $form + * The form structure. * @param array $form_state + * The current state of the form. * @param string $langcode + * The language associated with the form items. * @param string $file_form_field_name + * The key of the upload form element in the form array. * @param array $tablefield_parents + * The parents of the tablefield element. */ function tablefield_import_csv($form, &$form_state, $langcode, $file_form_field_name, $tablefield_parents) { - // Extract the field and file name from the id of the clicked button + // Extract the field and file name from the id of the clicked button. $file = file_save_upload($file_form_field_name, array('file_validate_extensions' => array('csv'))); if (is_object($file)) { + // Assure Mac/Linux EOL markers work with fgetcsv(). + $auto_detect_line_endings = ini_get('auto_detect_line_endings'); + ini_set('auto_detect_line_endings', TRUE); if (($handle = fopen($file->uri, "r")) !== FALSE) { tablefield_delete_table_values(drupal_array_get_nested_value($form_state['values'], $tablefield_parents)); tablefield_delete_table_values(drupal_array_get_nested_value($form_state['input'], $tablefield_parents)); - // Populate CSV values + // Checking the encoding of the CSV file to be UTF-8. + $encoding = 'UTF-8'; + if (function_exists('mb_detect_encoding')) { + $file_contents = file_get_contents($file->uri); + $encodings_list = implode(',', variable_get('tablefield_detect_encodings', array( + 'UTF-8', + 'ISO-8859-1', + 'WINDOWS-1251', + ))); + $encoding = mb_detect_encoding($file_contents, $encodings_list); + } + + // Populate CSV values. $max_col_count = 0; $row_count = 0; $imported_tablefield = array(); while (($csv = fgetcsv($handle, 0, variable_get('tablefield_csv_separator', ','))) !== FALSE) { $col_count = count($csv); foreach ($csv as $col_id => $col) { - $imported_tablefield['cell_'. $row_count .'_'. $col_id] = $col; + $imported_tablefield['row_' . $row_count]['col_' . $col_id] = tablefield_convert_encoding($col, $encoding); } $max_col_count = $col_count > $max_col_count ? $col_count : $max_col_count; $row_count++; } fclose($handle); + ini_set('auto_detect_line_endings', $auto_detect_line_endings); $imported_tablefield['rebuild'] = array('count_cols' => $max_col_count, 'count_rows' => $row_count); drupal_array_set_nested_value($form_state['values'], $tablefield_parents, $imported_tablefield); drupal_array_set_nested_value($form_state['input'], $tablefield_parents, $imported_tablefield); @@ -719,13 +1698,70 @@ function tablefield_import_csv($form, &$form_state, $langcode, $file_form_field_ } /** - * Helper function to remove all values in a particular table + * Helper function to import pasted data. + * + * @param array $form + * The form structure. + * @param array $form_state + * The current state of the form. + * @param string $langcode + * The language associated with the form items. + * @param array $tablefield_parents + * The parents of the tablefield element. + */ +function tablefield_import_pasted($form, &$form_state, $langcode, $pasted_form_field_name, $tablefield_parents) { + $data = $form_state['input']['data'][$pasted_form_field_name]; + if (!empty($data)) { + // Empty the current table. + tablefield_delete_table_values(drupal_array_get_nested_value($form_state['values'], $tablefield_parents)); + tablefield_delete_table_values(drupal_array_get_nested_value($form_state['input'], $tablefield_parents)); + + // Get the delimiter. + $col_delimiter = $form_state['input']['delimiter'][$pasted_form_field_name]; + if ($col_delimiter == 'TAB') { + $col_delimiter = "\t"; + } + + // Populate table with pasted values. + $max_col_count = 0; + $row_count = 0; + $imported_tablefield = array(); + $rows = explode(PHP_EOL, $data); + foreach ($rows as $row_id => $row) { + // Explode the current row into columns: + $cols = str_getcsv($row, $col_delimiter); + $col_count = count($cols); + if ($col_count > 0) { + foreach ($cols as $col_id => $col) { + $imported_tablefield['row_' . $row_count]['col_' . $col_id] = $col; + } + $max_col_count = $col_count > $max_col_count ? $col_count : $max_col_count; + $row_count++; + } + } + + // Rebuild the table if necessary, and save. + $imported_tablefield['rebuild'] = array('count_cols' => $max_col_count, 'count_rows' => $row_count); + drupal_array_set_nested_value($form_state['values'], $tablefield_parents, $imported_tablefield); + drupal_array_set_nested_value($form_state['input'], $tablefield_parents, $imported_tablefield); + + drupal_set_message(t('Successfully imported pasted data.')); + } + else { + drupal_set_message(t('There was a problem importing pasted data.')); + } +} + +/** + * Helper function to remove all values in a particular table. + * * @param array $tablefield + * The table as it appears in FAPI. */ function tablefield_delete_table_values(&$tablefield) { - // Empty out previously entered values + // Empty out previously entered values. foreach ($tablefield as $key => $value) { - if (strpos($key, 'cell_') === 0) { + if (strpos($key, 'row_') === 0) { $tablefield[$key] = ''; } } @@ -733,16 +1769,16 @@ function tablefield_delete_table_values(&$tablefield) { /** * AJAX callback to rebuild the number of rows/columns. + * * The basic idea is to descend down the list of #parent elements of the - * clicked_button in order to locate the tablefield inside of the $form - * array. That is the element that we need to return. - * @param array $form - * @param array $form_state + * clicked_button in order to locate the tablefield inside of the $form array. + * That is the element that we need to return. */ function tablefield_rebuild_form_ajax($form, $form_state) { $parents = $form_state['triggering_element']['#array_parents']; - // we do not want to go as deep as rebuild/rebuild or import/import, i.e. the triggering buttons + // We do not want to go as deep as rebuild/rebuild or import/import, + // i.e. the triggering buttons. array_pop($parents); array_pop($parents); @@ -767,43 +1803,12 @@ function tablefield_rebuild_form_ajax($form, $form_state) { } /** - * Helper function to rebuild the table structure w/o submitting the form. - * @param array $form - * @param array $form_state + * Helper function to rebuild the table structure without submitting the form. */ function tablefield_rebuild_form($form, &$form_state) { // Maintain the tablefield data. $form_state['tablefield_rebuild'] = $form_state['input']; - $form_state['rebuild'] = true; -} - -/** - * Helper function to turn form elements into a structured array. - * - * @param array $tablefield - * The table as it appears in FAPI. - */ -function tablefield_rationalize_table($tablefield) { - $tabledata = array(); - - // Rationalize the table data - if (!empty($tablefield)) { - // Remove exterraneous form data - $count_cols = $tablefield['rebuild']['count_cols']; - $count_rows = $tablefield['rebuild']['count_rows']; - unset($tablefield['rebuild']); - unset($tablefield['import']); - - foreach ($tablefield as $key => $value) { - preg_match('/cell_(.*)_(.*)/', $key, $cell); - // $cell[1] is row count $cell[2] is col count - if ((int) $cell[1] < $count_rows && (int) $cell['2'] < $count_cols) { - $tabledata[$cell[1]][$cell[2]] = $value; - } - } - } - - return $tabledata; + $form_state['rebuild'] = TRUE; } /** @@ -813,67 +1818,568 @@ function tablefield_theme() { return array( 'tablefield_view' => array( 'variables' => array( + 'caption' => NULL, 'header' => NULL, 'rows' => NULL, - 'delta' => NULL, 'export' => NULL, + 'delta' => NULL, 'entity_type' => NULL, 'entity_id' => NULL, 'field_name' => NULL, 'langcode' => NULL, + 'formatter' => NULL, + 'header_orientation' => 'Horizontal', + 'sticky' => NULL, + 'striping' => NULL, + 'sortable' => NULL, + 'attributes' => array(), + ), + ), + 'tablefield' => array( + 'variables' => array( + 'rows' => NULL, + 'attributes' => array(), + 'caption' => NULL, + 'colgroups' => array(), + 'header_orientation' => 'Horizontal', + 'sticky' => NULL, + 'striping' => NULL, + 'sortable' => NULL, + 'empty' => NULL, ), ), ); } /** - * Theme function for table view + * Theme function for table view. */ function theme_tablefield_view($variables) { + $id = $variables['entity_type'] . '-' . $variables['entity_id'] . '-' . $variables['field_name'] . '-' . $variables['delta']; + $sortable = $variables['sortable'] ? 'tablesorter' : NULL; $attributes = array( - 'id' => 'tablefield-' . $variables['delta'], - 'class' => array( - 'tablefield' - ), + 'id' => 'tablefield-' . $id, + 'class' => array('tablefield', $sortable), ); + // Apply scope property to headers for accessibility. + if (is_array($variables['header'])) { + foreach ($variables['header'] as &$header) { + $header['scope'] = 'col'; + } + } + // If the user has access to the csv export option, display it now. $export = ''; if ($variables['export'] && user_access('export tablefield')) { $url = sprintf('tablefield/export/%s/%s/%s/%s/%s', $variables['entity_type'], $variables['entity_id'], $variables['field_name'], $variables['langcode'], $variables['delta']); - $export = '<div id="tablefield-export-link-' . $variables['delta'] . '" class="tablefield-export-link">' . l(t('Export Table Data'), $url) . '</div>'; + $export = '<div id="' . drupal_html_id('tablefield-export-link-' . $id) . '" class="tablefield-export-link">' . l(t('Export Table Data'), $url) . '</div>'; } - return '<div id="tablefield-wrapper-' . $variables['delta'] . '" class="tablefield-wrapper">' - . theme('table', - array( - 'header' => $variables['header'], - 'rows' => $variables['rows'], - 'attributes' => $attributes, - ) - ) + // Prepare variables for theme_tablefield(). + $theme_variables = array( + 'header' => $variables['header'], + 'rows' => $variables['rows'], + 'attributes' => $attributes, + 'colgroups' => array(), + 'empty' => NULL, + ); + if (isset($variables['caption'])) { + $theme_variables['caption'] = $variables['caption']; + } + if (isset($variables['header_orientation'])) { + $theme_variables['header_orientation'] = $variables['header_orientation']; + } + if (isset($variables['sticky'])) { + $theme_variables['sticky'] = $variables['sticky']; + } + if (isset($variables['striping'])) { + $theme_variables['striping'] = $variables['striping']; + } + if (isset($variables['sortable'])) { + $theme_variables['sortable'] = $variables['sortable']; + } + return '<div id="' . drupal_html_id('tablefield-wrapper-' . $id) . '" class="tablefield-wrapper">' + . theme('tablefield', $theme_variables) . $export . '</div>'; } /** - * Helper function to fill in locked values from instance defaults - * @param array $tablefield - * @params array $instance_default - instance default tablefield - * @return array - filled tablefield + * Helper function to detect and convert strings not in UTF-8 to UTF-8. + * + * @param string $data + * The string which needs converting. + * @param string $encoding + * The encoding of the CSV file. + * + * @return string + * UTF encoded string. */ -function tablefield_fill_locked_values($tablefield, $instance_default) { - if (!empty($tablefield['rebuild'])) { - $count_cols = $tablefield['rebuild']['count_cols']; - $count_rows = $tablefield['rebuild']['count_rows']; +function tablefield_convert_encoding($data, $encoding) { + // Converting UTF-8 to UTF-8 will not work. + if ($encoding == 'UTF-8') { + return $data; + } - for ($i = 0; $i < $count_rows; $i++) { - for ($ii = 0; $ii < $count_cols; $ii++) { - if (!isset($tablefield["cell_${i}_${ii}"])) { - $tablefield["cell_${i}_${ii}"] = isset($instance_default["cell_${i}_${ii}"]) ? $instance_default["cell_${i}_${ii}"] : ''; + // Try convert the data to UTF-8. + if ($encoded_data = drupal_convert_to_utf8($data, $encoding)) { + return $encoded_data; + } + + // Fallback on the input data. + return $data; +} + +/** + * Trim trailing empty rows/columns. + * + * @param array $tabledata + * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. + */ +function tablefield_trim($tabledata, $ignore_head = FALSE) { + $tabledata = array_reverse($tabledata); + // For columns the transposed array has the 'weight' one level higher. + unset($tabledata['weight']); + foreach ($tabledata as $key => $value) { + // Removes the weight key for the rows. + unset($value['weight']); + $empty = TRUE; + if (is_array($value)) { + foreach ($value as $k2 => $v2) { + if (!empty($v2)) { + // Stop traversing at the first non empty value. + if (!$ignore_head || ($ignore_head && $k2 !== 'row_0')) { + $empty = FALSE; + } + } + } + } + else { + if (!empty($value)) { + // Stop traversing at the first non empty value. + $empty = FALSE; + } + } + + if ($empty) { + unset($tabledata[$key]); + } + else { + break; + } + } + $tabledata = array_reverse($tabledata); + + return $tabledata; +} + +/** + * Trim trailing empty columns. + * + * @param array $tabledata + * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. + */ +function tablefield_rtrim_cols($tabledata, $ignore_head = FALSE) { + $row_num = count($tabledata); + + if (!$row_num) { + return $tabledata; + } + + // Transpose the array. + $tabledata = tablefield_transpose($tabledata); + + // Trim trailing empty rows. + $tabledata = tablefield_trim($tabledata, $ignore_head); + + // Transpose back. + $tabledata = tablefield_transpose($tabledata); + + return $tabledata; +} + +/** + * Helper function to transpose table data arrays. + */ +function tablefield_transpose($array) { + $transposed = array(); + foreach ($array as $key => $row) { + foreach ($row as $subkey => $value) { + $transposed[$subkey][$key] = $value; + } + } + return $transposed; +} + +/** + * Hide all empty rows. + * + * @param array $tabledata + * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. + */ +function tablefield_hide_rows($tabledata, $ignore_head = FALSE) { + foreach ($tabledata as $key => $value) { + // Removes the weight key. + unset($value['weight']); + $empty = TRUE; + + if (is_array($value)) { + foreach ($value as $k2 => $v2) { + if (!empty($v2)) { + // Stop traversing at the first non empty value. + if (!$ignore_head || ($ignore_head && $k2 !== 'row_0')) { + $empty = FALSE; + } + } + } + } + else { + if (!empty($value)) { + // Stop traversing at the first non empty value. + $empty = FALSE; + } + } + + if ($empty) { + unset($tabledata[$key]); + } + } + + return $tabledata; +} + +/** + * Hide all empty columns. + * + * @param array $tabledata + * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. + */ +function tablefield_hide_cols($tabledata, $ignore_head = FALSE) { + $row_num = count($tabledata); + + if (!$row_num) { + return $tabledata; + } + + // Transpose the array. + $tabledata = tablefield_transpose($tabledata); + + // Trim trailing empty rows. + $tabledata = tablefield_hide_rows($tabledata, $ignore_head); + + // Transpose back. + $tabledata = tablefield_transpose($tabledata); + + return $tabledata; +} + +/** + * Implements hook_multiple_field_remove_button_field_widgets_alter(). + * + * Enable https://www.drupal.org/project/multiple_fields_remove_button. + */ +function tablefield_multiple_field_remove_button_field_widgets_alter(&$fieldwidgets) { + // Remove button for the following field type widgets. + $fieldwidgets = array( + 'tablefield', + ); +} + +/** + * Implements hook_form_alter(). + * + * Avoid empty tables on multivalue fields with default header values. + */ +function tablefield_form_alter(&$form, &$form_state, $form_id) { + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + if ($instance['widget']['type'] === 'tablefield') { + $field_info = field_info_field($field_name); + if (empty($field_info['field_name'])) { + return; + } + if (isset($form[$field_info['field_name']]) && $field_info['cardinality'] != 1) { + $field_language = $form[$field_info['field_name']]['#language']; + $max_delta = $form[$field_info['field_name']][$field_language]['#max_delta']; + unset($form[$field_name][$field_language][$max_delta]); + } } } } } - return $tablefield; +} + +/** + * Returns HTML for a table. Based on the core function theme_table(). + * + * @param array $variables + * An associative array containing: + * - header: An array containing the table headers. Each element of the array + * can be either a localized string or an associative array with the + * following keys: + * - "data": The localized title of the table column. + * - "field": The database field represented in the table column (required + * if user is to be able to sort on this column). + * - "sort": A default sort order for this column ("asc" or "desc"). Only + * one column should be given a default sort order because table sorting + * only applies to one column at a time. + * - Any HTML attributes, such as "colspan", to apply to the column header + * cell. + * - rows: An array of table rows. Every row is an array of cells, or an + * associative array with the following keys: + * - "data": an array of cells + * - Any HTML attributes, such as "class", to apply to the table row. + * - "no_striping": a boolean indicating that the row should receive no + * 'even / odd' styling. Defaults to FALSE. + * Each cell can be either a string or an associative array with the + * following keys: + * - "data": The string to display in the table cell. + * - "header": Indicates this cell is a header. + * - Any HTML attributes, such as "colspan", to apply to the table cell. + * Here's an example for $rows:. + * + * @code + * $rows = array( + * // Simple row + * array( + * 'Cell 1', 'Cell 2', 'Cell 3' + * ), + * // Row with attributes on the row and some of its cells. + * array( + * 'data' => array('Cell 1', array('data' => 'Cell 2', 'colspan' => 2)), 'class' => array('funky') + * ) + * ); + * @endcode + * - attributes: An array of HTML attributes to apply to the table tag. + * - caption: A localized string to use for the <caption> tag. + * - colgroups: An array of column groups. Each element of the array can be + * either: + * - An array of columns, each of which is an associative array of HTML + * attributes applied to the COL element. + * - An array of attributes applied to the COLGROUP element, which must + * include a "data" attribute. To add attributes to COL elements, set the + * "data" attribute with an array of columns, each of which is an + * associative array of HTML attributes. + * Here's an example for $colgroup: + * @code + * $colgroup = array( + * // COLGROUP with one COL element. + * array( + * array( + * 'class' => array('funky'), // Attribute for the COL element. + * ), + * ), + * // Colgroup with attributes and inner COL elements. + * array( + * 'data' => array( + * array( + * 'class' => array('funky'), // Attribute for the COL element. + * ), + * ), + * 'class' => array('jazzy'), // Attribute for the COLGROUP element. + * ), + * ); + * @endcode + * These optional tags are used to group and set properties on columns + * within a table. For example, one may easily group three columns and + * apply same background style to all. + * - header_orientation: Horizontal, vertical or both. + * - sticky: Use a "sticky" table header. + * - striping: Do add an 'odd' or 'even' class to rows. + * - sortable: Allow column sorting by clicking the column in the first row. + * - empty: The message to display in an extra row if table does not have any + * rows. + */ +function theme_tablefield($variables) { + $header = $variables['header']; + $rows = $variables['rows']; + $attributes = $variables['attributes']; + $caption = $variables['caption']; + $colgroups = $variables['colgroups']; + $header_orientation = $variables['header_orientation']; + $sticky = $variables['sticky']; + $no_striping = !$variables['striping']; + $empty = $variables['empty']; + if ($variables['sortable']) { + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_sort.css'); + $tooltip = ' title="' . t('Sort column') . '"'; + } + else { + $tooltip = NULL; + } + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_sort.css'); $empty = $variables['empty']; + // If the only header is the first column make the first row a normal row. + if (!isset($rows['row_0']) && $header_orientation == 'Vertical') { + $rows['row_0'] = $header; + ksort($rows); + $header = array(); + } + // Add sticky headers, if applicable. + if (count($header) && $sticky) { + drupal_add_js('misc/tableheader.js'); + // Add 'sticky-enabled' class to the table to identify it for JS. + // This is needed to target tables constructed by this function. + $attributes['class'][] = 'sticky-enabled'; + } + + $output = '<table' . drupal_attributes($attributes) . ">\n"; + + if (isset($caption)) { + $output .= '<caption>' . $caption . "</caption>\n"; + } + + // Format the table columns: + if (count($colgroups)) { + foreach ($colgroups as $number => $colgroup) { + $attributes = array(); + + // Check if we're dealing with a simple or complex column. + if (isset($colgroup['data'])) { + foreach ($colgroup as $key => $value) { + if ($key == 'data') { + $cols = $value; + } + else { + $attributes[$key] = $value; + } + } + } + else { + $cols = $colgroup; + } + + // Build colgroup. + if (is_array($cols) && count($cols)) { + $output .= ' <colgroup' . drupal_attributes($attributes) . '>'; + $i = 0; + foreach ($cols as $col) { + $output .= ' <col' . drupal_attributes($col) . ' />'; + } + $output .= " </colgroup>\n"; + } + else { + $output .= ' <colgroup' . drupal_attributes($attributes) . " />\n"; + } + } + } + + // Add the 'empty' row message if available. + if (!count($rows) && $empty) { + $header_count = 0; + foreach ($header as $header_cell) { + if (is_array($header_cell)) { + $header_count += isset($header_cell['colspan']) ? $header_cell['colspan'] : 1; + } + else { + $header_count++; + } + } + $rows[] = array( + array( + 'data' => $empty, + 'colspan' => $header_count, + 'class' => array('empty', 'message'), + ), + ); + } + + // Format the table header: + if (count($header)) { + $ts = tablesort_init($header); + // HTML requires that the thead tag has tr tags in it followed by tbody + // tags. Using ternary operator to check and see if we have any rows. + $output .= (count($rows) ? ' <thead' . $tooltip . '><tr>' : ' <tr>'); + foreach ($header as $cell) { + $cell = tablesort_header($cell, $header, $ts); + $output .= _theme_table_cell($cell, TRUE); + } + // Using ternary operator to close the tags based on whether or not there + // are rows. + $output .= (count($rows) ? " </tr></thead>\n" : "</tr>\n"); + } + else { + $ts = array(); + } + + // Format the table rows: + if (count($rows)) { + $output .= "<tbody>\n"; + $flip = array('even' => 'odd', 'odd' => 'even'); + $class = 'even'; + foreach ($rows as $number => $row) { + // Check if we're dealing with a simple or complex row. + if (isset($row['data'])) { + $cells = $row['data']; + $no_striping = isset($row['no_striping']) ? $row['no_striping'] : FALSE; + + // Set the attributes array and exclude 'data' and 'no_striping'. + $attributes = $row; + unset($attributes['data']); + unset($attributes['no_striping']); + } + else { + $cells = $row; + $attributes = array(); + } + if (count($cells)) { + // Add odd/even class. + if (!$no_striping) { + $class = $flip[$class]; + $attributes['class'][] = $class; + } + + // Build row. + $output .= ' <tr' . drupal_attributes($attributes) . '>'; + $i = 0; + foreach ($cells as $cell) { + $cell = tablesort_cell($cell, $header, $ts, $i++); + $output .= _theme_table_cell($cell, ($header_orientation === 'Both' || $header_orientation === 'Vertical') && $i == 1); + $i++; + } + $output .= " </tr>\n"; + } + } + $output .= "</tbody>\n"; + } + + $output .= "</table>\n"; + return $output; +} + +/** + * Convert array to XML. See http://stackoverflow.com/a/5965940/523688. + */ +function array_to_xml($data, &$xml_data) { + foreach ($data as $key => $value) { + if (is_numeric($key)) { + // Dealing with <0/>..<n/> issues. + $key = 'item_' . $key; + } + // Within keys (XML element tags) only accept A-Z (case insensitive), 0-9, + // a dash (-) and an underscore (_). Replace all others with an underscore. + // Avoid multiple consecutive underscores. + $key = preg_replace('/_+/', '_', preg_replace('/[^A-Za-z0-9_\-]/', '_', $key)); + // If the <3element> starts with a number, prefix it with an underscore + // <_3element> to get valid XML. + $key = is_numeric(substr($key, 0, 1)) ? substr_replace($key, '_', 0, 0) : $key; + if (is_array($value)) { + $subnode = $xml_data->addChild($key); + array_to_xml($value, $subnode); + } + else { + $xml_data->addChild("$key", htmlspecialchars("$value")); + } + } } diff --git a/profiles/wcm_base/modules/contrib/tablefield/themeless/README.txt b/profiles/wcm_base/modules/contrib/tablefield/themeless/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..4cd777056c9e88342a4521365d9e18a1ba9c9c4f --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/themeless/README.txt @@ -0,0 +1,26 @@ +# TableField Themeless # + +Provides themeless output of a node's tablefield on the path 'node/%/themeless'. + + +## INSTALLATION ## + +- Enable the submodule at ../admin/modules. + + +## GET STARTED ## + +- Go to ../admin/structure/types/manage/[your-content-type]/display/themeless + and make sure it includes a TableField field. +- Choose the desired format and format settings. +- Update. +- Save. +- Visit a content page at ../node/%nid/themeless . + + +## TO KEEP IN MIND ## + +- Only the first found TableField field will be included in the output (also + multivalue). +- Enable https://www.drupal.org/project/subpathauto to have URLs with aliases + accessible for the themeless output, e.g. ../my/custom/alias/themeless. diff --git a/profiles/wcm_base/modules/contrib/tablefield/themeless/tablefield_themeless.info b/profiles/wcm_base/modules/contrib/tablefield/themeless/tablefield_themeless.info new file mode 100644 index 0000000000000000000000000000000000000000..39d3661fb72f93392783ffbafb8b510b3bdcda42 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/themeless/tablefield_themeless.info @@ -0,0 +1,12 @@ +name = TableField Themeless +description = Provides themeless output of a node's tablefield on the path 'node/%/themeless'. +core = 7.x +package = Fields +dependencies[] = tablefield + +; Information added by Drupal.org packaging script on 2017-06-13 +version = "7.x-3.1" +core = "7.x" +project = "tablefield" +datestamp = "1497359647" + diff --git a/profiles/wcm_base/modules/contrib/tablefield/themeless/tablefield_themeless.module b/profiles/wcm_base/modules/contrib/tablefield/themeless/tablefield_themeless.module new file mode 100644 index 0000000000000000000000000000000000000000..885dbd0f556f697628a24122efa3dcf636fdbe5e --- /dev/null +++ b/profiles/wcm_base/modules/contrib/tablefield/themeless/tablefield_themeless.module @@ -0,0 +1,108 @@ +<?php + +/** + * @file + * Themeless output of a node's tablefield on the path 'node/%/themeless'. + */ + +/** + * Implements hook_menu(). + */ +function tablefield_themeless_menu() { + $items = array(); + $items['node/%node/themeless'] = array( + 'title' => 'Themeless TableField', + 'page callback' => 'tablefield_themeless_view', + 'page arguments' => array(1), + 'access arguments' => array('access content'), + ); + + return $items; +} + +/** + * Implements hook_menu_local_tasks_alter(). + */ +function tablefield_themeless_menu_local_tasks_alter(&$data, $router_item, $root_path) { + $node = is_numeric(arg(1)) ? node_load(arg(1)) : NULL; + // Get all fields of entity type. + $fields = $node ? field_info_instances('node', $node->type) : array(); + // Get all table fields. + $tablefield = array(); + foreach ($fields as $key => $value) { + if ($value['widget']['type'] === 'tablefield') { + $tablefield[] = $key; + } + } + // Add a 'Themeless TableField' tab only if the content type has a TableField. + if ($node && $root_path == 'node/%' && isset($tablefield[0]) && !empty($tablefield[0])) { + $data['tabs'][0]['output'][] = array( + '#theme' => 'menu_local_task', + '#link' => array( + 'title' => t('Themeless TableField'), + 'href' => 'node/' . arg(1) . '/themeless', + 'localized_options' => array(), + ), + ); + } +} + +/** + * Get a node by a menucallback and return the first table field as JSON. + * + * @param object $node + * Fully loaded node object. + */ +function tablefield_themeless_view($node) { + // Get all fields of entity type. + $fields = field_info_instances('node', $node->type); + // Get all table fields. + $tablefield = array(); + foreach ($fields as $key => $value) { + if ($value['widget']['type'] === 'tablefield') { + $tablefield[] = $key; + } + } + // Populate $node->content with a render() array. + node_build_content($node, 'themeless'); + + $build = $node->content; + + // Get the field instance of the first found table field. + $instance = isset($tablefield[0]) ? field_info_instance('node', $tablefield[0], $node->type) : NULL; + $settings = isset($instance) ? field_get_display($instance, 'themeless', 'node') : NULL; + // XML. + if (isset($settings['settings']['xml']) && isset($build[$tablefield[0]][0]['#markup']) && $settings['settings']['xml']) { + // We are returning XML, so tell the browser. + drupal_add_http_header('Content-Type', 'application/xml'); + // Render the content of the first found table field. + print $build[$tablefield[0]][0]['#markup']; + } + // JSON. + elseif (isset($build[$tablefield[0]][0]['#markup'])) { + // We are returning JSON, so tell the browser. + drupal_add_http_header('Content-Type', 'application/json'); + // Render the content of the first found table field. + print $build[$tablefield[0]][0]['#markup']; + } + // HTML. + elseif ($tablefield[0] && $settings['type'] !== 'format_themeless') { + $output = field_view_field('node', $node, $tablefield[0], $settings); + print drupal_render($output); + } + else { + $nodata['code'] = $instance ? 204 : 404; + $nodata['message'] = $instance ? t('No Content: the tablefield is empty') : t('Not Found: no tablefield found'); + print drupal_json_output($nodata); + } +} + +/** + * Implements hook_entity_info_alter(). + */ +function tablefield_entity_info_alter(&$entity_info) { + $entity_info['node']['view modes']['themeless'] = array( + 'label' => t('Themeless'), + 'custom settings' => FALSE, + ); +} diff --git a/profiles/wcm_base/modules/contrib/uuid/.travis.yml b/profiles/wcm_base/modules/contrib/uuid/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..a4c63465cdf39e0d5d7c3a29a340e3696e1f3d9a --- /dev/null +++ b/profiles/wcm_base/modules/contrib/uuid/.travis.yml @@ -0,0 +1,74 @@ +language: php +sudo: false + +php: + - 5.5 + - 5.6 + - 7.0 + - hhvm + +matrix: + fast_finish: true + allow_failures: + - php: hhvm + +mysql: + database: drupal + username: root + encoding: utf8 + +install: + # add composer's global bin directory to the path + # see: https://github.com/drush-ops/drush#install---composer + - export PATH="$HOME/.composer/vendor/bin:$PATH" + + # install drush globally + - composer global require drush/drush:7.* + + # Install PHP_CodeSniffer and Drupal config + - composer global require drupal/coder + - phpcs --config-set installed_paths ~/.composer/vendor/drupal/coder/coder_sniffer + + # Create the database + - mysql -e 'create database drupal;' + +before_script: + + # Disable sendmail + - echo sendmail_path=`which true` >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini + + # Increase the MySQL connection timeout on the PHP end. + - echo "mysql.connect_timeout=3000" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini + - echo "default_socket_timeout=3000" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini + + # Increase the MySQL server timetout and packet size. + - mysql -e "SET GLOBAL wait_timeout = 36000;" + - mysql -e "SET GLOBAL max_allowed_packet = 33554432;" + + # Download Drupal 7.x + - drush pm-download drupal-7 --destination=/tmp --drupal-project-rename=drupal + + # Add our module + - ln -s $(pwd) /tmp/drupal/sites/all/modules/ + + # Switch to the drupal site directory + - cd /tmp/drupal + + # Install site and dependencies + - drush -vv --yes site-install --db-url=mysql://root:@127.0.0.1/drupal + - drush pm-download entity + - drush pm-enable simpletest entity uuid --yes + + # Use the PHP builtin webserver to serve the site. + #- drush runserver 8080 > /dev/null 2>&1 & + - drush runserver 127.0.0.1:8888 > ~/server.log 2>&1 & + - export counter=0; until nc -zv localhost 8888; do if [ $counter -ge 12 ]; then echo "Failed to start server."; exit 1; fi; echo "Waiting for web server to start on port 8888..."; sleep 5; counter=$[$counter +1]; done + +script: + - cd /tmp/drupal + - php ./scripts/run-tests.sh --verbose --color --php "$(which php)" --url http://127.0.0.1:8888 UUID | tee ~/tests.log + - phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme sites/all/modules/uuid + +after_failure: + # See what happened with the server. + - cat ~/server.log diff --git a/profiles/wcm_base/modules/contrib/uuid/README.txt b/profiles/wcm_base/modules/contrib/uuid/README.txt index 33bca3dfdbf662ad508c8ad8928e6e4a67fb9f97..b1ea8a21e32d0e57263340deed5264a925a34255 100644 --- a/profiles/wcm_base/modules/contrib/uuid/README.txt +++ b/profiles/wcm_base/modules/contrib/uuid/README.txt @@ -11,6 +11,7 @@ FEATURES * Automatic UUID generation: UUIDs will be generated for all core entities. An API is provided for other modules to enable support for custom entities. + See https://www.drupal.org/node/2387671 * UUID API for entities, properties and fields: With this unified API you can load entities with entity_uuid_load() so that all supported properties and fields are made with UUID references. You can diff --git a/profiles/wcm_base/modules/contrib/uuid/plugins/arguments/entity_uuid.inc b/profiles/wcm_base/modules/contrib/uuid/plugins/arguments/entity_uuid.inc index da5395dfce4568747e4fcb8b95d1626771643c1e..bc9a824c03a79e7682278d734c331d2772c93f9b 100644 --- a/profiles/wcm_base/modules/contrib/uuid/plugins/arguments/entity_uuid.inc +++ b/profiles/wcm_base/modules/contrib/uuid/plugins/arguments/entity_uuid.inc @@ -6,8 +6,7 @@ */ /** - * Plugins are described by creating a $plugin array which will be used - * by the system that includes this file. + * CTools UUID entity context plugin definition. */ $plugin = array( 'title' => t("Entity: UUID"), @@ -18,7 +17,12 @@ $plugin = array( ); /** - * @todo document me properly + * Fetches the "child" information for a given parent entity. + * + * @todo document me properly. + * + * @return array + * The children. */ function uuid_entity_uuid_get_child($plugin, $parent, $child) { $plugins = uuid_entity_uuid_get_children($plugin, $parent); @@ -26,7 +30,12 @@ function uuid_entity_uuid_get_child($plugin, $parent, $child) { } /** - * @todo document me properly + * Fetches all children types for a given parent entity. + * + * @todo document me properly. + * + * @return array + * All the children. */ function uuid_entity_uuid_get_children($original_plugin, $parent) { $entities = entity_get_info(); diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.admin.inc b/profiles/wcm_base/modules/contrib/uuid/uuid.admin.inc index 679aea47cb86f09e1ed17376d94445e64bafe050..e388d2248e042b419f51412b8a0cf292b777b38c 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.admin.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.admin.inc @@ -42,7 +42,9 @@ function uuid_devel_load_by_uuid($entity_type, $entity) { // Get the keys for local ID and UUID. $uuid_key = $info['entity keys']['uuid']; $uuid_entities = entity_uuid_load($entity_type, array($entity->{$uuid_key})); + // @codingStandardsIgnoreStart return kdevel_print_object(reset($uuid_entities), '$' . $entity_type . '->'); + // @codingStandardsIgnoreEnd } else { return t("This entity doesn't support UUID."); diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.api.php b/profiles/wcm_base/modules/contrib/uuid/uuid.api.php index 6b08b3c29e1e7e1b633b56851c3025c4b6bdca4f..18c8012ff65325ea19e39c58934e70f77bc657ed 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.api.php +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.api.php @@ -5,26 +5,6 @@ * Hooks provided by the UUID module. */ -/** - * Defines one or more UUID generators exposed by a module. - * - * @return - * An associative array with the key being the machine name for the - * implementation and the values being an array with the following keys: - * - title: The human readable name for the generator. - * - callback: The function to be called for generating the UUID. - * - * @see uuid_get_info() - */ -function hook_uuid_info() { - $generators = array(); - $generators['my_module'] = array( - 'title' => t('My module UUID generator'), - 'callback' => 'my_module_generate_uuid', - ); - return $generators; -} - /** * Ensures all records have a UUID assigned to them. * @@ -38,39 +18,35 @@ function hook_uuid_sync() { } /** - * Let modules transform their properties with local IDs to UUIDs when an - * entity is loaded. + * Transform entity properties from local IDs to UUIDs when they are loaded. */ function hook_entity_uuid_load(&$entities, $entity_type) { } /** - * Let modules transform their fields with local IDs to UUIDs when an entity - * is loaded. + * Transform field values from local IDs to UUIDs when an entity is loaded. */ function hook_field_uuid_load($entity_type, $entity, $field, $instance, $langcode, &$items) { } /** - * Let modules transform their properties with UUIDs to local IDs when an - * entity is saved. + * Transform entity properties from UUIDs to local IDs before entity is saved. */ function hook_entity_uuid_presave(&$entity, $entity_type) { } /** - * Let modules transform their fields with UUIDs to local IDs when an entity - * is saved. + * Transform field values from UUIDs to local IDs before an entity is saved. */ function hook_field_uuid_presave($entity_type, $entity, $field, $instance, $langcode, &$items) { } /** - * Let modules transform their properties when an entity is saved. + * Transform entity properties after an entity is saved. */ function hook_entity_uuid_save($entity, $entity_type) { @@ -78,20 +54,24 @@ function hook_entity_uuid_save($entity, $entity_type) { /** * Let modules act when an entity is deleted. + * + * Generally hook_entity_delete() should be used instead of this hook. + * + * @see hook_entity_delete() */ function hook_entity_uuid_delete($entity, $entity_type) { } /** - * Let modules modify paths when they are being converted to UUID ones. + * Modifies paths when they are being converted to UUID ones. */ function hook_uuid_menu_path_to_uri_alter($path, &$uri) { } /** - * Let modules modify paths when they are being converted from UUID ones. + * Modifies paths when they are being converted from UUID ones. */ function hook_uuid_menu_uri_to_path(&$path, $uri) { diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.core.inc b/profiles/wcm_base/modules/contrib/uuid/uuid.core.inc index 5d98966db8bbc0b5fd480a0f31f2f2efaf30e76e..cc70a2ea7474f2bd8bace1b098e7a0e702389bcf 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.core.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.core.inc @@ -32,6 +32,31 @@ function node_entity_uuid_presave(&$entity, $entity_type) { if ($entity_type == 'node') { entity_property_uuid_to_id($entity, 'user', array('uid', 'revision_uid')); entity_property_uuid_to_id($entity, 'node', 'tnid'); + + // A node always must have an author. + if (empty($entity->uid)) { + global $user; + $entity->uid = $user->uid; + } + } +} + +/** + * Implements hook_entity_uuid_save(). + */ +function node_entity_uuid_save(&$entity, $entity_type) { + /* + * When a node is translated, the source node's tnid is set to it's own nid. + * When deploying the node for the first time the tnid can't be translated + * to an nid until after the node has been saved. So if the entity's tnid + * is still a uuid at this point it needs to be translated to an nid. + */ + if ($entity_type == 'node' && uuid_is_valid($entity->tnid)) { + entity_property_uuid_to_id($entity, 'node', 'tnid'); + db_update('node') + ->fields(array('tnid' => $entity->tnid)) + ->condition('nid', $entity->nid) + ->execute(); } } @@ -64,17 +89,33 @@ function book_entity_uuid_presave(&$entity, $entity_type) { * Implements hook_entity_uuid_presave(). */ function user_entity_uuid_presave(&$entity, $entity_type) { - if ($entity_type == 'user') { - if (!empty($entity->picture)) { - $uuids = entity_get_id_by_uuid('file', array($entity->picture['uuid'])); - $fid = current($uuids); - if (!$entity->is_new) { - $entity->picture = file_load($fid); - } - else { - $entity->picture = $fid; - } - } + if ($entity_type != 'user') { + return; + } + + /* + * We need to ensure new user's passwords are encrypted. The Services module + * transparently encrypts the password for new users. md5() is used by + * users who's accounts were migrated from Drupal 6 and who haven't updated + * their password. + */ + if (isset($entity->pass) + && (!('$S$D' == substr($entity->pass, 0, 4)) || preg_match('/^[a-f0-9]{32}$/', $entity->pass))) { + // Ensure user's password is hashed. + $entity->pass = user_hash_password($entity->pass); + } + + if (empty($entity->picture)) { + return; + } + + $uuids = entity_get_id_by_uuid('file', array($entity->picture['uuid'])); + $fid = current($uuids); + if (!$entity->is_new) { + $entity->picture = file_load($fid); + } + else { + $entity->picture = $fid; } } @@ -104,6 +145,10 @@ function comment_entity_uuid_presave(&$entity, $entity_type) { break; case 'comment': + // entity_make_entity_local() may have unset cid, add back if necessary. + if (!isset($entity->cid)) { + $entity->cid = NULL; + } entity_property_uuid_to_id($entity, 'user', array('uid', 'u_uid')); entity_property_uuid_to_id($entity, 'node', 'nid'); break; @@ -124,10 +169,14 @@ function file_entity_uuid_load(&$entities, $entity_type) { */ function file_entity_uuid_presave(&$entity, $entity_type) { if ($entity_type == 'file') { + // entity_make_entity_local() may have unset fid, add back if necessary. + if (!isset($entity->fid)) { + $entity->fid = NULL; + } entity_property_uuid_to_id($entity, 'user', 'uid'); // Write the new file to the local filesystem. - if (isset($entity->file_contents)) { + if (isset($entity->file_contents) && !empty($entity->filesize)) { // Don't try to write it if it uses a stream wrapper that isn't writeable // (for example, if it is a remotely-hosted video). $scheme = file_uri_scheme($entity->uri); @@ -169,8 +218,9 @@ function file_entity_uuid_presave(&$entity, $entity_type) { } $directory = drupal_dirname($uri); - file_prepare_directory($directory, FILE_CREATE_DIRECTORY); - $entity->uri = file_unmanaged_save_data(base64_decode($entity->file_contents), $uri, $replace); + if (!empty($directory) && file_prepare_directory($directory, FILE_CREATE_DIRECTORY)) { + $entity->uri = file_unmanaged_save_data(base64_decode($entity->file_contents), $uri, $replace); + } } } } @@ -214,7 +264,7 @@ function taxonomy_entity_uuid_presave(&$entity, $entity_type) { * Implements hook_entity_uuid_load(). */ function field_entity_uuid_load(&$entities, $entity_type) { - foreach ($entities as $i => $entity) { + foreach ($entities as $entity) { list(, , $bundle_name) = entity_extract_ids($entity_type, $entity); $instances = field_info_instances($entity_type, $bundle_name); @@ -311,34 +361,8 @@ function image_field_uuid_presave($entity_type, $entity, $field, $instance, $lan /** * Implements hook_field_uuid_load(). - */ -function node_reference_field_uuid_load($entity_type, $entity, $field, $instance, $langcode, &$items) { - entity_property_id_to_uuid($items, 'node', 'nid'); -} - -/** - * Implements hook_field_uuid_presave(). - */ -function node_reference_field_uuid_presave($entity_type, $entity, $field, $instance, $langcode, &$items) { - entity_property_uuid_to_id($items, 'node', 'nid'); -} - -/** - * Implements hook_field_uuid_load(). - */ -function user_reference_field_uuid_load($entity_type, $entity, $field, $instance, $langcode, &$items) { - entity_property_id_to_uuid($items, 'user', 'uid'); -} - -/** - * Implements hook_field_uuid_presave(). - */ -function user_reference_field_uuid_presave($entity_type, $entity, $field, $instance, $langcode, &$items) { - entity_property_uuid_to_id($items, 'user', 'uid'); -} - -/** - * Implements hook_field_uuid_load(). + * + * Kept here because it is in D8 core. */ function entityreference_field_uuid_load($entity_type, $entity, $field, $instance, $langcode, &$items) { // TODO: This is not really good, but as of now 'entity_property_id_to_uuid()' @@ -348,6 +372,8 @@ function entityreference_field_uuid_load($entity_type, $entity, $field, $instanc /** * Implements hook_field_uuid_presave(). + * + * Kept here because it is in D8 core. */ function entityreference_field_uuid_presave($entity_type, $entity, $field, $instance, $langcode, &$items) { // TODO: This is not really good, but as of now 'entity_property_id_to_uuid()' @@ -355,38 +381,6 @@ function entityreference_field_uuid_presave($entity_type, $entity, $field, $inst entity_property_uuid_to_id($items, $field['settings']['target_type'], 'target_id'); } -/** - * Implements hook_entity_uuid_load(). - */ -function field_collection_entity_uuid_load(&$entities, $entity_type) { - if ($entity_type == 'field_collection_item') { - entity_property_id_to_uuid($entities, 'field_collection_item', 'value'); - } -} - -/** - * Implements hook_entity_uuid_presave(). - */ -function field_collection_entity_uuid_presave(&$entity, $entity_type) { - if ($entity_type == 'field_collection_item') { - entity_property_uuid_to_id($entity, 'field_collection_item', 'value'); - } -} - -/** - * Implements hook_field_uuid_load(). - */ -function field_collection_field_uuid_load($entity_type, $entity, $field, $instance, $langcode, &$items) { - entity_property_id_to_uuid($items, 'field_collection_item', 'value'); -} - -/** - * Implements hook_field_uuid_presave(). - */ -function field_collection_field_uuid_presave($entity_type, $entity, $field, $instance, $langcode, &$items) { - entity_property_uuid_to_id($items, 'field_collection_item', 'value'); -} - /** * @} End of "Field implementations" */ @@ -400,24 +394,35 @@ function field_collection_field_uuid_presave($entity_type, $entity, $field, $ins * Implements hook_uuid_entities_features_export_entity_alter(). */ function node_uuid_entities_features_export_entity_alter(&$entity, $entity_type) { - if ($entity_type == 'node') { - foreach (array('data', 'name', 'picture', 'revision_uid', 'last_comment_timestamp') as $property) { - if (property_exists($entity, $property)) { - unset($entity->{$property}); - } + if ('node' != $entity_type) { + return; + } + + $properties = array( + 'data', + 'name', + 'picture', + 'revision_uid', + 'last_comment_timestamp', + ); + foreach ($properties as $property) { + if (property_exists($entity, $property)) { + unset($entity->{$property}); } } } /** - * Implementations hook_uuid_entities_features_export_entity_alter(). + * Implements hook_uuid_entities_features_export_entity_alter(). */ function user_uuid_entities_features_export_entity_alter(&$entity, $entity_type) { - if ($entity_type == 'user') { - foreach (array('data', 'access', 'login') as $property) { - if (property_exists($entity, $property)) { - unset($entity->{$property}); - } + if ('user' != $entity_type) { + return; + } + + foreach (array('data', 'access', 'login') as $property) { + if (property_exists($entity, $property)) { + unset($entity->{$property}); } } } @@ -433,17 +438,6 @@ function file_uuid_entities_features_export_field_alter($entity_type, $entity, $ } } -/** - * Implements hook_uuid_entities_features_export_entity_alter(). - */ -function workbench_uuid_entities_features_export_entity_alter(&$entity, $entity_type) { - foreach (array('workbench_moderation', 'my_revision', 'workbench_access', 'workbench_access_scheme', 'workbench_access_by_role') as $property) { - if (isset($entity->{$property})) { - unset($entity->{$property}); - } - } -} - /** * @} End of "Export alterations" */ diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.drush.inc b/profiles/wcm_base/modules/contrib/uuid/uuid.drush.inc index afb44ad85dcb67d90855b52c99df414a961e132c..c3641e8e8579368017c49941517f08a84c46d2c4 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.drush.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.drush.inc @@ -6,7 +6,7 @@ */ /** - * Implementats hook_drush_command(). + * Implements hook_drush_command(). */ function uuid_drush_command() { $items = array(); @@ -18,7 +18,7 @@ function uuid_drush_command() { } /** - * Implementats of hook_drush_help(). + * Implements hook_drush_help(). */ function uuid_drush_help($section) { switch ($section) { diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.entity.inc b/profiles/wcm_base/modules/contrib/uuid/uuid.entity.inc index 4fa037f6cfbd68da34464c91ee5d40f59c7d74ef..43063398732a43424c3a17b60397fad19d8248b9 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.entity.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.entity.inc @@ -11,8 +11,7 @@ class UuidEntityException extends Exception {} /** - * Helper function that returns entity info for all supported core modules, - * relevant for UUID functionality. + * Returns entity info for all supported core entities. * * @see uuid_entity_info() * @see uuid_schema_alter() @@ -98,7 +97,7 @@ function uuid_entity_info_alter(&$info) { */ function uuid_entity_property_info_alter(&$info) { foreach (entity_get_info() as $entity_type => $entity_info) { - if (isset($entity_info['uuid']) && $entity_info['uuid'] == TRUE + if (isset($entity_info['uuid']) && $entity_info['uuid'] == TRUE && !empty($entity_info['entity keys']['uuid']) && empty($info[$entity_type]['properties'][$entity_info['entity keys']['uuid']])) { $info[$entity_type]['properties'][$entity_info['entity keys']['uuid']] = array( @@ -107,7 +106,7 @@ function uuid_entity_property_info_alter(&$info) { 'description' => t('The universally unique ID.'), 'schema field' => $entity_info['entity keys']['uuid'], ); - if (!empty($entity_info['entity keys']['revision uuid']) + if (!empty($entity_info['entity keys']['revision uuid']) && empty($info[$entity_type]['properties'][$entity_info['entity keys']['revision uuid']])) { $info[$entity_type]['properties'][$entity_info['entity keys']['revision uuid']] = array( 'label' => t('Revision UUID'), @@ -258,7 +257,7 @@ function entity_uuid_save($entity_type, $entity) { entity_make_entity_local($entity_type, $entity); // Save the entity. - entity_save($entity_type, $entity); + $result = entity_save($entity_type, $entity); $hook = 'entity_uuid_save'; foreach (module_implements($hook) as $module) { @@ -267,6 +266,7 @@ function entity_uuid_save($entity_type, $entity) { $function($entity, $entity_type); } } + return $result; } /** @@ -340,7 +340,7 @@ function entity_make_entity_local($entity_type, $entity) { } } else { - throw new UuidEntityException(t('Trying to operate on a @type entity, which doesn\'t support UUIDs.', array('@type' => $info['label']))); + throw new UuidEntityException(t("Trying to operate on a @type entity, which doesn\'t support UUIDs.", array('@type' => $info['label']))); } } @@ -381,7 +381,7 @@ function entity_uuid_delete($entity_type, $uuid) { return entity_delete($entity_type, $id); } else { - throw new UuidEntityException(t('Trying to delete a @type entity, which doesn\'t support UUIDs.', array('@type' => $info['label']))); + throw new UuidEntityException(t("Trying to delete a @type entity, which doesn\'t support UUIDs.", array('@type' => $info['label']))); } } @@ -389,24 +389,34 @@ function entity_uuid_delete($entity_type, $uuid) { * Helper function that retrieves entity IDs by their UUIDs. * * @todo - * Statically cache as many IDs as possible and limit the query. + * Limit the query. * - * @param $entity_type + * @param string $entity_type * The entity type we should be dealing with. - * @param $uuids - * An array of UUIDs for which we should find their entity IDs. If $revision + * @param array $uuids + * List of UUIDs for which we should find their entity IDs. If $revision * is TRUE this should be revision UUIDs instead. - * @param $revision + * @param bool $revision * If TRUE the revision IDs is returned instead. - * @return - * Array of entity IDs keyed by their UUIDs. If $revision is TRUE revision + * + * @return array + * List of entity IDs keyed by their UUIDs. If $revision is TRUE revision * IDs and UUIDs are returned instead. */ function entity_get_id_by_uuid($entity_type, $uuids, $revision = FALSE) { if (empty($uuids)) { return array(); } + $cached_ids = entity_uuid_id_cache($entity_type, $uuids, $revision); + if (count($cached_ids) == count($uuids)) { + return $cached_ids; + } + $uuids = array_diff($uuids, $cached_ids); $info = entity_get_info($entity_type); + // Some contrib entities has no support for UUID, let's skip them. + if (empty($info['uuid'])) { + return array(); + } // Find out what entity keys to use. if (!$revision) { $table = $info['base table']; @@ -424,35 +434,61 @@ function entity_get_id_by_uuid($entity_type, $uuids, $revision = FALSE) { } // Get all UUIDs in one query. - return db_select($table, 't') + $result = db_select($table, 't') ->fields('t', array($uuid_key, $id_key)) ->condition($uuid_key, array_values($uuids), 'IN') ->execute() ->fetchAllKeyed(); + $cache = &drupal_static('entity_uuid_id_cache', array()); + $cache[$entity_type][(int) $revision] += $result; + return $result + $cached_ids; +} + +/** + * Helper caching function. + */ +function entity_uuid_id_cache($entity_type, $ids, $revision) { + $cache = &drupal_static(__FUNCTION__, array()); + if (empty($cache[$entity_type][(int) $revision])) { + $cache[$entity_type][(int) $revision] = array(); + } + $cached_ids = $cache[$entity_type][(int) $revision]; + return array_intersect_key($cached_ids, array_flip($ids)); } /** * Helper function that retrieves UUIDs by their entity IDs. * * @todo - * Statically cache as many IDs as possible and limit the query. + * Limit the query. * - * @param $entity_type + * @param string $entity_type * The entity type we should be dealing with. - * @param $ids - * An array of entity IDs for which we should find their UUIDs. If $revision + * @param array $ids + * List of entity IDs for which we should find their UUIDs. If $revision * is TRUE this should be revision IDs instead. - * @param $revision + * @param bool $revision * If TRUE the revision UUIDs is returned instead. - * @return - * Array of entity UUIDs keyed by their IDs. If $revision is TRUE revision + * + * @return array + * List of entity UUIDs keyed by their IDs. If $revision is TRUE revision * IDs and UUIDs are returned instead. */ function entity_get_uuid_by_id($entity_type, $ids, $revision = FALSE) { if (empty($ids)) { return array(); } + $cached_ids = array_flip(entity_uuid_id_cache($entity_type, $ids, $revision)); + if (count($cached_ids) == count($ids)) { + return $cached_ids; + } + $ids = array_diff($ids, $cached_ids); + $info = entity_get_info($entity_type); + // Some contrib entities has no support for UUID, let's skip them. + if (empty($info['uuid'])) { + return array(); + } // Find out what entity keys to use. if (!$revision) { $table = $info['base table']; @@ -470,11 +506,14 @@ function entity_get_uuid_by_id($entity_type, $ids, $revision = FALSE) { } // Get all UUIDs in one query. - return db_select($table, 't') + $result = db_select($table, 't') ->fields('t', array($id_key, $uuid_key)) ->condition($id_key, array_values($ids), 'IN') ->execute() ->fetchAllKeyed(); + $cache = &drupal_static('entity_uuid_id_cache', array()); + $cache[$entity_type][(int) $revision] += array_flip($result); + return $result + $cached_ids; } /** @@ -487,12 +526,12 @@ function entity_get_uuid_by_id($entity_type, $ids, $revision = FALSE) { * @todo * Add tests for this function. * - * @param $objects - * An array of objects that should get $properties changed. Can be either an + * @param array $objects + * List of objects that should get $properties changed. Can be either an * entity object or a field items array. - * @param $entity_type + * @param string $entity_type * The type of entity that all $properties refers to. - * @param $properties + * @param array $properties * An array of properties that should be changed. All properties must refer to * the same type of entity (the one referenced in $entity_type). */ @@ -543,12 +582,12 @@ function entity_property_id_to_uuid(&$objects, $entity_type, $properties) { * @todo * Add tests for this function. * - * @param $objects - * An array of objects that should get $properties changed. Can be either an + * @param array $objects + * List of objects that should get $properties changed. Can be either an * entity object or a field items array. - * @param $entity_type + * @param string $entity_type * The type of entity that all $properties refers to. - * @param $properties + * @param array $properties * An array of properties that should be changed. All properties must refer to * the same type of entity (the one referenced in $entity_type). */ diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.features.inc b/profiles/wcm_base/modules/contrib/uuid/uuid.features.inc index 281052cdc6222e37234656a4ee7bb68607321eaa..03b7d55b220caf919f07dd2b6e5cbd970dd04a74 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.features.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.features.inc @@ -84,7 +84,15 @@ function uuid_entities_features_export_render($module_name, $components, $export } // We unset some common timestamp properties, since those will change and // constantly leave the feature overidden. - $keys = array('created', 'updated', 'changed', 'revision_timestamp', 'timestamp', 'stamp', 'current'); + $keys = array( + 'created', + 'updated', + 'changed', + 'revision_timestamp', + 'timestamp', + 'stamp', + 'current', + ); foreach ($keys as $key) { if (isset($entity->{$key})) { unset($entity->{$key}); @@ -121,7 +129,10 @@ function uuid_entities_features_export_render($module_name, $components, $export } uuid_entities_features_clean($entity); - // Convert entities to array to avoid having them in JSON, returned from standard implementation of $entity->export(). + /* + * Convert entities to array to avoid having them in JSON, returned + * from standard implementation of $entity->export(). + */ if (is_object($entity) && method_exists($entity, 'export')) { $entity = get_object_vars($entity); } @@ -134,14 +145,14 @@ function uuid_entities_features_export_render($module_name, $components, $export } /** - * Implements [component]_features_export_rebuild(). + * Implements [component]_features_rebuild(). */ function uuid_entities_features_rebuild($module_name) { uuid_entities_rebuild($module_name, 'rebuild'); } /** - * Implements [component]_features_export_revert(). + * Implements [component]_features_revert(). */ function uuid_entities_features_revert($module_name) { uuid_entities_rebuild($module_name, 'revert'); diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.inc b/profiles/wcm_base/modules/contrib/uuid/uuid.inc index ca69632d5ea75c90a676d8cd2c332553e0bf4510..d2a3d8ff472ea2757cdff4b714ceaa2fe9a95684 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.inc @@ -8,7 +8,7 @@ /** * Pattern for detecting a valid UUID. */ -define('UUID_PATTERN', '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}'); +define('UUID_PATTERN', '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}'); /** * Generates an universally unique identifier. @@ -17,7 +17,7 @@ define('UUID_PATTERN', '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}'); * universally unique identifiers. If that doesn't exist, then it falls back on * PHP for generating that. * - * @return + * @return string * An UUID, made up of 32 hex digits and 4 hyphens. */ function uuid_generate() { @@ -37,6 +37,61 @@ function uuid_generate() { return $callback(); } +/** + * Generates a version 5 compliant UUID. + * + * @param string $namespace + * Namespace UUID as a hex encoded string. + * @param string $name + * The name for the generating the UUID. + * + * @return string + * UUID as a hex encoded string. + * + * @link http://www.php.net/manual/en/function.uniqid.php#94959 Code lifted from + * PHP manual comment by Andrew Moore. @endlink + */ +function uuid_generate_v5($namespace, $name) { + if (!uuid_is_valid($namespace)) { + return FALSE; + } + + // Get hexadecimal components of namespace. + $nhex = str_replace(array('-', '{', '}'), '', $namespace); + + // Binary Value. + $nstr = ''; + + // Convert Namespace UUID to bits. + for ($i = 0; $i < strlen($nhex); $i += 2) { + $nstr .= chr(hexdec($nhex[$i] . $nhex[$i + 1])); + } + + // Calculate hash value. + $hash = sha1($nstr . $name); + + return sprintf('%08s-%04s-%04x-%04x-%12s', + + // 32 bits for "time_low". + substr($hash, 0, 8), + + // 16 bits for "time_mid". + substr($hash, 8, 4), + + // 16 bits for "time_hi_and_version", + // four most significant bits holds version number 5. + (hexdec(substr($hash, 12, 4)) & 0x0fff) | 0x5000, + + // 16 bits, 8 bits for "clk_seq_hi_res", + // 8 bits for "clk_seq_low", + // two most significant bits holds zero and one for variant DCE1.1. + (hexdec(substr($hash, 16, 4)) & 0x3fff) | 0x8000, + + // 48 bits for "node". + substr($hash, 20, 12) + ); +} + /** * Generate all missing UUIDs. */ @@ -53,7 +108,7 @@ function uuid_sync_all() { * The type of entity being used. * * @return string - * The generated UUID URI or normal URI if entity doesn't support UUIDs. + * The generated UUID URI or normal URI if entity doesn't support UUIDs. */ function uuid_entity_uuid_uri($entity, $entity_type) { $entity_info = entity_get_info($entity_type); @@ -73,13 +128,13 @@ function uuid_entity_uuid_uri($entity, $entity_type) { /** * Converts an ID URI string to an entity data array. * - * @see uuid_id_uri_array_to_data() - * * @param string $uri - * The URI to convert. + * The URI to convert. * * @return array - * The entity data. + * The entity data. + * + * @see uuid_id_uri_array_to_data() */ function uuid_id_uri_to_data($uri) { $parts = explode('/', $uri); @@ -90,10 +145,10 @@ function uuid_id_uri_to_data($uri) { * Converts a URI array to entity data array. * * @param array $uri - * The URI parts, often taken from arg(). + * The URI parts, often taken from arg(). * * @return array - * The entity data. + * The entity data. */ function uuid_id_uri_array_to_data($uri) { $data = array( @@ -110,13 +165,13 @@ function uuid_id_uri_array_to_data($uri) { /** * Converts a UUID URI string to an entity data array. * - * @see uuid_uri_array_to_data() - * * @param string $uri - * The URI to convert. + * The URI to convert. * * @return array - * The entity data. + * The entity data. + * + * @see uuid_uri_array_to_data() */ function uuid_uri_to_data($uri, $strip_uuid = TRUE) { return uuid_uri_array_to_data(explode('/', $uri)); @@ -126,10 +181,10 @@ function uuid_uri_to_data($uri, $strip_uuid = TRUE) { * Converts a URI array to entity data array. * * @param array $uri - * The URI parts, often taken from arg(). + * The URI parts, often taken from arg(). * * @return array - * The entity data. + * The entity data. */ function uuid_uri_array_to_data($uri, $strip_uuid = TRUE) { if ($strip_uuid) { @@ -138,8 +193,8 @@ function uuid_uri_array_to_data($uri, $strip_uuid = TRUE) { $data = array( 'request' => $uri, - 'entity_type' => $uri[0], - 'uuid' => $uri[1], + 'entity_type' => isset($uri[0]) ? $uri[0] : NULL, + 'uuid' => isset($uri[1]) ? $uri[1] : NULL, ); drupal_alter('uuid_uri_data', $data); @@ -165,40 +220,56 @@ function _uuid_generate_pecl() { } /** - * Generates a UUID v4 using PHP code. + * Generates a UUID v4 (RFC 4122 section 4.4) using PHP code. + * + * @see http://www.rfc-editor.org/rfc/rfc4122.txt + * + * The UUID layout and fields are defined in section 4.1.2. * - * Based on code from http://php.net/uniqid#65879, but corrected. + * Note that there are inconsistencies in the RFC with respect to + * bit numbering. Network Order is correct, so the most significant bit + * always appears first (in left-to-right sequence). See errata 3546: + * http://www.rfc-editor.org/errata_search.php?rfc=4122&eid=3546 + * + * Based on code from http://php.net/uniqid */ function _uuid_generate_php() { - // The field names refer to RFC 4122 section 4.1.2. + // We limit each generated number to 16 bits (maximum value 0xffff) + // because mt_rand() returns a *signed* integer, and hence a 32-bit + // value can only have a 31-bit magnitude. Constructing a 32-bit + // number from two 16-bit random numbers guarantees that all 32 bits + // are random. return sprintf('%04x%04x-%04x-4%03x-%04x-%04x%04x%04x', // 32 bits for "time_low". - mt_rand(0, 65535), mt_rand(0, 65535), + mt_rand(0, 0xffff), mt_rand(0, 0xffff), // 16 bits for "time_mid". - mt_rand(0, 65535), - // 12 bits after the 0100 of (version) 4 for "time_hi_and_version". - mt_rand(0, 4095), - bindec(substr_replace(sprintf('%016b', mt_rand(0, 65535)), '10', 0, 2)), - // 8 bits, the last two of which (positions 6 and 7) are 01, for "clk_seq_hi_res" - // (hence, the 2nd hex digit after the 3rd hyphen can only be 1, 5, 9 or d) - // 8 bits for "clk_seq_low" 48 bits for "node". - mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535) + mt_rand(0, 0xffff), + // 12 bits after the initial 0100 (version 4) for "time_hi_and_version". + mt_rand(0, 0x0fff), + // 16 bits in total for "clk_seq_hi_res" and "clk_seq_low", with the + // most significant 2 bits of clk_seq_hi_res set to '10'. We do a + // bitwise OR of a random 14-bit value (maximum 0x3fff) with 0x8000 + // (a 16-bit integer with only the most significant bit set). + mt_rand(0, 0x3fff) | 0x8000, + // 48 bits for "node". + mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff) ); } - -// This is wrapped in an if block to avoid conflicts with PECL's uuid_is_valid(). +// The if block avoids conflicts with PECL's uuid_is_valid(). if (!function_exists('uuid_is_valid')) { + /** * Check that a string appears to be in the format of a UUID. * - * @param $uuid - * The string to test. + * @param string $uuid + * The string to test. * - * @return - * TRUE if the string is well formed. + * @return bool + * TRUE if the string is well formed. */ function uuid_is_valid($uuid) { return preg_match('/^' . UUID_PATTERN . '$/', $uuid); } + } diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.info b/profiles/wcm_base/modules/contrib/uuid/uuid.info index 25778cfad014e1672d9f82c17ce3f30c2e7c918f..bd1e87359854fae2fb1c33a5376912c842dc46ae 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.info +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.info @@ -7,9 +7,8 @@ files[] = uuid.test dependencies[] = node dependencies[] = user -; Information added by Drupal.org packaging script on 2014-09-23 -version = "7.x-1.0-alpha6" +; Information added by Drupal.org packaging script on 2018-07-03 +version = "7.x-1.1" core = "7.x" project = "uuid" -datestamp = "1411455150" - +datestamp = "1530614937" diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.install b/profiles/wcm_base/modules/contrib/uuid/uuid.install index 9bbfd634ef41c752251efbd43fcb3faeabfac284..f1e0bace094a8b13bb855f8cab7546844aed19b2 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.install +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.install @@ -31,12 +31,26 @@ function uuid_schema_field_definition() { /** * Implements hook_schema_alter(). */ -function uuid_schema_alter(&$schema = array()) { - $field = uuid_schema_field_definition(); - foreach (uuid_get_core_entity_info() as $entity_type => $info) { - $schema[$info['base table']]['fields'][$info['entity keys']['uuid']] = $field; - if (!empty($info['revision table']) && !empty($info['entity keys']['revision uuid'])) { - $schema[$info['revision table']]['fields'][$info['entity keys']['revision uuid']] = $field; +function uuid_schema_alter(array &$schema) { + $field_info = uuid_schema_field_definition(); + $key_names = array( + 'base table' => 'uuid', + 'revision table' => 'revision uuid', + ); + + foreach (uuid_get_core_entity_info() as $entity_info) { + foreach ($key_names as $table_type => $key_name) { + if (isset($entity_info[$table_type], $entity_info['entity keys'][$key_name])) { + $field_name = $entity_info['entity keys'][$key_name]; + $properties = array( + 'fields' => $field_info, + 'indexes' => array($field_name), + ); + + foreach ($properties as $property => $value) { + $schema[$entity_info[$table_type]][$property][$field_name] = $value; + } + } } } } @@ -46,19 +60,20 @@ function uuid_schema_alter(&$schema = array()) { */ function uuid_install() { _uuid_install_uuid_fields(); + module_load_include('inc', 'uuid'); uuid_sync_all(); } /** - * Install the 'uuid' and 'vuuid' fields into Drupal core entity tables where needed. + * Install the uuid and vuuid fields for Drupal core entity tables where needed. * - * IMPORTANT: This function is called both at install and update time. If this method - * is modified to add additional fields in the future, the update strategy must be - * considered. See the comment in uuid_update_7102. + * IMPORTANT: This function is called both at install and update time. If this + * method is modified to add additional fields in the future, the update + * strategy must be considered. See the comment in uuid_update_7102. */ function _uuid_install_uuid_fields() { $field = uuid_schema_field_definition(); - foreach (uuid_get_core_entity_info() as $entity_type => $info) { + foreach (uuid_get_core_entity_info() as $info) { if (!db_field_exists($info['base table'], $info['entity keys']['uuid'])) { db_add_field($info['base table'], $info['entity keys']['uuid'], $field); db_add_index($info['base table'], $info['entity keys']['uuid'], array($info['entity keys']['uuid'])); @@ -76,7 +91,7 @@ function _uuid_install_uuid_fields() { * Implements hook_uninstall(). */ function uuid_uninstall() { - foreach (uuid_get_core_entity_info() as $entity_type => $info) { + foreach (uuid_get_core_entity_info() as $info) { if (db_field_exists($info['base table'], $info['entity keys']['uuid'])) { db_drop_field($info['base table'], $info['entity keys']['uuid']); db_drop_index($info['base table'], $info['entity keys']['uuid']); @@ -112,8 +127,7 @@ function uuid_update_6001() { } /** - * For each of out tables, drop the indexe on the UUID column and add a unique - * key on that column. + * Make all uuid columns unique keys instead of indexes. */ function uuid_update_6002() { $ret = array(); @@ -138,8 +152,7 @@ function uuid_update_6003() { } /** - * Fix the column definitions for uuid columns in all tables - * to use the more efficient char spec. + * Change column definitions for uuid columns to more efficient char spec. */ function uuid_update_6004() { $ret = array(); @@ -158,6 +171,8 @@ function uuid_update_6004() { } /** + * Support deleting node revision. + * * Modify existing uuid_node_revisions table to support revision deletion, and * add in as much legacy data as possible. */ @@ -204,15 +219,17 @@ function uuid_update_7100() { } /** - * Clear cache for installations that used alpha1. Modules that previously was - * enabled in uuid_update_7100() doesn't exist anymore. + * Clear cache for installations that used alpha1. + * + * Modules previously enabled in uuid_update_7100() don't exist any more. We + * need to clear the cache so Drupal detects this change. */ function uuid_update_7101() { drupal_flush_all_caches(); } /** - * Insure that the uuid and vuuid fields are added where needed. + * Ensure that the uuid and vuuid fields are added where needed. * * Note that update 7102 calls _uuid_install_uuid_fields(), which is an * idempotent function. If _uuid_install_uuid_fields() is changed at some @@ -220,8 +237,8 @@ function uuid_update_7101() { * will have run update 7102, and some will not. A new uuid_update_7103() * function would would therefore be necessary to update all users to * the latest schema. At the same time, uuid_update_7102() could become - * an empty function, as it would not be necessary to call _uuid_install_uuid_fields() - * twice. + * an empty function, as it would not be necessary to call + * _uuid_install_uuid_fields() twice. */ function uuid_update_7102() { // If the user have disabled the UUID module during upgrade (as UPGRADE.txt @@ -232,9 +249,11 @@ function uuid_update_7102() { } /** + * Clean up entities created by uuid_default_entities_example module. + * * Modify the labels of all example entities created by the now removed - * uuid_default_entities_example.module to make it clear they're examples. - * Also remove the administrator role of any example user. + * uuid_default_entities_example.module to make it clear they're examples. Also + * remove the administrator role of any example user. */ function uuid_update_7103() { // These are UUIDs of all the example entities that might exist after having @@ -249,7 +268,7 @@ function uuid_update_7103() { '7cf875e6-dc15-4404-f190-5a7c3e91d14c', ), ); - // we can't assume taxonomy is enabled + // We can't assume taxonomy is enabled. if (isset($info['taxonomy_term'])) { $uuids['taxonomy_term'] = array( 'bcb92ce8-2236-e264-65c8-0c163ae716d1', @@ -268,7 +287,7 @@ function uuid_update_7103() { if ($entity_type == 'user' && $rid = array_search('administrator', $entity->roles)) { unset($entity->roles[$rid]); } - entity_save($entity); + entity_save($entity_type, $entity); } } } diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.module b/profiles/wcm_base/modules/contrib/uuid/uuid.module index cb8b0fd0766184cf2a7257c24291a28b4a5e6e42..4bbe97e1db0a4a4f2de8c172e98eefebec082a1d 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.module +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.module @@ -34,6 +34,7 @@ function uuid_menu() { 'title' => 'UUID redirector', 'description' => 'Redirects requests for UUID URIs to the referenced entity.', 'page callback' => 'uuid_redirector', + // The access check is handled in the page callback. 'access callback' => TRUE, 'type' => MENU_CALLBACK, ); @@ -44,7 +45,6 @@ function uuid_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('uuid_admin_form'), 'access arguments' => array('administer uuid'), - 'type' => MENU_NORMAL_ITEM, 'file' => 'uuid.admin.inc', ); @@ -123,7 +123,6 @@ function uuid_hook_info() { return array_fill_keys($hook_names, array('group' => 'uuid')); } - /** * Implements hook_views_api(). */ @@ -155,7 +154,7 @@ function uuid_module_implements_alter(&$implementss, $hook) { * Implements hook_uuid_sync(). */ function uuid_uuid_sync() { - foreach (entity_get_info() as $entity_type => $info) { + foreach (entity_get_info() as $info) { if (isset($info['uuid']) && $info['uuid'] == TRUE && !empty($info['entity keys']['uuid'])) { _uuid_sync_table($info['base table'], $info['entity keys']['id'], $info['entity keys']['uuid']); if (!empty($info['entity keys']['revision uuid'])) { @@ -215,15 +214,19 @@ function uuid_redirector() { $entity_info = entity_get_info($entity_data['entity_type']); if (empty($entity_info['uuid'])) { - return drupal_not_found(); + return MENU_NOT_FOUND; } $entities = entity_uuid_load($entity_data['entity_type'], array($entity_data['uuid'])); if (!count($entities)) { - return drupal_not_found(); + return MENU_NOT_FOUND; } $uri = entity_uri($entity_data['entity_type'], current($entities)); - drupal_goto($uri['path'], array(), 301); -} + if (!drupal_valid_path($uri['path'])) { + return MENU_ACCESS_DENIED; + } + + drupal_goto($uri['path'], $uri['options'], 301); +} diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.test b/profiles/wcm_base/modules/contrib/uuid/uuid.test index 34307fc035cb383dfe58e584c00e8cf4225b1a7e..6c1481a3aff74920905bf1490ee3ae259511142e 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.test +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.test @@ -6,23 +6,28 @@ */ /** - * Base class with some helper methods. + * UUID test helper trait. + * + * Contains methods that assist with running UUID tests. */ -class UUIDTestCase extends DrupalWebTestCase { - - /** - * {@inheritdoc} - */ - function setUp() { - parent::setUp(func_get_args()); - } +trait UUIDTestHelper { /** * Helper function that asserts a UUID. */ - function assertUUID($uuid, $message = NULL) { + protected function assertUuid($uuid, $message = NULL) { $this->assertTrue(uuid_is_valid($uuid), $message); } + +} + +/** + * Base class with some helper methods. + */ +abstract class UUIDTestCase extends DrupalWebTestCase { + + use UUIDTestHelper; + } /** @@ -44,29 +49,125 @@ class UUIDAPITestCase extends UUIDTestCase { /** * {@inheritdoc} */ - function setUp() { - parent::setUp('uuid'); + protected function setUp() { + parent::setUp(array('uuid')); } /** * Tests uuid function calls. */ - function testAPIFunctions() { + public function testApiFunctions() { // This is a valid UUID, we know that. $valid_uuid = '0ab26e6b-f074-4e44-9da6-1205fa0e9761'; // Test the uuid_is_valid() function. - $this->assertUUID($valid_uuid, 'UUID validation works.'); + $this->assertUuid($valid_uuid, 'UUID validation works.'); // The default generator is 'php'. $uuid = uuid_generate(); - $this->assertUUID($uuid, 'PHP generator works.'); + $this->assertUuid($uuid, 'PHP generator works.'); // Test the 'mysql' generator. variable_set('uuid_generator', 'mysql'); drupal_static_reset('uuid_generate'); $uuid = uuid_generate(); - $this->assertUUID($uuid, 'MySQL generator works.'); + $this->assertUuid($uuid, 'MySQL generator works.'); + } + + /** + * Checks that schema for tables of core entities is correctly defined. + */ + public function testSchemas() { + module_load_include('install', 'uuid'); + + $schemas = drupal_get_schema(); + $field_info = uuid_schema_field_definition(); + $key_names = array( + 'base table' => 'uuid', + 'revision table' => 'revision uuid', + ); + + foreach (uuid_get_core_entity_info() as $entity_info) { + // Test the fields in "base" and "revision" tables. + foreach ($key_names as $table_type => $key_name) { + // Table or field is not defined in entity. + if (!isset($entity_info[$table_type], $entity_info['entity keys'][$key_name])) { + // Not all entities have a revisions table. + continue; + } + + $field_name = $entity_info['entity keys'][$key_name]; + $table_name = $entity_info[$table_type]; + + if (!isset($schemas[$table_name])) { + $this->fail(sprintf('Database schema does not have a "%s" table.', $table_name)); + continue; + } + + $properties = array( + 'field' => array('fields', $field_info), + 'index' => array('indexes', array($field_name)), + ); + + // Check integrity of the field and index definition. + foreach ($properties as $type => $data) { + list($property, $value) = $data; + + $message = sprintf('Definition of the "%s" %s in the "%s" schema', $field_name, $type, $table_name); + + if (isset($schemas[$table_name][$property][$field_name])) { + $this->assertIdentical($schemas[$table_name][$property][$field_name], $value, "$message is correct."); + } + else { + $this->fail("$message does not exist."); + } + } + } + } + } + +} + +/** + * Tests the UUID API functions. + */ +class UUIDV5TestCase extends UUIDTestCase { + + /** + * {@inheritdoc} + */ + public static function getInfo() { + return array( + 'name' => 'UUID v5', + 'description' => 'Tests the UUID v5 function.', + 'group' => 'UUID', + ); + } + + /** + * {@inheritdoc} + */ + protected function setUp() { + parent::setUp(array('uuid')); + } + + /** + * Tests uuid function calls. + */ + public function testV5Function() { + // DNS namespace UUID. + $dns_namespace = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; + + // Valid DNS generation test. + $uuid = uuid_generate_v5($dns_namespace, 'drupal.org'); + $this->assertUuid($uuid, 'UUID for drupal.org is valid.'); + $this->assertEqual($uuid, 'c809fd30-48df-52e3-a9f2-2cd78129b8b1', 'UUID for drupal.org is correct.'); + + // Invalid namespace test. + $invalid_namespace = '01234567-c7a9-feda-27e5-75d00dabc123'; + $uuid = uuid_generate_v5($invalid_namespace, 'drupal.org'); + $this->assertFalse($uuid, 'Invalid namespace UUID rejected.'); } + } /** @@ -88,14 +189,14 @@ class UUIDEntityTestCase extends UUIDTestCase { /** * {@inheritdoc} */ - function setUp() { - parent::setUp('uuid'); + protected function setUp() { + parent::setUp(array('uuid')); } /** * Tests Entity API's UUID functions. */ - function testEntityAPIFunctions() { + public function testEntityApiFunctions() { // Create some entities that we will work with. $user = $this->drupalCreateUser(); $node = $this->drupalCreateNode(array('title' => 'original title', 'uid' => $user->uid)); @@ -112,6 +213,7 @@ class UUIDEntityTestCase extends UUIDTestCase { $vuuids = entity_get_uuid_by_id('node', array($node->vid), TRUE); $this->assertTrue(in_array($node->vuuid, $vuuids), 'Lookup of entity revision UUID works.'); } + } /** @@ -133,22 +235,23 @@ class UUIDUserTestCase extends UUIDTestCase { /** * {@inheritdoc} */ - function setUp() { + protected function setUp() { + $modules = array('uuid'); + // Some tests depends on the optional Entity API module. if (module_exists('entity')) { - parent::setUp('uuid', 'entity'); - } - else { - parent::setUp('uuid'); + $modules[] = 'entity'; } + + parent::setUp($modules); } /** * Test CRUD on users with UUID functions. */ - function testUserCRUD() { + public function testUserCrud() { $user = $this->drupalCreateUser(); - $this->assertUUID($user->uuid, 'User UUID was generated.'); + $this->assertUuid($user->uuid, 'User UUID was generated.'); // Test updating user. $user_test = clone $user; @@ -178,6 +281,7 @@ class UUIDUserTestCase extends UUIDTestCase { $this->assertFalse($user_test, 'Deleting user with UUID worked.'); } } + } /** @@ -199,14 +303,15 @@ class UUIDNodeTestCase extends UUIDTestCase { /** * {@inheritdoc} */ - function setUp() { + protected function setUp() { + $modules = array('uuid'); + // Some tests depends on the optional Entity API module. if (module_exists('entity')) { - parent::setUp('uuid', 'entity'); - } - else { - parent::setUp('uuid'); + $modules[] = 'entity'; } + + parent::setUp($modules); } /** @@ -215,13 +320,13 @@ class UUIDNodeTestCase extends UUIDTestCase { * @todo * Break out into multiple test methods to loosen coupling between tests. */ - function testNodeCRUD() { + public function testNodeCrud() { // Create some entities that we will work with. $user = $this->drupalCreateUser(); $node = $this->drupalCreateNode(array('title' => 'original title', 'uid' => $user->uid)); - $this->assertUUID($node->uuid, 'Node UUID was generated.'); - $this->assertUUID($node->vuuid, 'Node revision UUID was generated.'); + $this->assertUuid($node->uuid, 'Node UUID was generated.'); + $this->assertUuid($node->vuuid, 'Node revision UUID was generated.'); // Test node update, without creating new revision. $node_test = clone $node; @@ -244,7 +349,7 @@ class UUIDNodeTestCase extends UUIDTestCase { $node_test = node_load($node->nid, FALSE, TRUE); $this->assertEqual($node_test->uuid, $node->uuid, 'Node UUID was intact after updating, when creating new revision.'); $this->assertNotEqual($node_test->vuuid, $node->vuuid, 'A new node revision UUID was generated, when creating new revision.'); - $this->assertUUID($node_test->vuuid, 'The new node revision UUID was valid.'); + $this->assertUuid($node_test->vuuid, 'The new node revision UUID was valid.'); // Test entity_uuid_load(). // Save some variables that we will test against. @@ -300,7 +405,7 @@ class UUIDNodeTestCase extends UUIDTestCase { $this->assertEqual($node_test->title, 'newer title', 'Saving node with UUID mapped to correct node, when creating new revision.'); $this->assertEqual($node_test->uuid, $node->uuid, 'Node UUID was intact after saving with UUID, when creating new revision.'); $this->assertNotEqual($node_test->vuuid, $node->vuuid, 'A new node revison UUID was generated after saving with UUID, when creating new revision.'); - $this->assertUUID($node_test->vuuid, 'New node revision UUID was valid.'); + $this->assertUuid($node_test->vuuid, 'New node revision UUID was valid.'); $this->assertEqual($node_test->uid, $node->uid, "Node property 'uid' was intact after saving with UUID, when creating new revision."); // Test the same thing again, but now triggering a new revision from a @@ -310,12 +415,9 @@ class UUIDNodeTestCase extends UUIDTestCase { $node_test = reset($nodes); // Store the current local revision ID to test with later. $vid_old1 = $node_test->vid; - $vuuid_old1 = $node_test->vuuid; // Simulate this node coming from a remote environment by generating // IDs that won't match. Only the UUID match at this point. $node_test->uuid_services = TRUE; - $nid_remote = rand(); - $vid_remote = rand(); $vuuid_test = uuid_generate(); $node_test->nid = $nid_test; $node_test->vid = $vid_test; @@ -375,6 +477,7 @@ class UUIDNodeTestCase extends UUIDTestCase { $this->assertFalse($node_test, 'Deleting node with UUID worked.'); } } + } /** @@ -385,6 +488,8 @@ class UUIDNodeTestCase extends UUIDTestCase { */ class UUIDCommentTestCase extends CommentHelperCase { + use UUIDTestHelper; + /** * {@inheritdoc} */ @@ -396,31 +501,21 @@ class UUIDCommentTestCase extends CommentHelperCase { ); } - /** - * Helper function that asserts a UUID. - * - * We have duplicated this function from UUIDTestCase since we have to extend - * CommentHelperCase instead. - */ - function assertUUID($uuid, $message = NULL) { - $this->assertTrue(uuid_is_valid($uuid), $message); - } - /** * Test CRUD on comments with UUID functions. */ - function testCommentCRUD() { + public function testCommentCrud() { // This is sub optimal, but due to how CommentHelperCase::setUp() is // constructed we are enforced to do this. So unfortunately this test // depends on 'entity' module for now. - module_enable(array('uuid', 'entity'), TRUE); + module_enable(array('uuid', 'entity')); $user = $this->drupalCreateUser(); $this->drupalLogin($user); $node = $this->drupalCreateNode(); $return = $this->postComment($node, 'Lorem ipsum'); $comment = comment_load($return->id); - $this->assertUUID($comment->uuid, 'Comment UUID was generated.'); + $this->assertUuid($comment->uuid, 'Comment UUID was generated.'); // Test updating comment. $comment_test = clone $comment; @@ -456,6 +551,7 @@ class UUIDCommentTestCase extends CommentHelperCase { $this->assertFalse($comment_test, 'Deleting comment with UUID worked.'); } } + } /** @@ -463,6 +559,8 @@ class UUIDCommentTestCase extends CommentHelperCase { */ class UUIDTaxonomyTestCase extends TaxonomyWebTestCase { + use UUIDTestHelper; + /** * {@inheritdoc} */ @@ -479,38 +577,34 @@ class UUIDTaxonomyTestCase extends TaxonomyWebTestCase { * * A lot of code here is taken from TaxonomyTermTestCase::setUp(). */ - function setUp() { + protected function setUp() { + $modules = array('taxonomy', 'uuid'); + // Some tests depends on the optional Entity API module. if (module_exists('entity')) { - parent::setUp('taxonomy', 'uuid', 'entity'); - } - else { - parent::setUp('taxonomy', 'uuid'); + $modules[] = 'entity'; } - } - /** - * Helper function that asserts a UUID. - * - * We have duplicated this function from UUIDTestCase since we have to extend - * TaxonomyWebTestCase instead. - */ - function assertUUID($uuid, $message = NULL) { - $this->assertTrue(uuid_is_valid($uuid), $message); + parent::setUp($modules); } /** * Test CRUD on comments with UUID functions. */ - function testTaxonomyCRUD() { - $user = $this->drupalCreateUser(array('administer taxonomy', 'administer nodes', 'bypass node access')); + public function testTaxonomyCrud() { + $perms = array( + 'administer taxonomy', + 'administer nodes', + 'bypass node access', + ); + $user = $this->drupalCreateUser($perms); $this->drupalLogin($user); // Create a term by tagging a node. We'll use this node later too. - $vocabulary = new stdClass; + $vocabulary = new stdClass(); $vocabulary->vid = 1; $term = $this->createTerm($vocabulary); - $this->assertUUID($term->uuid, 'Term UUID was generated.'); + $this->assertUuid($term->uuid, 'Term UUID was generated.'); // Test updating term. $term_test = clone $term; @@ -542,6 +636,7 @@ class UUIDTaxonomyTestCase extends TaxonomyWebTestCase { $this->assertFalse($term_test, 'Deleting term with UUID worked.'); } } + } /** @@ -566,14 +661,14 @@ class UUIDSyncTestCase extends UUIDTestCase { * @todo * There are something weird around this assertion. */ - function assertTableColumn($table, $column, $message) { + protected function assertTableColumn($table, $column, $message) { $this->assertTrue(db_field_exists($table, $column), $message); } /** * Tests creating UUIDs for entities that don't have them. */ - function testSync() { + public function testSync() { // These entities will not have UUID from the start, since the UUID module // isn't installed yet. $user = $this->drupalCreateUser(); @@ -600,11 +695,12 @@ class UUIDSyncTestCase extends UUIDTestCase { // Test if UUID was generated for nodes. $node_test = node_load($node->nid, FALSE, TRUE); - $this->assertUUID($node_test->uuid, 'Node UUID was generated when clicking the sync button.'); - $this->assertUUID($node_test->vuuid, 'Node revision UUID was generated when clicking the sync button.'); + $this->assertUuid($node_test->uuid, 'Node UUID was generated when clicking the sync button.'); + $this->assertUuid($node_test->vuuid, 'Node revision UUID was generated when clicking the sync button.'); // Test if UUID was generated for users. $user_test = user_load($user->uid, TRUE); - $this->assertUUID($user_test->uuid, 'User UUID was generated when clicking the sync button.'); + $this->assertUuid($user_test->uuid, 'User UUID was generated when clicking the sync button.'); } + } diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid.views.inc b/profiles/wcm_base/modules/contrib/uuid/uuid.views.inc index f0255a974c0c39184953e495070c01b32f3787d7..b81a40e14fd9cfbcedf3d1d6dda1e82f3b2a12ba 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid.views.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid.views.inc @@ -1,7 +1,8 @@ <?php + /** * @file - * Views Implementation for UUID + * Views Implementation for UUID. */ /** diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.info b/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.info index c5ebe93d6a12c69cce0b9516bb3bce567de2b6ea..0f4fa2ba4a2476695c86e5f7acdc2377e2dcc616 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.info +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.info @@ -5,9 +5,8 @@ package = UUID dependencies[] = uuid -; Information added by Drupal.org packaging script on 2014-09-23 -version = "7.x-1.0-alpha6" +; Information added by Drupal.org packaging script on 2018-07-03 +version = "7.x-1.1" core = "7.x" project = "uuid" -datestamp = "1411455150" - +datestamp = "1530614937" diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.module b/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.module index 4d75998acdcd215543901444154f5407ed3ce6f3..585abad7ce20ea72068610892dc7a0ec4d70a22e 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.module +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_path/uuid_path.module @@ -2,7 +2,7 @@ /** * @file - * UUID path module functions. + * UUID path module functions. */ /** @@ -24,7 +24,7 @@ function uuid_path_entity_uuid_save(&$entity, $entity_type) { */ function _uuid_path_load_url_aliases(&$entities, $entity_type) { $info = entity_get_info($entity_type); - // we only care about entities with URLs. + // We only care about entities with URLs. if (!isset($info['uri callback'])) { return; } @@ -35,7 +35,7 @@ function _uuid_path_load_url_aliases(&$entities, $entity_type) { $aliases = _uuid_path_url_alias_load($path['path']); // Ignore local IDs. - foreach($aliases as &$alias) { + foreach ($aliases as &$alias) { unset($alias->pid); unset($alias->source); } @@ -50,7 +50,7 @@ function _uuid_path_load_url_aliases(&$entities, $entity_type) { function _uuid_path_save_url_aliases(&$entity, $entity_type) { $info = entity_get_info($entity_type); - // We only care when there is a url callback + // We only care when there is a url callback. if (!isset($info['uri callback'])) { return FALSE; } @@ -63,7 +63,7 @@ function _uuid_path_save_url_aliases(&$entity, $entity_type) { path_delete(array('source' => $path)); // Continue if aliases are present. - if(empty($entity->url_alias)) { + if (empty($entity->url_alias)) { return FALSE; } @@ -77,10 +77,10 @@ function _uuid_path_save_url_aliases(&$entity, $entity_type) { /** * Loads all aliases associated with a path. * - * @param $path + * @param string $path * The source path to look up. * - * @return + * @return array * Array of paths or NULL if none found. */ function _uuid_path_url_alias_load($path) { @@ -90,4 +90,3 @@ function _uuid_path_url_alias_load($path) { ->execute() ->fetchAll(PDO::FETCH_OBJ); } - diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services/resources/field_collection.resource.inc b/profiles/wcm_base/modules/contrib/uuid/uuid_services/resources/field_collection.resource.inc deleted file mode 100644 index 3248e47ca5edd9673de8e0aceb82e988f7b6fc33..0000000000000000000000000000000000000000 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services/resources/field_collection.resource.inc +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -/** - * @file - * Field Collection services definition functions. - */ - -/** - * Define a services resource for field_collections. - */ -function _field_collection_resource_definition() { - if (module_exists('field_collection')) { - // We will allow uuid_services_services_resources_alter() to add the - // default UUID-related operations to this resource. - return array('field_collection_item' => array()); - } - else { - return array(); - } -} diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.admin.inc b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.admin.inc index b57d296ef7fc917e169172df5b6db6eb5e00cb80..d9afe29b1e86d5f47581bb7ab0aafbf3df066d6d 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.admin.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.admin.inc @@ -1,7 +1,15 @@ <?php +/** + * @file + * Administration functions for UUID Service module. + */ + /** * Settings form for UUID Services. + * + * @return array + * Configuration form structure. */ function uuid_services_settings() { $form['uuid_services_support_all_entity_types'] = array( diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.file_services.test b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.file_services.test new file mode 100644 index 0000000000000000000000000000000000000000..23b2f754dbb13e487db5b5a16522aa67e4773b30 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.file_services.test @@ -0,0 +1,150 @@ +<?php + +/** + * @file + * Test the UUID File Services integration. + */ + + /** + * Test the UUID File Services integration. + */ +class UuidFileServicesTest extends ServicesWebTestCase { + + protected $priviledgedUser = NULL; + + protected $endpoint = NULL; + + /** + * Implementation of getInfo(). + */ + public static function getInfo() { + return array( + 'name' => 'UUID File Services tests', + 'description' => 'Test the file services resource UUID methods and actions.', + 'group' => 'UUID', + ); + } + + /** + * Implementation of setUp(). + */ + public function setUp() { + parent::setUp( + 'ctools', + 'services', + 'rest_server', + 'uuid_services', + 'entity', + 'file', + 'field', + 'file_entity' + ); + $this->endpoint = $this->saveNewEndpoint(); + + variable_set('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv weba webp webm'); + } + + /** + * {@inheritdoc} + */ + public function saveNewEndpoint() { + $edit = $this->populateEndpointFAPI(); + $endpoint = new stdClass(); + $endpoint->disabled = FALSE; + $endpoint->api_version = 3; + $endpoint->name = $edit['name']; + $endpoint->server = $edit['server']; + $endpoint->path = $edit['path']; + $endpoint->authentication = array( + 'services' => 'services', + ); + $endpoint->server_settings = array( + 'formatters' => array( + 'json' => TRUE, + 'bencode' => TRUE, + 'rss' => TRUE, + 'plist' => TRUE, + 'xmlplist' => TRUE, + 'php' => TRUE, + 'yaml' => TRUE, + 'jsonp' => FALSE, + 'xml' => FALSE, + ), + 'parsers' => array( + 'application/x-yaml' => TRUE, + 'application/json' => TRUE, + 'application/vnd.php.serialized' => TRUE, + 'application/plist' => TRUE, + 'application/plist+xml' => TRUE, + 'application/x-www-form-urlencoded' => TRUE, + 'multipart/form-data' => TRUE, + ), + ); + $endpoint->resources = array( + 'file' => array( + 'operations' => array( + 'retrieve' => array( + 'enabled' => '1', + ), + 'delete' => array( + 'enabled' => '1', + ), + 'index' => array( + 'enabled' => '1', + ), + 'update' => array( + 'enabled' => '1', + ), + ), + 'actions' => array( + 'create_raw' => array( + 'enabled' => '1', + ), + ), + ), + ); + $endpoint->debug = 1; + $endpoint->export_type = FALSE; + services_endpoint_save($endpoint); + $endpoint = services_endpoint_load($endpoint->name); + $this->assertTrue($endpoint->name == $edit['name'], 'Endpoint successfully created'); + return $endpoint; + } + + /** + * Tests file creation. + */ + public function testFileUpdate() { + $this->privilegedUser = $this->drupalCreateUser(array('create files')); + $this->drupalLogin($this->privilegedUser); + + // Get a test file. + $testfiles = $this->drupalGetTestFiles('php'); + $testfile = current($testfiles); + + // Setup file to be created. + $filepath = file_default_scheme() . '://' . rand() . '/' . rand() . '/' . $testfile->filename; + $file_data = array( + 'uid' => '0', + 'filesize' => filesize($testfile->uri), + 'filename' => $testfile->filename, + 'filepath' => $filepath, + 'file' => base64_encode(file_get_contents($testfile->uri)), + 'uuid' => 'ee26fe5d-f781-4a38-bfe0-8bb350b90073', + 'type' => 'image', + 'filemime' => 'text/plain', + 'uri' => $testfile->uri, + ); + + $response = $this->servicesPut($this->endpoint->path . '/file/create', $file_data); + + // Get the saved file's extension. + $file = file_load($response['body']->fid); + $name = explode('.', $file->filename); + $last = array_pop($name); + $extension = strtolower($last); + + $this->assertNotEqual('php', $extension, 'File was not created with a "php" extension.', 'UUID: File Create'); + } + +} diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.info b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.info index cae591c827212997158fa43137d3f3c9077eba1b..911f2965412a4be5d2a0b7d66bd4753826d24bbe 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.info +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.info @@ -7,9 +7,8 @@ dependencies[] = services dependencies[] = uuid dependencies[] = entity -; Information added by Drupal.org packaging script on 2014-09-23 -version = "7.x-1.0-alpha6" +; Information added by Drupal.org packaging script on 2018-07-03 +version = "7.x-1.1" core = "7.x" project = "uuid" -datestamp = "1411455150" - +datestamp = "1530614937" diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.module b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.module index 005852c2b84ebedabbe8d8839873686aec6ea7e0..a43160c84861cfb86039245062a1039336941baa 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.module +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services/uuid_services.module @@ -1,16 +1,21 @@ <?php /** - * Implementation of hook_menu(). + * @file + * UUID Services module functions. + */ + +/** + * Implements hook_menu(). */ function uuid_services_menu() { $items['admin/config/services/uuid-services'] = array( 'title' => 'UUID Services', - 'description' => 'Configure settings for Module Filter.', + 'description' => 'Configure settings for UUID Services.', 'access arguments' => array('administer services'), 'page callback' => 'drupal_get_form', 'page arguments' => array('uuid_services_settings'), - 'file' => 'uuid_services.admin.inc' + 'file' => 'uuid_services.admin.inc', ); return $items; } @@ -142,6 +147,14 @@ function _uuid_services_entity_update($entity_type, $uuid, $entity) { $entity = (object) $entity; } $entity->uuid_services = TRUE; + // Sanitize file user input. + if ($entity_type == 'file') { + $entity->filename = _services_file_check_name_extension($entity->filename); + $entity->uri = _services_file_check_destination_uri($entity->uri); + if (!empty($entity->filepath)) { + $entity->filepath = _services_file_check_destination($entity->filepath); + } + } entity_uuid_save($entity_type, $entity); return $entity; } @@ -158,7 +171,15 @@ function _uuid_services_entity_update($entity_type, $uuid, $entity) { */ function _uuid_services_entity_delete($entity_type, $uuid) { try { - $return = entity_uuid_delete($entity_type, array($uuid)); + $uuid_exist = (bool) entity_get_id_by_uuid($entity_type, array($uuid)); + if (!$uuid_exist) { + /* UUID not found. Don't try to delete something that doesn't exist. */ + $args = array('@uuid' => $uuid, '@type' => $entity_type); + watchdog('uuid_services', 'UUID @uuid not found for entity type @type', $args, WATCHDOG_WARNING); + return TRUE; + } + + $return = entity_uuid_delete($entity_type, array($uuid)) !== FALSE; return $return; } catch (Exception $exception) { @@ -170,14 +191,14 @@ function _uuid_services_entity_delete($entity_type, $uuid) { /** * Access callback. * - * @param $op + * @param string $op * The operation we are trying to do on the entity. Can only be: * - "view" * - "update" * - "delete" * See 'uuid_services_services_resources_alter()' for an explanation why * 'create' is missing. - * @param $args + * @param array $args * The arguments passed to the method. The keys are holding the following: * 0. <entity_type> * 1. <uuid> @@ -208,10 +229,9 @@ function _uuid_services_entity_access($op, $args) { if ($op == 'update' && empty($entity_ids)) { $op = 'create'; } - // Taxonomy and Comment module uses 'edit' instead of 'update'. - // Oh, how I love Drupal consistency. - if (($entity_type == 'taxonomy_term' || $entity_type == 'comment') && $op == 'update') { - $op = 'edit'; + // If the user doesn't exist return 406 like services does. + if (($entity_type == 'user' && empty($entity) && $op == 'view')) { + return services_error(t('There is no user with UUID @uuid.', array('@uuid' => $args[1])), 406);; } // The following code is taken from entity_access() with some extra logic // to handle the case where an entity type is not defining an access @@ -227,18 +247,3 @@ function _uuid_services_entity_access($op, $args) { return services_error($exception, 406, $entity_type); } } - -/** - * Implements hook_services_resources(). - */ -function uuid_services_services_resources() { - module_load_include('inc', 'uuid_services', 'resources/field_collection.resource'); - - $resources = array( - '#api_version' => 3002, - ); - - $resources += _field_collection_resource_definition(); - - return $resources; -} diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.features.inc b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.features.inc index 8d85b49b92fd34e7d41896a75a83e77274f6481b..649faaeb8390119921f8c184aef80f725045911b 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.features.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.features.inc @@ -1,4 +1,5 @@ <?php + /** * @file * uuid_services_example.features.inc diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.info b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.info index d219b78ce0af19cf24b040e1e2dff18c01165961..65cd2df1b4299285a473237906258690973b89ff 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.info +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.info @@ -11,9 +11,8 @@ features[ctools][] = services:services:3 features[features_api][] = api:2 features[services_endpoint][] = uuid_services_example -; Information added by Drupal.org packaging script on 2014-09-23 -version = "7.x-1.0-alpha6" +; Information added by Drupal.org packaging script on 2018-07-03 +version = "7.x-1.1" core = "7.x" project = "uuid" -datestamp = "1411455150" - +datestamp = "1530614937" diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.module b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.module index e2ac3ae428435351086bfd69fb8132b1f7c4a660..60f0cd3162697239aec4f6e9ecd1928bc21c11a4 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.module +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.module @@ -1,7 +1,8 @@ <?php + /** * @file * Code for the UUID Services Example feature. */ -include_once('uuid_services_example.features.inc'); +include_once 'uuid_services_example.features.inc'; diff --git a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.services.inc b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.services.inc index 2f325202e211d91afdb77d298bc056479d83986c..f121b6250656733bd20c08ac1bfdec2d36a7a42d 100644 --- a/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.services.inc +++ b/profiles/wcm_base/modules/contrib/uuid/uuid_services_example/uuid_services_example.services.inc @@ -1,4 +1,5 @@ <?php + /** * @file * uuid_services_example.services.inc diff --git a/profiles/wcm_base/modules/contrib/views/PATCHES.txt b/profiles/wcm_base/modules/contrib/views/PATCHES.txt index 7cb5e1edbbcfb197a232527dfe2fe074fe516e74..c09d8e8ae7403da4839c8f2720044f8b993a5034 100644 --- a/profiles/wcm_base/modules/contrib/views/PATCHES.txt +++ b/profiles/wcm_base/modules/contrib/views/PATCHES.txt @@ -1,4 +1,4 @@ The following patches have been applied to this project: -- http://drupal.org/files/issues/views-exposed-sorts-2037469-16.diff +- http://drupal.org/files/issues/views-exposed-sorts-2037469-26.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik-rtl.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik-rtl.css index abf2a30857480eb153631470296a3fc1b0fbc69c..7075978e8ad38fc69e11e1506d762d8c1081d3da 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik-rtl.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik-rtl.css @@ -3,7 +3,7 @@ * in the Bartik theme. */ - /* @group Lists */ +/* @group Lists */ .views-display-top .secondary .action-list { padding-right: 0; diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik.css index c6f06925052cdcfeed50c6cf42383dd1e87e57bf..d5cfeb60cb72a8cbb1e8fafe165e6f5fbfc3eaac 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.bartik.css @@ -42,7 +42,7 @@ } .views-displays .secondary .open > a:hover { - color: #0071B3; + color: #0071b3; } .views-displays .secondary input.form-submit { @@ -57,7 +57,7 @@ */ .views-filterable-options .even .form-type-checkbox { - background-color: #F9F9F9; + background-color: #f9f9f9; } .views-ui-dialog .ui-dialog-titlebar-close, @@ -83,29 +83,28 @@ /* @group Buttons */ .ctools-button-processed { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(249, 249, 249, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(249, 249, 249, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; @@ -114,29 +113,28 @@ } .ctools-button-processed:hover { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(241, 241, 241, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(241, 241, 241, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); } .ctools-button-processed li a, @@ -150,29 +148,28 @@ } .ctools-dropbutton-processed.open:hover { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(249, 249, 249, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(249, 249, 249, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); } .ctools-dropbutton-processed.open { @@ -220,12 +217,12 @@ } .views-ui-display-tab-actions .ctools-button input { - color: #0071B3; + color: #0071b3; } .views-ui-display-tab-actions .ctools-button input:hover, .views-ui-display-tab-actions .ctools-button input:focus { - color: #018FE2; + color: #018fe2; } /* @end */ diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.css index 7ce708820f37a22854c45df5fe9e94357a1d1e14..7b367fd3568dde696b684de570c28a4d54332385 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.css @@ -117,12 +117,12 @@ * * The tabs that switch between sections */ - .views-displays .secondary { - border-bottom: 0 none; - margin: 0; - overflow: visible; - padding: 0; - } +.views-displays .secondary { + border-bottom: 0 none; + margin: 0; + overflow: visible; + padding: 0; +} .views-displays .secondary > li { border-right: 0 none; diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools-rtl.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools-rtl.css index 338b2fb7282cb58f0b1436a67b420f521f766216..7fc864992d500d4cb7f9c6a908809068cccc6233 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools-rtl.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools-rtl.css @@ -10,7 +10,7 @@ } .ctools-dropbutton .ctools-link { - border-right: 1px solid #ffffff; + border-right: 1px solid #fff; } .ctools-dropbutton li { diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools.css index b1f0e299e882790f41f420ee3033fc66924f2769..4c994cebc1e164471cff7acdd0b005946e446883 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.ctools.css @@ -1,8 +1,8 @@ /* @group Buttons */ .ctools-button-processed { - background-color: #ffffff; - border-color: #cccccc; + background-color: #fff; + border-color: #ccc; font-size: 11px; padding-bottom: 2px; padding-top: 2px; @@ -46,7 +46,7 @@ } .ctools-dropbutton-processed.open:hover { - border-color: #D0D0D0; + border-color: #d0d0d0; } .ctools-dropbutton-processed.open { @@ -54,11 +54,11 @@ } .ctools-dropbutton-processed .ctools-link { - border-left: 1px solid #ffffff; + border-left: 1px solid #fff; } .ctools-dropbutton-processed.open .ctools-content { - padding-bottom: 4px; + padding-bottom: 4px; } .ctools-dropbutton-processed li a, @@ -132,7 +132,7 @@ .ctools-toggle.ctools-toggle-collapsed { border-bottom-color: transparent; - border-left: 4px solid; + border-left: 4px solid; border-right-color: transparent; border-top-color: transparent; border-width: 5px 0 5px 5px; @@ -158,7 +158,7 @@ } .views-display-settings .ctools-toggle { - color: #000000; + color: #000; } .views-display-column > .ctools-toggle { @@ -173,7 +173,7 @@ } .views-display-column > .ctools-collapsible-handle { - border-color: #F3F3F3; + border-color: #f3f3f3; border-style: solid; border-width: 1px 1px 0; font-size: 13px; @@ -225,7 +225,7 @@ h2.ctools-collapsible-handle { /* @group Jump list */ -#views-live-preview .ctools-jump-menu-select{ +#views-live-preview .ctools-jump-menu-select { max-width: 450px; } diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.garland-rtl.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.garland-rtl.css index 9a8de6dcc34fa3605d38182db71c8f9bf94c47c2..99a761edf03541ee6af0c579c11505f02694aa38 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.garland-rtl.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.garland-rtl.css @@ -3,11 +3,11 @@ * in the Garland theme. */ - /* @group Lists */ +/* @group Lists */ .views-displays .secondary .action-list { left: auto; right: 1px; } - /* @end */ +/* @end */ diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.garland.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.garland.css index cd9010a5391e280847b132225d833671de9b8300..dc2734fd488349321c88f859cf27ec862405473b 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.garland.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.garland.css @@ -54,7 +54,7 @@ .views-displays .secondary .open > a:hover { border-color: #e9e9e9 #e9e9e9 #f1f1f1 #e9e9e9; border-width: 1px 1px 1px 1px; - color: #0071B3; + color: #0071b3; } .views-displays .secondary input.form-submit { @@ -84,7 +84,7 @@ } .views-filterable-options .even .form-type-checkbox { - background-color: #F9F9F9; + background-color: #f9f9f9; } .views-ui-dialog .ui-dialog-titlebar-close, @@ -101,29 +101,28 @@ /* @group Buttons */ .ctools-button-processed { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(249, 249, 249, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(249, 249, 249, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; @@ -132,29 +131,28 @@ } .ctools-button-processed:hover { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(241, 241, 241, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(241, 241, 241, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); } .ctools-button-processed ol li, @@ -172,29 +170,28 @@ } .ctools-dropbutton-processed.open:hover { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(249, 249, 249, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(249, 249, 249, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); } .ctools-dropbutton-processed.open { @@ -249,13 +246,13 @@ } .views-ui-display-tab-actions .ctools-button input { - color: #027AC6; + color: #027ac6; font-size: 12px; } .views-ui-display-tab-actions .ctools-button input:hover, .views-ui-display-tab-actions .ctools-button input:focus { - color: #0062A0; + color: #0062a0; } /* @end */ diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.seven.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.seven.css index d58bb1be5f4f31555743c024453034a4edcde39e..3f879a2d5bdfa141b782cbdd72ddaf895bd87f5b 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.seven.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.seven.css @@ -213,14 +213,14 @@ fieldset.fieldset-no-legend { /* Override for input elements that are themed like ctools-buttons */ .ctools-button-processed input.form-submit:hover { background-image: none; - color: #0074BD; + color: #0074bd; text-shadow: none; } .ctools-button-processed input.form-submit:active { background: none; border: medium none; - color: #0074BD; + color: #0074bd; text-shadow: none; } @@ -238,7 +238,7 @@ table th { /* @group Attachment details */ #edit-display-settings-title { - color: #008BCB; + color: #008bcb; } /* @end */ @@ -249,11 +249,11 @@ table th { */ .views-displays .secondary { - text-align: left; /* LTR */ + text-align: left; /* LTR */ } .views-displays .secondary > li:first-child { - padding-left: 0; + padding-left: 0; } .views-admin .icon.add { @@ -265,7 +265,7 @@ table th { -moz-border-radius: 7px; -webkit-border-radius: 7px; border-radius: 7px; - color: #008BCB; + color: #008bcb; } .views-displays .secondary a:hover > .icon.add { @@ -280,7 +280,7 @@ table th { .views-displays .secondary .open > a:hover { background-color: #f1f1f1; - color: #008BCB; + color: #008bcb; } .views-displays .secondary .action-list li:first-child { @@ -299,7 +299,7 @@ table th { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; - color: #008BCB; + color: #008bcb; } /* @end */ @@ -349,11 +349,11 @@ table th { } #views-ui-rearrange-filter-form tr.drag td { - background-color: #FFEE77 !important; + background-color: #ffee77 !important; } #views-ui-rearrange-filter-form tr.drag-previous td { - background-color: #FFFFBB !important; + background-color: #ffffbb !important; } /* @end */ @@ -402,7 +402,7 @@ table th { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; - border-color: #cccccc; + border-color: #ccc; right: -27px; top: -1px; } @@ -429,84 +429,81 @@ table th { /* @group Buttons */ .ctools-button-processed { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(249, 249, 249, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(249, 249, 249, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); -moz-border-radius: 11px 11px 11px 11px; -webkit-border-radius: 11px 11px 11px 11px; border-radius: 11px 11px 11px 11px; } .ctools-button-processed:hover { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(241, 241, 241, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f1f1f1 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(241, 241, 241, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f1f1f1 100% + ); } .ctools-dropbutton-processed.open:hover { - background-image: - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(249, 249, 249, 1.0)) - ); - background-image: - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); - background-image: - linear-gradient( - -90deg, - #ffffff 0px, - #f9f9f9 100%); + background-image: -moz-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(249, 249, 249, 1.0)) + ); + background-image: -webkit-linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); + background-image: linear-gradient( + -90deg, + #fff 0px, + #f9f9f9 100% + ); } .ctools-dropbutton-processed.open { @@ -528,7 +525,7 @@ table th { } .views-display-settings .ctools-toggle { - color: #008BCB; + color: #008bcb; } .views-display-column > .ctools-toggle { @@ -540,11 +537,11 @@ table th { } .views-display-column > .ctools-collapsible-handle { - color: #008BCB; + color: #008bcb; } .views-ui-display-tab-actions .ctools-button-processed input { - color: #0074BD; + color: #0074bd; } /* @end */ diff --git a/profiles/wcm_base/modules/contrib/views/css/views-admin.theme.css b/profiles/wcm_base/modules/contrib/views/css/views-admin.theme.css index 8611783f7e5dc8d6db39d9d8854af6c748822cc7..d92a47e9c98bd4ff061083d292f732ea5936ee0e 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-admin.theme.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-admin.theme.css @@ -39,35 +39,34 @@ .views-admin .icon, .views-admin .icon-text { background-attachment: scroll; - background-image: url("../images/sprites.png"); + background-image: url('../images/sprites.png'); background-position: left top; /* LTR */ background-repeat: no-repeat; } .views-admin a.icon { - background-image: - url("../images/sprites.png"), - -moz-linear-gradient( - -90deg, - #ffffff 0px, - #e8e8e8 100%); - background-image: - url("../images/sprites.png"), - -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0.0, rgba(255, 255, 255, 1.0)), - color-stop(1.0, rgba(232, 232, 232, 1.0)) - ); - background-image: - url("../images/sprites.png"), - -webkit-linear-gradient( - -90deg, - #ffffff 0px, - #e8e8e8 100%); + background-image: url('../images/sprites.png'), + -moz-linear-gradient( + -90deg, + #fff 0px, + #e8e8e8 100% + ); + background-image: url('../images/sprites.png'), + -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, rgba(255, 255, 255, 1.0)), + color-stop(1.0, rgba(232, 232, 232, 1.0)) + ); + background-image: url('../images/sprites.png'), + -webkit-linear-gradient( + -90deg, + #fff 0px, + #e8e8e8 100% + ); background-repeat: no-repeat, repeat-y; - border: 1px solid #dddddd; + border: 1px solid #ddd; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; @@ -206,7 +205,7 @@ input.form-radio { /* Hide 'remove' checkboxes. */ .views-remove-checkbox { - display: none; + display: none; } /* sizes the labels of checkboxes and radio button to the height of the text */ @@ -406,13 +405,13 @@ td.group-title { /* @group Attachments */ .views-displays { - border: 1px solid #CCC; + border: 1px solid #ccc; padding-bottom: 36px; } .views-display-top { - background-color: #F9F9F9; - border-bottom: 1px solid #CCCCCC; + background-color: #f9f9f9; + border-bottom: 1px solid #ccc; padding: 8px 8px 8px; /* LTR */ position: relative; } @@ -453,7 +452,7 @@ ul#views-display-menu-tabs li { margin-bottom: 5px; } -ul#views-display-menu-tabs li.add ul.action-list li{ +ul#views-display-menu-tabs li.add ul.action-list li { margin: 0; } @@ -470,7 +469,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ */ .views-displays ul.secondary li.active a.active.error, .views-displays .secondary a.error { - border: 2px solid #ED541D; + border: 2px solid #ed541d; padding: 1px 6px; } @@ -480,8 +479,8 @@ ul#views-display-menu-tabs li.add ul.action-list li{ .views-displays .secondary a:hover, .views-displays .secondary .active a { - background-color: #666666; - color: #ffffff; + background-color: #666; + color: #fff; border-bottom-width: 1px; } @@ -523,7 +522,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ } .views-displays .secondary .action-list li:hover { - background-color: #dddddd; + background-color: #ddd; } /* @end */ @@ -556,10 +555,10 @@ ul#views-display-menu-tabs li.add ul.action-list li{ */ .views-display-column + .views-display-column { - margin-top: 0; - } + margin-top: 0; +} - /* @end */ +/* @end */ /* @group Auto preview * @@ -683,7 +682,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ */ .views-ui-display-tab-bucket .views-display-setting { - color: #666666; + color: #666; font-size: 12px; padding-bottom: 2px; } @@ -753,8 +752,8 @@ ul#views-display-menu-tabs li.add ul.action-list li{ } .views-ui-dialog .ui-dialog-titlebar-close { - background: url("../images/close.png") no-repeat scroll 6px 3px #F3F4EE; - border-color: #aaaaaa; + background: url('../images/close.png') no-repeat scroll 6px 3px #f3f4ee; + border-color: #aaa; -moz-border-radius: 0 10px 12px 0; -webkit-border-radius: 0 10px 12px 0; border-radius: 0 10px 12px 0; @@ -774,17 +773,17 @@ ul#views-display-menu-tabs li.add ul.action-list li{ } .views-filterable-options .form-type-checkbox { - border: 1px solid #CCC; + border: 1px solid #ccc; padding: 5px 8px; border-top: none; } .views-filterable-options { - border-top: 1px solid #CCC; + border-top: 1px solid #ccc; } .views-filterable-options .even .form-type-checkbox { - background-color: #F3F4EE; + background-color: #f3f4ee; } .filterable-option .form-item { @@ -830,7 +829,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ .views-ui-dialog #views-ajax-title, .views-ui-dialog .views-override { - background-color: #F3F4EE; + background-color: #f3f4ee; } .views-ui-dialog .views-override { @@ -862,7 +861,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ } .views-ui-dialog .scroll { - border: 1px solid #CCC; + border: 1px solid #ccc; border-width: 1px 0; padding: 8px 13px; } @@ -872,7 +871,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ } .views-ui-dialog .form-buttons { - background-color: #F3F4EE; + background-color: #f3f4ee; padding: 8px 13px; } .views-ui-dialog .form-buttons input { @@ -888,7 +887,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ /* @todo Make this a class to be used anywhere there's node types? */ .form-type-checkboxes #edit-options-value, .form-type-checkboxes #edit-options-validate-options-node-types { - border-color: #CCCCCC; + border-color: #ccc; border-style: solid; border-width: 1px; max-height: 210px; @@ -907,25 +906,25 @@ ul#views-display-menu-tabs li.add ul.action-list li{ } #views-ui-rearrange-filter-form tr td[rowspan] { - border-color: #CDCDCD; + border-color: #cdcdcd; border-style: solid; border-width: 0 1px 1px 1px; } #views-ui-rearrange-filter-form tr[id^="views-row"] { - border-right: 1px solid #CDCDCD; + border-right: 1px solid #cdcdcd; } #views-ui-rearrange-filter-form tr[id^="views-row"].even td { - background-color: #F3F4ED; + background-color: #f3f4ed; } #views-ui-rearrange-filter-form .views-group-title { - border-top: 1px solid #CDCDCD; + border-top: 1px solid #cdcdcd; } #views-ui-rearrange-filter-form .group-empty { - border-bottom: 1px solid #CDCDCD; + border-bottom: 1px solid #cdcdcd; } /* @end */ @@ -945,8 +944,8 @@ ul#views-display-menu-tabs li.add ul.action-list li{ /* @group Live preview elements */ #views-preview-wrapper { - border: 1px solid #CCC; - border-top: 2px solid #CCC; + border: 1px solid #ccc; + border-top: 2px solid #ccc; padding-bottom: 12px; padding-top: 12px; } @@ -979,7 +978,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ } #views-live-preview .preview-section { - border: 1px dashed #DEDEDE; + border: 1px dashed #dedede; margin: 0 -5px; padding: 3px 5px; } @@ -997,7 +996,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ .views-query-info table { border-collapse: separate; - border-color: #dddddd; + border-color: #ddd; border-spacing: 0; margin: 10px 0; } @@ -1008,7 +1007,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ .views-query-info table th, .views-query-info table td { - color: #666666; + color: #666; padding: 4px 10px; } @@ -1058,7 +1057,7 @@ ul#views-display-menu-tabs li.add ul.action-list li{ .ajax-progress-throbber { background-color: #232323; - background-image: url("../images/loading-small.gif"); + background-image: url('../images/loading-small.gif'); background-position: center center; background-repeat: no-repeat; -moz-border-radius: 7px; diff --git a/profiles/wcm_base/modules/contrib/views/css/views-rtl.css b/profiles/wcm_base/modules/contrib/views/css/views-rtl.css index f804639f8c707120ca09c5f9450b1aeadf4cf9d7..0c0c0e0016a72a1f4ddd88d0f581cff82bc56750 100644 --- a/profiles/wcm_base/modules/contrib/views/css/views-rtl.css +++ b/profiles/wcm_base/modules/contrib/views/css/views-rtl.css @@ -1,4 +1,3 @@ - .views-exposed-form .views-exposed-widget { float: right; /* RTL */ padding: .5em 1em 0 0; /* RTL */ diff --git a/profiles/wcm_base/modules/contrib/views/drush/views.drush.inc b/profiles/wcm_base/modules/contrib/views/drush/views.drush.inc index eb2ecc2f83f781a95ee2f595c09d080c29fa87d0..e4ccfb4f1026ca91d29d25e1b84bcd27ca99f245 100644 --- a/profiles/wcm_base/modules/contrib/views/drush/views.drush.inc +++ b/profiles/wcm_base/modules/contrib/views/drush/views.drush.inc @@ -2,14 +2,15 @@ /** * @file - * Drush integration of views. + * Drush integration for Views. * - * drush cache-clear views - Clears the views specific caches. - * views-revert - Drush command to revert views overridden in the system. + * Useful commands: + * - drush cache-clear views - Clears the views specific caches. + * - views-revert - Drush command to revert views overridden in the system. */ /** - * Implement hook_drush_help(). + * Implements hook_drush_help(). */ function views_drush_help($section) { switch ($section) { @@ -18,17 +19,20 @@ function views_drush_help($section) { $help .= dt('If no view names are specified, you will be presented with a list of overridden views to choose from. '); $help .= dt('To revert all views, do not specify any view names, and choose the option "All" from the options presented.'); return $help; + case 'drush:views-list': return dt('Show a list of available views with information about them.'); + case 'drush:views-enable': return dt('Enable the specified views. Follow the command with a space delimited list of view names'); + case 'drush:views-disable': return dt('Disable the specified views. Follow the command with a space delimited list of view names'); } } /** - * Implement hook_drush_command(). + * Implements hook_drush_command(). */ function views_drush_command() { $items = array(); @@ -70,7 +74,7 @@ function views_drush_command() { 'tags' => 'A comma-separated list of views tags by which to filter the results.', 'status' => 'Status of the views by which to filter the results. Choices: enabled, disabled.', 'type' => 'Type of the views by which to filter the results. Choices: normal, default or overridden.', - ), + ), 'examples' => array( 'drush vl' => 'Show a list of all available views.', 'drush vl --name=blog' => 'Show a list of views which names contain "blog".', @@ -143,10 +147,10 @@ function views_revert_views() { // If the user specified a list of views on the CLI, revert those. elseif (!empty($viewnames)) { foreach ($viewnames as $key => $viewname) { - $is_overridden = key_exists($viewname, $overridden); + $is_overridden = array_key_exists($viewname, $overridden); - // Check if the provided view name is in the system - if ($viewname && !key_exists($viewname, $views)) { + // Check if the provided view name is in the system. + if ($viewname && !array_key_exists($viewname, $views)) { drush_set_error(dt("'@viewname' view is not present in the system.", array('@viewname' => $viewname))); } // Check if the provided view is overridden. @@ -158,7 +162,7 @@ function views_revert_views() { views_revert_view($views[$viewname]); $i++; } - // We should never get here but well... + // We should never get here but well. else { drush_set_error(dt( "The view specified '@viewname' is not provided in code, and thus cannot be reverted.", @@ -168,19 +172,20 @@ function views_revert_views() { } } - // The user neither selected the "--all" option, nor provided a list of views to revert. - // Prompt the user. + // The user neither selected the "--all" option, nor provided a list of views + // to revert. Prompt the user. else { - // list of choices for the user - $overridden['all'] = dt('Revert all overridden views'); // add a choice at the end - $choice = drush_choice($overridden, 'Enter a number to choose which view to revert.', '!key'); // prompt the user - + // List of choices for the user. + $overridden['all'] = dt('Revert all overridden views'); + // Add a choice at the end. + $choice = drush_choice($overridden, 'Enter a number to choose which view to revert.', '!key'); + // Prompt the user. if ($choice !== FALSE) { - // revert all views option + // Revert all views option. if ($choice == 'all') { $i = views_revert_allviews($views); } - // else the user specified a single view + // Else the user specified a single view. else { views_revert_view($views[$choice]); $i++; @@ -189,7 +194,7 @@ function views_revert_views() { } - // final results output + // Final results output. if ($i == 0) { drush_log(dt('No views were reverted.'), 'ok'); } @@ -199,9 +204,10 @@ function views_revert_views() { } /** - * Reverts all views - * @param $views - * All views in the system as provided by views_get_all_views(). + * Reverts all views. + * + * @param array $views + * All views in the system as provided by views_get_all_views(). */ function views_revert_allviews($views) { $i = 0; @@ -219,15 +225,17 @@ function views_revert_allviews($views) { } /** - * Revert a specified view - * @param $view - * The view object to be reverted + * Revert a specified view. + * + * Checks on wether or not the view is overridden is handled in + * views_revert_views_revert(). We perform a check here anyway in case someone + * somehow calls this function on their own... * - * Checks on wether or not the view is overridden is handled in views_revert_views_revert() - * We perform a check here anyway in case someone somehow calls this function on their own... + * @param object $view + * The view object to be reverted. */ function views_revert_view($view) { - // check anyway just in case + // Check anyway just in case. if ($view->type == t('Overridden')) { // Revert the view. $view->delete(); @@ -269,7 +277,7 @@ function views_development_settings() { * Callback function for views-list command. */ function drush_views_list() { - // Initialize stuf + // Initialize stuff. $rows = array(); $disabled_views = array(); $enabled_views = array(); @@ -281,19 +289,18 @@ function drush_views_list() { $views = views_get_all_views(); - // get the --name option - // TODO : take into account the case off a comma-separated list of names + // Get the --name option. + // @todo Take into account the case off a comma-separated list of names. $name = drush_get_option_list('name'); $with_name = !empty($name) ? TRUE : FALSE; - // get the --tags option + // Get the --tags option. $tags = drush_get_option_list('tags'); $with_tags = !empty($tags) ? TRUE : FALSE; - // get the --status option - // store user input appart to reuse it after + // Get the --status option. Store user input appart to reuse it after. $status_opt = drush_get_option_list('status'); - // use the same logic than $view->disabled + // Use the same logic than $view->disabled. if (in_array('disabled', $status_opt)) { $status = TRUE; $with_status = TRUE; @@ -304,19 +311,19 @@ function drush_views_list() { } else { $status = NULL; - // wrong or empty --status option + // Wrong or empty --status option. $with_status = FALSE; } - // get the --type option + // Get the --type option. $type = drush_get_option_list('type'); - // use the same logic than $view->type + // Use the same logic than $view->type. $with_type = FALSE; if (in_array('normal', $type) || in_array('default', $type)|| in_array('overridden', $type)) { $with_type = TRUE; } - // set the table headers + // Set the table headers. $header = array( dt('Machine name'), dt('Description'), @@ -325,10 +332,10 @@ function drush_views_list() { dt('Tag'), ); - // setup a row for each view - foreach($views as $id => $view){ - // if options were specified, check that first - // mismatch push the loop to the next view + // Setup a row for each view. + foreach ($views as $id => $view) { + // If options were specified, check that first mismatch push the loop to + // the next view. if ($with_tags && !in_array($view->tag, $tags)) { continue; } @@ -343,25 +350,25 @@ function drush_views_list() { } $row = array(); - // each row entry should be in the same order as the header + // Each row entry should be in the same order as the header. $row[] = $view->name; $row[] = $view->description; $row[] = $view->type; $row[] = $view->disabled ? dt('Disabled') : dt('Enabled'); $row[] = $view->tag; - // place the row in the appropiate array, - // so we can have disabled views at the bottom - if($view->disabled) { + // Place the row in the appropiate array so we can have disabled views at + // the bottom. + if ($view->disabled) { $disabled_views[] = $row; - } - else{ + } + else { $enabled_views[] = $row; } unset($row); - // gather some statistics - switch($view->type) { + // Gather some statistics. + switch ($view->type) { case dt('Normal'): $indb++; break; @@ -379,11 +386,11 @@ function drush_views_list() { $disabled = count($disabled_views); - // sort alphabeticaly + // Sort alphabeticaly. asort($disabled_views); asort($enabled_views); - // if options were used + // If options were used. $summary = ""; if ($with_name || $with_tags || $with_status || $with_type) { $summary = "Views"; @@ -412,23 +419,26 @@ function drush_views_list() { drush_print($summary . "\n"); } - // print all rows as a table + // Print all rows as a table. if ($total > 0) { $rows = array_merge($enabled_views, $disabled_views); - // put the headers as first row + // Put the headers as first row. array_unshift($rows, $header); drush_print_table($rows, TRUE); } - // print the statistics messages + // Print the statistics messages. drush_print(dt("A total of @total views were found in this Drupal installation:", array('@total' => $total))); - drush_print(dt(" @indb views reside only in the database", array('@indb' => $indb ))); + drush_print(dt(" @indb views reside only in the database", array('@indb' => $indb))); drush_print(dt(" @over views are overridden", array('@over' => $overridden))); drush_print(dt(" @incode views are in their default state", array('@incode' => $incode))); drush_print(dt(" @dis views are disabled\n", array('@dis' => $disabled))); } +/** + * Analyze all installed views. + */ function drush_views_analyze() { views_include('analyze'); $messages_count = 0; @@ -440,7 +450,7 @@ function drush_views_analyze() { drush_print($view_name); foreach ($messages as $message) { $messages_count++; - drush_print($message['type'] .': '. $message['message'], 2); + drush_print($message['type'] . ': ' . $message['message'], 2); } } } @@ -448,7 +458,7 @@ function drush_views_analyze() { } /** - * Enables views + * Enables views. */ function drush_views_enable() { $viewnames = _convert_csv_to_array(func_get_args()); @@ -460,7 +470,7 @@ function drush_views_enable() { } /** - * Disables views + * Disables views. */ function drush_views_disable() { $viewnames = _convert_csv_to_array(func_get_args()); @@ -472,9 +482,12 @@ function drush_views_disable() { } /** - * Helper function to enable / disable views - * @param $viewnames: array of viewnames to process - * @param $status: TRUE to disable or FALSE to enable the view + * Helper function to enable / disable views. + * + * @param array $viewnames + * Names of the views to process. + * @param bool $status + * TRUE to disable or FALSE to enable the view. */ function _views_drush_changestatus($viewnames = array(), $status = NULL) { if ($status !== NULL && !empty($viewnames)) { @@ -492,7 +505,7 @@ function _views_drush_changestatus($viewnames = array(), $status = NULL) { drush_set_error(dt("The view '!name' is already !processed", array('!name' => $viewname, '!processed' => $processed))); } } - // If we made changes to views status, save them and clear caches + // If we made changes to views status, save them and clear caches. if ($changed) { variable_set('views_defaults', $views_status); views_invalidate_cache(); @@ -504,6 +517,9 @@ function _views_drush_changestatus($viewnames = array(), $status = NULL) { /** * Adds a cache clear option for views. + * + * @param array $types + * The list of cache types that are available. */ function views_drush_cache_clear(&$types) { $types['views'] = 'views_invalidate_cache'; diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area.inc index 9fed11c33fd9911c8894fb98470e376a63a70b37..95f51a18b24839782652ed62b5ccf496b696cc77 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area.inc @@ -2,7 +2,7 @@ /** * @file - * Views area handlers. + * Definition of views_handler_area and views_handler_area_broken. */ /** @@ -20,29 +20,31 @@ class views_handler_area extends views_handler { /** - * Overrides views_handler::init(). - * - * Make sure that no result area handlers are set to be shown when the result - * is empty. + * {@inheritdoc} */ - function init(&$view, &$options) { + public function init(&$view, &$options) { parent::init($view, $options); + // Make sure that no result area handlers are set to be shown when the + // result is empty. if ($this->handler_type == 'empty') { $this->options['empty'] = TRUE; } } /** - * Get this field's label. + * {@inheritdoc} */ - function label() { + public function label() { if (!isset($this->options['label'])) { return $this->ui_name(); } return $this->options['label']; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $this->definition['field'] = !empty($this->definition['field']) ? $this->definition['field'] : ''; @@ -54,17 +56,17 @@ class views_handler_area extends views_handler { } /** - * Provide extra data to the administration form + * Provide extra data to the administration form. */ - function admin_summary() { + public function admin_summary() { return $this->label(); } /** - * Default options form that provides the label widget that all fields - * should have. + * Default options form that provides the label widget that all fields should + * have. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['label'] = array( '#type' => 'textfield', @@ -83,23 +85,25 @@ class views_handler_area extends views_handler { } /** - * Don't run a query + * Don't run a query. */ - function query() { } + public function query() { + } /** - * Render the area + * Render the area. */ - function render($empty = FALSE) { + public function render($empty = FALSE) { return ''; } /** * Area handlers shouldn't have groupby. */ - function use_group_by() { + public function use_group_by() { return FALSE; } + } /** @@ -108,14 +112,39 @@ class views_handler_area extends views_handler { * @ingroup views_area_handlers */ class views_handler_area_broken extends views_handler_area { - function ui_name($short = FALSE) { + + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return t('Broken/missing handler'); } - function ensure_my_table() { /* No table to ensure! */ } - function query($group_by = FALSE) { /* No query to run */ } - function render($empty = FALSE) { return ''; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function ensure_my_table() { + // No table to ensure! + } + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { + // No query to run. + } + + /** + * {@inheritdoc} + */ + public function render($empty = FALSE) { + return ''; + } + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['markup'] = array( '#prefix' => '<div class="form-item description">', '#value' => t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.'), @@ -123,9 +152,12 @@ class views_handler_area_broken extends views_handler_area { } /** - * Determine if the handler is considered 'broken' + * {@inheritdoc} */ - function broken() { return TRUE; } + public function broken() { + return TRUE; + } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_messages.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_messages.inc index eb1e22ae873988fbadd2976ce465864340511250..2c8bd494dd25a9c0d84499ad552b31fbb82b8e8e 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_messages.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_messages.inc @@ -2,7 +2,7 @@ /** * @file - * Contains views_handler_area_messages. + * Definition of views_handler_area_messages. */ /** diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_result.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_result.inc index 9c6f875b89855e58d1218033a9b801f60cb2fccd..c69d3d2dc5ece83eba50ccc27706b9c0343e819d 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_result.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_result.inc @@ -12,7 +12,10 @@ */ class views_handler_area_result extends views_handler_area { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['content'] = array( @@ -23,7 +26,10 @@ class views_handler_area_result extends views_handler_area { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $variables = array( 'items' => array( @@ -47,11 +53,10 @@ class views_handler_area_result extends views_handler_area { ); } - /** * Find out the information to render. */ - function render($empty = FALSE) { + public function render($empty = FALSE) { // Must have options and does not work on summaries. if (!isset($this->options['content']) || $this->view->plugin_name == 'default_summary') { return; @@ -61,7 +66,7 @@ class views_handler_area_result extends views_handler_area { // Calculate the page totals. $current_page = (int) $this->view->get_current_page() + 1; $per_page = (int) $this->view->get_items_per_page(); - // @TODO: Maybe use a possible is views empty functionality. + // @todo Maybe use a possible is views empty functionality. // Not every view has total_rows set, use view->result instead. $total = isset($this->view->total_rows) ? $this->view->total_rows : count($this->view->result); $name = check_plain($this->view->human_name); @@ -81,7 +86,16 @@ class views_handler_area_result extends views_handler_area { } $current_record_count = ($end - $start) + 1; // Get the search information. - $items = array('start', 'end', 'total', 'name', 'per_page', 'current_page', 'current_record_count', 'page_count'); + $items = array( + 'start', + 'end', + 'total', + 'name', + 'per_page', + 'current_page', + 'current_record_count', + 'page_count', + ); $replacements = array(); foreach ($items as $item) { $replacements["@$item"] = ${$item}; @@ -92,4 +106,5 @@ class views_handler_area_result extends views_handler_area { } return $output; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text.inc index edb282f3204bb88e3c1560810311d3ccd262784a..cad4a598947ab288a36f9b1bb0ef423e104b72cd 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text.inc @@ -12,15 +12,30 @@ */ class views_handler_area_text extends views_handler_area { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); - $options['content'] = array('default' => '', 'translatable' => TRUE, 'format_key' => 'format'); - $options['format'] = array('default' => NULL); - $options['tokenize'] = array('default' => FALSE, 'bool' => TRUE); + $options['content'] = array( + 'default' => '', + 'translatable' => TRUE, + 'format_key' => 'format', + ); + $options['format'] = array( + 'default' => NULL, + ); + $options['tokenize'] = array( + 'default' => FALSE, + 'bool' => TRUE, + ); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['content'] = array( @@ -31,7 +46,7 @@ class views_handler_area_text extends views_handler_area { '#wysiwyg' => FALSE, ); - // @TODO: Refactor token handling into a base class. + // @todo Refactor token handling into a base class. $form['tokenize'] = array( '#type' => 'checkbox', '#title' => t('Use replacement tokens from the first row'), @@ -44,14 +59,17 @@ class views_handler_area_text extends views_handler_area { $options[t('Fields')]["[$field]"] = $handler->ui_name(); } - $count = 0; // This lets us prepare the key as we want it printed. + $count = 0; + // This lets us prepare the key as we want it printed. foreach ($this->view->display_handler->get_handlers('argument') as $arg => $handler) { $options[t('Arguments')]['%' . ++$count] = t('@argument title', array('@argument' => $handler->ui_name())); $options[t('Arguments')]['!' . $count] = t('@argument input', array('@argument' => $handler->ui_name())); } if (!empty($options)) { - $output = '<p>' . t('The following tokens are available. If you would like to have the characters \'[\' and \']\' please use the html entity codes \'%5B\' or \'%5D\' or they will get replaced with empty space.' . '</p>'); + $output = '<p>' + . t("The following tokens are available. If you would like to have the characters '[' and ']' please use the html entity codes '%5B' or '%5D' or they will get replaced with empty space.") + . '</p>'; foreach (array_keys($options) as $type) { if (!empty($options[$type])) { $items = array(); @@ -61,7 +79,7 @@ class views_handler_area_text extends views_handler_area { $output .= theme('item_list', array( 'items' => $items, - 'type' => $type + 'type' => $type, )); } } @@ -82,13 +100,19 @@ class views_handler_area_text extends views_handler_area { } } - function options_submit(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state) { $form_state['values']['options']['format'] = $form_state['values']['options']['content']['format']; $form_state['values']['options']['content'] = $form_state['values']['options']['content']['value']; parent::options_submit($form, $form_state); } - function render($empty = FALSE) { + /** + * {@inheritdoc} + */ + public function render($empty = FALSE) { $format = isset($this->options['format']) ? $this->options['format'] : filter_default_format(); if (!$empty || !empty($this->options['empty'])) { return $this->render_textarea($this->options['content'], $format); @@ -99,7 +123,7 @@ class views_handler_area_text extends views_handler_area { /** * Render a text area, using the proper format. */ - function render_textarea($value, $format) { + public function render_textarea($value, $format) { if ($value) { if ($this->options['tokenize']) { $value = $this->view->style_plugin->tokenize_value($value, 0); @@ -107,4 +131,5 @@ class views_handler_area_text extends views_handler_area { return check_markup($value, $format, '', FALSE); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text_custom.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text_custom.inc index 3627f0c7fa894b9ac6601143b3297ceee49b4188..89577bcef9b53e9f09a8783361d047900a84ad03 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text_custom.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_text_custom.inc @@ -12,13 +12,19 @@ */ class views_handler_area_text_custom extends views_handler_area_text { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); unset($options['format']); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); // Alter the form element, to be a regular text area. @@ -26,14 +32,20 @@ class views_handler_area_text_custom extends views_handler_area_text { unset($form['content']['#format']); unset($form['content']['#wysiwyg']); - // @TODO: Use the token refactored base class. + // @todo Use the token refactored base class. } - // Empty, so we don't inherit options_submit from the parent. - function options_submit(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state) { + // Empty, so we don't inherit options_submit from the parent. } - function render($empty = FALSE) { + /** + * {@inheritdoc} + */ + public function render($empty = FALSE) { if (!$empty || !empty($this->options['empty'])) { return $this->render_textarea_custom($this->options['content']); } @@ -43,8 +55,14 @@ class views_handler_area_text_custom extends views_handler_area_text { /** * Render a text area with filter_xss_admin. + * + * @param string $value + * The text area string to process. + * + * @return string + * The string after it has been sanitized, optionally tokenized too. */ - function render_textarea_custom($value) { + public function render_textarea_custom($value) { if ($value) { if ($this->options['tokenize']) { $value = $this->view->style_plugin->tokenize_value($value, 0); diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_view.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_view.inc index 3b72bf6bddcc18f34101521530d57688d2c2c666..2e93135c3116afcbaf3dde8a0ccea6475b2e05b2 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_view.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_area_view.inc @@ -12,7 +12,10 @@ */ class views_handler_area_view extends views_handler_area { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['view_to_insert'] = array('default' => ''); @@ -21,10 +24,9 @@ class views_handler_area_view extends views_handler_area { } /** - * Default options form that provides the label widget that all fields - * should have. + * Default options form; provides the label widget all fields should have. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $view_display = $this->view->name . ':' . $this->view->current_display; @@ -48,9 +50,9 @@ class views_handler_area_view extends views_handler_area { } /** - * Render the area + * Render the area. */ - function render($empty = FALSE) { + public function render($empty = FALSE) { if ($view = $this->loadView()) { if (!empty($this->options['inherit_arguments']) && !empty($this->view->args)) { return $view->preview(NULL, $this->view->args); diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument.inc index 86c4a0dfb6c780861975fa529fed320a86c21cbf..309091ee6465bb846216cc5f16f830c8070d6432 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument.inc @@ -2,7 +2,7 @@ /** * @file - * @todo. + * Definition of views_handler_argument. */ /** @@ -18,46 +18,59 @@ * * Definition terms for this handler: * - name field: The field to use for the name to use in the summary, which is - * the displayed output. For example, for the node: nid argument, - * the argument itself is the nid, but node.title is displayed. + * the displayed output. For example, for the node: nid argument, the argument + * itself is the nid, but node.title is displayed. * - name table: The table to use for the name, should it not be in the same - * table as the argument. + * table as the argument. * - empty field name: For arguments that can have no value, such as taxonomy - * which can have "no term", this is the string which - * will be displayed for this lack of value. Be sure to use - * t(). + * which can have "no term", this is the string which will be displayed for + * this lack of value. Be sure to use t(). * - validate type: A little used string to allow an argument to restrict - * which validator is available to just one. Use the - * validator ID. This probably should not be used at all, - * and may disappear or change. + * which validator is available to just one. Use the validator ID. This + * probably should not be used at all, and may disappear or change. * - numeric: If set to TRUE this field is numeric and will use %d instead of - * %s in queries. + * %s in queries. * * @ingroup views_argument_handlers */ class views_handler_argument extends views_handler { - var $validator = NULL; - var $argument = NULL; - var $value = NULL; /** - * The table to use for the name, should it not be in the same table as the argument. + * @var object + */ + public $validator = NULL; + + /** + * @var mixed + */ + public $argument = NULL; + + /** + * @var mixed + */ + public $value = NULL; + + /** + * The table to use for the name, if not the same table as the argument. + * * @var string */ - var $name_table; + public $name_table; /** - * The field to use for the name to use in the summary, which is - * the displayed output. For example, for the node: nid argument, - * the argument itself is the nid, but node.title is displayed. + * The field to use for the name to use in the summary. + * + * Used as the displayed output. For example, for the node: nid argument, the + * argument itself is the nid, but node.title is displayed. + * * @var string */ - var $name_field; + public $name_field; /** - * Constructor + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); if (!empty($this->definition['name field'])) { @@ -68,7 +81,10 @@ class views_handler_argument extends views_handler { } } - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); // Compatibility: The new UI changed several settings. @@ -132,31 +148,42 @@ class views_handler_argument extends views_handler { /** * Give an argument the opportunity to modify the breadcrumb, if it wants. - * This only gets called on displays where a breadcrumb is actually used. + * + * Only gets called on displays where a breadcrumb is actually used. * * The breadcrumb will be in the form of an array, with the keys being * the path and the value being the already sanitized title of the path. */ - function set_breadcrumb(&$breadcrumb) { } + public function set_breadcrumb(&$breadcrumb) { + } /** * Determine if the argument can generate a breadcrumb * - * @return TRUE/FALSE + * @return bool */ - function uses_breadcrumb() { + public function uses_breadcrumb() { $info = $this->default_actions($this->options['default_action']); return !empty($info['breadcrumb']); } - function is_exception($arg = NULL) { + /** + * {@inheritdoc} + */ + public function is_exception($arg = NULL) { if (!isset($arg)) { $arg = isset($this->argument) ? $this->argument : NULL; } - return !empty($this->options['exception']['value']) && $this->options['exception']['value'] === $arg; + return !empty($this->options['exception']['value']) && ($this->options['exception']['value'] === $arg); } - function exception_title() { + /** + * Work out which title to use. + * + * @return string + * The title string to use. + */ + public function exception_title() { // If title overriding is off for the exception, return the normal title. if (empty($this->options['exception']['title_enable'])) { return $this->get_title(); @@ -167,15 +194,18 @@ class views_handler_argument extends views_handler { /** * Determine if the argument needs a style plugin. * - * @return TRUE/FALSE + * @return bool */ - function needs_style_plugin() { + public function needs_style_plugin() { $info = $this->default_actions($this->options['default_action']); $validate_info = $this->default_actions($this->options['validate']['fail']); return !empty($info['style plugin']) || !empty($validate_info['style plugin']); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['default_action'] = array('default' => 'ignore'); @@ -213,7 +243,10 @@ class views_handler_argument extends views_handler { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $argument_text = $this->view->display_handler->get_argument_text(); @@ -380,8 +413,9 @@ class views_handler_argument extends views_handler { '#prefix' => '<div id="edit-options-validate-options-' . $id . '-wrapper">', '#suffix' => '</div>', '#type' => 'item', - // Even if the plugin has no options add the key to the form_state. - '#input' => TRUE, // trick it into checking input to make #process run + // Even if the plugin has no options, add the key to the + // form_state. Trick it into checking input to make #process run. + '#input' => TRUE, '#dependency' => array( 'edit-options-specify-validation' => array('1'), 'edit-options-validate-type' => array($id), @@ -411,7 +445,10 @@ class views_handler_argument extends views_handler { ); } - function options_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { if (empty($form_state['values']['options'])) { return; } @@ -440,7 +477,10 @@ class views_handler_argument extends views_handler { } - function options_submit(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state) { if (empty($form_state['values']['options'])) { return; } @@ -451,7 +491,8 @@ class views_handler_argument extends views_handler { if ($plugin) { $options = &$form_state['values']['options']['argument_default'][$default_id]; $plugin->options_submit($form['argument_default'][$default_id], $form_state, $options); - // Copy the now submitted options to their final resting place so they get saved. + // Copy the now submitted options to their final resting place so they + // get saved. $form_state['values']['options']['default_argument_options'] = $options; } @@ -462,7 +503,8 @@ class views_handler_argument extends views_handler { if ($plugin) { $options = &$form_state['values']['options']['summary']['options'][$summary_id]; $plugin->options_submit($form['summary']['options'][$summary_id], $form_state, $options); - // Copy the now submitted options to their final resting place so they get saved. + // Copy the now submitted options to their final resting place so they + // get saved. $form_state['values']['options']['summary_options'] = $options; } } @@ -472,7 +514,8 @@ class views_handler_argument extends views_handler { if ($plugin) { $options = &$form_state['values']['options']['validate']['options'][$validate_id]; $plugin->options_submit($form['validate']['options'][$validate_id], $form_state, $options); - // Copy the now submitted options to their final resting place so they get saved. + // Copy the now submitted options to their final resting place so they + // get saved. $form_state['values']['options']['validate_options'] = $options; } @@ -489,42 +532,49 @@ class views_handler_argument extends views_handler { * * Override this method to provide additional (or fewer) default behaviors. */ - function default_actions($which = NULL) { + public function default_actions($which = NULL) { $defaults = array( 'ignore' => array( 'title' => t('Display all results for the specified field'), 'method' => 'default_ignore', - 'breadcrumb' => TRUE, // generate a breadcrumb to here + // Generate a breadcrumb to here. + 'breadcrumb' => TRUE, ), 'default' => array( 'title' => t('Provide default value'), 'method' => 'default_default', 'form method' => 'default_argument_form', 'has default argument' => TRUE, - 'default only' => TRUE, // this can only be used for missing argument, not validation failure - 'breadcrumb' => TRUE, // generate a breadcrumb to here + // This can only be used for missing argument, not validation failure. + 'default only' => TRUE, + // Generate a breadcrumb to here. + 'breadcrumb' => TRUE, ), 'not found' => array( 'title' => t('Hide view'), 'method' => 'default_not_found', - 'hard fail' => TRUE, // This is a hard fail condition + // This is a hard fail condition. + 'hard fail' => TRUE, ), 'summary' => array( 'title' => t('Display a summary'), 'method' => 'default_summary', 'form method' => 'default_summary_form', 'style plugin' => TRUE, - 'breadcrumb' => TRUE, // generate a breadcrumb to here + // Generate a breadcrumb to here. + 'breadcrumb' => TRUE, ), 'empty' => array( 'title' => t('Display contents of "No results found"'), 'method' => 'default_empty', - 'breadcrumb' => TRUE, // generate a breadcrumb to here + // Generate a breadcrumb to here. + 'breadcrumb' => TRUE, ), 'access denied' => array( 'title' => t('Display "Access Denied"'), 'method' => 'default_access_denied', - 'breadcrumb' => FALSE, // generate a breadcrumb to here + // Generate a breadcrumb to here. + 'breadcrumb' => FALSE, ), ); @@ -543,10 +593,11 @@ class views_handler_argument extends views_handler { } /** - * Provide a form for selecting the default argument when the - * default action is set to provide default argument. + * Provide a form for selecting the default argument. + * + * Used when the default action is set to provide default argument. */ - function default_argument_form(&$form, &$form_state) { + public function default_argument_form(&$form, &$form_state) { $plugins = views_fetch_plugin_data('argument default'); $options = array(); @@ -554,7 +605,7 @@ class views_handler_argument extends views_handler { '#type' => 'checkbox', '#title' => t('Skip default argument for view URL'), '#default_value' => $this->options['default_argument_skip_url'], - '#description' => t('Select whether to include this default argument when constructing the URL for this view. Skipping default arguments is useful e.g. in the case of feeds.') + '#description' => t('Select whether to include this default argument when constructing the URL for this view. Skipping default arguments is useful e.g. in the case of feeds.'), ); $form['default_argument_type'] = array( @@ -564,8 +615,11 @@ class views_handler_argument extends views_handler { '#id' => 'edit-options-default-argument-type', '#title' => t('Type'), '#default_value' => $this->options['default_argument_type'], - - '#dependency' => array('radio:options[default_action]' => array('default')), + '#dependency' => array( + 'radio:options[default_action]' => array( + 'default', + ), + ), // Views custom key, moves this element to the appropriate container // under the radio button. '#argument_option' => 'default', @@ -588,7 +642,7 @@ class views_handler_argument extends views_handler { '#input' => TRUE, '#dependency' => array( 'radio:options[default_action]' => array('default'), - 'edit-options-default-argument-type' => array($id) + 'edit-options-default-argument-type' => array($id), ), '#dependency_count' => 2, ); @@ -603,10 +657,10 @@ class views_handler_argument extends views_handler { } /** - * Provide a form for selecting further summary options when the - * default action is set to display one. + * Provide a form for selecting further summary options when the default + * action is set to display one. */ - function default_summary_form(&$form, &$form_state) { + public function default_summary_form(&$form, &$form_state) { $style_plugins = views_fetch_plugin_data('style'); $summary_plugins = array(); $format_options = array(); @@ -635,7 +689,7 @@ class views_handler_argument extends views_handler { '#default_value' => $this->options['summary']['number_of_records'], '#options' => array( 0 => $this->get_sort_name(), - 1 => t('Number of records') + 1 => t('Number of records'), ), '#dependency' => array('radio:options[default_action]' => array('summary')), ); @@ -659,7 +713,8 @@ class views_handler_argument extends views_handler { '#suffix' => '</div>', '#id' => 'edit-options-summary-options-' . $id, '#type' => 'item', - '#input' => TRUE, // trick it into checking input to make #process run + // Trick it into checking input to make #process run. + '#input' => TRUE, '#dependency' => array( 'radio:options[default_action]' => array('summary'), 'radio:options[summary][format]' => array($id), @@ -677,11 +732,11 @@ class views_handler_argument extends views_handler { * * Override this method only with extreme care. * - * @return + * @return bool * A boolean value; if TRUE, continue building this view. If FALSE, * building the view will be aborted here. */ - function default_action($info = NULL) { + public function default_action($info = NULL) { if (!isset($info)) { $info = $this->default_actions($this->options['default_action']); } @@ -699,29 +754,30 @@ class views_handler_argument extends views_handler { } /** - * How to act if validation failes + * How to act if validation fails. */ - function validate_fail() { + public function validate_fail() { $info = $this->default_actions($this->options['validate']['fail']); return $this->default_action($info); } + /** * Default action: ignore. * - * If an argument was expected and was not given, in this case, simply - * ignore the argument entirely. + * If an argument was expected and was not given, in this case, simply ignore + * the argument entirely. */ - function default_ignore() { + public function default_ignore() { return TRUE; } /** * Default action: not found. * - * If an argument was expected and was not given, in this case, report - * the view as 'not found' or hide it. + * If an argument was expected and was not given, in this case, report the + * view as 'not found' or hide it. */ - function default_not_found() { + public function default_not_found() { // Set a failure condition and let the display manager handle it. $this->view->build_info['fail'] = TRUE; return FALSE; @@ -730,10 +786,10 @@ class views_handler_argument extends views_handler { /** * Default action: access denied. * - * If an argument was expected and was not given, in this case, report - * the view as 'access denied'. + * If an argument was expected and was not given, in this case, report the + * view as 'access denied'. */ - function default_access_denied() { + public function default_access_denied() { $this->view->build_info['denied'] = TRUE; return FALSE; } @@ -741,10 +797,10 @@ class views_handler_argument extends views_handler { /** * Default action: empty * - * If an argument was expected and was not given, in this case, display - * the view's empty text + * If an argument was expected and was not given, in this case, display the + * view's empty text */ - function default_empty() { + public function default_empty() { // We return with no query; this will force the empty text. $this->view->built = TRUE; $this->view->executed = TRUE; @@ -753,17 +809,20 @@ class views_handler_argument extends views_handler { } /** - * This just returns true. The view argument builder will know where - * to find the argument from. + * This just returns true. + * + * The view argument builder will know where to find the argument from. + * + * @todo Why is this needed? */ - function default_default() { + public function default_default() { return TRUE; } /** * Determine if the argument is set to provide a default argument. */ - function has_default_argument() { + public function has_default_argument() { $info = $this->default_actions($this->options['default_action']); return !empty($info['has default argument']); } @@ -771,7 +830,7 @@ class views_handler_argument extends views_handler { /** * Get a default argument, if available. */ - function get_default_argument() { + public function get_default_argument() { $plugin = $this->get_plugin('argument default'); if ($plugin) { return $plugin->get_argument(); @@ -784,7 +843,7 @@ class views_handler_argument extends views_handler { * For example, the validation plugin may want to alter an argument for use in * the URL. */ - function process_summary_arguments(&$args) { + public function process_summary_arguments(&$args) { if ($this->options['validate']['type'] != 'none') { if (isset($this->validator) || $this->validator = $this->get_plugin('argument validator')) { $this->validator->process_summary_arguments($args); @@ -795,20 +854,19 @@ class views_handler_argument extends views_handler { /** * Default action: summary. * - * If an argument was expected and was not given, in this case, display - * a summary query. + * If an argument was expected and was not given, in this case, display a + * summary query. */ - function default_summary() { + public function default_summary() { $this->view->build_info['summary'] = TRUE; $this->view->build_info['summary_level'] = $this->options['id']; - // Change the display style to the summary style for this - // argument. + // Change the display style to the summary style for this argument. $this->view->plugin_name = $this->options['summary']['format']; $this->view->style_options = $this->options['summary_options']; - // Clear out the normal primary field and whatever else may have - // been added and let the summary do the work. + // Clear out the normal primary field and whatever else may have been added + // and let the summary do the work. $this->query->clear_fields(); $this->summary_query(); @@ -826,14 +884,14 @@ class views_handler_argument extends views_handler { * * This must: * - add_groupby: group on this field in order to create summaries. - * - add_field: add a 'num_nodes' field for the count. Usually it will - * be a count on $view->base_field + * - add_field: add a 'num_nodes' field for the count. Usually it will be a + * count on $view->base_field * - set_count_field: Reset the count field so we get the right paging. * - * @return + * @return string * The alias used to get the number of records (count) for this entry. */ - function summary_query() { + public function summary_query() { $this->ensure_my_table(); // Add the field. $this->base_alias = $this->query->add_field($this->table_alias, $this->real_field); @@ -844,15 +902,15 @@ class views_handler_argument extends views_handler { /** * Add the name field, which is the field displayed in summary queries. + * * This is often used when the argument is numeric. */ - function summary_name_field() { - // Add the 'name' field. For example, if this is a uid argument, the - // name field would be 'name' (i.e, the username). - + public function summary_name_field() { + // Add the 'name' field. For example, if this is a uid argument, the name + // field would be 'name' (i.e, the username). if (isset($this->name_table)) { - // if the alias is different then we're probably added, not ensured, - // so look up the join and add it instead. + // If the alias is different then we're probably added, not ensured, so + // look up the join and add it instead. if ($this->table_alias != $this->name_table) { $j = views_get_table_join($this->name_table, $this->table); if ($j) { @@ -878,15 +936,21 @@ class views_handler_argument extends views_handler { } /** - * Some basic summary behavior that doesn't need to be repeated as much as - * code that goes into summary_query() + * Some basic summary behavior. + * + * This doesn't need to be repeated as much as code that goes into + * summary_query(). */ - function summary_basics($count_field = TRUE) { - // Add the number of nodes counter + public function summary_basics($count_field = TRUE) { + // Add the number of nodes counter. $distinct = ($this->view->display_handler->get_option('distinct') && empty($this->query->no_distinct)); - $count_alias = $this->query->add_field($this->query->base_table, $this->query->base_field, 'num_records', - array('count' => TRUE, 'distinct' => $distinct)); + $count_alias = $this->query->add_field($this->query->base_table, + $this->query->base_field, 'num_records', + array( + 'count' => TRUE, + 'distinct' => $distinct, + )); $this->query->add_groupby($this->name_alias); if ($count_field) { @@ -897,36 +961,42 @@ class views_handler_argument extends views_handler { } /** - * Sorts the summary based upon the user's selection. The base variant of - * this is usually adequte. + * Sorts the summary based upon the user's selection. * - * @param $order + * The base variant of this is usually adequte. + * + * @param string $order * The order selected in the UI. */ - function summary_sort($order, $by = NULL) { + public function summary_sort($order, $by = NULL) { $this->query->add_orderby(NULL, NULL, $order, (!empty($by) ? $by : $this->name_alias)); } /** - * Provide the argument to use to link from the summary to the next level; - * this will be called once per row of a summary, and used as part of + * Provide the argument to use to link from the summary to the next level. + * + * This will be called once per row of a summary, and used as part of * $view->get_url(). * - * @param $data + * @param object $data * The query results for the row. */ - function summary_argument($data) { + public function summary_argument($data) { return $data->{$this->base_alias}; } /** - * Provides the name to use for the summary. By default this is just - * the name field. + * Provides the name to use for the summary. * - * @param $data + * By default this is just the name field. + * + * @param object $data * The query results for the row. + * + * @return string + * The summary. */ - function summary_name($data) { + public function summary_name($data) { $value = $data->{$this->name_alias}; if (empty($value) && !empty($this->definition['empty field name'])) { $value = $this->definition['empty field name']; @@ -938,8 +1008,11 @@ class views_handler_argument extends views_handler { * Set up the query for this argument. * * The argument sent may be found at $this->argument. + * + * @param bool $group_by + * Whether the query uses a group-by. */ - function query($group_by = FALSE) { + public function query($group_by = FALSE) { $this->ensure_my_table(); $this->query->add_where(0, "$this->table_alias.$this->real_field", $this->argument); } @@ -949,15 +1022,17 @@ class views_handler_argument extends views_handler { * * This usually needs to be overridden to provide a proper title. */ - function title() { + public function title() { return check_plain($this->argument); } /** - * Called by the view object to get the title. This may be set by a - * validator so we don't necessarily call through to title(). + * Called by the view object to get the title. + * + * This may be set by a validator so we don't necessarily call through to + * title(). */ - function get_title() { + public function get_title() { if (isset($this->validated_title)) { return $this->validated_title; } @@ -969,7 +1044,7 @@ class views_handler_argument extends views_handler { /** * Validate that this argument works. By default, all arguments are valid. */ - function validate_arg($arg) { + public function validate_arg($arg) { // By using % in URLs, arguments could be validated twice; this eases // that pain. if (isset($this->argument_validated)) { @@ -989,7 +1064,7 @@ class views_handler_argument extends views_handler { return $this->argument_validated = $plugin->validate_argument($arg); } - // If the plugin isn't found, fall back to the basic validation path: + // If the plugin isn't found, fall back to the basic validation path. return $this->argument_validated = $this->validate_argument_basic($arg); } @@ -997,10 +1072,10 @@ class views_handler_argument extends views_handler { * Called by the menu system to validate an argument. * * This checks to see if this is a 'soft fail', which means that if the - * argument fails to validate, but there is an action to take anyway, - * then validation cannot actually fail. + * argument fails to validate, but there is an action to take anyway, then + * validation cannot actually fail. */ - function validate_argument($arg) { + public function validate_argument($arg) { $validate_info = $this->default_actions($this->options['validate']['fail']); if (empty($validate_info['hard fail'])) { return TRUE; @@ -1008,8 +1083,8 @@ class views_handler_argument extends views_handler { $rc = $this->validate_arg($arg); - // If the validator has changed the validate fail condition to a - // soft fail, deal with that: + // If the validator has changed the validate fail condition to a soft fail, + // deal with that. $validate_info = $this->default_actions($this->options['validate']['fail']); if (empty($validate_info['hard fail'])) { return TRUE; @@ -1021,11 +1096,14 @@ class views_handler_argument extends views_handler { /** * Provide a basic argument validation. * - * This can be overridden for more complex types; the basic - * validator only checks to see if the argument is not NULL - * or is numeric if the definition says it's numeric. + * This can be overridden for more complex types; the basic validator only + * checks to see if the argument is not NULL or is numeric if the definition + * says it's numeric. + * + * @return bool + * Whether or not the argument validates. */ - function validate_argument_basic($arg) { + public function validate_argument_basic($arg) { if (!isset($arg) || $arg === '') { return FALSE; } @@ -1040,17 +1118,21 @@ class views_handler_argument extends views_handler { /** * Set the input for this argument * - * @return TRUE if it successfully validates; FALSE if it does not. + * @return bool + * TRUE if it successfully validates; FALSE if it does not. */ - function set_argument($arg) { + public function set_argument($arg) { $this->argument = $arg; return $this->validate_arg($arg); } /** * Get the value of this argument. + * + * @return string + * The value. */ - function get_value() { + public function get_value() { // If we already processed this argument, we're done. if (isset($this->argument)) { return $this->argument; @@ -1089,8 +1171,11 @@ class views_handler_argument extends views_handler { * * Arguments can have styles for the summary view. This special export * handler makes sure this works properly. + * + * @return string + * The export summary. */ - function export_summary($indent, $prefix, $storage, $option, $definition, $parents) { + public function export_summary($indent, $prefix, $storage, $option, $definition, $parents) { $output = ''; $name = $this->options['summary'][$option]; $options = $this->options['summary_options']; @@ -1113,8 +1198,11 @@ class views_handler_argument extends views_handler { * * Arguments use validation plugins. This special export handler makes sure * this works properly. + * + * @return string + * The validation response. */ - function export_validation($indent, $prefix, $storage, $option, $definition, $parents) { + public function export_validation($indent, $prefix, $storage, $option, $definition, $parents) { $output = ''; $name = $this->options['validate'][$option]; $options = $this->options['validate_options']; @@ -1137,8 +1225,11 @@ class views_handler_argument extends views_handler { * * Since style and validation plugins have their own export handlers, this * one is currently only used for default argument plugins. + * + * @return string + * Export string. */ - function export_plugin($indent, $prefix, $storage, $option, $definition, $parents) { + public function export_plugin($indent, $prefix, $storage, $option, $definition, $parents) { $output = ''; if ($option == 'default_argument_type') { $type = 'argument default'; @@ -1162,28 +1253,30 @@ class views_handler_argument extends views_handler { /** * Get the display or row plugin, if it exists. */ - function get_plugin($type = 'argument default', $name = NULL) { + public function get_plugin($type = 'argument default', $name = NULL) { $options = array(); switch ($type) { case 'argument default': $plugin_name = $this->options['default_argument_type']; $options_name = 'default_argument_options'; break; + case 'argument validator': $plugin_name = $this->options['validate']['type']; $options_name = 'validate_options'; break; + case 'style': $plugin_name = $this->options['summary']['format']; $options_name = 'summary_options'; + break; } if (!$name) { $name = $plugin_name; } - // we only fetch the options if we're fetching the plugin actually - // in use. + // We only fetch the options if we're fetching the plugin actually in use. if ($name == $plugin_name) { $options = $this->options[$options_name]; } @@ -1206,10 +1299,14 @@ class views_handler_argument extends views_handler { * * Subclasses should override this to specify what the default sort order of * their argument is (e.g. alphabetical, numeric, date). + * + * @return string + * The label for the sorter. */ - function get_sort_name() { + public function get_sort_name() { return t('Default sort', array(), array('context' => 'Sort order')); } + } /** @@ -1218,22 +1315,44 @@ class views_handler_argument extends views_handler { * @ingroup views_argument_handlers */ class views_handler_argument_broken extends views_handler_argument { - function ui_name($short = FALSE) { + + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return t('Broken/missing handler'); } - function ensure_my_table() { /* No table to ensure! */ } - function query($group_by = FALSE) { /* No query to run */ } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function ensure_my_table() { + // No table to ensure! + } + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { + // No query to run. + } + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['markup'] = array( '#markup' => '<div class="form-item description">' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '</div>', ); } /** - * Determine if the handler is considered 'broken' + * {@inheritdoc} */ - function broken() { return TRUE; } + public function broken() { + return TRUE; + } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_date.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_date.inc index 6803c36068a00c75d5b4080456de69dd09991fda..d10694c290cc0a622571294963ed1f103970f2f5 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_date.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_date.inc @@ -10,9 +10,9 @@ * * Adds an option to set a default argument based on the current date. * - * @param $arg_format - * The format string to use on the current time when - * creating a default date argument. + * @param string $arg_format + * The format string to use on the current time when creating a default date + * argument. * * Definitions terms: * - many to one: If true, the "many to one" helper will be used. @@ -24,27 +24,40 @@ * @ingroup views_argument_handlers */ class views_handler_argument_date extends views_handler_argument_formula { - var $option_name = 'default_argument_date'; - var $arg_format = 'Y-m-d'; + + /** + * + */ + public $option_name = 'default_argument_date'; + + /** + * + */ + public $arg_format = 'Y-m-d'; /** * Add an option to set the default value to the current date. */ - function default_argument_form(&$form, &$form_state) { + public function default_argument_form(&$form, &$form_state) { parent::default_argument_form($form, $form_state); $form['default_argument_type']['#options'] += array('date' => t('Current date')); $form['default_argument_type']['#options'] += array('node_created' => t("Current node's creation time")); - $form['default_argument_type']['#options'] += array('node_changed' => t("Current node's update time")); } + $form['default_argument_type']['#options'] += array('node_changed' => t("Current node's update time")); + } /** * Set the empty argument value to the current date, + * * formatted appropriately for this argument. + * + * @return string + * The default argument. */ - function get_default_argument($raw = FALSE) { + public function get_default_argument($raw = FALSE) { if (!$raw && $this->options['default_argument_type'] == 'date') { return date($this->arg_format, REQUEST_TIME); } - else if (!$raw && in_array($this->options['default_argument_type'], array('node_created', 'node_changed'))) { + elseif (!$raw && in_array($this->options['default_argument_type'], array('node_created', 'node_changed'))) { foreach (range(1, 3) as $i) { $node = menu_get_object('node', $i); if (!empty($node)) { @@ -71,11 +84,12 @@ class views_handler_argument_date extends views_handler_argument_formula { } /** - * The date handler provides some default argument types, which aren't argument default plugins, - * so addapt the export mechanism. + * Adapt the export mechanism. + * + * The date handler provides some default argument types, which aren't + * argument default plugins. */ - function export_plugin($indent, $prefix, $storage, $option, $definition, $parents) { - + public function export_plugin($indent, $prefix, $storage, $option, $definition, $parents) { // Only use a special behaviour for the special argument types, else just // use the default behaviour. if ($option == 'default_argument_type') { @@ -94,8 +108,11 @@ class views_handler_argument_date extends views_handler_argument_formula { return parent::export_plugin($indent, $prefix, $storage, $option, $definition, $parents); } - - function get_sort_name() { + /** + * {@inheritdoc} + */ + public function get_sort_name() { return t('Date', array(), array('context' => 'Sort order')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_formula.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_formula.inc index 76f5991ad1bc0085308a1c3c5a276068d9dbfdc0..56ae9765cf923195bc54a0d4d522d43415f58253 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_formula.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_formula.inc @@ -16,11 +16,16 @@ * @ingroup views_argument_handlers */ class views_handler_argument_formula extends views_handler_argument { - var $formula = NULL; + + /** + * + */ + public $formula = NULL; + /** - * Constructor + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); if (!empty($this->definition['formula'])) { @@ -28,14 +33,17 @@ class views_handler_argument_formula extends views_handler_argument { } } - function get_formula() { + /** + * + */ + public function get_formula() { return str_replace('***table***', $this->table_alias, $this->formula); } /** * Build the summary query based on a formula */ - function summary_query() { + public function summary_query() { $this->ensure_my_table(); // Now that our table is secure, get our formula. $formula = $this->get_formula(); @@ -50,14 +58,15 @@ class views_handler_argument_formula extends views_handler_argument { /** * Build the query based upon the formula */ - function query($group_by = FALSE) { + public function query($group_by = FALSE) { $this->ensure_my_table(); // Now that our table is secure, get our formula. $placeholder = $this->placeholder(); - $formula = $this->get_formula() .' = ' . $placeholder; + $formula = $this->get_formula() . ' = ' . $placeholder; $placeholders = array( $placeholder => $this->argument, ); $this->query->add_where(0, $formula, $placeholders, 'formula'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_group_by_numeric.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_group_by_numeric.inc index aa522ea0fc88a705de737d6b42cc5f005e29fd77..01010b59cf8f404bec3b799246f209341f74cac8 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_group_by_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_group_by_numeric.inc @@ -10,8 +10,12 @@ * * @ingroup views_argument_handlers */ -class views_handler_argument_group_by_numeric extends views_handler_argument { - function query($group_by = FALSE) { +class views_handler_argument_group_by_numeric extends views_handler_argument { + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $this->ensure_my_table(); $field = $this->get_field(); $placeholder = $this->placeholder(); @@ -19,11 +23,18 @@ class views_handler_argument_group_by_numeric extends views_handler_argument { $this->query->add_having_expression(0, "$field = $placeholder", array($placeholder => $this->argument)); } - function ui_name($short = FALSE) { + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return $this->get_field(parent::ui_name($short)); } - function get_sort_name() { + /** + * {@inheritdoc} + */ + public function get_sort_name() { return t('Numerical', array(), array('context' => 'Sort order')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_many_to_one.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_many_to_one.inc index 3446760fe58621f7a7e88d3a3926a4f960209805..ce581f7d626dd677afb7d7f0353c0332a555bb51 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_many_to_one.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_many_to_one.inc @@ -6,29 +6,39 @@ */ /** - * An argument handler for use in fields that have a many to one relationship - * with the table(s) to the left. This adds a bunch of options that are - * reasonably common with this type of relationship. + * Argument handler for fields that have many-to-one table relationships. + * + * (i.e. with the table(s) to the left.) + * This adds a bunch of options that are reasonably common with this type of + * relationship. + * * Definition terms: * - numeric: If true, the field will be considered numeric. Probably should * always be set TRUE as views_handler_argument_string has many to one * capabilities. - * - zero is null: If true, a 0 will be handled as empty, so for example - * a default argument can be provided or a summary can be shown. + * - zero is null: If true, a 0 will be handled as empty, so for example a + * default argument can be provided or a summary can be shown. * * @ingroup views_argument_handlers */ class views_handler_argument_many_to_one extends views_handler_argument { - function init(&$view, &$options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $this->helper = new views_many_to_one_helper($this); - // Ensure defaults for these, during summaries and stuff: + // Ensure defaults for these, during summaries and stuff. $this->operator = 'or'; $this->value = array(); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); if (!empty($this->definition['numeric'])) { @@ -49,7 +59,10 @@ class views_handler_argument_many_to_one extends views_handler_argument { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); // allow + for or, , for and @@ -85,11 +98,14 @@ class views_handler_argument_many_to_one extends views_handler_argument { * Override ensure_my_table so we can control how this joins in. * The operator actually has influence over joining. */ - function ensure_my_table() { + public function ensure_my_table() { $this->helper->ensure_my_table(); } - function query($group_by = FALSE) { + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $empty = FALSE; if (isset($this->definition['zero is null']) && $this->definition['zero is null']) { if (empty($this->argument)) { @@ -118,7 +134,10 @@ class views_handler_argument_many_to_one extends views_handler_argument { $this->helper->add_filter(); } - function title() { + /** + * {@inheritdoc} + */ + public function title() { if (!$this->argument) { return !empty($this->definition['empty field name']) ? $this->definition['empty field name'] : t('Uncategorized'); } @@ -144,7 +163,10 @@ class views_handler_argument_many_to_one extends views_handler_argument { return implode($this->operator == 'or' ? ' + ' : ', ', $this->title_query()); } - function summary_query() { + /** + * {@inheritdoc} + */ + public function summary_query() { $field = $this->table . '.' . $this->field; $join = $this->get_join(); @@ -167,7 +189,10 @@ class views_handler_argument_many_to_one extends views_handler_argument { return $this->summary_basics(); } - function summary_argument($data) { + /** + * {@inheritdoc} + */ + public function summary_argument($data) { $value = $data->{$this->base_alias}; if (empty($value)) { $value = 0; @@ -179,7 +204,8 @@ class views_handler_argument_many_to_one extends views_handler_argument { /** * Override for specific title lookups. */ - function title_query() { + public function title_query() { return $this->value; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_null.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_null.inc index 5b427282d0af227e86b2fa1946928a4f1900e448..ac668fbbeed9ec4a5eb209e9c5367175da20e3d0 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_null.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_null.inc @@ -11,7 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_null extends views_handler_argument { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['must_not_be'] = array('default' => FALSE, 'bool' => TRUE); return $options; @@ -21,7 +25,7 @@ class views_handler_argument_null extends views_handler_argument { * Override options_form() so that only the relevant options * are displayed to the user. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['must_not_be'] = array( '#type' => 'checkbox', @@ -38,7 +42,7 @@ class views_handler_argument_null extends views_handler_argument { * Override default_actions() to remove actions that don't * make sense for a null argument. */ - function default_actions($which = NULL) { + public function default_actions($which = NULL) { if ($which) { if (in_array($which, array('ignore', 'not found', 'empty', 'default'))) { return parent::default_actions($which); @@ -51,7 +55,10 @@ class views_handler_argument_null extends views_handler_argument { return $actions; } - function validate_argument_basic($arg) { + /** + * {@inheritdoc} + */ + public function validate_argument_basic($arg) { if (!empty($this->options['must_not_be'])) { return !isset($arg); } @@ -63,5 +70,7 @@ class views_handler_argument_null extends views_handler_argument { * Override the behavior of query() to prevent the query * from being changed in any way. */ - function query($group_by = FALSE) {} + public function query($group_by = FALSE) { + } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_numeric.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_numeric.inc index 8f36b212f282f57da9f46e4d54c30ade9a16547b..c0e2e2b8fa90f4170af2a22f8dd9e4a885c2c578 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_numeric.inc @@ -6,25 +6,30 @@ */ /** - * Basic argument handler for arguments that are numeric. Incorporates - * break_phrase. + * Basic argument handler for arguments that are numeric. + * + * Incorporates break_phrase. * * @ingroup views_argument_handlers */ class views_handler_argument_numeric extends views_handler_argument { + /** * The operator used for the query: or|and. * @var string */ - var $operator; + public $operator; /** * The actual value which is used for querying. * @var array */ - var $value; + public $value; - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['break_phrase'] = array('default' => FALSE, 'bool' => TRUE); @@ -33,7 +38,10 @@ class views_handler_argument_numeric extends views_handler_argument { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); // allow + for or, , for and @@ -54,7 +62,10 @@ class views_handler_argument_numeric extends views_handler_argument { ); } - function title() { + /** + * {@inheritdoc} + */ + public function title() { if (!$this->argument) { return !empty($this->definition['empty field name']) ? $this->definition['empty field name'] : t('Uncategorized'); } @@ -80,14 +91,18 @@ class views_handler_argument_numeric extends views_handler_argument { /** * Override for specific title lookups. + * * @return array * Returns all titles, if it's just one title it's an array with one entry. */ - function title_query() { + public function title_query() { return $this->value; } - function query($group_by = FALSE) { + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $this->ensure_my_table(); if (!empty($this->options['break_phrase'])) { @@ -110,7 +125,11 @@ class views_handler_argument_numeric extends views_handler_argument { } } - function get_sort_name() { + /** + * {@inheritdoc} + */ + public function get_sort_name() { return t('Numerical', array(), array('context' => 'Sort order')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_string.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_string.inc index dbb98fef446ef9b2abfdcc555cf6a4e086ddf73f..2b605cf3f05d8ba51439ad8e4f6db3692ea694e3 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_string.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_argument_string.inc @@ -6,24 +6,30 @@ */ /** - * Basic argument handler to implement string arguments that may have length - * limits. + * Argument handler to implement string arguments that may have length limits. * * @ingroup views_argument_handlers */ class views_handler_argument_string extends views_handler_argument { - function init(&$view, &$options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); if (!empty($this->definition['many to one'])) { $this->helper = new views_many_to_one_helper($this); - // Ensure defaults for these, during summaries and stuff: + // Ensure defaults for these, during summaries and stuff. $this->operator = 'or'; $this->value = array(); } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['glossary'] = array('default' => FALSE, 'bool' => TRUE); @@ -41,7 +47,10 @@ class views_handler_argument_string extends views_handler_argument { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['glossary'] = array( @@ -126,9 +135,9 @@ class views_handler_argument_string extends views_handler_argument { } /** - * Build the summary query based on a string + * Build the summary query based on a string. */ - function summary_query() { + public function summary_query() { if (empty($this->definition['many to one'])) { $this->ensure_my_table(); } @@ -157,14 +166,14 @@ class views_handler_argument_string extends views_handler_argument { * * $this->ensure_my_table() MUST have been called prior to this. */ - function get_formula() { + public function get_formula() { return "SUBSTRING($this->table_alias.$this->real_field, 1, " . intval($this->options['limit']) . ")"; } /** * Build the query based upon the formula */ - function query($group_by = FALSE) { + public function query($group_by = FALSE) { $argument = $this->argument; if (!empty($this->options['transform_dash'])) { $argument = strtr($argument, '-', ' '); @@ -223,7 +232,10 @@ class views_handler_argument_string extends views_handler_argument { } } - function summary_argument($data) { + /** + * {@inheritdoc} + */ + public function summary_argument($data) { $value = $this->case_transform($data->{$this->base_alias}, $this->options['path_case']); if (!empty($this->options['transform_dash'])) { $value = strtr($value, ' ', '-'); @@ -231,11 +243,17 @@ class views_handler_argument_string extends views_handler_argument { return $value; } - function get_sort_name() { + /** + * {@inheritdoc} + */ + public function get_sort_name() { return t('Alphabetical', array(), array('context' => 'Sort order')); } - function title() { + /** + * {@inheritdoc} + */ + public function title() { $this->argument = $this->case_transform($this->argument, $this->options['case']); if (!empty($this->options['transform_dash'])) { $this->argument = strtr($this->argument, '-', ' '); @@ -263,11 +281,14 @@ class views_handler_argument_string extends views_handler_argument { /** * Override for specific title lookups. */ - function title_query() { + public function title_query() { return drupal_map_assoc($this->value, 'check_plain'); } - function summary_name($data) { + /** + * {@inheritdoc} + */ + public function summary_name($data) { return $this->case_transform(parent::summary_name($data), $this->options['case']); } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field.inc index 65210d9f6d9b463807fea93e8324ee1d587e2713..f33cf8845df37c31babcc35ab408020aa9d55c41 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field.inc @@ -2,25 +2,26 @@ /** * @file - * @todo. + * Definition of views_handler_field. */ /** * @defgroup views_field_handlers Views field handlers * @{ * Handlers to tell Views how to build and display fields. - * */ /** * Indicator of the render_text() method for rendering a single item. - * (If no render_item() is present). + * + * If no render_item() is present. */ define('VIEWS_HANDLER_RENDER_TEXT_PHASE_SINGLE_ITEM', 0); /** * Indicator of the render_text() method for rendering the whole element. - * (if no render_item() method is available). + * + * if no render_item() method is available. */ define('VIEWS_HANDLER_RENDER_TEXT_PHASE_COMPLETELY', 1); @@ -34,17 +35,29 @@ define('VIEWS_HANDLER_RENDER_TEXT_PHASE_EMPTY', 2); * * Definition terms: * - additional fields: An array of fields that should be added to the query - * for some purpose. The array is in the form of: - * array('identifier' => array('table' => tablename, - * 'field' => fieldname); as many fields as are necessary - * may be in this array. + * for some purpose. The array is in the form of: + * array( + * 'identifier' => array( + * 'table' => tablename, + * 'field' => fieldname, + * ) + * ); + * with as many fields as are necessary may be in this array. * - click sortable: If TRUE, this field may be click sorted. * * @ingroup views_field_handlers */ class views_handler_field extends views_handler { - var $field_alias = 'unknown'; - var $aliases = array(); + + /** + * + */ + public $field_alias = 'unknown'; + + /** + * + */ + public $aliases = array(); /** * The field value prior to any rewriting. @@ -58,12 +71,12 @@ class views_handler_field extends views_handler { * Stores additional fields which get's added to the query. * The generated aliases are stored in $aliases. */ - var $additional_fields = array(); + public $additional_fields = array(); /** * Construct a new field handler. */ - function construct() { + public function construct() { parent::construct(); $this->additional_fields = array(); @@ -79,21 +92,24 @@ class views_handler_field extends views_handler { /** * Determine if this field can allow advanced rendering. * - * Fields can set this to FALSE if they do not wish to allow - * token based rewriting or link-making. + * Fields can set this to FALSE if they do not wish to allow token based + * rewriting or link-making. */ - function allow_advanced_render() { + public function allow_advanced_render() { return TRUE; } - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); } /** * Called to add the field to a query. */ - function query() { + public function query() { $this->ensure_my_table(); // Add the field. $params = $this->options['group_type'] != 'group' ? array('function' => $this->options['group_type']) : array(); @@ -105,16 +121,15 @@ class views_handler_field extends views_handler { /** * Add 'additional' fields to the query. * - * @param $fields - * An array of fields. The key is an identifier used to later find the - * field alias used. The value is either a string in which case it's - * assumed to be a field on this handler's table; or it's an array in the - * form of - * @code array('table' => $tablename, 'field' => $fieldname) @endcode + * @param array $fields + * An array of fields. The key is an identifier used to later find the field + * alias used. The value is either a string in which case it's assumed to be + * a field on this handler's table; or it's an array in the form of + * @code array('table' => $tablename, 'field' => $fieldname) @endcode */ - function add_additional_fields($fields = NULL) { + public function add_additional_fields($fields = NULL) { if (!isset($fields)) { - // notice check + // Notice check. if (empty($this->additional_fields)) { return; } @@ -139,7 +154,12 @@ class views_handler_field extends views_handler { } if (empty($table_alias)) { - debug(t('Handler @handler tried to add additional_field @identifier but @table could not be added!', array('@handler' => $this->definition['handler'], '@identifier' => $identifier, '@table' => $info['table']))); + $t_args = array( + '@handler' => $this->definition['handler'], + '@identifier' => $identifier, + '@table' => $info['table'], + ); + debug(t('Handler @handler tried to add additional_field @identifier but @table could not be added!', $t_args)); $this->aliases[$identifier] = 'broken'; continue; } @@ -162,7 +182,7 @@ class views_handler_field extends views_handler { /** * Called to determine what to tell the clicksorter. */ - function click_sort($order) { + public function click_sort($order) { if (isset($this->field_alias)) { // Since fields should always have themselves already added, just // add a sort on the field. @@ -174,14 +194,14 @@ class views_handler_field extends views_handler { /** * Determine if this field is click sortable. */ - function click_sortable() { + public function click_sortable() { return !empty($this->definition['click sortable']); } /** * Get this field's label. */ - function label() { + public function label() { if (!isset($this->options['label'])) { return ''; } @@ -191,7 +211,7 @@ class views_handler_field extends views_handler { /** * Return an HTML element based upon the field's element type. */ - function element_type($none_supported = FALSE, $default_empty = FALSE, $inline = FALSE) { + public function element_type($none_supported = FALSE, $default_empty = FALSE, $inline = FALSE) { if ($none_supported) { if ($this->options['element_type'] === '0') { return ''; @@ -219,7 +239,7 @@ class views_handler_field extends views_handler { /** * Return an HTML element for the label based upon the field's element type. */ - function element_label_type($none_supported = FALSE, $default_empty = FALSE) { + public function element_label_type($none_supported = FALSE, $default_empty = FALSE) { if ($none_supported) { if ($this->options['element_label_type'] === '0') { return ''; @@ -239,7 +259,7 @@ class views_handler_field extends views_handler { /** * Return an HTML element for the wrapper based upon the field's element type. */ - function element_wrapper_type($none_supported = FALSE, $default_empty = FALSE) { + public function element_wrapper_type($none_supported = FALSE, $default_empty = FALSE) { if ($none_supported) { if ($this->options['element_wrapper_type'] === '0') { return 0; @@ -259,11 +279,10 @@ class views_handler_field extends views_handler { /** * Provide a list of elements valid for field HTML. * - * This function can be overridden by fields that want more or fewer - * elements available, though this seems like it would be an incredibly - * rare occurence. + * This function can be overridden by fields that want more or fewer elements + * available, though this seems like it would be an incredibly rare occurence. */ - function get_elements() { + public function get_elements() { static $elements = NULL; if (!isset($elements)) { $elements = variable_get('views_field_rewrite_elements', array( @@ -289,7 +308,7 @@ class views_handler_field extends views_handler { /** * Return the class of the field. */ - function element_classes($row_index = NULL) { + public function element_classes($row_index = NULL) { $classes = explode(' ', $this->options['element_class']); foreach ($classes as &$class) { $class = $this->tokenize_value($class, $row_index); @@ -304,15 +323,14 @@ class views_handler_field extends views_handler { * This function actually figures out which field was last and uses its * tokens so they will all be available. */ - function tokenize_value($value, $row_index = NULL) { + public function tokenize_value($value, $row_index = NULL) { if (strpos($value, '[') !== FALSE || strpos($value, '!') !== FALSE || strpos($value, '%') !== FALSE) { $fake_item = array( 'alter_text' => TRUE, 'text' => $value, ); - // Use isset() because empty() will trigger on 0 and 0 is - // the first row. + // Use isset() because empty() will trigger on 0 and 0 is the first row. if (isset($row_index) && isset($this->view->style_plugin->render_tokens[$row_index])) { $tokens = $this->view->style_plugin->render_tokens[$row_index]; } @@ -339,7 +357,7 @@ class views_handler_field extends views_handler { /** * Return the class of the field's label. */ - function element_label_classes($row_index = NULL) { + public function element_label_classes($row_index = NULL) { $classes = explode(' ', $this->options['element_label_class']); foreach ($classes as &$class) { $class = $this->tokenize_value($class, $row_index); @@ -351,7 +369,7 @@ class views_handler_field extends views_handler { /** * Return the class of the field's wrapper. */ - function element_wrapper_classes($row_index = NULL) { + public function element_wrapper_classes($row_index = NULL) { $classes = explode(' ', $this->options['element_wrapper_class']); foreach ($classes as &$class) { $class = $this->tokenize_value($class, $row_index); @@ -366,12 +384,12 @@ class views_handler_field extends views_handler { * This api exists so that other modules can easy set the values of the field * without having the need to change the render method as well. * - * @param $values + * @param object $values * An object containing all retrieved values. - * @param $field + * @param string $field * Optional name of the field where the value is stored. */ - function get_value($values, $field = NULL) { + public function get_value($values, $field = NULL) { $alias = isset($field) ? $this->aliases[$field] : $this->field_alias; if (isset($values->{$alias})) { return $values->{$alias}; @@ -383,13 +401,16 @@ class views_handler_field extends views_handler { * by in the style settings. * * @return bool - * TRUE if this field handler is groupable, otherwise FALSE. + * TRUE if this field handler is groupable, otherwise FALSE. */ - function use_string_group_by() { + public function use_string_group_by() { return TRUE; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['label'] = array('default' => $this->definition['title'], 'translatable' => TRUE); @@ -447,10 +468,19 @@ class views_handler_field extends views_handler { /** * Performs some cleanup tasks on the options array before saving it. */ - function options_submit(&$form, &$form_state) { + public function options_submit(&$form, &$form_state) { $options = &$form_state['values']['options']; - $types = array('element_type', 'element_label_type', 'element_wrapper_type'); - $classes = array_combine(array('element_class', 'element_label_class', 'element_wrapper_class'), $types); + $types = array( + 'element_type', + 'element_label_type', + 'element_wrapper_type', + ); + $base_types = array( + 'element_class', + 'element_label_class', + 'element_wrapper_class', + ); + $classes = array_combine($base_types, $types); foreach ($types as $type) { if (!$options[$type . '_enable']) { @@ -471,10 +501,9 @@ class views_handler_field extends views_handler { } /** - * Default options form that provides the label widget that all fields - * should have. + * Default options form provides the label widget that all fields should have. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $label = $this->label(); @@ -581,7 +610,7 @@ class views_handler_field extends views_handler { '#type' => 'checkbox', '#title' => t('Create a CSS class'), '#dependency' => array( - 'edit-options-element-label-type-enable' => array(1) + 'edit-options-element-label-type-enable' => array(1), ), '#default_value' => !empty($this->options['element_label_class']) || (string) $this->options['element_label_class'] == '0', '#fieldset' => 'style_settings', @@ -703,7 +732,7 @@ class views_handler_field extends views_handler { '#title' => t('Replace spaces with dashes'), '#default_value' => $this->options['alter']['replace_spaces'], '#dependency' => array( - 'edit-options-alter-make-link' => array(1) + 'edit-options-alter-make-link' => array(1), ), ); $form['alter']['external'] = array( @@ -722,7 +751,7 @@ class views_handler_field extends views_handler { '#dependency' => array( 'edit-options-alter-make-link' => array(1), ), - '#options' => array( + '#options' => array( 'none' => t('No transform'), 'upper' => t('Upper case'), 'lower' => t('Lower case'), @@ -796,7 +825,8 @@ class views_handler_field extends views_handler { break; } } - $count = 0; // This lets us prepare the key as we want it printed. + // This lets us prepare the key as we want it printed. + $count = 0; foreach ($this->view->display_handler->get_handlers('argument') as $arg => $handler) { $options[t('Arguments')]['%' . ++$count] = t('@argument title', array('@argument' => $handler->ui_name())); $options[t('Arguments')]['!' . $count] = t('@argument input', array('@argument' => $handler->ui_name())); @@ -819,15 +849,15 @@ If you would like to have the characters \'[\' and \']\' please use the html ent $output .= theme('item_list', array( 'items' => $items, - 'type' => $type + 'type' => $type, )); } } } // This construct uses 'hidden' and not markup because process doesn't - // run. It also has an extra div because the dependency wants to hide - // the parent in situations like this, so we need a second div to - // make this work. + // run. It also has an extra div because the dependency wants to hide the + // parent in situations like this, so we need a second div to make this + // work. $form['alter']['help'] = array( '#type' => 'fieldset', '#title' => t('Replacement patterns'), @@ -997,28 +1027,29 @@ If you would like to have the characters \'[\' and \']\' please use the html ent /** * Provide extra data to the administration form */ - function admin_summary() { + public function admin_summary() { return $this->label(); } /** * Run before any fields are rendered. * - * This gives the handlers some time to set up before any handler has - * been rendered. + * This gives the handlers some time to set up before any handler has been + * rendered. * - * @param $values + * @param array $values * An array of all objects returned from the query. */ - function pre_render(&$values) { } + public function pre_render(&$values) { + } /** * Render the field. * - * @param $values + * @param array $values * The values retrieved from the database. */ - function render($values) { + public function render($values) { $value = $this->get_value($values); return $this->sanitize_value($value); } @@ -1029,7 +1060,7 @@ If you would like to have the characters \'[\' and \']\' please use the html ent * This renders a field normally, then decides if render-as-link and * text-replacement rendering is necessary. */ - function advanced_render($values) { + public function advanced_render($values) { if ($this->allow_advanced_render() && method_exists($this, 'render_item')) { $raw_items = $this->get_items($values); // If there are no items, set the original value to NULL. @@ -1094,7 +1125,7 @@ If you would like to have the characters \'[\' and \']\' please use the html ent /** * Checks if a field value is empty. * - * @param $value + * @param mixed $value * The field value. * @param bool $empty_zero * Whether or not this field is configured to consider 0 as empty. @@ -1102,9 +1133,9 @@ If you would like to have the characters \'[\' and \']\' please use the html ent * Whether or not to use empty() to check the value. * * @return bool - * TRUE if the value is considered empty, FALSE otherwise. + * TRUE if the value is considered empty, FALSE otherwise. */ - function is_value_empty($value, $empty_zero, $no_skip_empty = TRUE) { + public function is_value_empty($value, $empty_zero, $no_skip_empty = TRUE) { if (!isset($value)) { $empty = TRUE; } @@ -1124,7 +1155,7 @@ If you would like to have the characters \'[\' and \']\' please use the html ent * This is separated out as some fields may render lists, and this allows * each item to be handled individually. */ - function render_text($alter) { + public function render_text($alter) { $value = $this->last_render; if (!empty($alter['alter_text']) && $alter['text'] !== '') { @@ -1139,9 +1170,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent // Check if there should be no further rewrite for empty values. $no_rewrite_for_empty = $this->options['hide_alter_empty'] && $this->is_value_empty($this->original_value, $this->options['empty_zero']); - // Check whether the value is empty and return nothing, so the field isn't rendered. - // First check whether the field should be hidden if the value(hide_alter_empty = TRUE) /the rewrite is empty (hide_alter_empty = FALSE). - // For numeric values you can specify whether "0"/0 should be empty. + // Check whether the value is empty and return nothing, so the field isn't + // rendered. First check whether the field should be hidden if the + // value(hide_alter_empty = TRUE) /the rewrite is empty (hide_alter_empty = + // FALSE). For numeric values you can specify whether "0"/0 should be empty. if ((($this->options['hide_empty'] && empty($value)) || ($alter['phase'] != VIEWS_HANDLER_RENDER_TEXT_PHASE_EMPTY && $no_rewrite_for_empty)) && $this->is_value_empty($value, $this->options['empty_zero'], FALSE)) { @@ -1169,7 +1201,8 @@ If you would like to have the characters \'[\' and \']\' please use the html ent $more_link_path = $this->options['alter']['more_link_path']; $more_link_path = strip_tags(decode_entities(strtr($more_link_path, $tokens))); - // Take sure that paths which was runned through url() does work as well. + // Take sure that paths which was runned through url() does work as + // well. $base_path = base_path(); // Checks whether the path starts with the base_path. if (strpos($more_link_path, $base_path) === 0) { @@ -1189,7 +1222,7 @@ If you would like to have the characters \'[\' and \']\' please use the html ent if (!empty($alter['make_link']) && !empty($alter['path'])) { if (!isset($tokens)) { - $tokens = $this->get_render_tokens($alter); + $tokens = $this->get_render_tokens($alter); } $value = $this->render_as_link($alter, $value, $tokens); } @@ -1200,7 +1233,7 @@ If you would like to have the characters \'[\' and \']\' please use the html ent /** * Render this field as altered text, from a fieldset set by the user. */ - function render_altered($alter, $tokens) { + public function render_altered($alter, $tokens) { // Filter this right away as our substitutions are already sanitized. $value = filter_xss_admin($alter['text']); $value = strtr($value, $tokens); @@ -1211,21 +1244,20 @@ If you would like to have the characters \'[\' and \']\' please use the html ent /** * Trim the field down to the specified length. */ - function render_trim_text($alter, $value) { + public function render_trim_text($alter, $value) { if (!empty($alter['strip_tags'])) { // NOTE: It's possible that some external fields might override the - // element type so if someone from, say, CCK runs into a bug here, - // this may be why =) + // element type so if someone from, say, CCK runs into a bug here, this + // may be why =) $this->definition['element type'] = 'span'; } return views_trim_text($alter, $value); } /** - * Render this field as a link, with the info from a fieldset set by - * the user. + * Render this field as a link, with info from a fieldset set by the user. */ - function render_as_link($alter, $text, $tokens) { + public function render_as_link($alter, $text, $tokens) { $value = ''; if (!empty($alter['prefix'])) { @@ -1243,9 +1275,9 @@ If you would like to have the characters \'[\' and \']\' please use the html ent // strip_tags() removes <front>, so check whether its different to front. if ($path != '<front>') { - // Use strip tags as there should never be HTML in the path. - // However, we need to preserve special characters like " that - // were removed by check_plain(). + // Use strip tags as there should never be HTML in the path. However, we + // need to preserve special characters like " that were removed by + // check_plain(). $path = strip_tags(decode_entities(strtr($path, $tokens))); if (!empty($alter['path_case']) && $alter['path_case'] != 'none') { @@ -1266,16 +1298,16 @@ If you would like to have the characters \'[\' and \']\' please use the html ent } // If the path is empty do not build a link around the given text and return - // it as is. - // http://www.example.com URLs will not have a $url['path'], so check host as well. + // it as is. http://www.example.com URLs will not have a $url['path'], so + // check host as well. if (empty($url['path']) && empty($url['host']) && empty($url['fragment'])) { return $text; } // If no scheme is provided in the $path, assign the default 'http://'. - // This allows a url of 'www.example.com' to be converted to 'http://www.example.com'. - // Only do this on for external URLs. - if ($alter['external']){ + // This allows a url of 'www.example.com' to be converted to + // 'http://www.example.com'. Only do this on for external URLs. + if ($alter['external']) { if (!isset($url['scheme'])) { // There is no scheme, add the default 'http://' to the $path. $path = "http://$path"; @@ -1320,13 +1352,14 @@ If you would like to have the characters \'[\' and \']\' please use the html ent $options['attributes']['rel'] = $rel; } - $target = check_plain(trim(strtr($alter['target'],$tokens))); + $target = check_plain(trim(strtr($alter['target'], $tokens))); if (!empty($target)) { $options['attributes']['target'] = $target; } - // Allow the addition of arbitrary attributes to links. Additional attributes - // currently can only be altered in preprocessors and not within the UI. + // Allow the addition of arbitrary attributes to links. Additional + // attributes currently can only be altered in preprocessors and not within + // the UI. if (isset($alter['link_attributes']) && is_array($alter['link_attributes'])) { foreach ($alter['link_attributes'] as $key => $attribute) { if (!isset($options['attributes'][$key])) { @@ -1375,11 +1408,10 @@ If you would like to have the characters \'[\' and \']\' please use the html ent /** * Get the 'render' tokens to use for advanced rendering. * - * This runs through all of the fields and arguments that - * are available and gets their values. This will then be - * used in one giant str_replace(). + * This runs through all of the fields and arguments that are available and + * gets their values. This will then be used in one giant str_replace(). */ - function get_render_tokens($item) { + public function get_render_tokens($item) { $tokens = array(); if (!empty($this->view->build_info['substitutions'])) { $tokens = $this->view->build_info['substitutions']; @@ -1391,9 +1423,9 @@ If you would like to have the characters \'[\' and \']\' please use the html ent $tokens[$token] = ''; } - // Use strip tags as there should never be HTML in the path. - // However, we need to preserve special characters like " that - // were removed by check_plain(). + // Use strip tags as there should never be HTML in the path. However, we + // need to preserve special characters like " that were removed by + // check_plain(). $tokens['!' . $count] = isset($this->view->args[$count - 1]) ? strip_tags(decode_entities($this->view->args[$count - 1])) : ''; } @@ -1450,27 +1482,28 @@ If you would like to have the characters \'[\' and \']\' please use the html ent * '%bar_b_c' => 'value' * ); * - * @param $array + * @param array $array * An array of values. - * - * @param $parent_keys + * @param array $parent_keys * An array of parent keys. This will represent the array depth. * - * @return - * An array of available tokens, with nested keys representative of the array structure. + * @return array + * An array of available tokens, with nested keys representative of the + * array structure. */ - function get_token_values_recursive(array $array, array $parent_keys = array()) { + public function get_token_values_recursive(array $array, array $parent_keys = array()) { $tokens = array(); foreach ($array as $param => $val) { if (is_array($val)) { - // Copy parent_keys array, so we don't afect other elements of this iteration. - $child_parent_keys = $parent_keys; - $child_parent_keys[] = $param; - // Get the child tokens. - $child_tokens = $this->get_token_values_recursive($val, $child_parent_keys); - // Add them to the current tokens array. - $tokens += $child_tokens; + // Copy parent_keys array, so we don't afect other elements of this + // iteration. + $child_parent_keys = $parent_keys; + $child_parent_keys[] = $param; + // Get the child tokens. + $child_tokens = $this->get_token_values_recursive($val, $child_parent_keys); + // Add them to the current tokens array. + $tokens += $child_tokens; } else { // Create a token key based on array element structure. @@ -1485,50 +1518,57 @@ If you would like to have the characters \'[\' and \']\' please use the html ent /** * Add any special tokens this field might use for itself. * - * This method is intended to be overridden by items that generate - * fields as a list. For example, the field that displays all terms - * on a node might have tokens for the tid and the term. + * This method is intended to be overridden by items that generate fields as a + * list. For example, the field that displays all terms on a node might have + * tokens for the tid and the term. * - * By convention, tokens should follow the format of [token-subtoken] - * where token is the field ID and subtoken is the field. If the - * field ID is terms, then the tokens might be [terms-tid] and [terms-name]. + * By convention, tokens should follow the format of [token-subtoken] where + * token is the field ID and subtoken is the field. If the field ID is terms, + * then the tokens might be [terms-tid] and [terms-name]. */ - function add_self_tokens(&$tokens, $item) { } + public function add_self_tokens(&$tokens, $item) { + } /** * Document any special tokens this field might use for itself. * * @see add_self_tokens() */ - function document_self_tokens(&$tokens) { } + public function document_self_tokens(&$tokens) { + } /** - * Call out to the theme() function, which probably just calls render() but - * allows sites to override output fairly easily. + * Call out to the theme() function. + * + * It probably just calls render() but allows sites to override output fairly + * easily. */ - function theme($values) { + public function theme($values) { return theme($this->theme_functions(), array( 'view' => $this->view, 'field' => $this, - 'row' => $values + 'row' => $values, )); } - function theme_functions() { + /** + * Build a list of suitable theme functions for this view. + */ + public function theme_functions() { $themes = array(); $hook = 'views_view_field'; $display = $this->view->display[$this->view->current_display]; if (!empty($display)) { - $themes[] = $hook . '__' . $this->view->name . '__' . $display->id . '__' . $this->options['id']; - $themes[] = $hook . '__' . $this->view->name . '__' . $display->id; + $themes[] = $hook . '__' . $this->view->name . '__' . $display->id . '__' . $this->options['id']; + $themes[] = $hook . '__' . $this->view->name . '__' . $display->id; $themes[] = $hook . '__' . $display->id . '__' . $this->options['id']; $themes[] = $hook . '__' . $display->id; if ($display->id != $display->display_plugin) { - $themes[] = $hook . '__' . $this->view->name . '__' . $display->display_plugin . '__' . $this->options['id']; - $themes[] = $hook . '__' . $this->view->name . '__' . $display->display_plugin; + $themes[] = $hook . '__' . $this->view->name . '__' . $display->display_plugin . '__' . $this->options['id']; + $themes[] = $hook . '__' . $this->view->name . '__' . $display->display_plugin; $themes[] = $hook . '__' . $display->display_plugin . '__' . $this->options['id']; $themes[] = $hook . '__' . $display->display_plugin; } @@ -1541,9 +1581,13 @@ If you would like to have the characters \'[\' and \']\' please use the html ent return $themes; } - function ui_name($short = FALSE) { + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return $this->get_field(parent::ui_name($short)); } + } /** @@ -1552,22 +1596,44 @@ If you would like to have the characters \'[\' and \']\' please use the html ent * @ingroup views_field_handlers */ class views_handler_field_broken extends views_handler_field { - function ui_name($short = FALSE) { + + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return t('Broken/missing handler'); } - function ensure_my_table() { /* No table to ensure! */ } - function query($group_by = FALSE) { /* No query to run */ } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function ensure_my_table() { + // No table to ensure! + } + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { + // No query to run. + } + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['markup'] = array( '#markup' => '<div class="form-item description">' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '</div>', ); } /** - * Determine if the handler is considered 'broken' + * {@inheritdoc} */ - function broken() { return TRUE; } + public function broken() { + return TRUE; + } + } /** @@ -1576,7 +1642,11 @@ class views_handler_field_broken extends views_handler_field { * @ingroup views_field_handlers */ class views_handler_field_file_size extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['file_size_display'] = array('default' => 'formatted'); @@ -1584,7 +1654,10 @@ class views_handler_field_file_size extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['file_size_display'] = array( '#title' => t('File size display'), @@ -1596,7 +1669,10 @@ class views_handler_field_file_size extends views_handler_field { ); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); if ($value) { switch ($this->options['file_size_display']) { @@ -1611,6 +1687,7 @@ class views_handler_field_file_size extends views_handler_field { return ''; } } + } /** @@ -1619,10 +1696,15 @@ class views_handler_field_file_size extends views_handler_field { * @ingroup views_field_handlers */ class views_handler_field_xss extends views_handler_field { - function render($values) { + + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->sanitize_value($value, 'xss'); } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_boolean.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_boolean.inc index 8acfb32cc0c26fb86792710944280395996925c6..cfa1605167bae0f251d682d9952f178ed0d56425 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_boolean.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_boolean.inc @@ -11,18 +11,22 @@ * Allows for display of true/false, yes/no, on/off, enabled/disabled. * * Definition terms: - * - output formats: An array where the first entry is displayed on boolean true - * and the second is displayed on boolean false. An example for sticky is: - * @code - * 'output formats' => array( - * 'sticky' => array(t('Sticky'), ''), - * ), - * @endcode + * - output formats: An array where the first entry is displayed on boolean true + * and the second is displayed on boolean false. An example for sticky is: + * @code + * 'output formats' => array( + * 'sticky' => array(t('Sticky'), ''), + * ), + * @endcode * * @ingroup views_field_handlers */ class views_handler_field_boolean extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['type'] = array('default' => 'yes-no'); $options['type_custom_true'] = array('default' => '', 'translatable' => TRUE); @@ -32,7 +36,10 @@ class views_handler_field_boolean extends views_handler_field { return $options; } - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $default_formats = array( @@ -48,7 +55,10 @@ class views_handler_field_boolean extends views_handler_field { $this->formats = array_merge($default_formats, $output_formats, $custom_format); } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { foreach ($this->formats as $key => $item) { $options[$key] = implode('/', $item); } @@ -91,7 +101,10 @@ class views_handler_field_boolean extends views_handler_field { parent::options_form($form, $form_state); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); if (!empty($this->options['not'])) { $value = !$value; @@ -100,11 +113,12 @@ class views_handler_field_boolean extends views_handler_field { if ($this->options['type'] == 'custom') { return $value ? filter_xss_admin($this->options['type_custom_true']) : filter_xss_admin($this->options['type_custom_false']); } - else if (isset($this->formats[$this->options['type']])) { + elseif (isset($this->formats[$this->options['type']])) { return $value ? $this->formats[$this->options['type']][0] : $this->formats[$this->options['type']][1]; } else { return $value ? $this->formats['yes-no'][0] : $this->formats['yes-no'][1]; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_contextual_links.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_contextual_links.inc index 4386e0592b50e56c4fa518415375f7e46aea2728..f3eb66e5b67f04e0ebb972049d7fb50545e81b4e 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_contextual_links.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_contextual_links.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_contextual_links extends views_handler_field_links { - function pre_render(&$values) { + + /** + * {@inheritdoc} + */ + public function pre_render(&$values) { // Add a row plugin css class for the contextual link. $class = 'contextual-links-region'; if (!empty($this->view->style_plugin->options['row_class'])) { @@ -22,7 +26,10 @@ class views_handler_field_contextual_links extends views_handler_field_links { } } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['fields']['#description'] = t('Fields to be included as contextual links.'); @@ -32,7 +39,7 @@ class views_handler_field_contextual_links extends views_handler_field_links { /** * Render the contextual fields. */ - function render($values) { + public function render($values) { $links = $this->get_links(); if (!empty($links)) { $build = array( @@ -52,4 +59,5 @@ class views_handler_field_contextual_links extends views_handler_field_links { return ''; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_counter.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_counter.inc index e4a0ebffd4552f402ee07edac443bd28cc5a0549..a97016080eaae02463900ec072ca1ffdef96c4c4 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_counter.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_counter.inc @@ -11,14 +11,21 @@ * @ingroup views_field_handlers */ class views_handler_field_counter extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['counter_start'] = array('default' => 1); $options['reverse'] = array('default' => FALSE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['counter_start'] = array( '#type' => 'textfield', '#title' => t('Starting value'), @@ -37,24 +44,31 @@ class views_handler_field_counter extends views_handler_field { parent::options_form($form, $form_state); } - function query() { - // do nothing -- to override the parent query. + /** + * {@inheritdoc} + */ + public function query() { + // Do nothing -- to override the parent query. } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $reverse = empty($this->options['reverse']) ? 1 : -1; - // Note: 1 is subtracted from the counter start value below because the + // Note: 1 is subtracted from the counter start value below because the // counter value is incremented by 1 at the end of this function. $counter_start = is_numeric($this->options['counter_start']) ? $this->options['counter_start'] : 0; - $count = ($reverse == -1) ? count($this->view->result) + $counter_start : $counter_start -1; + $count = ($reverse == -1) ? count($this->view->result) + $counter_start : $counter_start - 1; $pager = $this->view->query->pager; // Get the base count of the pager. if ($pager->use_pager()) { if ($reverse == -1) { $count = ($pager->total_items + $counter_start - ($pager->get_current_page() * $pager->get_items_per_page()) + $pager->get_offset()); - } else { + } + else { $count += (($pager->get_items_per_page() * $pager->get_current_page() + $pager->get_offset())) * $reverse; } } @@ -63,4 +77,5 @@ class views_handler_field_counter extends views_handler_field { return $count; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_ctools_dropdown.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_ctools_dropdown.inc index 8964f88dfb1f6e88315f6bec2b9a447636638eda..9fc9d2e385d06ac7552ea7059bc188fd3f70aca5 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_ctools_dropdown.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_ctools_dropdown.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_ctools_dropdown extends views_handler_field_links { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['views_admin_css'] = array('default' => TRUE, 'bool' => TRUE); @@ -19,7 +23,10 @@ class views_handler_field_ctools_dropdown extends views_handler_field_links { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['fields']['#description'] = t('Fields to be included as ctools dropdown button.'); $form['destination']['#description'] = t('Include a "destination" parameter in the link to return the user to the original view upon completing a link action.'); @@ -35,7 +42,7 @@ class views_handler_field_ctools_dropdown extends views_handler_field_links { /** * Render the dropdown button. */ - function render($values) { + public function render($values) { static $added_admin_css; $links = $this->get_links(); @@ -46,10 +53,20 @@ class views_handler_field_ctools_dropdown extends views_handler_field_links { $added_admin_css = TRUE; } - return theme('links__ctools_dropbutton', array('links' => $links, 'attributes' => array('class' => array('links', 'inline')))); + $vars = array( + 'links' => $links, + 'attributes' => array( + 'class' => array( + 'links', + 'inline', + ), + ), + ); + return theme('links__ctools_dropbutton', $vars); } else { return ''; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_custom.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_custom.inc index 66586de235e718da78f18a2af85abef4bfe813a8..eebf045ee42e992b864fa1e60e69b254ea2645a4 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_custom.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_custom.inc @@ -11,11 +11,18 @@ * @ingroup views_field_handlers */ class views_handler_field_custom extends views_handler_field { - function query() { - // do nothing -- to override the parent query. + + /** + * {@inheritdoc} + */ + public function query() { + // Do nothing -- to override the parent query. } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); // Override the alter text option to always alter the text. @@ -24,10 +31,13 @@ class views_handler_field_custom extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); - // Remove the checkbox + // Remove the checkbox. unset($form['alter']['alter_text']); unset($form['alter']['text']['#dependency']); unset($form['alter']['text']['#process']); @@ -36,10 +46,14 @@ class views_handler_field_custom extends views_handler_field { $form['#pre_render'][] = 'views_handler_field_custom_pre_render_move_text'; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { // Return the text, so the code never thinks the value is empty. return $this->options['alter']['text']; } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_date.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_date.inc index f2c63710816f38e4d6bc481d27974dd8f3ace70e..36bb11746286e8760533cccae235425794f43e8b 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_date.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_date.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_date extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['date_format'] = array('default' => 'small'); @@ -23,8 +27,10 @@ class views_handler_field_date extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { - + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $date_formats = array(); $date_types = system_get_date_types(); foreach ($date_types as $key => $value) { @@ -52,66 +58,106 @@ class views_handler_field_date extends views_handler_field { '#title' => t('Custom date format'), '#description' => t('If "Custom", see the <a href="@url" target="_blank">PHP manual</a> for date formats. Otherwise, enter the number of different time units to display, which defaults to 2.', array('@url' => 'http://php.net/manual/function.date.php')), '#default_value' => isset($this->options['custom_date_format']) ? $this->options['custom_date_format'] : '', - '#dependency' => array('edit-options-date-format' => array('custom', 'raw time ago', 'time ago', 'today time ago', 'raw time hence', 'time hence', 'raw time span', 'time span', 'raw time span', 'inverse time span', 'time span')), + '#dependency' => array( + 'edit-options-date-format' => $this->supported_date_types(), + ), ); $form['second_date_format'] = array( - '#type' => 'select', - '#title' => t('Second date format'), - '#options' => $date_formats + array( - 'custom' => t('Custom'), - ), - '#description' => t('The date format which will be used for rendering dates other than today.'), - '#default_value' => isset($this->options['second_date_format']) ? $this->options['second_date_format'] : 'small', - '#dependency' => array('edit-options-date-format' => array('today time ago')), - ); - $form['second_date_format_custom'] = array( - '#type' => 'textfield', - '#title' => t('Custom date format of second date'), - '#description' => t('If "Custom" is selected in "Second date format", see the <a href="@url" target="_blank">PHP manual</a> for date formats. Otherwise, enter the number of different time units to display, which defaults to 2.', array('@url' => 'http://php.net/manual/function.date.php')), - '#default_value' => isset($this->options['second_date_format_custom']) ? $this->options['second_date_format_custom'] : '', - // We have to use states instead of ctools dependency because dependency - // doesn't handle multiple conditions. - '#states' => array( - 'visible' => array( - '#edit-options-date-format' => array('value' => 'today time ago'), - '#edit-options-second-date-format' => array('value' => 'custom'), - ), - ), - // We have to use ctools dependency too because states doesn't add the - // correct left margin to the element's wrapper. - '#dependency' => array( - // This condition is handled by form API's states. -// 'edit-options-date-format' => array('today time ago'), - 'edit-options-second-date-format' => array('custom'), - ), - ); + '#type' => 'select', + '#title' => t('Second date format'), + '#options' => $date_formats + array( + 'custom' => t('Custom'), + ), + '#description' => t('The date format which will be used for rendering dates other than today.'), + '#default_value' => isset($this->options['second_date_format']) ? $this->options['second_date_format'] : 'small', + '#dependency' => array( + 'edit-options-date-format' => array('today time ago'), + ), + ); + $form['second_date_format_custom'] = array( + '#type' => 'textfield', + '#title' => t('Custom date format of second date'), + '#description' => t('If "Custom" is selected in "Second date format", see the <a href="@url" target="_blank">PHP manual</a> for date formats. Otherwise, enter the number of different time units to display, which defaults to 2.', array('@url' => 'http://php.net/manual/function.date.php')), + '#default_value' => isset($this->options['second_date_format_custom']) ? $this->options['second_date_format_custom'] : '', + // We have to use states instead of ctools dependency because dependency + // doesn't handle multiple conditions. + '#states' => array( + 'visible' => array( + '#edit-options-date-format' => array('value' => 'today time ago'), + '#edit-options-second-date-format' => array('value' => 'custom'), + ), + ), + // We have to use ctools dependency too because states doesn't add the + // correct left margin to the element's wrapper. + '#dependency' => array( + // This condition is handled by form API's states. + // 'edit-options-date-format' => array('today time ago'), + 'edit-options-second-date-format' => array('custom'), + ), + ); $form['timezone'] = array( '#type' => 'select', '#title' => t('Timezone'), '#description' => t('Timezone to be used for date output.'), - '#options' => array('' => t('- Default site/user timezone -')) + system_time_zones(FALSE), + '#options' => array( + '' => t('- Default site/user timezone -'), + ) + system_time_zones(FALSE), '#default_value' => $this->options['timezone'], - '#dependency' => array('edit-options-date-format' => array_merge(array('custom'), array_keys($date_formats))), + '#dependency' => array( + 'edit-options-date-format' => array_merge(array('custom'), array_keys($date_formats)), + ), ); parent::options_form($form, $form_state); } - function render($values) { + /** + * Provide a list of all of the supported standard date types. + * + * @return array + * The list of supported formats. + */ + private function supported_date_types() { + return array( + 'custom', + 'raw time ago', + 'time ago', + 'today time ago', + 'raw time hence', + 'time hence', + 'raw time span', + 'time span', + 'raw time span', + 'inverse time span', + 'time span', + ); + } + + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); $format = $this->options['date_format']; - if (in_array($format, array('custom', 'raw time ago', 'time ago', 'today time ago', 'raw time hence', 'time hence', 'raw time span', 'time span', 'raw time span', 'inverse time span', 'time span'))) { + if (in_array($format, $this->supported_date_types())) { $custom_format = $this->options['custom_date_format']; } if ($value) { $timezone = !empty($this->options['timezone']) ? $this->options['timezone'] : NULL; - $time_diff = REQUEST_TIME - $value; // will be positive for a datetime in the past (ago), and negative for a datetime in the future (hence) + // Will be positive for a datetime in the past (ago), and negative for a + // datetime in the future (hence). + $time_diff = REQUEST_TIME - $value; switch ($format) { case 'raw time ago': return format_interval($time_diff, is_numeric($custom_format) ? $custom_format : 2); + case 'time ago': - return t('%time ago', array('%time' => format_interval($time_diff, is_numeric($custom_format) ? $custom_format : 2))); + $t_args = array( + '%time' => format_interval($time_diff, is_numeric($custom_format) ? $custom_format : 2), + ); + return t('%time ago', $t_args); + case 'today time ago': $second_format = $this->options['second_date_format']; $second_custom_format = $this->options['second_date_format_custom']; @@ -127,24 +173,32 @@ class views_handler_field_date extends views_handler_field { else { return format_date($value, $this->options['second_date_format'], '', $timezone); } + case 'raw time hence': return format_interval(-$time_diff, is_numeric($custom_format) ? $custom_format : 2); + case 'time hence': return t('%time hence', array('%time' => format_interval(-$time_diff, is_numeric($custom_format) ? $custom_format : 2))); + case 'raw time span': return ($time_diff < 0 ? '-' : '') . format_interval(abs($time_diff), is_numeric($custom_format) ? $custom_format : 2); + case 'inverse time span': return ($time_diff > 0 ? '-' : '') . format_interval(abs($time_diff), is_numeric($custom_format) ? $custom_format : 2); + case 'time span': return t(($time_diff < 0 ? '%time hence' : '%time ago'), array('%time' => format_interval(abs($time_diff), is_numeric($custom_format) ? $custom_format : 2))); + case 'custom': if ($custom_format == 'r') { return format_date($value, $format, $custom_format, $timezone, 'en'); } return format_date($value, $format, $custom_format, $timezone); + default: return format_date($value, $format, '', $timezone); } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_entity.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_entity.inc index d8aaba49926b1aa1abe79db44ab68e7eab3bd872..c4df028c059f745ff8185b9c590aee4bc751b548 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_entity.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_entity.inc @@ -11,7 +11,7 @@ * Fields based upon this handler work with all query-backends if the tables * used by the query backend have an 'entity type' specified. In order to * make fields based upon this handler automatically available to all compatible - * query backends, the views field can be defined in the table + * query backends, the views field can be defined in the table. * @code views_entity_{ENTITY_TYPE} @endcode. * * @ingroup views_field_handlers @@ -47,7 +47,7 @@ class views_handler_field_entity extends views_handler_field { /** * Overriden to add the field for the entity id. */ - function query() { + public function query() { $this->table_alias = $base_table = $this->view->base_table; $this->base_field = $this->view->base_field; @@ -75,16 +75,16 @@ class views_handler_field_entity extends views_handler_field { /** * Load the entities for all rows that are about to be displayed. */ - function pre_render(&$values) { + public function pre_render(&$values) { if (!empty($values)) { list($this->entity_type, $this->entities) = $this->query->get_result_entities($values, !empty($this->relationship) ? $this->relationship : NULL, $this->field_alias); } } /** - * Overridden to return the entity object, or a certain property of the entity. + * Return the entity object or a certain property of the entity. */ - function get_value($values, $field = NULL) { + public function get_value($values, $field = NULL) { if (isset($this->entities[$this->view->row_index])) { $entity = $this->entities[$this->view->row_index]; // Support to get a certain part of the entity. @@ -101,4 +101,5 @@ class views_handler_field_entity extends views_handler_field { } return FALSE; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_links.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_links.inc index 15f6460731c5db13ab113d4f7535022552d6609d..51fe6e69f60b32e2bead490eb73821959eb4da49 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_links.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_links.inc @@ -13,9 +13,9 @@ class views_handler_field_links extends views_handler_field { /** - * Overrides views_handler_field::option_definition(). + * {@inheritdoc} */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); $options['fields'] = array('default' => array()); @@ -26,9 +26,9 @@ class views_handler_field_links extends views_handler_field { } /** - * Overrides views_handler_field::options_form(). + * {@inheritdoc} */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $all_fields = $this->view->display_handler->get_field_labels(); @@ -59,9 +59,9 @@ class views_handler_field_links extends views_handler_field { } /** - * Overrides views_handler_field::options_form(). + * {@inheritdoc} */ - function options_submit(&$form, &$form_state) { + public function options_submit(&$form, &$form_state) { // Remove unselected options. $form_state['values']['options']['fields'] = array_filter($form_state['values']['options']['fields']); } @@ -72,7 +72,7 @@ class views_handler_field_links extends views_handler_field { * @return array * The links which are used by the render function. */ - function get_links() { + public function get_links() { $links = array(); foreach ($this->options['fields'] as $field) { if (empty($this->view->field[$field]->last_render_text)) { @@ -121,7 +121,6 @@ class views_handler_field_links extends views_handler_field { } // Omit tweaks of query, fragment, and link_class. - $alt = strtr($alter['alt'], $tokens); if ($alt && $alt != $title) { // Set the title attribute only if it improves accessibility. @@ -148,8 +147,9 @@ class views_handler_field_links extends views_handler_field { } /** - * Overrides views_handler_field::query(). + * {@inheritdoc} */ - function query() { } + public function query() { + } } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_machine_name.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_machine_name.inc index 9f3587fe1dc519cee1399980fc2650d60fed944f..500102cde84fb81716bb147f86b0638b8ab16679 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_machine_name.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_machine_name.inc @@ -10,16 +10,21 @@ * @ingroup views_field_handlers * * Definition items: - * - options callback: The function to call in order to generate the value options. If omitted, the options 'Yes' and 'No' will be used. + * - options callback: The function to call in order to generate the value + * options. If omitted, the options 'Yes' and 'No' will be used. * - options arguments: An array of arguments to pass to the options callback. */ class views_handler_field_machine_name extends views_handler_field { + /** * @var array Stores the available options. */ - var $value_options; + public $value_options; - function get_value_options() { + /** + * {@inheritdoc} + */ + public function get_value_options() { if (isset($this->value_options)) { return; } @@ -37,14 +42,20 @@ class views_handler_field_machine_name extends views_handler_field { } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['machine_name'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['machine_name'] = array( @@ -55,11 +66,17 @@ class views_handler_field_machine_name extends views_handler_field { ); } - function pre_render(&$values) { + /** + * {@inheritdoc} + */ + public function pre_render(&$values) { $this->get_value_options(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $values->{$this->field_alias}; if (!empty($this->options['machine_name']) || !isset($this->value_options[$value])) { $result = check_plain($value); @@ -70,4 +87,5 @@ class views_handler_field_machine_name extends views_handler_field { return $result; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_markup.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_markup.inc index b0f1cea9c150bfab9b847c819fb06f28d3e627ba..5262e01fd2f15d24f407617dbc071fb9545fc1b4 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_markup.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_markup.inc @@ -10,17 +10,18 @@ * format field. * * - format: (REQUIRED) Either a string format id to use for this field or an - * array('field' => {$field}) where $field is the field in this table - * used to control the format such as the 'format' field in the node, - * which goes with the 'body' field. + * array('field' => {$field}) where $field is the field in this table used to + * control the format such as the 'format' field in the node, which goes with + * the 'body' field. * * @ingroup views_field_handlers */ class views_handler_field_markup extends views_handler_field { + /** - * Constructor; calls to base object constructor. + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); $this->format = $this->definition['format']; @@ -31,7 +32,10 @@ class views_handler_field_markup extends views_handler_field { } } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); if (is_array($this->format)) { $format = $this->get_value($values, 'format'); @@ -45,7 +49,10 @@ class views_handler_field_markup extends views_handler_field { } } - function element_type($none_supported = FALSE, $default_empty = FALSE, $inline = FALSE) { + /** + * {@inheritdoc} + */ + public function element_type($none_supported = FALSE, $default_empty = FALSE, $inline = FALSE) { if ($inline) { return 'span'; } @@ -56,4 +63,5 @@ class views_handler_field_markup extends views_handler_field { return 'div'; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_math.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_math.inc index 50a948ae57f7feab24544c20aa97c683c024213f..f8c5defb007cb176dcaee608d8bf221cd9a3db76 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_math.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_math.inc @@ -15,14 +15,21 @@ * @ingroup views_field_handlers */ class views_handler_field_math extends views_handler_field_numeric { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['expression'] = array('default' => ''); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['expression'] = array( '#type' => 'textarea', '#title' => t('Expression'), @@ -30,17 +37,20 @@ class views_handler_field_math extends views_handler_field_numeric { '#default_value' => $this->options['expression'], ); - // Create a place for the help + // Create a place for the help. $form['expression_help'] = array(); parent::options_form($form, $form_state); - // Then move the existing help: + // Then move the existing help. $form['expression_help'] = $form['alter']['help']; unset($form['expression_help']['#dependency']); unset($form['alter']['help']); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { ctools_include('math-expr'); $tokens = array_map('floatval', $this->get_render_tokens(array())); $value = strtr($this->options['expression'], $tokens); @@ -80,5 +90,10 @@ class views_handler_field_math extends views_handler_field_numeric { return $this->sanitize_value($this->options['prefix'] . $value . $this->options['suffix']); } - function query() { } + /** + * {@inheritdoc} + */ + public function query() { + } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_numeric.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_numeric.inc index 843f4c95345e7195c121b1cbf38d5a229a751c32..acc301def49b35d6256774339a878cc41999f307 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_numeric.inc @@ -6,16 +6,20 @@ */ /** - * Render a field as a numeric value + * Render a field as a numeric value. * * Definition terms: * - float: If true this field contains a decimal value. If unset this field - * will be assumed to be integer. + * will be assumed to be integer. * * @ingroup views_field_handlers */ class views_handler_field_numeric extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['set_precision'] = array('default' => FALSE, 'bool' => TRUE); @@ -31,7 +35,10 @@ class views_handler_field_numeric extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { if (!empty($this->definition['float'])) { $form['set_precision'] = array( '#type' => 'checkbox', @@ -105,7 +112,10 @@ class views_handler_field_numeric extends views_handler_field { parent::options_form($form, $form_state); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); // Hiding should happen before rounding or adding prefix/suffix. @@ -135,4 +145,5 @@ class views_handler_field_numeric extends views_handler_field { . $this->sanitize_value($value) . $this->sanitize_value($this->options['suffix'], 'xss'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_prerender_list.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_prerender_list.inc index 00a571aa6f2799d7725cae2e73ecb6024e6ee5b9..360abb4fd565d1e63b83cd45fdf762b4cd9adf97 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_prerender_list.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_prerender_list.inc @@ -16,17 +16,22 @@ * @ingroup views_field_handlers */ class views_handler_field_prerender_list extends views_handler_field { + /** * Stores all items which are used to render the items. + * * It should be keyed first by the id of the base table, for example nid. * The second key is the id of the thing which is displayed multiple times * per row, for example the tid. * * @var array */ - var $items = array(); + public $items = array(); - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['type'] = array('default' => 'separator'); @@ -35,7 +40,10 @@ class views_handler_field_prerender_list extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['type'] = array( '#type' => 'radios', '#title' => t('Display type'), @@ -63,7 +71,7 @@ class views_handler_field_prerender_list extends views_handler_field { * yet or won't update their prerender list fields. If a render_item method * exists, this will not get used by advanced_render. */ - function render($values) { + public function render($values) { $field = $this->get_value($values); if (!empty($this->items[$field])) { if ($this->options['type'] == 'separator') { @@ -74,7 +82,7 @@ class views_handler_field_prerender_list extends views_handler_field { array( 'items' => $this->items[$field], 'title' => NULL, - 'type' => $this->options['type'] + 'type' => $this->options['type'], )); } } @@ -86,7 +94,7 @@ class views_handler_field_prerender_list extends views_handler_field { * When using advanced render, each possible item in the list is rendered * individually. Then the items are all pasted together. */ - function render_items($items) { + public function render_items($items) { if (!empty($items)) { if ($this->options['type'] == 'separator') { return implode($this->sanitize_value($this->options['separator'], 'xss_admin'), $items); @@ -96,7 +104,7 @@ class views_handler_field_prerender_list extends views_handler_field { array( 'items' => $items, 'title' => NULL, - 'type' => $this->options['type'] + 'type' => $this->options['type'], )); } } @@ -105,14 +113,18 @@ class views_handler_field_prerender_list extends views_handler_field { /** * Return an array of items for the field. * - * Items should be stored in the result array, if possible, as an array - * with 'value' as the actual displayable value of the item, plus - * any items that might be found in the 'alter' options array for - * creating links, such as 'path', 'fragment', 'query' etc, such a thing - * is to be made. Additionally, items that might be turned into tokens - * should also be in this array. + * Items should be stored in the result array, if possible, as an array with + * 'value' as the actual displayable value of the item, plus any items that + * might be found in the 'alter' options array for creating links, such as + * 'path', 'fragment', 'query' etc, such a thing is to be made. Additionally, + * items that might be turned into tokens should also be in this array. + * + * @param mixed $values + * + * @return array + * The items. */ - function get_items($values) { + public function get_items($values) { // Only the parent get_value returns a single field. $field = parent::get_value($values); if (!empty($this->items[$field])) { @@ -125,14 +137,14 @@ class views_handler_field_prerender_list extends views_handler_field { /** * Get the value that's supposed to be rendered. * - * @param $values + * @param object $values * An object containing all retrieved values. - * @param $field + * @param string $field * Optional name of the field where the value is stored. - * @param $raw + * @param bool $raw * Use the raw data and not the data defined in pre_render */ - function get_value($values, $field = NULL, $raw = FALSE) { + public function get_value($values, $field = NULL, $raw = FALSE) { if ($raw) { return parent::get_value($values, $field); } @@ -149,10 +161,14 @@ class views_handler_field_prerender_list extends views_handler_field { * * By default, advanced rendering will NOT be allowed if the class * inheriting from this does not implement a 'render_items' method. + * + * @return bool + * Whether or not the the render method exists. */ - function allow_advanced_render() { + public function allow_advanced_render() { // Note that the advanced render bits also use the presence of // this method to determine if it needs to render items as a list. return method_exists($this, 'render_item'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_serialized.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_serialized.inc index 1579fce71f916ef3db29c258d4fa74a505cbbf15..ae18712bc769d37d9dd0347c65aa3592c52debef 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_serialized.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_serialized.inc @@ -12,15 +12,20 @@ */ class views_handler_field_serialized extends views_handler_field { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['format'] = array('default' => 'unserialized'); $options['key'] = array('default' => ''); return $options; } - - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['format'] = array( @@ -42,14 +47,20 @@ class views_handler_field_serialized extends views_handler_field { ); } - function options_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { // Require a key if the format is key. if ($form_state['values']['options']['format'] == 'key' && $form_state['values']['options']['key'] == '') { form_error($form['key'], t('You have to enter a key if you want to display a key of the data.')); } } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $values->{$this->field_alias}; if ($this->options['format'] == 'unserialized') { @@ -62,4 +73,5 @@ class views_handler_field_serialized extends views_handler_field { return $value; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_time_interval.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_time_interval.inc index e6063af17896551a4f3245cd68557db5314ccb5b..0968d65cf458ca08309f6deb7f5b9c7b8e9ad834 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_time_interval.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_time_interval.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_time_interval extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['granularity'] = array('default' => 2); @@ -19,7 +23,10 @@ class views_handler_field_time_interval extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['granularity'] = array( @@ -30,8 +37,12 @@ class views_handler_field_time_interval extends views_handler_field { ); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $values->{$this->field_alias}; return format_interval($value, isset($this->options['granularity']) ? $this->options['granularity'] : 2); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_url.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_url.inc index 4a76548e9004b728db484c07248581507b1a98af..7781c9af2abd591b0890525fbbb7d910c0145bbc 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_url.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_field_url.inc @@ -6,12 +6,16 @@ */ /** - * Field handler to provide simple renderer that turns a URL into a clickable link. + * Field handler that turns a URL into a clickable link. * * @ingroup views_field_handlers */ class views_handler_field_url extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['display_as_link'] = array('default' => TRUE, 'bool' => TRUE); @@ -22,7 +26,7 @@ class views_handler_field_url extends views_handler_field { /** * Provide link to the page being visited. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['display_as_link'] = array( '#title' => t('Display as link'), '#type' => 'checkbox', @@ -31,7 +35,10 @@ class views_handler_field_url extends views_handler_field { parent::options_form($form, $form_state); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); if (!empty($this->options['display_as_link'])) { $this->options['alter']['make_link'] = TRUE; @@ -43,4 +50,5 @@ class views_handler_field_url extends views_handler_field { return $this->sanitize_value($value, 'url'); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter.inc index 04b2ca9b7d02a989aab6d06cae6940a387d3c7d4..9615c3058f98f89243f50f15036824b648c18851 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter.inc @@ -2,7 +2,7 @@ /** * @file - * @todo. + * Definitions of views_handler_filter and views_handler_filter_broken. */ /** @@ -32,39 +32,49 @@ * @ingroup views_filter_handlers */ class views_handler_filter extends views_handler { + /** * Contains the actual value of the field,either configured in the views ui * or entered in the exposed filters. + * + * @var mixed */ - var $value = NULL; + public $value = NULL; /** * Contains the operator which is used on the query. + * + * @var string */ - var $operator = '='; + public $operator = '='; /** * Contains the information of the selected item in a gruped filter. + * + * @var array|null */ - var $group_info = NULL; + public $group_info = NULL; /** - * @var bool * Disable the possibility to force a single value. + * + * @var bool */ - var $always_multiple = FALSE; + public $always_multiple = FALSE; /** - * @var bool * Disable the possibility to use operators. + * + * @var bool */ - var $no_operator = FALSE; + public $no_operator = FALSE; /** - * @var bool * Disable the possibility to allow a exposed input to be optional. + * + * @var bool */ - var $always_required = FALSE; + public $always_required = FALSE; /** * Provide some extra help to get the operator/value easier to use. @@ -72,7 +82,7 @@ class views_handler_filter extends views_handler { * This likely has to be overridden by filters which are more complex * than simple operator/value. */ - function init(&$view, &$options) { + public function init(&$view, &$options) { parent::init($view, $options); $this->operator = $this->options['operator']; @@ -107,7 +117,10 @@ class views_handler_filter extends views_handler { } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['operator'] = array('default' => '='); @@ -160,39 +173,43 @@ class views_handler_filter extends views_handler { } /** - * Display the filter on the administrative summary + * Display the filter on the administrative summary. */ - function admin_summary() { + public function admin_summary() { return check_plain((string) $this->operator) . ' ' . check_plain((string) $this->value); } /** * Determine if a filter can be exposed. */ - function can_expose() { return TRUE; } + public function can_expose() { + return TRUE; + } /** * Determine if a filter can be converted into a group. + * * Only exposed filters with operators available can be converted into groups. */ - function can_build_group() { + public function can_build_group() { return $this->is_exposed() && (count($this->operator_options()) > 0); } /** * Returns TRUE if the exposed filter works like a grouped filter. */ - function is_a_group() { + public function is_a_group() { return $this->is_exposed() && !empty($this->options['is_grouped']); } /** * Provide the basic form which calls through to subforms. + * * If overridden, it is best to call through to the parent, * or to at least make sure all of the functions in this form * are called. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); if ($this->can_expose()) { $this->show_expose_button($form, $form_state); @@ -233,7 +250,7 @@ class views_handler_filter extends views_handler { /** * Simple validate handler */ - function options_validate(&$form, &$form_state) { + public function options_validate(&$form, &$form_state) { $this->operator_validate($form, $form_state); $this->value_validate($form, $form_state); if (!empty($this->options['exposed']) && !$this->is_a_group()) { @@ -245,11 +262,13 @@ class views_handler_filter extends views_handler { } /** - * Simple submit handler + * Simple submit handler. */ - function options_submit(&$form, &$form_state) { - unset($form_state['values']['expose_button']); // don't store this. - unset($form_state['values']['group_button']); // don't store this. + public function options_submit(&$form, &$form_state) { + // Don't store these. + unset($form_state['values']['expose_button']); + unset($form_state['values']['group_button']); + if (!$this->is_a_group()) { $this->operator_submit($form, $form_state); $this->value_submit($form, $form_state); @@ -265,7 +284,7 @@ class views_handler_filter extends views_handler { /** * Shortcut to display the operator form. */ - function show_operator_form(&$form, &$form_state) { + public function show_operator_form(&$form, &$form_state) { $this->operator_form($form, $form_state); $form['operator']['#prefix'] = '<div class="views-group-box views-left-30">'; $form['operator']['#suffix'] = '</div>'; @@ -279,7 +298,7 @@ class views_handler_filter extends views_handler { * * @see options_form() */ - function operator_form(&$form, &$form_state) { + public function operator_form(&$form, &$form_state) { $options = $this->operator_options(); if (!empty($options)) { $form['operator'] = array( @@ -293,25 +312,31 @@ class views_handler_filter extends views_handler { /** * Provide a list of options for the default operator form. + * * Should be overridden by classes that don't override operator_form */ - function operator_options() { return array(); } + public function operator_options() { + return array(); + } /** * Validate the operator form. */ - function operator_validate($form, &$form_state) { } + public function operator_validate($form, &$form_state) { + } /** * Perform any necessary changes to the form values prior to storage. + * * There is no need for this function to actually store the data. */ - function operator_submit($form, &$form_state) { } + public function operator_submit($form, &$form_state) { + } /** * Shortcut to display the value form. */ - function show_value_form(&$form, &$form_state) { + public function show_value_form(&$form, &$form_state) { $this->value_form($form, $form_state); if (empty($this->no_operator)) { $form['value']['#prefix'] = '<div class="views-group-box views-right-70">' . (isset($form['value']['#prefix']) ? $form['value']['#prefix'] : ''); @@ -322,28 +347,33 @@ class views_handler_filter extends views_handler { /** * Options form subform for setting options. * - * This should be overridden by all child classes and it must - * define $form['value'] + * This should be overridden by all child classes and it must define + * $form['value']. * * @see options_form() */ - function value_form(&$form, &$form_state) { $form['value'] = array(); } + public function value_form(&$form, &$form_state) { + $form['value'] = array(); + } /** * Validate the options form. */ - function value_validate($form, &$form_state) { } + public function value_validate($form, &$form_state) { + } /** * Perform any necessary changes to the form values prior to storage. + * * There is no need for this function to actually store the data. */ - function value_submit($form, &$form_state) { } + public function value_submit($form, &$form_state) { + } /** * Shortcut to display the exposed options form. */ - function show_build_group_form(&$form, &$form_state) { + public function show_build_group_form(&$form, &$form_state) { if (empty($this->options['is_grouped'])) { return; } @@ -366,8 +396,7 @@ class views_handler_filter extends views_handler { /** * Shortcut to display the build_group/hide button. */ - function show_build_group_button(&$form, &$form_state) { - + public function show_build_group_button(&$form, &$form_state) { $form['group_button'] = array( '#prefix' => '<div class="views-grouped clearfix">', '#suffix' => '</div>', @@ -412,10 +441,11 @@ class views_handler_filter extends views_handler { $form['group_button']['radios']['radios']['#default_value'] = 1; } } + /** * Shortcut to display the expose/hide button. */ - function show_expose_button(&$form, &$form_state) { + public function show_expose_button(&$form, &$form_state) { $form['expose_button'] = array( '#prefix' => '<div class="views-expose clearfix">', '#suffix' => '</div>', @@ -423,8 +453,8 @@ class views_handler_filter extends views_handler { '#weight' => -200, ); - // Add a checkbox for JS users, which will have behavior attached to it - // so it can replace the button. + // Add a checkbox for JS users, which will have behavior attached to it so + // it can replace the button. $form['expose_button']['checkbox'] = array( '#theme_wrappers' => array('container'), '#attributes' => array('class' => array('js-only')), @@ -466,7 +496,7 @@ class views_handler_filter extends views_handler { * * @see options_form() */ - function expose_form(&$form, &$form_state) { + public function expose_form(&$form, &$form_state) { $form['#theme'] = 'views_ui_expose_filter_form'; // #flatten will move everything from $form['expose'][$key] to $form[$key] // prior to rendering. That's why the pre_render for it needs to run first, @@ -566,7 +596,7 @@ class views_handler_filter extends views_handler { '#description' => t('Remember exposed selection only for the selected user role(s). If you select no roles, the exposed data will never be stored.'), '#default_value' => $this->options['expose']['remember_roles'], '#options' => $role_options, - '#dependency' => array( + '#dependency' => array( 'edit-options-expose-remember' => array(1), ), ); @@ -584,7 +614,7 @@ class views_handler_filter extends views_handler { /** * Validate the options form. */ - function expose_validate($form, &$form_state) { + public function expose_validate($form, &$form_state) { if (empty($form_state['values']['options']['expose']['identifier'])) { form_error($form['expose']['identifier'], t('The identifier is required if the filter is exposed.')); } @@ -601,10 +631,10 @@ class views_handler_filter extends views_handler { } } - /** + /** * Validate the build group options form. */ - function build_group_validate($form, &$form_state) { + public function build_group_validate($form, &$form_state) { if (!empty($form_state['values']['options']['group_info'])) { if (empty($form_state['values']['options']['group_info']['identifier'])) { form_error($form['group_info']['identifier'], t('The identifier is required if the filter is exposed.')); @@ -625,13 +655,12 @@ class views_handler_filter extends views_handler { if (!empty($form_state['values']['options']['group_info']['group_items'])) { foreach ($form_state['values']['options']['group_info']['group_items'] as $id => $group) { if (empty($group['remove'])) { - // Check if the title is defined but value wasn't defined. if (!empty($group['title'])) { if ((!is_array($group['value']) && trim($group['value']) == "") || (is_array($group['value']) && count(array_filter($group['value'], '_views_array_filter_zero')) == 0)) { form_error($form['group_info']['group_items'][$id]['value'], - t('The value is required if title for this item is defined.')); + t('The value is required if title for this item is defined.')); } } @@ -640,7 +669,7 @@ class views_handler_filter extends views_handler { (is_array($group['value']) && count(array_filter($group['value'], '_views_array_filter_zero')) > 0)) { if (empty($group['title'])) { form_error($form['group_info']['group_items'][$id]['title'], - t('The title is required if value for this item is defined.')); + t('The title is required if value for this item is defined.')); } } } @@ -651,11 +680,11 @@ class views_handler_filter extends views_handler { /** * Save new group items, re-enumerates and remove groups marked to delete. */ - function build_group_submit($form, &$form_state) { + public function build_group_submit($form, &$form_state) { $groups = array(); uasort($form_state['values']['options']['group_info']['group_items'], 'drupal_sort_weight'); - // Filter out removed items. + // Filter out removed items. // Start from 1 to avoid problems with #default_value in the widget. $new_id = 1; $new_default = 'All'; @@ -684,7 +713,7 @@ class views_handler_filter extends views_handler { /** * Provide default options for exposed filters. */ - function expose_options() { + public function expose_options() { $this->options['expose'] = array( 'use_operator' => FALSE, 'operator' => $this->options['id'] . '_op', @@ -697,10 +726,10 @@ class views_handler_filter extends views_handler { ); } - /** + /** * Provide default options for exposed filters. */ - function build_group_options() { + public function build_group_options() { $this->options['group_info'] = array( 'label' => $this->definition['title'], 'description' => NULL, @@ -716,12 +745,10 @@ class views_handler_filter extends views_handler { } /** - * Build a form containing a group of operator | values to apply as a - * single filter. + * Build a form with a group of operator | values to apply as a single filter. */ - function group_form(&$form, &$form_state) { + public function group_form(&$form, &$form_state) { if (!empty($this->options['group_info']['optional']) && !$this->multiple_exposed_input()) { - $old_any = $this->options['group_info']['widget'] == 'select' ? '<Any>' : '<Any>'; $any_label = variable_get('views_exposed_filter_any_label', 'new_any') == 'old_any' ? $old_any : t('- Any -'); $groups = array('All' => $any_label); @@ -750,7 +777,7 @@ class views_handler_filter extends views_handler { $form[$value]['#multiple'] = TRUE; } unset($form[$value]['#default_value']); - if (empty($form_state['input'])) { + if (empty($form_state['input'][$value])) { $form_state['input'][$value] = $this->group_info; } } @@ -765,7 +792,7 @@ class views_handler_filter extends views_handler { * * You can override this if it doesn't do what you expect. */ - function exposed_form(&$form, &$form_state) { + public function exposed_form(&$form, &$form_state) { if (empty($this->options['exposed'])) { return; } @@ -811,18 +838,19 @@ class views_handler_filter extends views_handler { /** * Build the form to let users create the group of exposed filters. + * * This form is displayed when users click on button 'Build group' */ - function build_group_form(&$form, &$form_state) { + public function build_group_form(&$form, &$form_state) { if (empty($this->options['exposed']) || empty($this->options['is_grouped'])) { return; } $form['#theme'] = 'views_ui_build_group_filter_form'; - // #flatten will move everything from $form['group_info'][$key] to $form[$key] - // prior to rendering. That's why the pre_render for it needs to run first, - // so that when the next pre_render (the one for fieldsets) runs, it gets - // the flattened data. + // #flatten will move everything from $form['group_info'][$key] to + // $form[$key] prior to rendering. That's why the pre_render for it needs + // to run first, so that when the next pre_render (the one for fieldsets) + // runs, it gets the flattened data. array_unshift($form['#pre_render'], 'views_ui_pre_render_flatten_data'); $form['group_info']['#flatten'] = TRUE; @@ -925,7 +953,9 @@ class views_handler_filter extends views_handler { '#default_value' => $this->options['group_info']['remember'], ); - $groups = array('All' => '- Any -'); // The string '- Any -' will not be rendered see @theme_views_ui_build_group_filter_form + // The string '- Any -' will not be rendered. + // @see theme_views_ui_build_group_filter_form() + $groups = array('All' => '- Any -'); // Provide 3 options to start when we are in a new group. if (count($this->options['group_info']['group_items']) == 0) { @@ -939,10 +969,11 @@ class views_handler_filter extends views_handler { continue; } // Each rows contains three widgets: - // a) The title, where users define how they identify a pair of operator | value - // b) The operator - // c) The value (or values) to use in the filter with the selected operator - + // a) The title, where users define how they identify a pair of operator + // | value. + // b) The operator. + // c) The value (or values) to use in the filter with the selected + // operator. // In each row, we have to display the operator form and the value from // $row acts as a fake form to render each widget in a row. $row = array(); @@ -954,11 +985,10 @@ class views_handler_filter extends views_handler { $row['operator']['#title'] = ''; $this->value_form($row, $form_state); - // Fix the dependencies to update value forms when operators - // changes. This is needed because forms are inside a new form and - // their ids changes. Dependencies are used when operator changes - // from to 'Between', 'Not Between', etc, and two or more widgets - // are displayed. + // Fix the dependencies to update value forms when operators changes. + // This is needed because forms are inside a new form and their ids + // changes. Dependencies are used when operator changes from to + // 'Between', 'Not Between', etc, and two or more widgets are displayed. $without_children = TRUE; foreach (element_children($row['value']) as $children) { if (isset($row['value'][$children]['#dependency']['edit-options-operator'])) { @@ -1005,7 +1035,7 @@ class views_handler_filter extends views_handler { ), 'weight' => array( '#type' => 'weight', - '#delta' => 10, + '#delta' => count($this->options['group_info']['group_items']), '#default_value' => $default_weight++, '#attributes' => array('class' => array('weight')), ), @@ -1058,10 +1088,9 @@ class views_handler_filter extends views_handler { /** - * Make some translations to a form item to make it more suitable to - * exposing. + * Make some translations to a form item to make it more suitable to exposing. */ - function exposed_translate(&$form, $type) { + public function exposed_translate(&$form, $type) { if (!isset($form['#type'])) { return; } @@ -1083,7 +1112,8 @@ class views_handler_filter extends views_handler { $form['#size'] = NULL; } - // Cleanup in case the translated element's (radios or checkboxes) display value contains html. + // Cleanup in case the translated element's (radios or checkboxes) display + // value contains html. if ($form['#type'] == 'select') { $this->prepare_filter_select_options($form['#options']); } @@ -1099,21 +1129,19 @@ class views_handler_filter extends views_handler { } } - - /** * Sanitizes the HTML select element's options. * * The function is recursive to support optgroups. */ - function prepare_filter_select_options(&$options) { + public function prepare_filter_select_options(&$options) { foreach ($options as $value => $label) { // Recurse for optgroups. if (is_array($label)) { $this->prepare_filter_select_options($options[$value]); } // FAPI has some special value to allow hierarchy. - // @see _form_options_flatten + // @see _form_options_flatten() elseif (is_object($label)) { $this->prepare_filter_select_options($options[$value]->option); } @@ -1124,8 +1152,10 @@ class views_handler_filter extends views_handler { } /** - * Tell the renderer about our exposed form. This only needs to be - * overridden for particularly complex forms. And maybe not even then. + * Tell the renderer about our exposed form. + * + * This only needs to be overridden for particularly complex forms. And maybe + * not even then. * * @return array|null * For standard exposed filters. An array with the following keys: @@ -1136,7 +1166,7 @@ class views_handler_filter extends views_handler { * - value: The $form key of the value. Set to NULL if no value. * - label: The label to use for this piece. */ - function exposed_info() { + public function exposed_info() { if (empty($this->options['exposed'])) { return; } @@ -1157,7 +1187,7 @@ class views_handler_filter extends views_handler { ); } - /* + /** * Transform the input from a grouped filter into a standard filter. * * When a filter is a group, find the set of operator and values @@ -1168,10 +1198,10 @@ class views_handler_filter extends views_handler { * checkboxes widget, and this function will be called for each item * choosed in the checkboxes. */ - function convert_exposed_input(&$input, $selected_group_id = NULL) { + public function convert_exposed_input(&$input, $selected_group_id = NULL) { if ($this->is_a_group()) { - // If it is already defined the selected group, use it. Only valid - // when the filter uses checkboxes for widget. + // If it is already defined the selected group, use it. Only valid when + // the filter uses checkboxes for widget. if (!empty($selected_group_id)) { $selected_group = $selected_group_id; } @@ -1187,7 +1217,8 @@ class views_handler_filter extends views_handler { if (isset($selected_group) && isset($this->options['group_info']['group_items'][$selected_group])) { $input[$this->options['expose']['operator']] = $this->options['group_info']['group_items'][$selected_group]['operator']; - // Value can be optional, For example for 'empty' and 'not empty' filters. + // Value can be optional, For example for 'empty' and 'not empty' + // filters. if (!empty($this->options['group_info']['group_items'][$selected_group]['value'])) { $input[$this->options['expose']['identifier']] = $this->options['group_info']['group_items'][$selected_group]['value']; } @@ -1207,7 +1238,7 @@ class views_handler_filter extends views_handler { * as widget, and therefore has to be applied several times, one per * item selected. */ - function group_multiple_exposed_input(&$input) { + public function group_multiple_exposed_input(&$input) { if (!empty($input[$this->options['group_info']['identifier']])) { return array_filter($input[$this->options['group_info']['identifier']]); } @@ -1215,10 +1246,13 @@ class views_handler_filter extends views_handler { } /** - * Returns TRUE if users can select multiple groups items of a - * grouped exposed filter. + * + * + * @return bool + * TRUE if users can select multiple groups items of a grouped exposed + * filter. */ - function multiple_exposed_input() { + public function multiple_exposed_input() { return $this->is_a_group() && !empty($this->options['group_info']['multiple']); } @@ -1227,7 +1261,7 @@ class views_handler_filter extends views_handler { * This function is similar to store_exposed_input but modified to * work properly when the filter is a group. */ - function store_group_input($input, $status) { + public function store_group_input($input, $status) { if (!$this->is_a_group() || empty($this->options['group_info']['identifier'])) { return TRUE; } @@ -1236,12 +1270,12 @@ class views_handler_filter extends views_handler { return; } - // Figure out which display id is responsible for the filters, so we - // know where to look for session stored values. + // Figure out which display id is responsible for the filters, so we know + // where to look for session stored values. $display_id = ($this->view->display_handler->is_defaulted('filters')) ? 'default' : $this->view->current_display; - // false means that we got a setting that means to recuse ourselves, - // so we should erase whatever happened to be there. + // False means that we got a setting that means to recuse ourselves, so we + // should erase whatever happened to be there. if ($status === FALSE && isset($_SESSION['views'][$this->view->name][$display_id])) { $session = &$_SESSION['views'][$this->view->name][$display_id]; @@ -1262,15 +1296,13 @@ class views_handler_filter extends views_handler { } /** - * Check to see if input from the exposed filters should change - * the behavior of this filter. + * Check to see if input from the exposed filters should change the behavior. */ - function accept_exposed_input($input) { + public function accept_exposed_input($input) { if (empty($this->options['exposed'])) { return TRUE; } - if (!empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator_id']) && isset($input[$this->options['expose']['operator_id']])) { $this->operator = $input[$this->options['expose']['operator_id']]; } @@ -1295,7 +1327,6 @@ class views_handler_filter extends views_handler { } } - if (isset($value)) { $this->value = $value; if (empty($this->always_multiple) && empty($this->options['expose']['multiple'])) { @@ -1310,7 +1341,10 @@ class views_handler_filter extends views_handler { return TRUE; } - function store_exposed_input($input, $status) { + /** + * + */ + public function store_exposed_input($input, $status) { if (empty($this->options['exposed']) || empty($this->options['expose']['identifier'])) { return TRUE; } @@ -1327,15 +1361,15 @@ class views_handler_filter extends views_handler { return; } - // Figure out which display id is responsible for the filters, so we - // know where to look for session stored values. + // Figure out which display id is responsible for the filters, so we know + // where to look for session stored values. $display_id = ($this->view->display_handler->is_defaulted('filters')) ? 'default' : $this->view->current_display; - // shortcut test. + // Shortcut test. $operator = !empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator_id']); - // false means that we got a setting that means to recuse ourselves, - // so we should erase whatever happened to be there. + // False means that we got a setting that means to recuse ourselves, so we + // should erase whatever happened to be there. if (!$status && isset($_SESSION['views'][$this->view->name][$display_id])) { $session = &$_SESSION['views'][$this->view->name][$display_id]; if ($operator && isset($session[$this->options['expose']['operator_id']])) { @@ -1366,10 +1400,10 @@ class views_handler_filter extends views_handler { * Add this filter to the query. * * Due to the nature of fapi, the value and the operator have an unintended - * level of indirection. You will find them in $this->operator - * and $this->value respectively. + * level of indirection. You will find them in $this->operator and + * $this->value respectively. */ - function query() { + public function query() { $this->ensure_my_table(); $this->query->add_where($this->options['group'], "$this->table_alias.$this->real_field", $this->value, $this->operator); } @@ -1377,16 +1411,18 @@ class views_handler_filter extends views_handler { /** * Can this filter be used in OR groups? * - * Some filters have complicated where clauses that cannot be easily used - * with OR groups. Some filters must also use HAVING which also makes - * them not groupable. These filters will end up in a special group - * if OR grouping is in use. + * Some filters have complicated where clauses that cannot be easily used with + * OR groups. Some filters must also use HAVING which also makes them not + * groupable. These filters will end up in a special group if OR grouping is + * in use. * * @return bool + * Whether the filter can be used in OR groups. */ - function can_group() { + public function can_group() { return TRUE; } + } @@ -1396,27 +1432,51 @@ class views_handler_filter extends views_handler { * @ingroup views_filter_handlers */ class views_handler_filter_broken extends views_handler_filter { - function ui_name($short = FALSE) { + + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return t('Broken/missing handler'); } - function ensure_my_table() { /* No table to ensure! */ } - function query($group_by = FALSE) { /* No query to run */ } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function ensure_my_table() { + // No table to ensure! + } + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { + // No query to run. + } + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['markup'] = array( '#markup' => '<div class="form-item description">' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '</div>', ); } /** - * Determine if the handler is considered 'broken' + * {@inheritdoc} */ - function broken() { return TRUE; } + public function broken() { + return TRUE; + } + } /** * Filter by no empty values, though allow to use "0". - * @param $var + * + * @param string $var + * * @return bool */ function _views_array_filter_zero($var) { diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator.inc index 56365e19d297bb21cb3a93b603d5f6bee7a8895e..1b1791a587e3bea43f2641da0a0ecf020db1c615 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator.inc @@ -22,14 +22,26 @@ * @ingroup views_filter_handlers */ class views_handler_filter_boolean_operator extends views_handler_filter { - // exposed filter options - var $always_multiple = TRUE; - // Don't display empty space where the operator would be. - var $no_operator = TRUE; - // Whether to accept NULL as a false value or not - var $accept_null = FALSE; - - function construct() { + + /** + * Exposed filter options. + */ + public $always_multiple = TRUE; + + /** + * Don't display empty space where the operator would be. + */ + public $no_operator = TRUE; + + /** + * Whether to accept NULL as a false value or not. + */ + public $accept_null = FALSE; + + /** + * {@inheritdoc} + */ + public function construct() { $this->value_value = t('True'); if (isset($this->definition['label'])) { $this->value_value = $this->definition['label']; @@ -37,7 +49,7 @@ class views_handler_filter_boolean_operator extends views_handler_filter { if (isset($this->definition['accept null'])) { $this->accept_null = (bool) $this->definition['accept null']; } - else if (isset($this->definition['accept_null'])) { + elseif (isset($this->definition['accept_null'])) { $this->accept_null = (bool) $this->definition['accept_null']; } $this->value_options = NULL; @@ -56,7 +68,7 @@ class views_handler_filter_boolean_operator extends views_handler_filter { * dynamic for some reason, child classes should use a guard to reduce * database hits as much as possible. */ - function get_value_options() { + public function get_value_options() { if (isset($this->definition['type'])) { if ($this->definition['type'] == 'yes-no') { $this->value_options = array(1 => t('Yes'), 0 => t('No')); @@ -75,7 +87,10 @@ class views_handler_filter_boolean_operator extends views_handler_filter { } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['value']['default'] = FALSE; @@ -83,11 +98,17 @@ class views_handler_filter_boolean_operator extends views_handler_filter { return $options; } - function operator_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function operator_form(&$form, &$form_state) { $form['operator'] = array(); } - function value_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_form(&$form, &$form_state) { if (empty($this->value_options)) { // Initialize the array of possible values for this filter. $this->get_value_options(); @@ -122,13 +143,19 @@ class views_handler_filter_boolean_operator extends views_handler_filter { } } - function value_validate($form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_validate($form, &$form_state) { if ($form_state['values']['options']['value'] == 'All' && !empty($form_state['values']['options']['expose']['required'])) { form_set_error('value', t('You must select a value unless this is an non-required exposed filter.')); } } - function admin_summary() { + /** + * {@inheritdoc} + */ + public function admin_summary() { if ($this->is_a_group()) { return t('grouped'); } @@ -145,14 +172,20 @@ class views_handler_filter_boolean_operator extends views_handler_filter { return $this->value_options[!empty($this->value)]; } - function expose_options() { + /** + * {@inheritdoc} + */ + public function expose_options() { parent::expose_options(); $this->options['expose']['operator_id'] = ''; $this->options['expose']['label'] = $this->value_value; $this->options['expose']['required'] = TRUE; } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $field = "$this->table_alias.$this->real_field"; @@ -176,4 +209,5 @@ class views_handler_filter_boolean_operator extends views_handler_filter { } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator_string.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator_string.inc index 080ac50a2bd5ddb5d480c74fdb3148914753bdca..52245a12a7c2902b66ba56657d2f9764e44c6311 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator_string.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_boolean_operator_string.inc @@ -17,7 +17,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_boolean_operator_string extends views_handler_filter_boolean_operator { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $where = "$this->table_alias.$this->real_field "; @@ -32,4 +36,5 @@ class views_handler_filter_boolean_operator_string extends views_handler_filter_ } $this->query->add_where_expression($this->options['group'], $where); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_combine.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_combine.inc index c1afcf5c97774b2621e7c02d1e7de79ece96f0a7..44e6dc93e6c872dde0b40c457b8c203a78c22496 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_combine.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_combine.inc @@ -11,19 +11,26 @@ * @ingroup views_field_handlers */ class views_handler_filter_combine extends views_handler_filter_string { + /** * @var views_plugin_query_default */ public $query; - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['fields'] = array('default' => array()); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $this->view->init_style(); @@ -49,7 +56,10 @@ class views_handler_filter_combine extends views_handler_filter_string { } } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->view->_build('field'); $fields = array(); // Only add the fields if they have a proper field and table alias. @@ -86,20 +96,28 @@ class views_handler_filter_combine extends views_handler_filter_string { } } - // By default things like op_equal uses add_where, that doesn't support - // complex expressions, so override all operators. - function op_equal($field) { + /** + * By default things like op_equal uses add_where, that doesn't support + * complex expressions, so override all operators. + */ + public function op_equal($field) { $placeholder = $this->placeholder(); $operator = $this->operator(); $this->query->add_where_expression($this->options['group'], "$field $operator $placeholder", array($placeholder => $this->value)); } - function op_contains($field) { + /** + * + */ + public function op_contains($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "$field LIKE $placeholder", array($placeholder => '%' . db_like($this->value) . '%')); } - function op_word($field) { + /** + * + */ + public function op_word($field) { $where = $this->operator == 'word' ? db_or() : db_and(); // Don't filter on empty strings. @@ -132,37 +150,58 @@ class views_handler_filter_combine extends views_handler_filter_string { $this->query->add_where($this->options['group'], $where); } - function op_starts($field) { + /** + * + */ + public function op_starts($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "$field LIKE $placeholder", array($placeholder => db_like($this->value) . '%')); } - function op_not_starts($field) { + /** + * + */ + public function op_not_starts($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "$field NOT LIKE $placeholder", array($placeholder => db_like($this->value) . '%')); } - function op_ends($field) { + /** + * + */ + public function op_ends($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "$field LIKE $placeholder", array($placeholder => '%' . db_like($this->value))); } - function op_not_ends($field) { + /** + * + */ + public function op_not_ends($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "$field NOT LIKE $placeholder", array($placeholder => '%' . db_like($this->value))); } - function op_not($field) { + /** + * + */ + public function op_not($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "$field NOT LIKE $placeholder", array($placeholder => '%' . db_like($this->value) . '%')); } - function op_regex($field) { + /** + * + */ + public function op_regex($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "$field RLIKE $placeholder", array($placeholder => $this->value)); } - function op_empty($field) { + /** + * + */ + public function op_empty($field) { if ($this->operator == 'empty') { $operator = "IS NULL"; } @@ -172,4 +211,5 @@ class views_handler_filter_combine extends views_handler_filter_string { $this->query->add_where_expression($this->options['group'], "$field $operator"); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_date.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_date.inc index 3831327435915cbd0e018b63618f7dadea2229f2..13e3827ac35b0ceab36b7c80b734d68805c4891e 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_date.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_date.inc @@ -11,19 +11,23 @@ * @ingroup views_filter_handlers */ class views_handler_filter_date extends views_handler_filter_numeric { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); - // value is already set up properly, we're just adding our new field to it. + // Value is already set up properly, we're just adding our new field to it. $options['value']['contains']['type']['default'] = 'date'; return $options; } /** - * Add a type selector to the value form + * Add a type selector to the value form. */ - function value_form(&$form, &$form_state) { + public function value_form(&$form, &$form_state) { if (empty($form_state['exposed'])) { $form['value']['type'] = array( '#type' => 'radios', @@ -38,7 +42,10 @@ class views_handler_filter_date extends views_handler_filter_numeric { parent::value_form($form, $form_state); } - function options_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { parent::options_validate($form, $form_state); if (!empty($this->options['exposed']) && empty($form_state['values']['options']['expose']['required'])) { @@ -49,7 +56,10 @@ class views_handler_filter_date extends views_handler_filter_numeric { $this->validate_valid_time($form['value'], $form_state['values']['options']['operator'], $form_state['values']['options']['value']); } - function exposed_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function exposed_validate(&$form, &$form_state) { if (empty($this->options['exposed'])) { return; } @@ -74,7 +84,7 @@ class views_handler_filter_date extends views_handler_filter_numeric { /** * Validate that the time values convert to something usable. */ - function validate_valid_time(&$form, $operator, $value) { + public function validate_valid_time(&$form, $operator, $value) { $operators = $this->operators(); if ($operators[$operator]['values'] == 1) { @@ -98,7 +108,7 @@ class views_handler_filter_date extends views_handler_filter_numeric { /** * Validate the build group options form. */ - function build_group_validate($form, &$form_state) { + public function build_group_validate($form, &$form_state) { // Special case to validate grouped date filters, this is because the // $group['value'] array contains the type of filter (date or offset) // and therefore the number of items the comparission has to be done @@ -122,8 +132,10 @@ class views_handler_filter_date extends views_handler_filter_numeric { } } - - function accept_exposed_input($input) { + /** + * {@inheritdoc} + */ + public function accept_exposed_input($input) { if (empty($this->options['exposed'])) { return TRUE; } @@ -152,30 +164,39 @@ class views_handler_filter_date extends views_handler_filter_numeric { } } - // restore what got overwritten by the parent. + // Restore what got overwritten by the parent. $this->value['type'] = $type; return $rc; } - function op_between($field) { + /** + * + */ + public function op_between($field) { // Use the substitutions to ensure a consistent timestamp. $query_substitutions = views_views_query_substitutions($this->view); $a = intval(strtotime($this->value['min'], $query_substitutions['***CURRENT_TIME***'])); $b = intval(strtotime($this->value['max'], $query_substitutions['***CURRENT_TIME***'])); - // This is safe because we are manually scrubbing the values. - // It is necessary to do it this way because $a and $b are formulas when using an offset. + // This is safe because we are manually scrubbing the values. It is + // necessary to do it this way because $a and $b are formulas when using an + // offset. $operator = strtoupper($this->operator); $this->query->add_where_expression($this->options['group'], "$field $operator $a AND $b"); } - function op_simple($field) { + /** + * + */ + public function op_simple($field) { // Use the substitutions to ensure a consistent timestamp. $query_substitutions = views_views_query_substitutions($this->view); $value = intval(strtotime($this->value['value'], $query_substitutions['***CURRENT_TIME***'])); - // This is safe because we are manually scrubbing the value. - // It is necessary to do it this way because $value is a formula when using an offset. + // This is safe because we are manually scrubbing the value. It is + // necessary to do it this way because $value is a formula when using an + // offset. $this->query->add_where_expression($this->options['group'], "$field $this->operator $value"); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_entity_bundle.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_entity_bundle.inc index c46cd0b8c6d4daa3a89c197e14885a5b0b2346fc..92cf8b4ede1c0af345e591328d076877ed5dd113 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_entity_bundle.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_entity_bundle.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_filter_entity_bundle + * Definition of views_handler_filter_entity_bundle. */ /** @@ -13,6 +13,7 @@ * @ingroup views_filter_handlers */ class views_handler_filter_entity_bundle extends views_handler_filter_in_operator { + /** * Stores the entity type on which the filter filters. * @@ -20,7 +21,10 @@ class views_handler_filter_entity_bundle extends views_handler_filter_in_operato */ public $entity_type; - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $this->get_entity_type(); @@ -32,16 +36,17 @@ class views_handler_filter_entity_bundle extends views_handler_filter_in_operato * @return string * The entity type on the filter. */ - function get_entity_type() { + public function get_entity_type() { if (!isset($this->entity_type)) { $data = views_fetch_data($this->table); if (isset($data['table']['entity type'])) { $this->entity_type = $data['table']['entity type']; } - // If the current filter is under a relationship you can't be sure that the - // entity type of the view is the entity type of the current filter - // For example a filter from a node author on a node view does have users as entity type. + // If the current filter is under a relationship you can't be sure that + // the entity type of the view is the entity type of the current filter + // For example a filter from a node author on a node view does have users + // as entity type. if (!empty($this->options['relationship']) && $this->options['relationship'] != 'none') { $relationships = $this->view->display_handler->get_option('relationships'); if (!empty($relationships[$this->options['relationship']])) { @@ -55,8 +60,10 @@ class views_handler_filter_entity_bundle extends views_handler_filter_in_operato return $this->entity_type; } - - function get_value_options() { + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $info = entity_get_info($this->entity_type); $types = $info['bundles']; @@ -76,7 +83,7 @@ class views_handler_filter_entity_bundle extends views_handler_filter_in_operato * bundle, though these two need an additional join to node/vocab table * to work as required. */ - function query() { + public function query() { $this->ensure_my_table(); // Adjust the join for the comment case. @@ -119,4 +126,5 @@ class views_handler_filter_entity_bundle extends views_handler_filter_in_operato } parent::query(); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_equality.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_equality.inc index e045c7e346102b880c67612a74c56bc27f45c9bf..76428ca44683cb1d1856f89c54bb1d385d77697f 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_equality.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_equality.inc @@ -6,18 +6,21 @@ */ /** - * Simple filter to handle equal to / not equal to filters + * Simple filter to handle equal to / not equal to filters. * * @ingroup views_filter_handlers */ class views_handler_filter_equality extends views_handler_filter { - // exposed filter options - var $always_multiple = TRUE; /** - * Provide simple equality operator + * Exposed filter options. */ - function operator_options() { + public $always_multiple = TRUE; + + /** + * Provide simple equality operator. + */ + public function operator_options() { return array( '=' => t('Is equal to'), '!=' => t('Is not equal to'), @@ -25,9 +28,9 @@ class views_handler_filter_equality extends views_handler_filter { } /** - * Provide a simple textfield for equality + * Provide a simple textfield for equality. */ - function value_form(&$form, &$form_state) { + public function value_form(&$form, &$form_state) { $form['value'] = array( '#type' => 'textfield', '#title' => t('Value'), @@ -42,4 +45,5 @@ class views_handler_filter_equality extends views_handler_filter { } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_fields_compare.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_fields_compare.inc index fe94ce76744bcfa367bbe8034a84b20a2e941b56..7f33501b9720374454b01abec4ee062be9926b88 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_fields_compare.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_fields_compare.inc @@ -10,17 +10,19 @@ * * @ingroup views_filter_handlers */ - class views_handler_filter_fields_compare extends views_handler_filter { - function can_expose() { + /** + * {@inheritdoc} + */ + public function can_expose() { return FALSE; } /** - * Overrides views_handler_filter#option_definition(). + * {@inheritdoc} */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); $options['left_field'] = $options['right_field'] = array('default' => ''); @@ -31,21 +33,21 @@ class views_handler_filter_fields_compare extends views_handler_filter { /** * Provide a list of all operators. */ - function fields_operator_options() { + public function fields_operator_options() { return array( '<' => t('Is less than'), '<=' => t('Is less than or equal to'), '=' => t('Is equal to'), - '<>' => t('Is not equal to'), + '<>' => t('Is not equal to'), '>=' => t('Is greater than or equal to'), - '>' => t('Is greater than') + '>' => t('Is greater than'), ); } /** * Provide a list of available fields. */ - function field_options() { + public function field_options() { $options = array(); $field_handlers = $this->view->display_handler->get_handlers('field'); @@ -59,9 +61,9 @@ class views_handler_filter_fields_compare extends views_handler_filter { } /** - * Overrides views_handler_filter#options_form(). + * {@inheritdoc} */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $field_options = $this->field_options(); @@ -93,11 +95,10 @@ class views_handler_filter_fields_compare extends views_handler_filter { } /** - * Overrides views_handler_filter#query(). - * - * Build extra condition from existing fields (from existing joins). + * {@inheritdoc} */ - function query() { + public function query() { + // Build extra condition from existing fields (from existing joins). $left = $this->options['left_field']; $right = $this->options['right_field']; @@ -120,22 +121,21 @@ class views_handler_filter_fields_compare extends views_handler_filter { $right_table_alias = $this->query->ensure_table($right_handler->table, $right_handler->relationship); // Build piece of SQL. - $snippet = - $left_table_alias . '.' . $left_handler->real_field . - ' ' . $this->options['operator'] . ' ' . - $right_table_alias . '.' . $right_handler->real_field; + $snippet = $left_table_alias . '.' . $left_handler->real_field + . ' ' . $this->options['operator'] . ' ' + . $right_table_alias . '.' . $right_handler->real_field; $this->query->add_where_expression($this->options['group'], $snippet); } /** - * Overrides views_handler_filter#admin_summary(). + * {@inheritdoc} */ - function admin_summary() { + public function admin_summary() { return check_plain( - $this->options['left_field'] . ' ' . - $this->options['operator'] . ' ' . - $this->options['right_field'] + $this->options['left_field'] . ' ' + . $this->options['operator'] . ' ' + . $this->options['right_field'] ); } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_group_by_numeric.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_group_by_numeric.inc index 2b265beffe2833857084270b74405d96a4721ec2..173228df3b0e693e64a448006bcdb5264887ea41 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_group_by_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_group_by_numeric.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_group_by_numeric extends views_handler_filter_numeric { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $field = $this->get_field(); @@ -20,7 +24,11 @@ class views_handler_filter_group_by_numeric extends views_handler_filter_numeric $this->{$info[$this->operator]['method']}($field); } } - function op_between($field) { + + /** + * {@inheritdoc} + */ + public function op_between($field) { $placeholder_min = $this->placeholder(); $placeholder_max = $this->placeholder(); if ($this->operator == 'between') { @@ -32,12 +40,18 @@ class views_handler_filter_group_by_numeric extends views_handler_filter_numeric } } - function op_simple($field) { + /** + * {@inheritdoc} + */ + public function op_simple($field) { $placeholder = $this->placeholder(); $this->query->add_having_expression($this->options['group'], "$field $this->operator $placeholder", array($placeholder => $this->value['value'])); } - function op_empty($field) { + /** + * {@inheritdoc} + */ + public function op_empty($field) { if ($this->operator == 'empty') { $operator = "IS NULL"; } @@ -48,9 +62,18 @@ class views_handler_filter_group_by_numeric extends views_handler_filter_numeric $this->query->add_having_expression($this->options['group'], "$field $operator"); } - function ui_name($short = FALSE) { + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return $this->get_field(parent::ui_name($short)); } - function can_group() { return FALSE; } + /** + * {@inheritdoc} + */ + public function can_group() { + return FALSE; + } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_in_operator.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_in_operator.inc index fc2700bd15fa4beaf08aabde82aa0386a3028447..c20e8f003f69bb54f237593d5e142a6230dea66b 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_in_operator.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_in_operator.inc @@ -6,24 +6,32 @@ */ /** - * Simple filter to handle matching of multiple options selectable via checkboxes + * Simple filter to handle matching of multiple options using checkboxes. * * Definition items: - * - options callback: The function to call in order to generate the value options. If omitted, the options 'Yes' and 'No' will be used. + * - options callback: The function to call in order to generate the value + * options. If omitted, the options 'Yes' and 'No' will be used. * - options arguments: An array of arguments to pass to the options callback. * * @ingroup views_filter_handlers */ class views_handler_filter_in_operator extends views_handler_filter { - var $value_form_type = 'checkboxes'; + + /** + * + */ + public $value_form_type = 'checkboxes'; /** * @var array * Stores all operations which are available on the form. */ - var $value_options = NULL; + public $value_options = NULL; - function construct() { + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->value_title = t('Options'); $this->value_options = NULL; @@ -40,7 +48,7 @@ class views_handler_filter_in_operator extends views_handler_filter { * @return * Return the stored values in $this->value_options if someone expects it. */ - function get_value_options() { + public function get_value_options() { if (isset($this->value_options)) { return; } @@ -60,22 +68,32 @@ class views_handler_filter_in_operator extends views_handler_filter { return $this->value_options; } - function expose_options() { + /** + * {@inheritdoc} + */ + public function expose_options() { parent::expose_options(); $this->options['expose']['reduce'] = FALSE; } - function expose_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function expose_form(&$form, &$form_state) { parent::expose_form($form, $form_state); $form['expose']['reduce'] = array( '#type' => 'checkbox', '#title' => t('Limit list to selected items'), '#description' => t('If checked, the only items presented to the user will be the ones selected here.'), - '#default_value' => !empty($this->options['expose']['reduce']), // safety + // Safety. + '#default_value' => !empty($this->options['expose']['reduce']), ); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['operator']['default'] = 'in'; @@ -86,11 +104,11 @@ class views_handler_filter_in_operator extends views_handler_filter { } /** - * This kind of construct makes it relatively easy for a child class - * to add or remove functionality by overriding this function and - * adding/removing items from this array. + * This kind of construct makes it relatively easy for a child class to add or + * remove functionality by overriding this function and adding/removing items + * from this array. */ - function operators() { + public function operators() { $operators = array( 'in' => array( 'title' => t('Is one of'), @@ -129,9 +147,9 @@ class views_handler_filter_in_operator extends views_handler_filter { } /** - * Build strings from the operators() for 'select' options + * Build strings from the operators() for 'select' options. */ - function operator_options($which = 'title') { + public function operator_options($which = 'title') { $options = array(); foreach ($this->operators() as $id => $info) { $options[$id] = $info[$which]; @@ -140,7 +158,10 @@ class views_handler_filter_in_operator extends views_handler_filter { return $options; } - function operator_values($values = 1) { + /** + * {@inheritdoc} + */ + public function operator_values($values = 1) { $options = array(); foreach ($this->operators() as $id => $info) { if (isset($info['values']) && $info['values'] == $values) { @@ -151,7 +172,10 @@ class views_handler_filter_in_operator extends views_handler_filter { return $options; } - function value_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_form(&$form, &$form_state) { $form['value'] = array(); $options = array(); @@ -172,7 +196,7 @@ class views_handler_filter_in_operator extends views_handler_filter { $identifier = $this->options['expose']['identifier']; if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) { - // exposed and locked. + // Exposed and locked. $which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none'; } else { @@ -229,7 +253,7 @@ class views_handler_filter_in_operator extends views_handler_filter { /** * When using exposed filters, we may be required to reduce the set. */ - function reduce_value_options($input = NULL) { + public function reduce_value_options($input = NULL) { if (!isset($input)) { $input = $this->value_options; } @@ -257,9 +281,12 @@ class views_handler_filter_in_operator extends views_handler_filter { return $options; } - function accept_exposed_input($input) { + /** + * {@inheritdoc} + */ + public function accept_exposed_input($input) { // A very special override because the All state for this type of - // filter could have a default: + // filter could have a default. if (empty($this->options['exposed'])) { return TRUE; } @@ -276,7 +303,10 @@ class views_handler_filter_in_operator extends views_handler_filter { return parent::accept_exposed_input($input); } - function value_submit($form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_submit($form, &$form_state) { // Drupal's FAPI system automatically puts '0' in for any checkbox that // was not set, and the key to the checkbox if it is set. // Unfortunately, this means that if the key to that checkbox is 0, @@ -289,7 +319,10 @@ class views_handler_filter_in_operator extends views_handler_filter { $form_state['values']['options']['value'] = $form['value']['#value']; } - function admin_summary() { + /** + * {@inheritdoc} + */ + public function admin_summary() { if ($this->is_a_group()) { return t('grouped'); } @@ -317,7 +350,7 @@ class views_handler_filter_in_operator extends views_handler_filter { if (count($this->value) == 0) { $values = t('Unknown'); } - else if (count($this->value) == 1) { + elseif (count($this->value) == 1) { // If any, use the 'single' short name of the operator instead. if (isset($info[$this->operator]['short_single'])) { $operator = check_plain($info[$this->operator]['short_single']); @@ -351,14 +384,20 @@ class views_handler_filter_in_operator extends views_handler_filter { return $operator . (($values !== '') ? ' ' . $values : ''); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $info = $this->operators(); if (!empty($info[$this->operator]['method'])) { $this->{$info[$this->operator]['method']}(); } } - function op_simple() { + /** + * {@inheritdoc} + */ + public function op_simple() { if (empty($this->value)) { return; } @@ -369,7 +408,10 @@ class views_handler_filter_in_operator extends views_handler_filter { $this->query->add_where($this->options['group'], "$this->table_alias.$this->real_field", array_values($this->value), $this->operator); } - function op_empty() { + /** + * {@inheritdoc} + */ + public function op_empty() { $this->ensure_my_table(); if ($this->operator == 'empty') { $operator = "IS NULL"; @@ -381,7 +423,10 @@ class views_handler_filter_in_operator extends views_handler_filter { $this->query->add_where($this->options['group'], "$this->table_alias.$this->real_field", NULL, $operator); } - function validate() { + /** + * {@inheritdoc} + */ + public function validate() { $this->get_value_options(); $errors = array(); @@ -396,11 +441,13 @@ class views_handler_filter_in_operator extends views_handler_filter { } if (is_array($this->value)) { if (!isset($this->value_options)) { - // Don't validate if there are none value options provided, for example for special handlers. + // Don't validate if there are none value options provided, for example + // for special handlers. return $errors; } if ($this->options['exposed'] && !$this->options['expose']['required'] && empty($this->value)) { - // Don't validate if the field is exposed and no default value is provided. + // Don't validate if the field is exposed and no default value is + // provided. return $errors; } @@ -423,4 +470,5 @@ class views_handler_filter_in_operator extends views_handler_filter { } return $errors; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_many_to_one.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_many_to_one.inc index f38479616d48a2086568eda478b9ff5f2341a20b..c14af209cfebb050495540afc1dbdaad1ac11180 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_many_to_one.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_many_to_one.inc @@ -6,8 +6,9 @@ */ /** - * Complex filter to handle filtering for many to one relationships, - * such as terms (many terms per node) or roles (many roles per user). + * Complex filter to handle filtering for many to one relationships. + * + * Examples: terms (many terms per node), roles (many roles per user). * * The construct method needs to be overridden to provide a list of options; * alternately, the value_form and admin_summary methods need to be overriden @@ -16,19 +17,31 @@ * @ingroup views_filter_handlers */ class views_handler_filter_many_to_one extends views_handler_filter_in_operator { + /** * @var views_many_to_one_helper * * Stores the Helper object which handles the many_to_one complexity. */ - var $helper = NULL; + public $helper = NULL; - function init(&$view, &$options) { + /** + * + */ + public $value_form_type = 'select'; + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $this->helper = new views_many_to_one_helper($this); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['operator']['default'] = 'or'; @@ -45,7 +58,10 @@ class views_handler_filter_many_to_one extends views_handler_filter_in_operator return $options; } - function operators() { + /** + * {@inheritdoc} + */ + public function operators() { $operators = array( 'or' => array( 'title' => t('Is one of'), @@ -93,8 +109,10 @@ class views_handler_filter_many_to_one extends views_handler_filter_in_operator return $operators; } - var $value_form_type = 'select'; - function value_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_form(&$form, &$form_state) { parent::value_form($form, $form_state); if (empty($form_state['exposed'])) { @@ -106,7 +124,7 @@ class views_handler_filter_many_to_one extends views_handler_filter_in_operator * Override ensure_my_table so we can control how this joins in. * The operator actually has influence over joining. */ - function ensure_my_table() { + public function ensure_my_table() { // Defer to helper if the operator specifies it. $info = $this->operators(); if (isset($info[$this->operator]['ensure_my_table']) && $info[$this->operator]['ensure_my_table'] == 'helper') { @@ -116,10 +134,14 @@ class views_handler_filter_many_to_one extends views_handler_filter_in_operator return parent::ensure_my_table(); } - function op_helper() { + /** + * {@inheritdoc} + */ + public function op_helper() { if (empty($this->value)) { return; } $this->helper->add_filter(); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_numeric.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_numeric.inc index 03384f685ad424209794add6c4985db986f15c0a..f5467f68250ca700c2534942343f73b51dda0c23 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_numeric.inc @@ -11,8 +11,16 @@ * @ingroup views_filter_handlers */ class views_handler_filter_numeric extends views_handler_filter { - var $always_multiple = TRUE; - function option_definition() { + + /** + * Exposed filter options. + */ + public $always_multiple = TRUE; + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['value'] = array( @@ -26,7 +34,10 @@ class views_handler_filter_numeric extends views_handler_filter { return $options; } - function operators() { + /** + * {@inheritdoc} + */ + public function operators() { $operators = array( '<' => array( 'title' => t('Is less than'), @@ -114,7 +125,7 @@ class views_handler_filter_numeric extends views_handler_filter { /** * Provide a list of all the numeric operators */ - function operator_options($which = 'title') { + public function operator_options($which = 'title') { $options = array(); foreach ($this->operators() as $id => $info) { $options[$id] = $info[$which]; @@ -123,7 +134,10 @@ class views_handler_filter_numeric extends views_handler_filter { return $options; } - function operator_values($values = 1) { + /** + * {@inheritdoc} + */ + public function operator_values($values = 1) { $options = array(); foreach ($this->operators() as $id => $info) { if ($info['values'] == $values) { @@ -133,10 +147,11 @@ class views_handler_filter_numeric extends views_handler_filter { return $options; } + /** * Provide a simple textfield for equality */ - function value_form(&$form, &$form_state) { + public function value_form(&$form, &$form_state) { $form['value']['#tree'] = TRUE; // We have to make some choices when creating this as an exposed @@ -223,7 +238,10 @@ class views_handler_filter_numeric extends views_handler_filter { } } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $field = "$this->table_alias.$this->real_field"; @@ -233,7 +251,10 @@ class views_handler_filter_numeric extends views_handler_filter { } } - function op_between($field) { + /** + * {@inheritdoc} + */ + public function op_between($field) { if ($this->operator == 'between') { $this->query->add_where($this->options['group'], $field, array($this->value['min'], $this->value['max']), 'BETWEEN'); } @@ -242,11 +263,17 @@ class views_handler_filter_numeric extends views_handler_filter { } } - function op_simple($field) { + /** + * {@inheritdoc} + */ + public function op_simple($field) { $this->query->add_where($this->options['group'], $field, $this->value['value'], $this->operator); } - function op_empty($field) { + /** + * {@inheritdoc} + */ + public function op_empty($field) { if ($this->operator == 'empty') { $operator = "IS NULL"; } @@ -257,11 +284,17 @@ class views_handler_filter_numeric extends views_handler_filter { $this->query->add_where($this->options['group'], $field, NULL, $operator); } - function op_regex($field) { + /** + * {@inheritdoc} + */ + public function op_regex($field) { $this->query->add_where($this->options['group'], $field, $this->value['value'], 'RLIKE'); } - function admin_summary() { + /** + * {@inheritdoc} + */ + public function admin_summary() { if ($this->is_a_group()) { return t('grouped'); } @@ -281,15 +314,15 @@ class views_handler_filter_numeric extends views_handler_filter { } /** - * Do some minor translation of the exposed input + * Do some minor translation of the exposed input. */ - function accept_exposed_input($input) { + public function accept_exposed_input($input) { if (empty($this->options['exposed'])) { return TRUE; } - // rewrite the input value so that it's in the correct format so that - // the parent gets the right data. + // Rewrite the input value so that it's in the correct format so that the + // parent gets the right data. if (!empty($this->options['expose']['identifier'])) { $value = &$input[$this->options['expose']['identifier']]; if (!is_array($value)) { @@ -311,6 +344,7 @@ class views_handler_filter_numeric extends views_handler_filter { return FALSE; } break; + case 2: if ($value['min'] === '' && $value['max'] === '') { return FALSE; @@ -322,4 +356,5 @@ class views_handler_filter_numeric extends views_handler_filter { return $rc; } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_string.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_string.inc index c50eff448f7b8dabc53afe1da95902bedf899bbd..0b0ad377f8b74f1fe878f4d25d72b1de88f825b7 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_string.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_filter_string.inc @@ -12,10 +12,16 @@ * @ingroup views_filter_handlers */ class views_handler_filter_string extends views_handler_filter { - // exposed filter options - var $always_multiple = TRUE; - function option_definition() { + /** + * Exposed filter options. + */ + public $always_multiple = TRUE; + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['expose']['contains']['required'] = array('default' => FALSE, 'bool' => TRUE); @@ -24,11 +30,11 @@ class views_handler_filter_string extends views_handler_filter { } /** - * This kind of construct makes it relatively easy for a child class - * to add or remove functionality by overriding this function and - * adding/removing items from this array. + * This kind of construct makes it relatively easy for a child class to add or + * remove functionality by overriding this function and adding/removing items + * from this array. */ - function operators() { + public function operators() { $operators = array( '=' => array( 'title' => t('Is equal to'), @@ -103,7 +109,7 @@ class views_handler_filter_string extends views_handler_filter { 'values' => 1, ), ); - // if the definition allows for the empty operator, add it. + // If the definition allows for the empty operator, add it. if (!empty($this->definition['allow empty'])) { $operators += array( 'empty' => array( @@ -136,9 +142,9 @@ class views_handler_filter_string extends views_handler_filter { } /** - * Build strings from the operators() for 'select' options + * Build strings from the operators() for 'select' options. */ - function operator_options($which = 'title') { + public function operator_options($which = 'title') { $options = array(); foreach ($this->operators() as $id => $info) { $options[$id] = $info[$which]; @@ -147,7 +153,10 @@ class views_handler_filter_string extends views_handler_filter { return $options; } - function admin_summary() { + /** + * {@inheritdoc} + */ + public function admin_summary() { if ($this->is_a_group()) { return t('grouped'); } @@ -157,7 +166,7 @@ class views_handler_filter_string extends views_handler_filter { $options = $this->operator_options('short'); $output = ''; - if(!empty($options[$this->operator])) { + if (!empty($options[$this->operator])) { $output = check_plain($options[$this->operator]); } if (in_array($this->operator, $this->operator_values(1))) { @@ -166,7 +175,10 @@ class views_handler_filter_string extends views_handler_filter { return $output; } - function operator_values($values = 1) { + /** + * {@inheritdoc} + */ + public function operator_values($values = 1) { $options = array(); foreach ($this->operators() as $id => $info) { if (isset($info['values']) && $info['values'] == $values) { @@ -178,13 +190,12 @@ class views_handler_filter_string extends views_handler_filter { } /** - * Provide a simple textfield for equality + * Provide a simple textfield for equality. */ - function value_form(&$form, &$form_state) { - // We have to make some choices when creating this as an exposed - // filter form. For example, if the operator is locked and thus - // not rendered, we can't render dependencies; instead we only - // render the form items we need. + public function value_form(&$form, &$form_state) { + // We have to make some choices when creating this as an exposed filter + // form. For example, if the operator is locked and thus not rendered, we + // can't render dependencies; instead we only render the form items we need. $which = 'all'; if (!empty($form['operator'])) { $source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator'; @@ -223,23 +234,26 @@ class views_handler_filter_string extends views_handler_filter { // Ensure there is something in the 'value'. $form['value'] = array( '#type' => 'value', - '#value' => NULL + '#value' => NULL, ); } } - function operator() { + /** + * {@inheritdoc} + */ + public function operator() { return $this->operator == '=' ? 'LIKE' : 'NOT LIKE'; } /** * Add this filter to the query. * - * Due to the nature of fapi, the value and the operator have an unintended - * level of indirection. You will find them in $this->operator - * and $this->value respectively. + * Due to the nature of FAPI, the value and the operator have an unintended + * level of indirection. You will find them in $this->operator and + * $this->value respectively. */ - function query() { + public function query() { $this->ensure_my_table(); $field = "$this->table_alias.$this->real_field"; @@ -249,15 +263,24 @@ class views_handler_filter_string extends views_handler_filter { } } - function op_equal($field) { + /** + * {@inheritdoc} + */ + public function op_equal($field) { $this->query->add_where($this->options['group'], $field, $this->value, $this->operator()); } - function op_contains($field) { + /** + * {@inheritdoc} + */ + public function op_contains($field) { $this->query->add_where($this->options['group'], $field, '%' . db_like($this->value) . '%', 'LIKE'); } - function op_word($field) { + /** + * {@inheritdoc} + */ + public function op_word($field) { $where = $this->operator == 'word' ? db_or() : db_and(); // Don't filter on empty strings. @@ -267,11 +290,11 @@ class views_handler_filter_string extends views_handler_filter { preg_match_all('/ (-?)("[^"]+"|[^" ]+)/i', ' ' . $this->value, $matches, PREG_SET_ORDER); foreach ($matches as $match) { - $phrase = false; + $phrase = FALSE; // Strip off phrase quotes if ($match[2]{0} == '"') { $match[2] = substr($match[2], 1, -1); - $phrase = true; + $phrase = TRUE; } $words = trim($match[2], ',?!();:-'); $words = $phrase ? array($words) : preg_split('/ /', $words, -1, PREG_SPLIT_NO_EMPTY); @@ -285,46 +308,73 @@ class views_handler_filter_string extends views_handler_filter { return; } - // previously this was a call_user_func_array but that's unnecessary - // as views will unpack an array that is a single arg. + // Previously this was a call_user_func_array but that's unnecessary as + // Views will unpack an array that is a single arg. $this->query->add_where($this->options['group'], $where); } - function op_starts($field) { + /** + * {@inheritdoc} + */ + public function op_starts($field) { $this->query->add_where($this->options['group'], $field, db_like($this->value) . '%', 'LIKE'); } - function op_not_starts($field) { + /** + * {@inheritdoc} + */ + public function op_not_starts($field) { $this->query->add_where($this->options['group'], $field, db_like($this->value) . '%', 'NOT LIKE'); } - function op_ends($field) { + /** + * {@inheritdoc} + */ + public function op_ends($field) { $this->query->add_where($this->options['group'], $field, '%' . db_like($this->value), 'LIKE'); } - function op_not_ends($field) { + /** + * {@inheritdoc} + */ + public function op_not_ends($field) { $this->query->add_where($this->options['group'], $field, '%' . db_like($this->value), 'NOT LIKE'); } - function op_not($field) { + /** + * {@inheritdoc} + */ + public function op_not($field) { $this->query->add_where($this->options['group'], $field, '%' . db_like($this->value) . '%', 'NOT LIKE'); } - function op_shorter($field) { + /** + * {@inheritdoc} + */ + public function op_shorter($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "LENGTH($field) < $placeholder", array($placeholder => $this->value)); } - function op_longer($field) { + /** + * {@inheritdoc} + */ + public function op_longer($field) { $placeholder = $this->placeholder(); $this->query->add_where_expression($this->options['group'], "LENGTH($field) > $placeholder", array($placeholder => $this->value)); } - function op_regex($field) { + /** + * {@inheritdoc} + */ + public function op_regex($field) { $this->query->add_where($this->options['group'], $field, $this->value, 'RLIKE'); } - function op_empty($field) { + /** + * {@inheritdoc} + */ + public function op_empty($field) { if ($this->operator == 'empty') { $operator = "IS NULL"; } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship.inc index 695082b69d7b972952f2db04e862627d33e18c56..d20217c7a7a0a03725951be0355fd1855a6280d2 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship.inc @@ -2,7 +2,7 @@ /** * @file - * Views' relationship handlers. + * Definition of views_handler_relationship. */ /** @@ -12,12 +12,11 @@ */ /** - * Simple relationship handler that allows a new version of the primary table - * to be linked in. + * Relationship handler, allows a new version of the primary table to be linked. * - * The base relationship handler can only handle a single join. Some relationships - * are more complex and might require chains of joins; for those, you must - * utilize a custom relationship handler. + * The base relationship handler can only handle a single join. Some + * relationships are more complex and might require chains of joins; for those, + * you must use a custom relationship handler. * * Definition items: * - base: The new base table this relationship will be adding. This does not @@ -36,18 +35,18 @@ * @ingroup views_relationship_handlers */ class views_handler_relationship extends views_handler { + /** - * Init handler to let relationships live on tables other than - * the table they operate on. + * Let relationships live on tables other than the table they operate on. */ - function init(&$view, &$options) { + public function init(&$view, &$options) { parent::init($view, $options); if (isset($this->definition['relationship table'])) { $this->table = $this->definition['relationship table']; } if (isset($this->definition['relationship field'])) { - // Set both real_field and field so custom handler - // can rely on the old field value. + // Set both real_field and field so custom handler can rely on the old + // field value. $this->real_field = $this->field = $this->definition['relationship field']; } } @@ -55,18 +54,22 @@ class views_handler_relationship extends views_handler { /** * Get this field's label. */ - function label() { + public function label() { if (!isset($this->options['label'])) { return $this->ui_name(); } return $this->options['label']; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); - // Relationships definitions should define a default label, but if they aren't get another default value. + // Relationships definitions should define a default label, but if they + // aren't get another default value. if (!empty($this->definition['label'])) { $label = $this->definition['label']; } @@ -81,10 +84,9 @@ class views_handler_relationship extends views_handler { } /** - * Default options form that provides the label widget that all fields - * should have. + * Provide the label widget that all fields should have. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['label'] = array( '#type' => 'textfield', @@ -105,7 +107,7 @@ class views_handler_relationship extends views_handler { /** * Called to implement a relationship in a query. */ - function query() { + public function query() { // Figure out what base table this relationship brings to the party. $table_data = views_fetch_data($this->definition['base']); $base_field = empty($this->definition['base field']) ? $table_data['table']['base']['field'] : $this->definition['base field']; @@ -126,7 +128,7 @@ class views_handler_relationship extends views_handler { } if (!empty($def['join_handler']) && class_exists($def['join_handler'])) { - $join = new $def['join_handler']; + $join = new $def['join_handler'](); } else { $join = new views_join(); @@ -137,7 +139,7 @@ class views_handler_relationship extends views_handler { $join->construct(); $join->adjusted = TRUE; - // use a short alias for this: + // Use a short alias for this. $alias = $def['table'] . '_' . $this->table; $this->alias = $this->query->add_relationship($alias, $join, $this->definition['base'], $this->relationship); @@ -152,9 +154,10 @@ class views_handler_relationship extends views_handler { /** * You can't groupby a relationship. */ - function use_group_by() { + public function use_group_by() { return FALSE; } + } /** @@ -163,22 +166,44 @@ class views_handler_relationship extends views_handler { * @ingroup views_relationship_handlers */ class views_handler_relationship_broken extends views_handler_relationship { - function ui_name($short = FALSE) { + + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return t('Broken/missing handler'); } - function ensure_my_table() { /* No table to ensure! */ } - function query() { /* No query to run */ } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function ensure_my_table() { + // No table to ensure! + } + + /** + * {@inheritdoc} + */ + public function query() { + // No query to run. + } + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['markup'] = array( '#markup' => '<div class="form-item description">' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '</div>', ); } /** - * Determine if the handler is considered 'broken' + * {@inheritdoc} */ - function broken() { return TRUE; } + public function broken() { + return TRUE; + } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship_groupwise_max.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship_groupwise_max.inc index 23198c6038920ac750b926adf73cbaca4c1e778f..10f69711be1e3509b8035a49cbd74496d264eca6 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship_groupwise_max.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_relationship_groupwise_max.inc @@ -2,11 +2,12 @@ /** * @file - * Relationship for groupwise maximum handler. + * Definition of views_handler_relationship_groupwise_max. */ /** * Relationship handler that allows a groupwise maximum of the linked in table. + * * For a definition, see: * http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html * In lay terms, instead of joining to get all matching records in the linked @@ -58,7 +59,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi /** * Defines default values for options. */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); $options['subquery_sort'] = array('default' => NULL); @@ -72,10 +73,11 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi } /** - * Extends the relationship's basic options, allowing the user to pick - * a sort and an order for it. + * Extends the relationship's basic options. + * + * Allows the user to pick a sort and an order for it. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); // Get the sorts that apply to our base. @@ -92,7 +94,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi '#default_value' => !empty($this->options['subquery_sort']) ? $this->options['subquery_sort'] : $this->definition['base'] . '.' . $base_table_data['table']['base']['field'], '#options' => $sort_options, '#description' => theme('advanced_help_topic', array('module' => 'views', 'topic' => 'relationship-representative')) . - t("The sort criteria is applied to the data brought in by the relationship to determine how a representative item is obtained for each row. For example, to show the most recent node for each user, pick 'Content: Updated date'."), + t("The sort criteria is applied to the data brought in by the relationship to determine how a representative item is obtained for each row. For example, to show the most recent node for each user, pick 'Content: Updated date'."), ); $form['subquery_order'] = array( @@ -110,8 +112,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi '#default_value' => $this->options['subquery_namespace'], ); - - // WIP: This stuff doens't work yet: namespacing issues. + // WIP: This stuff doesn't work yet: namespacing issues. // A list of suitable views to pick one as the subview. $views = array('' => '<none>'); $all_views = views_get_all_views(); @@ -120,7 +121,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi // - base must the base that our relationship joins towards // - must have fields. if ($view->base_table == $this->definition['base'] && !empty($view->display['default']->display_options['fields'])) { - // TODO: check the field is the correct sort? + // @todo check the field is the correct sort? // or let users hang themselves at this stage and check later? if ($view->type == 'Default') { $views[t('Default Views')][$view->name] = $view->name; @@ -152,10 +153,11 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi * * We use this to obtain our subquery SQL. */ - function get_temporary_view() { + public function get_temporary_view() { views_include('view'); $view = new view(); - $view->vid = 'new'; // @todo: what's this? + // @todo What's this? + $view->vid = 'new'; $view->base_table = $this->definition['base']; $view->add_display('default'); return $view; @@ -164,7 +166,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi /** * When the form is submitted, take sure to clear the subquery string cache. */ - function options_form_submit(&$form, &$form_state) { + public function options_form_submit(&$form, &$form_state) { $cid = 'views_relationship_groupwise_max:' . $this->view->name . ':' . $this->view->current_display . ':' . $this->options['id']; cache_clear_all($cid, 'cache_views_data'); } @@ -175,18 +177,19 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi * generate the subquery when the options are saved, rather than when the view * is run. This saves considerable time. * - * @param $options - * An array of options: - * - subquery_sort: the id of a views sort. - * - subquery_order: either ASC or DESC. - * @return + * @param array $options + * An array of options that contains the following items: + * - subquery_sort: the id of a views sort. + * - subquery_order: either ASC or DESC. + * + * @return string * The subquery SQL string, ready for use in the main query. */ - function left_query($options) { + public function left_query($options) { // Either load another view, or create one on the fly. if ($options['subquery_view']) { $temp_view = views_get_view($options['subquery_view']); - // Remove all fields from default display + // Remove all fields from default display. unset($temp_view->display['default']->display_options['fields']); } else { @@ -195,18 +198,14 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi $temp_view = $this->get_temporary_view(); // Add the sort from the options to the default display. - // This is broken, in that the sort order field also gets added as a - // select field. See http://drupal.org/node/844910. - // We work around this further down. - $sort = $options['subquery_sort']; - list($sort_table, $sort_field) = explode('.', $sort); + list($sort_table, $sort_field) = explode('.', $options['subquery_sort']); $sort_options = array('order' => $options['subquery_order']); $temp_view->add_item('default', 'sort', $sort_table, $sort_field, $sort_options); } // Get the namespace string. - $temp_view->namespace = (!empty($options['subquery_namespace'])) ? '_'. $options['subquery_namespace'] : '_INNER'; - $this->subquery_namespace = (!empty($options['subquery_namespace'])) ? '_'. $options['subquery_namespace'] : 'INNER'; + $temp_view->namespace = (!empty($options['subquery_namespace'])) ? '_' . $options['subquery_namespace'] : '_INNER'; + $this->subquery_namespace = (!empty($options['subquery_namespace'])) ? '_' . $options['subquery_namespace'] : 'INNER'; // The value we add here does nothing, but doing this adds the right tables // and puts in a WHERE clause with a placeholder we can grab later. @@ -217,14 +216,16 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi $base_field = $views_data['table']['base']['field']; $temp_view->add_item('default', 'field', $this->definition['base'], $this->definition['field']); - // Add the correct argument for our relationship's base - // ie the 'how to get back to base' argument. - // The relationship definition tells us which one to use. + // Add the correct argument for our relationship's base ie the "how to get + // back to base" argument; the relationship definition defines which one to + // use. $temp_view->add_item( 'default', 'argument', - $this->definition['argument table'], // eg 'term_node', - $this->definition['argument field'] // eg 'tid' + // For example, 'term_node', + $this->definition['argument table'], + // For example, 'tid'. + $this->definition['argument field'] ); // Build the view. The creates the query object and produces the query @@ -235,7 +236,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi // somewhat so we can get the SQL query from it. $subquery = $temp_view->build_info['query']; - // Workaround until http://drupal.org/node/844910 is fixed: + // Workaround until http://drupal.org/node/844910 is fixed. // Remove all fields from the SELECT except the base id. $fields =& $subquery->getFields(); foreach (array_keys($fields) as $field_name) { @@ -245,8 +246,8 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi } } - // Make every alias in the subquery safe within the outer query by - // appending a namespace to it, '_inner' by default. + // Make every alias in the subquery safe within the outer query by appending + // a namespace to it, '_inner' by default. $tables =& $subquery->getTables(); foreach (array_keys($tables) as $table_name) { $tables[$table_name]['alias'] .= $this->subquery_namespace; @@ -264,32 +265,49 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi $where =& $subquery->conditions(); $this->alter_subquery_condition($subquery, $where); // Not sure why, but our sort order clause doesn't have a table. - // TODO: the call to add_item() above to add the sort handler is probably + // @todo The call to add_item() above to add the sort handler is probably // wrong -- needs attention from someone who understands it. - // In the meantime, this works, but with a leap of faith... + // In the meantime, this works, but with a leap of faith. $orders =& $subquery->getOrderBy(); + $orders_tmp = array(); foreach ($orders as $order_key => $order) { - // But if we're using a whole view, we don't know what we have! - if ($options['subquery_view']) { - list($sort_table, $sort_field) = explode('.', $order_key); - } - $orders[$sort_table . $this->subquery_namespace . '.' . $sort_field] = $order; - unset($orders[$order_key]); + // Until http://drupal.org/node/844910 is fixed, $order_key is a field + // alias from SELECT. De-alias it using the View object. + $sort_table = $temp_view->query->fields[$order_key]['table']; + $sort_field = $temp_view->query->fields[$order_key]['field']; + $orders_tmp[$sort_table . $this->subquery_namespace . '.' . $sort_field] = $order; } + $orders = $orders_tmp; // The query we get doesn't include the LIMIT, so add it here. $subquery->range(0, 1); + // Clone the query object to force recompilation of the underlying where and + // having objects on the next step. + $subquery = clone $subquery; + + // Add in Views Query Substitutions such as ***CURRENT_TIME***. + views_query_views_alter($subquery); // Extract the SQL the temporary view built. $subquery_sql = $subquery->__toString(); - // Replace the placeholder with the outer, correlated field. - // Eg, change the placeholder ':users_uid' into the outer field 'users.uid'. - // We have to work directly with the SQL, because putting a name of a field - // into a SelectQuery that it does not recognize (because it's outer) just - // makes it treat it as a string. - $outer_placeholder = ':' . str_replace('.', '_', $this->definition['outer field']); - $subquery_sql = str_replace($outer_placeholder, $this->definition['outer field'], $subquery_sql); + // Replace subquery argument placeholders. + $quoted = $subquery->getArguments(); + $connection = Database::getConnection(); + foreach ($quoted as $key => $val) { + if (is_array($val)) { + $quoted[$key] = implode(', ', array_map(array($connection, 'quote'), $val)); + } + // If the correlated placeholder has been located, replace it with the + // outer field name. + elseif ($val === '**CORRELATED**') { + $quoted[$key] = $this->definition['outer field']; + } + else { + $quoted[$key] = $connection->quote($val); + } + } + $subquery_sql = strtr($subquery_sql, $quoted); return $subquery_sql; } @@ -301,7 +319,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi * * (Though why is the condition we get in a simple query 3 levels deep???) */ - function alter_subquery_condition(QueryAlterableInterface $query, &$conditions) { + public function alter_subquery_condition(QueryAlterableInterface $query, &$conditions) { foreach ($conditions as $condition_id => &$condition) { // Skip the #conjunction element. if (is_numeric($condition_id)) { @@ -321,7 +339,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi * * Turns 'foo.bar' into 'foo_NAMESPACE.bar'. */ - function condition_namespace($string) { + public function condition_namespace($string) { return str_replace('.', $this->subquery_namespace . '.', $string); } @@ -330,7 +348,7 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi * This is mostly a copy of our parent's query() except for this bit with * the join class. */ - function query() { + public function query() { // Figure out what base table this relationship brings to the party. $table_data = views_fetch_data($this->definition['base']); $base_field = empty($this->definition['base field']) ? $table_data['table']['base']['field'] : $this->definition['base field']; @@ -374,9 +392,10 @@ class views_handler_relationship_groupwise_max extends views_handler_relationshi $join->construct(); $join->adjusted = TRUE; - // use a short alias for this: + // Use a short alias for this. $alias = $def['table'] . '_' . $this->table; $this->alias = $this->query->add_relationship($alias, $join, $this->definition['base'], $this->relationship); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort.inc index 99574e4dd66989204cc7f5a7bf89ba3901524e4f..1b17e79d81f43bcd548d8658a6d3be332c2aa28a 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort.inc @@ -2,7 +2,7 @@ /** * @file - * @todo. + * Definition of views_handler_sort. */ /** @@ -21,18 +21,23 @@ class views_handler_sort extends views_handler { /** * Determine if a sort can be exposed. */ - function can_expose() { return TRUE; } + public function can_expose() { + return TRUE; + } /** * Called to add the sort to a query. */ - function query() { + public function query() { $this->ensure_my_table(); // Add the field. $this->query->add_orderby($this->table_alias, $this->real_field, $this->options['order']); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['order'] = array('default' => 'ASC'); @@ -48,7 +53,7 @@ class views_handler_sort extends views_handler { /** * Display whether or not the sort order is ascending or descending */ - function admin_summary() { + public function admin_summary() { if (!empty($this->options['exposed'])) { return t('Exposed'); } @@ -57,18 +62,17 @@ class views_handler_sort extends views_handler { case 'asc': default: return t('asc'); - break; + case 'DESC'; case 'desc'; return t('desc'); - break; } } /** * Basic options for all sort criteria */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); if ($this->can_expose()) { $this->show_expose_button($form, $form_state); @@ -84,11 +88,11 @@ class views_handler_sort extends views_handler { /** * Shortcut to display the expose/hide button. */ - function show_expose_button(&$form, &$form_state) { + public function show_expose_button(&$form, &$form_state) { $form['expose_button'] = array( '#prefix' => '<div class="views-expose clearfix">', '#suffix' => '</div>', - // Should always come first + // Should always come first. '#weight' => -1000, ); @@ -131,9 +135,9 @@ class views_handler_sort extends views_handler { } /** - * Simple validate handler + * Simple validate handler. */ - function options_validate(&$form, &$form_state) { + public function options_validate(&$form, &$form_state) { $this->sort_validate($form, $form_state); if (!empty($this->options['exposed'])) { $this->expose_validate($form, $form_state); @@ -142,10 +146,12 @@ class views_handler_sort extends views_handler { } /** - * Simple submit handler + * Simple submit handler. */ - function options_submit(&$form, &$form_state) { - unset($form_state['values']['expose_button']); // don't store this. + public function options_submit(&$form, &$form_state) { + // Don't store this. + unset($form_state['values']['expose_button']); + $this->sort_submit($form, $form_state); if (!empty($this->options['exposed'])) { $this->expose_submit($form, $form_state); @@ -155,7 +161,7 @@ class views_handler_sort extends views_handler { /** * Shortcut to display the value form. */ - function show_sort_form(&$form, &$form_state) { + public function show_sort_form(&$form, &$form_state) { $options = $this->sort_options(); if (!empty($options)) { $form['order'] = array( @@ -166,22 +172,34 @@ class views_handler_sort extends views_handler { } } - function sort_validate(&$form, &$form_state) { } + /** + * {@inheritdoc} + */ + public function sort_validate(&$form, &$form_state) { + } - function sort_submit(&$form, &$form_state) { } + /** + * {@inheritdoc} + */ + public function sort_submit(&$form, &$form_state) { + } /** * Provide a list of options for the default sort form. - * Should be overridden by classes that don't override sort_form + * + * Should be overridden by classes that don't override sort_form. */ - function sort_options() { + public function sort_options() { return array( 'ASC' => t('Sort ascending'), 'DESC' => t('Sort descending'), ); } - function expose_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function expose_form(&$form, &$form_state) { // #flatten will move everything from $form['expose'][$key] to $form[$key] // prior to rendering. That's why the pre_render for it needs to run first, // so that when the next pre_render (the one for fieldsets) runs, it gets @@ -196,18 +214,19 @@ class views_handler_sort extends views_handler { '#required' => TRUE, '#size' => 40, '#weight' => -1, - ); + ); } /** * Provide default options for exposed sorts. */ - function expose_options() { + public function expose_options() { $this->options['expose'] = array( 'order' => $this->options['order'], 'label' => $this->definition['title'], ); } + } /** @@ -216,22 +235,44 @@ class views_handler_sort extends views_handler { * @ingroup views_sort_handlers */ class views_handler_sort_broken extends views_handler_sort { - function ui_name($short = FALSE) { + + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return t('Broken/missing handler'); } - function ensure_my_table() { /* No table to ensure! */ } - function query($group_by = FALSE) { /* No query to run */ } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function ensure_my_table() { + // No table to ensure! + } + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { + // No query to run. + } + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['markup'] = array( '#markup' => '<div class="form-item description">' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '</div>', ); } /** - * Determine if the handler is considered 'broken' + * Determine if the handler is considered 'broken'. */ - function broken() { return TRUE; } + public function broken() { + return TRUE; + } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_date.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_date.inc index b37cc41c2c9a766b527e13467a62677b24c85539..08ad609b338865aec746ca22b8b6f3a2330970ba 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_date.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_date.inc @@ -14,7 +14,11 @@ * @ingroup views_sort_handlers */ class views_handler_sort_date extends views_handler_sort { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['granularity'] = array('default' => 'second'); @@ -22,7 +26,10 @@ class views_handler_sort_date extends views_handler_sort { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['granularity'] = array( @@ -42,27 +49,32 @@ class views_handler_sort_date extends views_handler_sort { } /** - * Called to add the sort to a query. + * {@inheritdoc} */ - function query() { + public function query() { $this->ensure_my_table(); switch ($this->options['granularity']) { case 'second': default: $this->query->add_orderby($this->table_alias, $this->real_field, $this->options['order']); return; + case 'minute': $formula = views_date_sql_format('YmdHi', "$this->table_alias.$this->real_field"); break; + case 'hour': $formula = views_date_sql_format('YmdH', "$this->table_alias.$this->real_field"); break; + case 'day': $formula = views_date_sql_format('Ymd', "$this->table_alias.$this->real_field"); break; + case 'month': $formula = views_date_sql_format('Ym', "$this->table_alias.$this->real_field"); break; + case 'year': $formula = views_date_sql_format('Y', "$this->table_alias.$this->real_field"); break; @@ -71,4 +83,5 @@ class views_handler_sort_date extends views_handler_sort { // Add the field. $this->query->add_orderby(NULL, $formula, $this->options['order'], $this->table_alias . '_' . $this->field . '_' . $this->options['granularity']); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_group_by_numeric.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_group_by_numeric.inc index 4a521c158d669d89b1d82e02e16e62bacd8feec7..42696bdc1929202b885aca7e198671949a1264fc 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_group_by_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_group_by_numeric.inc @@ -11,7 +11,11 @@ * @ingroup views_sort_handlers */ class views_handler_sort_group_by_numeric extends views_handler_sort { - function init(&$view, &$options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); // Initialize the original handler. @@ -20,9 +24,9 @@ class views_handler_sort_group_by_numeric extends views_handler_sort { } /** - * Called to add the field to a query. + * {@inheritdoc} */ - function query() { + public function query() { $this->ensure_my_table(); $params = array( @@ -32,7 +36,11 @@ class views_handler_sort_group_by_numeric extends views_handler_sort { $this->query->add_orderby($this->table_alias, $this->real_field, $this->options['order'], NULL, $params); } - function ui_name($short = FALSE) { + /** + * {@inheritdoc} + */ + public function ui_name($short = FALSE) { return $this->get_field(parent::ui_name($short)); } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_menu_hierarchy.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_menu_hierarchy.inc index dacb1feec13de8e04c2b1e17c90c626009c435c1..edaa1a8f69b92c03ed8491b8d7656a9f053b2659 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_menu_hierarchy.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_menu_hierarchy.inc @@ -17,13 +17,20 @@ * @ingroup views_sort_handlers */ class views_handler_sort_menu_hierarchy extends views_handler_sort { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['sort_within_level'] = array('default' => FALSE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['sort_within_level'] = array( '#type' => 'checkbox', @@ -33,7 +40,10 @@ class views_handler_sort_menu_hierarchy extends views_handler_sort { ); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $max_depth = isset($this->definition['max depth']) ? $this->definition['max depth'] : MENU_MAX_DEPTH; for ($i = 1; $i <= $max_depth; ++$i) { @@ -51,4 +61,5 @@ class views_handler_sort_menu_hierarchy extends views_handler_sort { $this->query->add_orderby($this->table_alias, $this->field . $i, $this->options['order']); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_random.inc b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_random.inc index eaaaf790f1da8b399fed3f8ed7bf2342c8f5d618..5bf9bfa144ca5262802cc18ce1c043d92c379dd6 100644 --- a/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_random.inc +++ b/profiles/wcm_base/modules/contrib/views/handlers/views_handler_sort_random.inc @@ -11,12 +11,20 @@ * @ingroup views_sort_handlers */ class views_handler_sort_random extends views_handler_sort { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->query->add_orderby('rand'); } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['order']['#access'] = FALSE; } + } diff --git a/profiles/wcm_base/modules/contrib/views/help/alter-exposed-filter.html b/profiles/wcm_base/modules/contrib/views/help/alter-exposed-filter.html index 454994f71c782e1264e60e1fd12223b5253f0c26..ff3e9b6fcd5309aa4860b5ee5596f36a6ddb5d64 100644 --- a/profiles/wcm_base/modules/contrib/views/help/alter-exposed-filter.html +++ b/profiles/wcm_base/modules/contrib/views/help/alter-exposed-filter.html @@ -4,8 +4,9 @@ As a consequence, it *always* thinks the value was submitted, even if it was not <pre> <?php -if (empty($form_state['view']->exposed_input[$identifier])) . - { $form_state['input'][$identifier] = $default_value; } +if (empty($form_state['view']->exposed_input[$identifier])) { + $form_state['input'][$identifier] = $default_value; +} ?> </pre> @@ -18,10 +19,10 @@ To do this, I used the following function, where geoip_redirect_get_tid() loads <pre> <?php function MODULENAME_form_views_exposed_form_alter(&$form, $form_state) { - if(strpos($form['#id'], 'volunteer-directory') !== FALSE) { + if (strpos($form['#id'], 'volunteer-directory') !== FALSE) { $city_tid = geoip_redirect_get_tid(); - if(is_numeric($city_tid) && $city_tid != 7660) { - if (empty($form_state['view']->exposed_input['tid'])) { + if (is_numeric($city_tid) && $city_tid != 7660) { + if (empty($form_state['view']->exposed_input['tid'])) { $form_state['input']['tid'] = $city_tid; } } diff --git a/profiles/wcm_base/modules/contrib/views/help/api-example.html b/profiles/wcm_base/modules/contrib/views/help/api-example.html index 682fe87f0bdba9f27914071a2516d07a19169f50..819d65f59ac7a616e2842d203a759bb50be73981 100644 --- a/profiles/wcm_base/modules/contrib/views/help/api-example.html +++ b/profiles/wcm_base/modules/contrib/views/help/api-example.html @@ -40,7 +40,7 @@ Below is the contents of a simple node_example.views.inc file that allows you to * @endcode */ -function node_example_views_data() { +function node_example_views_data() { // Basic table information. // ---------------------------------------------------------------- diff --git a/profiles/wcm_base/modules/contrib/views/help/api-tables.html b/profiles/wcm_base/modules/contrib/views/help/api-tables.html index cafbbab4a1d3b2569f3f47eaba321e890ebb35ca..c80d29a28268cad67a015846e0e8d70ce2b8422c 100644 --- a/profiles/wcm_base/modules/contrib/views/help/api-tables.html +++ b/profiles/wcm_base/modules/contrib/views/help/api-tables.html @@ -169,8 +169,10 @@ Each field is described in the view data with an array, keyed to the database na <pre> $data['node']['nid'] = array( + // The item it appears as on the UI, 'title' => t('Nid'), - 'help' => t('The node ID of the node.'), // The help that appears on the UI, + // The help that appears on the UI, + 'help' => t('The node ID of the node.'), // Information for displaying the nid 'field' => array( 'handler' => 'views_handler_field_node', @@ -179,7 +181,8 @@ $data['node']['nid'] = array( // Information for accepting a nid as an argument 'argument' => array( 'handler' => 'views_handler_argument_node_nid', - 'name field' => 'title', // the field to display in the summary. + // The field to display in the summary. + 'name field' => 'title', 'numeric' => TRUE, 'validate type' => 'nid', ), diff --git a/profiles/wcm_base/modules/contrib/views/help/api-upgrading.html b/profiles/wcm_base/modules/contrib/views/help/api-upgrading.html index 158f80916de26dab22b19bfc3b40f8dfd959a034..2ff6bb49a1b3d435b13c2250907f14975f7c56db 100644 --- a/profiles/wcm_base/modules/contrib/views/help/api-upgrading.html +++ b/profiles/wcm_base/modules/contrib/views/help/api-upgrading.html @@ -113,9 +113,9 @@ The views_handler class got two new functions: /** * Get the value that's supposed to be rendered. * - * @param $values + * @param object $values * An object containing all retrieved values. - * @param $field + * @param string $field * Optional name of the field where the value is stored. */ function get_value($values, $field = NULL) { @@ -128,9 +128,9 @@ function get_value($values, $field = NULL) { /** * Sanitize the value for output. * - * @param $value + * @param string $value * The value being rendered. - * @param $type + * @param string $type * The type of sanitization needed. If not provided, check_plain() is used. */ function sanitize_value($value, $type = NULL) { @@ -138,9 +138,11 @@ function sanitize_value($value, $type = NULL) { case 'xss': $value = filter_xss($value); break; + case 'url': $value = check_url($value); break; + default: $value = check_plain($value); break; diff --git a/profiles/wcm_base/modules/contrib/views/help/embed.html b/profiles/wcm_base/modules/contrib/views/help/embed.html index e39fbf5cd232b98e32d258c5ef14d09877a6a8bd..156b1dca837eb3e5df3f923b9965778254132185 100644 --- a/profiles/wcm_base/modules/contrib/views/help/embed.html +++ b/profiles/wcm_base/modules/contrib/views/help/embed.html @@ -10,9 +10,9 @@ easiest way is to use the function <strong>views_embed_view()</strong>: * solution and doesn't really offer a lot of options, but breaking the function * apart is pretty easy, and this provides a worthwhile guide to doing so. * - * @param $name + * @param string $name * The name of the view to embed. - * @param $display_id + * @param string $display_id * The display id to embed. If unsure, use 'default', as it will always be * valid. But things like 'page' or 'block' should work here. * @param ... diff --git a/profiles/wcm_base/modules/contrib/views/help/ui-crashes.html b/profiles/wcm_base/modules/contrib/views/help/ui-crashes.html index 4e8a3893adc98189566ec3d7d734d5234621eae4..da0ca4fde2a89c03d3c00ccf98e701b7fd44392b 100644 --- a/profiles/wcm_base/modules/contrib/views/help/ui-crashes.html +++ b/profiles/wcm_base/modules/contrib/views/help/ui-crashes.html @@ -13,7 +13,7 @@ This section originally stems from <a href="http://drupal.org/node/346662">this Some modules may add PHP improperly, disrupting normal jQuery operation. Errors may look like <code> -<? session_module_name("files"); ?>{ "default": "default" } +<?php session_module_name("files"); ?>{ "default": "default" } </code> This can also be a server configuration issue. In one case, this was solved by commenting out diff --git a/profiles/wcm_base/modules/contrib/views/includes/admin.inc b/profiles/wcm_base/modules/contrib/views/includes/admin.inc index 6098b233c54923322097dc9c67e74f21bc39061e..a8211b03f3cb0ca55add0e16525579792467faa2 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/admin.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/admin.inc @@ -8,10 +8,11 @@ /** * Create an array of Views admin CSS for adding or attaching. * - * This returns an array of arrays. Each array represents a single - * file. The array format is: - * - file: The fully qualified name of the file to send to drupal_add_css - * - options: An array of options to pass to drupal_add_css. + * @return array + * An array of arrays. Each array represents a single file. The array format + * is: + * - file: The fully qualified name of the file to send to drupal_add_css + * - options: An array of options to pass to drupal_add_css. */ function views_ui_get_admin_css() { $module_path = drupal_get_path('module', 'views_ui'); @@ -21,27 +22,28 @@ function views_ui_get_admin_css() { $list[$module_path . '/css/ie/views-admin.ie7.css'] = array( 'browsers' => array( 'IE' => 'lte IE 7', - '!IE' => FALSE + '!IE' => FALSE, ), 'preprocess' => FALSE, ); $list[$module_path . '/css/views-admin.theme.css'] = array(); - // Add in any theme specific CSS files we have + // Add in any theme specific CSS files we have. $themes = list_themes(); $theme_key = $GLOBALS['theme']; while ($theme_key) { // Try to find the admin css file for non-core themes. if (!in_array($theme_key, array('garland', 'seven', 'bartik'))) { $theme_path = drupal_get_path('theme', $theme_key); - // First search in the css directory, then in the root folder of the theme. + // First search in the css directory, then in the root folder of the + // theme. if (file_exists($theme_path . "/css/views-admin.$theme_key.css")) { $list[$theme_path . "/css/views-admin.$theme_key.css"] = array( 'group' => CSS_THEME, ); } - else if (file_exists($theme_path . "/views-admin.$theme_key.css")) { + elseif (file_exists($theme_path . "/views-admin.$theme_key.css")) { $list[$theme_path . "/views-admin.$theme_key.css"] = array( 'group' => CSS_THEME, ); @@ -54,7 +56,7 @@ function views_ui_get_admin_css() { } $theme_key = isset($themes[$theme_key]->base_theme) ? $themes[$theme_key]->base_theme : ''; } - // Views contains style overrides for the following modules + // Views contains style overrides for the following modules. $module_list = array('contextual', 'advanced_help', 'ctools'); foreach ($module_list as $module) { if (module_exists($module)) { @@ -62,7 +64,6 @@ function views_ui_get_admin_css() { } } - return $list; } @@ -76,11 +77,12 @@ function views_ui_add_admin_css() { } /** - * Check to see if the advanced help module is installed, and if not put up - * a message. + * Check to see if the advanced help module is installed. + * + * If not display a message. * - * Only call this function if the user is already in a position for this to - * be useful. + * Only call this function if the user is already in a position for this to be + * useful. */ function views_ui_check_advanced_help() { if (!variable_get('views_ui_show_advanced_help_warning', TRUE)) { @@ -91,10 +93,18 @@ function views_ui_check_advanced_help() { $filename = db_query_range("SELECT filename FROM {system} WHERE type = 'module' AND name = 'advanced_help'", 0, 1) ->fetchField(); if ($filename && file_exists($filename)) { - drupal_set_message(t('If you <a href="@modules">enable the advanced help module</a>, Views will provide more and better help. <a href="@hide">You can disable this message at the Views settings page.</a>', array('@modules' => url('admin/modules'),'@hide' => url('admin/structure/views/settings')))); + drupal_set_message(t('If you <a href="@modules">enable the advanced help module</a>, Views will provide more and better help. <a href="@hide">You can disable this message at the Views settings page.</a>', + array( + '@modules' => url('admin/modules'), + '@hide' => url('admin/structure/views/settings'), + ))); } else { - drupal_set_message(t('If you install the advanced help module from !href, Views will provide more and better help. <a href="@hide">You can disable this message at the Views settings page.</a>', array('!href' => l('http://drupal.org/project/advanced_help', 'http://drupal.org/project/advanced_help'), '@hide' => url('admin/structure/views/settings')))); + drupal_set_message(t('If you install the advanced help module from !href, Views will provide more and better help. <a href="@hide">You can disable this message at the Views settings page.</a>', + array( + '!href' => l('http://drupal.org/project/advanced_help', 'http://drupal.org/project/advanced_help'), + '@hide' => url('admin/structure/views/settings'), + ))); } } } @@ -133,10 +143,10 @@ function views_ui_preview($view, $display_id, $args = array()) { $view->live_preview = TRUE; $view->views_ui_context = TRUE; - // AJAX happens via $_POST but everything expects exposed data to - // be in GET. Copy stuff but remove ajax-framework specific keys. - // If we're clicking on links in a preview, though, we could actually - // still have some in $_GET, so we use $_REQUEST to ensure we get it all. + // AJAX happens via $_POST but everything expects exposed data to be in + // GET. Copy stuff but remove ajax-framework specific keys. If we're + // clicking on links in a preview, though, we could actually still have + // some in $_GET, so we use $_REQUEST to ensure we get it all. $exposed_input = $_REQUEST; foreach (array('view_name', 'view_display_id', 'view_args', 'view_path', 'view_dom_id', 'pager_element', 'view_base_path', 'ajax_html_ids', 'ajax_page_state', 'form_id', 'form_build_id', 'form_token') as $key) { if (isset($exposed_input[$key])) { @@ -146,14 +156,13 @@ function views_ui_preview($view, $display_id, $args = array()) { $view->set_exposed_input($exposed_input); - if (!$view->set_display($display_id)) { return t('Invalid display id @display', array('@display' => $display_id)); } $view->set_arguments($args); - // Store the current view URL for later use: + // Store the current view URL for later use. if ($view->display_handler->get_option('path')) { $path = $view->get_url(); } @@ -187,7 +196,7 @@ function views_ui_preview($view, $display_id, $args = array()) { if (!empty($view->build_info['query'])) { if ($show_query) { $query = $view->build_info['query']; - // Only the sql default class has a method getArguments. + // Only the SQL default class has a method getArguments. $quoted = array(); if (get_class($view->query) == 'views_plugin_query_default') { @@ -401,8 +410,8 @@ function views_ui_add_form($form, &$form_state) { * Helper form element validator: integer. * * The problem with this is that the function is private so it's not guaranteed - * that it might not be renamed/changed. In the future field.module or something else - * should provide a public validate function. + * that it might not be renamed/changed. In the future field.module or something + * else should provide a public validate function. * * @see _element_validate_integer_positive() */ @@ -414,7 +423,7 @@ function views_element_validate_integer($element, &$form_state) { } /** - * Gets the current value of a #select element, from within a form constructor function. + * Gets the current value of a #select element, from within a form constructor. * * This function is intended for use in highly dynamic forms (in particular the * add view wizard) which are rebuilt in different ways depending on which @@ -434,9 +443,9 @@ function views_element_validate_integer($element, &$form_state) { * the results of this function for any other purpose besides deciding how to * build the next version of the form. * - * @param $form_state - * The standard associative array containing the current state of the form. - * @param $parents + * @param array $form_state + * The standard associative array containing the current state of the form. + * @param array $parents * An array of parent keys that point to the part of the submitted form * values that are expected to contain the element's value (in the case where * this form element was actually submitted). In a simple case (assuming @@ -444,14 +453,14 @@ function views_element_validate_integer($element, &$form_state) { * $form['wrapper']['select'], so that the submitted form values would * normally be found in $form_state['values']['wrapper']['select'], you would * pass array('wrapper', 'select') for this parameter. - * @param $default_value + * @param mixed $default_value * The default value to return if the #select element does not currently have * a proper value set based on the submitted input. - * @param $element + * @param array $element * An array representing the current version of the #select element within * the form. * - * @return + * @return array * The current value of the #select element. A common use for this is to feed * it back into $element['#default_value'] so that the form will be rendered * with the correct value selected. @@ -508,16 +517,16 @@ function views_ui_get_selected($form_state, $parents, $default_value, $element) * mean that the non-JavaScript fallback button does not appear in the correct * place in the form. * - * @param $wrapping_element + * @param array $wrapping_element * The element whose child will server as the AJAX trigger. For example, if * $form['some_wrapper']['triggering_element'] represents the element which * will trigger the AJAX behavior, you would pass $form['some_wrapper'] for * this parameter. - * @param $trigger_key + * @param string $trigger_key * The key within the wrapping element that identifies which of its children * serves as the AJAX trigger. In the above example, you would pass * 'triggering_element' for this parameter. - * @param $refresh_parents + * @param array $refresh_parents * An array of parent keys that point to the part of the form that will be * refreshed by AJAX. For example, if triggering the AJAX behavior should * cause $form['dynamic_content']['section'] to be refreshed, you would pass @@ -581,7 +590,7 @@ function views_ui_add_ajax_trigger(&$wrapping_element, $trigger_key, $refresh_pa $wrapping_element[$button_key]['#value'] = t('Update "@title" choice (@number)', array( '@title' => $button_title, '@number' => ++$seen_buttons[$button_title], - )); + )); } // Attach custom data to the triggering element and submit button, so we can @@ -600,7 +609,7 @@ function views_ui_add_ajax_trigger(&$wrapping_element, $trigger_key, $refresh_pa } /** - * Processes a non-JavaScript fallback submit button to limit its validation errors. + * Processes a non-JS fallback submit button to limit its validation errors. */ function views_ui_add_limited_validation($element, &$form_state) { // Retrieve the AJAX triggering element so we can determine its parents. (We @@ -634,11 +643,11 @@ function views_ui_add_limited_validation($element, &$form_state) { } /** - * After-build function that adds a wrapper to a form region (for AJAX refreshes). + * After-build function that adds a wrapper to a form region (AJAX refreshes). * * This function inserts a wrapper around the region of the form that needs to - * be refreshed by AJAX, based on information stored in the corresponding - * submit button form element. + * be refreshed by AJAX, based on information stored in the corresponding submit + * button form element. */ function views_ui_add_ajax_wrapper($element, &$form_state) { // Don't add the wrapper <div> if the same one was already inserted on this @@ -721,7 +730,8 @@ function views_ui_add_form_save_submit($form, &$form_state) { if ($display->handler->has_path()) { $one_path = $display->handler->get_option('path'); if (strpos($one_path, '%') === FALSE) { - $form_state['redirect'] = $one_path; // PATH TO THE VIEW IF IT HAS ONE + $form_state['redirect'] = $one_path; + // PATH TO THE VIEW IF IT HAS ONE. return; } } @@ -811,7 +821,7 @@ function views_ui_taxonomy_autocomplete_validate($element, &$form_state) { /** * Theme function; returns basic administrative information about a view. * - * TODO: template + preprocess + * TODO: template + preprocess. */ function theme_views_ui_view_info($variables) { $view = $variables['view']; @@ -832,13 +842,14 @@ function theme_views_ui_view_info($variables) { case t('Overridden'): $type = t('Database overriding code'); + break; } $output = ''; $output .= '<div class="views-ui-view-title">' . check_plain($title) . "</div>\n"; $output .= '<div class="views-ui-view-displays">' . $displays . "</div>\n"; $output .= '<div class="views-ui-view-storage">' . $type . "</div>\n"; - $output .= '<div class="views-ui-view-base">' . t('Type') . ': ' . check_plain($variables['base']). "</div>\n"; + $output .= '<div class="views-ui-view-base">' . t('Type') . ': ' . check_plain($variables['base']) . "</div>\n"; return $output; } @@ -876,7 +887,7 @@ function views_ui_break_lock_confirm_submit(&$form, &$form_state) { } /** - * Helper function to return the used display_id for the edit page + * Helper function to return the used display_id for the edit page. * * This function handles access to the display. */ @@ -927,6 +938,9 @@ function views_ui_edit_page($view, $display_id = NULL) { return $build; } +/** + * + */ function views_ui_build_preview($view, $display_id, $render = TRUE) { if (isset($_POST['ajax_html_ids'])) { unset($_POST['ajax_html_ids']); @@ -1000,7 +1014,7 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { $form['#attached']['library'][] = array('system', 'ui.dialog'); $form['#attached']['library'][] = array('system', 'drupal.ajax'); $form['#attached']['library'][] = array('system', 'jquery.form'); - // TODO: This should be getting added to the page when an ajax popup calls + // @todo This should be getting added to the page when an ajax popup calls // for it, instead of having to add it manually here. $form['#attached']['js'][] = 'misc/tabledrag.js'; @@ -1009,12 +1023,16 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { $form['#attached']['js'][] = $module_path . '/js/views-admin.js'; $form['#attached']['js'][] = array( - 'data' => array('views' => array('ajax' => array( - 'id' => '#views-ajax-body', - 'title' => '#views-ajax-title', - 'popup' => '#views-ajax-popup', - 'defaultForm' => views_ui_get_default_ajax_message(), - ))), + 'data' => array( + 'views' => array( + 'ajax' => array( + 'id' => '#views-ajax-body', + 'title' => '#views-ajax-title', + 'popup' => '#views-ajax-popup', + 'defaultForm' => views_ui_get_default_ajax_message(), + ), + ), + ), 'type' => 'setting', ); @@ -1030,7 +1048,9 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { if (isset($view->locked) && is_object($view->locked)) { $form['locked'] = array( '#theme_wrappers' => array('container'), - '#attributes' => array('class' => array('view-locked', 'messages', 'warning')), + '#attributes' => array( + 'class' => array('view-locked', 'messages', 'warning'), + ), '#markup' => t('This view is being edited by user !user, and is therefore locked from editing by others. This lock is !age old. Click here to <a href="!break">break this lock</a>.', array('!user' => theme('username', array('account' => user_load($view->locked->uid))), '!age' => format_interval(REQUEST_TIME - $view->locked->updated), '!break' => url('admin/structure/views/view/' . $view->name . '/break-lock'))), ); } @@ -1043,7 +1063,9 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { $form['changed'] = array( '#theme_wrappers' => array('container'), - '#attributes' => array('class' => array('view-changed', 'messages', 'warning')), + '#attributes' => array( + 'class' => array('view-changed', 'messages', 'warning'), + ), '#markup' => $message, ); if (empty($view->changed)) { @@ -1072,7 +1094,7 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { $form['actions']['save'] = array( '#type' => 'submit', '#value' => t('Save'), - // Taken from the "old" UI. @TODO: Review and rename. + // Taken from the "old" UI. @todo: Review and rename. '#validate' => array('views_ui_edit_view_form_validate'), '#submit' => array('views_ui_edit_view_form_submit'), ); @@ -1083,7 +1105,8 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { ); $form['displays'] = array( - '#prefix' => '<h1 class="unit-title clearfix">' . t('Displays') . '</h1>' . "\n" . '<div class="views-displays">', + '#prefix' => '<h1 class="unit-title clearfix">' . t('Displays') . "</h1>\n" + . '<div class="views-displays">', '#suffix' => '</div>', ); @@ -1093,8 +1116,8 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { if ($display_id) { $form_state['display_id'] = $display_id; - // The part of the page where editing will take place. - // This element is the ctools collapsible-div container for the display edit elements. + // The part of the page where editing will take place. This element is the + // CTools collapsible-div container for the display edit elements. $form['displays']['settings'] = array( '#theme_wrappers' => array('container'), '#attributes' => array( @@ -1107,7 +1130,8 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { '#id' => 'edit-display-settings', ); $display_title = views_ui_get_display_label($view, $display_id, FALSE); - // Add a handle for the ctools collapsible-div. The handle is the title of the display + // Add a handle for the ctools collapsible-div. The handle is the title of + // the display. $form['displays']['settings']['tab_title']['#markup'] = '<h2 id="edit-display-settings-title" class="ctools-collapsible-handle">' . t('@display_title details', array('@display_title' => ucwords($display_title))) . '</h2>'; // Add a text that the display is disabled. if (!empty($view->display[$display_id]->handler)) { @@ -1116,8 +1140,8 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { $form['displays']['settings']['disabled']['#markup'] = t('This display is disabled.'); } } - // The ctools collapsible-div content - $form['displays']['settings']['settings_content']= array( + // The ctools collapsible-div content. + $form['displays']['settings']['settings_content'] = array( '#theme_wrappers' => array('container'), '#id' => 'edit-display-settings-content', '#attributes' => array( @@ -1126,7 +1150,7 @@ function views_ui_edit_form($form, &$form_state, $view, $display_id = NULL) { ), ), ); - // Add the edit display content + // Add the edit display content. $form['displays']['settings']['settings_content']['tab_content'] = views_ui_get_display_tab($view, $display_id); $form['displays']['settings']['settings_content']['tab_content']['#theme_wrappers'] = array('container'); $form['displays']['settings']['settings_content']['tab_content']['#attributes'] = array('class' => array('views-display-tab')); @@ -1172,7 +1196,7 @@ function views_ui_preview_form($form, &$form_state, $view, $display_id = 'defaul $form_state['no_cache'] = TRUE; $form_state['view'] = $view; - $form['#attributes'] = array('class' => array('clearfix',)); + $form['#attributes'] = array('class' => array('clearfix')); // Add a checkbox controlling whether or not this display auto-previews. $form['live_preview'] = array( @@ -1182,16 +1206,16 @@ function views_ui_preview_form($form, &$form_state, $view, $display_id = 'defaul '#default_value' => variable_get('views_ui_always_live_preview', TRUE), ); - // Add the arguments textfield + // Add the arguments textfield. $form['view_args'] = array( '#type' => 'textfield', '#title' => t('Preview with contextual filters:'), '#description' => t('Separate contextual filter values with a "/". For example, %example.', array('%example' => '40/12/10')), '#id' => 'preview-args', -// '#attributes' => array('class' => array('ctools-auto-submit')), + // '#attributes' => array('class' => array('ctools-auto-submit')), ); - // Add the preview button + // Add the preview button. $form['button'] = array( '#type' => 'submit', '#value' => t('Update preview'), @@ -1211,10 +1235,10 @@ function views_ui_preview_form($form, &$form_state, $view, $display_id = 'defaul // Make ENTER in arguments textfield (and other controls) submit the form // as this button, not the Save button. // @todo This only works for JS users. To make this work for nojs users, - // we may need to split Preview into a separate form. + // we may need to split Preview into a separate form. '#process' => array_merge(array('views_ui_default_button'), element_info_property('submit', '#process', array())), ); - $form['#action'] = url('admin/structure/views/view/' . $view->name .'/preview/' . $display_id); + $form['#action'] = url('admin/structure/views/view/' . $view->name . '/preview/' . $display_id); return $form; } @@ -1227,15 +1251,15 @@ function views_ui_render_display_top($view, $display_id) { $element['#attributes']['class'] = array('views-display-top', 'clearfix'); $element['#attributes']['id'] = array('views-display-top'); - // Extra actions for the display + // Extra actions for the display. $element['extra_actions'] = array( '#theme' => 'links__ctools_dropbutton', '#attributes' => array( - 'id' => 'views-display-extra-actions', - 'class' => array( - 'horizontal', 'right', 'links', 'actions', - ), + 'id' => 'views-display-extra-actions', + 'class' => array( + 'horizontal', 'right', 'links', 'actions', ), + ), '#links' => array( 'edit-details' => array( 'title' => t('edit view name/description'), @@ -1310,6 +1334,9 @@ function views_ui_render_display_top($view, $display_id) { return $element; } +/** + * + */ function views_ui_get_default_ajax_message() { return '<div class="message">' . t("Click on an item to edit that item's details.") . '</div>'; } @@ -1372,11 +1399,11 @@ function views_ui_edit_form_submit_delete_display($form, &$form_state) { * Submit handler to add a restore a removed display to a view. */ function views_ui_edit_form_submit_undo_delete_display($form, &$form_state) { - // Create the new display + // Create the new display. $id = $form_state['display_id']; $form_state['view']->display[$id]->deleted = FALSE; - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); // Redirect to the top-level edit page. @@ -1388,10 +1415,10 @@ function views_ui_edit_form_submit_undo_delete_display($form, &$form_state) { */ function views_ui_edit_form_submit_enable_display($form, &$form_state) { $id = $form_state['display_id']; - // set_option doesn't work because this would might affect upper displays + // set_option doesn't work because this would might affect upper displays. $form_state['view']->display[$id]->handler->set_option('enabled', TRUE); - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); // Redirect to the top-level edit page. @@ -1405,7 +1432,7 @@ function views_ui_edit_form_submit_disable_display($form, &$form_state) { $id = $form_state['display_id']; $form_state['view']->display[$id]->handler->set_option('enabled', FALSE); - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); // Redirect to the top-level edit page. @@ -1459,10 +1486,10 @@ function views_ui_edit_form_submit_delay_destination($form, &$form_state) { * * @param view $view * The view which will be edited. - * @param $display_id + * @param string $display_id * The display_id which is edited on the current request. */ -function views_ui_edit_page_display_tabs($view, $display_id = NULL) { +function views_ui_edit_page_display_tabs(view $view, $display_id = NULL) { $tabs = array(); // Create a tab for each display. @@ -1483,7 +1510,8 @@ function views_ui_edit_page_display_tabs($view, $display_id = NULL) { } } - // If the default display isn't supposed to be shown, don't display its tab, unless it's the only display. + // If the default display isn't supposed to be shown, don't display its tab, + // unless it's the only display. if ((!views_ui_show_default_display($view) && $display_id != 'default') && count($tabs) > 1) { $tabs['default']['#access'] = FALSE; } @@ -1526,7 +1554,7 @@ function views_ui_get_display_tab($view, $display_id) { // page. if (empty($display->handler)) { $title = isset($display->display_title) ? $display->display_title : t('Invalid'); - // @TODO: Improved UX for the case where a plugin is missing. + // @todo: Improved UX for the case where a plugin is missing. $build['#markup'] = t("Error: Display @display refers to a plugin named '@plugin', but that plugin is not available.", array('@display' => $display->id, '@plugin' => $display->display_plugin)); } // Build the content of the edit page. @@ -1542,8 +1570,10 @@ function views_ui_get_display_tab($view, $display_id) { /** * Helper function to get the display details section of the edit UI. * - * @param $view - * @param $display + * @param view $view + * The full view object. + * @param object $display + * The display object to work with. * * @return array * A renderable page build array. @@ -1552,35 +1582,40 @@ function views_ui_get_display_tab_details($view, $display) { $display_title = views_ui_get_display_label($view, $display->id, FALSE); $build = array( '#theme_wrappers' => array('container'), - '#attributes' => array('id' => 'edit-display-settings-details',), + '#attributes' => array('id' => 'edit-display-settings-details'), ); $plugin = views_fetch_plugin_data('display', $view->display[$display->id]->display_plugin); - // The following is for display purposes only. We need to determine if there is more than one button and wrap - // the buttons in a .ctools-dropbutton class if more than one is present. Otherwise, we'll just wrap the - // actions in the .ctools-button class. - $isDisplayDeleted = !empty($display->deleted); - $isDeletable = empty($plugin['no remove']); + // The following is for display purposes only. We need to determine if there + // is more than one button and wrap the buttons in a .ctools-dropbutton class + // if more than one is present. Otherwise, we'll just wrap the actions in the + // .ctools-button class. + $is_display_deleted = !empty($display->deleted); + $is_deletable = empty($plugin['no remove']); // The master display cannot be cloned. - $isDefault = $display->id == 'default'; + $is_default = $display->id == 'default'; // @todo: Figure out why get_option doesn't work here. - $isEnabled = $display->handler->get_option('enabled'); + $is_enabled = $display->handler->get_option('enabled'); - if (!$isDisplayDeleted && $isDeletable && !$isDefault) { + if (!$is_display_deleted && $is_deletable && !$is_default) { $prefix = '<div class="ctools-no-js ctools-button ctools-dropbutton"><div class="ctools-link"><a href="#" class="ctools-twisty ctools-text">open</a></div><div class="ctools-content"><ul class="horizontal right actions">'; $suffix = '</ul></div></div>'; - $itemElement = 'li'; + $item_element = 'li'; } else { $prefix = '<div class="ctools-button"><div class="ctools-content"><ul class="horizontal right actions">'; $suffix = '</ul></div></div>'; - $itemElement = 'li'; + $item_element = 'li'; } if ($display->id != 'default') { $build['top']['#theme_wrappers'] = array('container'); $build['top']['#attributes']['id'] = 'edit-display-settings-top'; - $build['top']['#attributes']['class'] = array('views-ui-display-tab-actions', 'views-ui-display-tab-bucket', 'clearfix'); + $build['top']['#attributes']['class'] = array( + 'views-ui-display-tab-actions', + 'views-ui-display-tab-bucket', + 'clearfix', + ); // The Delete, Duplicate and Undo Delete buttons. $build['top']['actions'] = array( @@ -1588,15 +1623,18 @@ function views_ui_get_display_tab_details($view, $display) { '#suffix' => $suffix, ); - if (!$isDisplayDeleted) { - if (!$isEnabled) { + if (!$is_display_deleted) { + if (!$is_enabled) { $build['top']['actions']['enable'] = array( '#type' => 'submit', '#value' => t('enable @display_title', array('@display_title' => $display_title)), '#limit_validation_errors' => array(), - '#submit' => array('views_ui_edit_form_submit_enable_display', 'views_ui_edit_form_submit_delay_destination'), - '#prefix' => '<' . $itemElement . ' class="enable">', - "#suffix" => '</' . $itemElement . '>', + '#submit' => array( + 'views_ui_edit_form_submit_enable_display', + 'views_ui_edit_form_submit_delay_destination', + ), + '#prefix' => '<' . $item_element . ' class="enable">', + "#suffix" => '</' . $item_element . '>', ); } // Add a link to view the page. @@ -1606,41 +1644,52 @@ function views_ui_get_display_tab_details($view, $display) { $build['top']['actions']['path'] = array( '#type' => 'link', '#title' => t('view @display', array('@display' => $display->display_title)), - '#options' => array('alt' => array(t("Go to the real page for this display"))), + '#options' => array( + 'alt' => array(t('Go to the real page for this display')), + ), '#href' => $path, - '#prefix' => '<' . $itemElement . ' class="view">', - "#suffix" => '</' . $itemElement . '>', + '#prefix' => '<' . $item_element . ' class="view">', + "#suffix" => '</' . $item_element . '>', ); } } - if (!$isDefault) { + if (!$is_default) { $build['top']['actions']['duplicate'] = array( '#type' => 'submit', '#value' => t('clone @display_title', array('@display_title' => $display_title)), '#limit_validation_errors' => array(), - '#submit' => array('views_ui_edit_form_submit_duplicate_display', 'views_ui_edit_form_submit_delay_destination'), - '#prefix' => '<' . $itemElement . ' class="duplicate">', - "#suffix" => '</' . $itemElement . '>', + '#submit' => array( + 'views_ui_edit_form_submit_duplicate_display', + 'views_ui_edit_form_submit_delay_destination', + ), + '#prefix' => '<' . $item_element . ' class="duplicate">', + "#suffix" => '</' . $item_element . '>', ); } - if ($isDeletable) { + if ($is_deletable) { $build['top']['actions']['delete'] = array( '#type' => 'submit', '#value' => t('delete @display_title', array('@display_title' => $display_title)), '#limit_validation_errors' => array(), - '#submit' => array('views_ui_edit_form_submit_delete_display', 'views_ui_edit_form_submit_delay_destination'), - '#prefix' => '<' . $itemElement . ' class="delete">', - "#suffix" => '</' . $itemElement . '>', + '#submit' => array( + 'views_ui_edit_form_submit_delete_display', + 'views_ui_edit_form_submit_delay_destination', + ), + '#prefix' => '<' . $item_element . ' class="delete">', + "#suffix" => '</' . $item_element . '>', ); } - if ($isEnabled) { + if ($is_enabled) { $build['top']['actions']['disable'] = array( '#type' => 'submit', '#value' => t('disable @display_title', array('@display_title' => $display_title)), '#limit_validation_errors' => array(), - '#submit' => array('views_ui_edit_form_submit_disable_display', 'views_ui_edit_form_submit_delay_destination'), - '#prefix' => '<' . $itemElement . ' class="disable">', - "#suffix" => '</' . $itemElement . '>', + '#submit' => array( + 'views_ui_edit_form_submit_disable_display', + 'views_ui_edit_form_submit_delay_destination', + ), + '#prefix' => '<' . $item_element . ' class="disable">', + "#suffix" => '</' . $item_element . '>', ); } } @@ -1649,9 +1698,12 @@ function views_ui_get_display_tab_details($view, $display) { '#type' => 'submit', '#value' => t('undo delete of @display_title', array('@display_title' => $display_title)), '#limit_validation_errors' => array(), - '#submit' => array('views_ui_edit_form_submit_undo_delete_display', 'views_ui_edit_form_submit_delay_destination'), - '#prefix' => '<' . $itemElement . ' class="undo-delete">', - "#suffix" => '</' . $itemElement . '>', + '#submit' => array( + 'views_ui_edit_form_submit_undo_delete_display', + 'views_ui_edit_form_submit_delay_destination', + ), + '#prefix' => '<' . $item_element . ' class="undo-delete">', + "#suffix" => '</' . $item_element . '>', ); } @@ -1665,22 +1717,37 @@ function views_ui_get_display_tab_details($view, $display) { $build['columns'] = array(); $build['columns']['#theme_wrappers'] = array('container'); - $build['columns']['#attributes'] = array('id' => 'edit-display-settings-main', 'class' => array('clearfix', 'views-display-columns'),); + $build['columns']['#attributes'] = array( + 'id' => 'edit-display-settings-main', + 'class' => array('clearfix', 'views-display-columns'), + ); $build['columns']['first']['#theme_wrappers'] = array('container'); - $build['columns']['first']['#attributes'] = array('class' => array('views-display-column', 'first')); + $build['columns']['first']['#attributes'] = array( + 'class' => array('views-display-column', 'first'), + ); $build['columns']['second']['#theme_wrappers'] = array('container'); - $build['columns']['second']['#attributes'] = array('class' => array('views-display-column', 'second')); + $build['columns']['second']['#attributes'] = array( + 'class' => array('views-display-column', 'second'), + ); $build['columns']['second']['settings'] = array(); $build['columns']['second']['header'] = array(); $build['columns']['second']['footer'] = array(); $build['columns']['second']['pager'] = array(); - // The third column buckets are wrapped in a CTools collapsible div + // The third column buckets are wrapped in a CTools collapsible div. $build['columns']['third']['#theme_wrappers'] = array('container'); - $build['columns']['third']['#attributes'] = array('class' => array('views-display-column', 'third', 'ctools-collapsible-container', 'ctools-collapsible-remember')); + $build['columns']['third']['#attributes'] = array( + 'class' => array( + 'views-display-column', + 'third', + 'ctools-collapsible-container', + 'ctools-collapsible-remember', + ), + ); + // Specify an id that won't change after AJAX requests, so ctools can keep // track of the user's preferred collapsible state. Use the same id across // different displays of the same view, so changing displays doesn't @@ -1690,9 +1757,11 @@ function views_ui_get_display_tab_details($view, $display) { if (!variable_get('views_ui_show_advanced_column', FALSE)) { $build['columns']['third']['#attributes']['class'][] = 'ctools-collapsed'; } - $build['columns']['third']['advanced'] = array('#markup' => '<h3 class="ctools-collapsible-handle"><a href="">' . t('Advanced') . '</a></h3>',); + $build['columns']['third']['advanced'] = array('#markup' => '<h3 class="ctools-collapsible-handle"><a href="">' . t('Advanced') . '</a></h3>'); $build['columns']['third']['collapse']['#theme_wrappers'] = array('container'); - $build['columns']['third']['collapse']['#attributes'] = array('class' => array('ctools-collapsible-content',),); + $build['columns']['third']['collapse']['#attributes'] = array( + 'class' => array('ctools-collapsible-content'), + ); // Each option (e.g. title, access, display as grid/table/list) fits into one // of several "buckets," or boxes (Format, Fields, Sort, and so on). @@ -1721,7 +1790,7 @@ function views_ui_get_display_tab_details($view, $display) { } if (isset($bucket['build']) && is_array($bucket['build'])) { // The third column is a CTools collapsible div, so - // the structure of the form is a little different for this column + // the structure of the form is a little different for this column. if ($column === 'third') { $build['columns'][$column]['collapse'][$id] = $bucket['build']; $build['columns'][$column]['collapse'][$id]['#theme_wrappers'][] = 'views_ui_display_tab_bucket'; @@ -1789,12 +1858,15 @@ function views_ui_edit_form_get_build_from_option($id, $option, $view, $display) return $option_build; } +/** + * + */ function template_preprocess_views_ui_display_tab_setting(&$variables) { static $zebra = 0; $variables['zebra'] = ($zebra % 2 === 0 ? 'odd' : 'even'); $zebra++; - // Put the main link to the left side + // Put the main link to the left side. array_unshift($variables['settings_links'], $variables['link']); $variables['settings_links'] = implode('<span class="label"> | </span>', $variables['settings_links']); @@ -1815,6 +1887,9 @@ function template_preprocess_views_ui_display_tab_setting(&$variables) { } } +/** + * + */ function template_preprocess_views_ui_display_tab_bucket(&$variables) { $element = $variables['element']; @@ -1835,6 +1910,9 @@ function template_preprocess_views_ui_display_tab_bucket(&$variables) { $variables['actions'] = !empty($element['#actions']) ? $element['#actions'] : ''; } +/** + * + */ function template_preprocess_views_ui_display_tab_column(&$variables) { $element = $variables['element']; @@ -2016,7 +2094,8 @@ function views_ui_import_validate($form, &$form_state) { elseif (version_compare($view->api_version, views_api_version(), '>')) { form_error($form['view'], t('That view is created for the version @import_version of views, but you only have @api_version', array( '@import_version' => $view->api_version, - '@api_version' => views_api_version()))); + '@api_version' => views_api_version(), + ))); } // View name must be alphanumeric or underscores, no other punctuation. @@ -2049,23 +2128,30 @@ function views_ui_import_validate($form, &$form_state) { // Bypass the validation of view pluigns/handlers if option is checked. if (!$form_state['values']['bypass_validation']) { - // Make sure that all plugins and handlers needed by this view actually exist. + // Make sure that all plugins and handlers needed by this view actually + // exist. foreach ($view->display as $id => $display) { if (empty($display->handler) || !empty($display->handler->broken)) { - drupal_set_message(t('Display plugin @plugin is not available.', array('@plugin' => $display->display_plugin)), 'error'); + drupal_set_message(t('Display plugin @plugin is not available.', array( + '@plugin' => $display->display_plugin, + )), 'error'); $broken = TRUE; continue; } $plugin = views_get_plugin('style', $display->handler->get_option('style_plugin')); if (!$plugin) { - drupal_set_message(t('Style plugin @plugin is not available.', array('@plugin' => $display->handler->get_option('style_plugin'))), 'error'); + drupal_set_message(t('Style plugin @plugin is not available.', array( + '@plugin' => $display->handler->get_option('style_plugin'), + )), 'error'); $broken = TRUE; } elseif ($plugin->uses_row_plugin()) { $plugin = views_get_plugin('row', $display->handler->get_option('row_plugin')); if (!$plugin) { - drupal_set_message(t('Row plugin @plugin is not available.', array('@plugin' => $display->handler->get_option('row_plugin'))), 'error'); + drupal_set_message(t('Row plugin @plugin is not available.', array( + '@plugin' => $display->handler->get_option('row_plugin'), + )), 'error'); $broken = TRUE; } } @@ -2076,10 +2162,10 @@ function views_ui_import_validate($form, &$form_state) { foreach ($handlers as $id => $handler) { if ($handler->broken()) { drupal_set_message(t('@type handler @table.@field is not available.', array( - '@type' => $info['stitle'], - '@table' => $handler->table, - '@field' => $handler->field, - )), 'error'); + '@type' => $info['stitle'], + '@table' => $handler->table, + '@field' => $handler->field, + )), 'error'); $broken = TRUE; } } @@ -2135,7 +2221,8 @@ function views_ui_edit_view_form_submit($form, &$form_state) { foreach ($form_state['view']->display as $id => $display) { if (!empty($display->new_id)) { $form_state['view']->display[$id]->id = $display->new_id; - // Redirect the user to the renamed display to be sure that the page itself exists and doesn't throw errors. + // Redirect the user to the renamed display to be sure that the page + // itself exists and doesn't throw errors. $form_state['redirect'] = 'admin/structure/views/view/' . $form_state['view']->name . '/edit/' . $display->new_id; } } @@ -2143,7 +2230,8 @@ function views_ui_edit_view_form_submit($form, &$form_state) { // Direct the user to the right url, if the path of the display has changed. if (!empty($_GET['destination'])) { $destination = $_GET['destination']; - // Find out the first display which has a changed path and redirect to this url. + // Find out the first display which has a changed path and redirect to this + // URL. $old_view = views_get_view($form_state['view']->name); foreach ($old_view->display as $id => $display) { // Only check for displays with a path. @@ -2179,9 +2267,12 @@ function views_ui_edit_view_form_cancel($form, &$form_state) { } } +/** + * + */ function views_ui_edit_view_form_delete($form, &$form_state) { unset($_REQUEST['destination']); - // Redirect to the delete confirm page + // Redirect to the delete confirm page. $form_state['redirect'] = array('admin/structure/views/view/' . $form_state['view']->name . '/delete', array('query' => drupal_get_destination() + array('cancel' => 'admin/structure/views/view/' . $form_state['view']->name . '/edit'))); } @@ -2212,9 +2303,10 @@ function views_ui_edit_form_get_bucket($type, $view, $display) { case 'filter': $rearrange_url = "admin/structure/views/nojs/rearrange-$type/$view->name/$display->id/$type"; $rearrange_text = t('And/Or, Rearrange'); - // TODO: Add another class to have another symbol for filter rearrange. + // @todo Add another class to have another symbol for filter rearrange. $class = 'icon compact rearrange'; break; + case 'field': // Fetch the style plugin info so we know whether to list fields or not. $style_plugin = $display->handler->get_plugin(); @@ -2240,7 +2332,7 @@ function views_ui_edit_form_get_bucket($type, $view, $display) { $actions['add'] = array( 'title' => t('Add'), 'href' => "admin/structure/views/nojs/add-item/$view->name/$display->id/$type", - 'attributes'=> array('class' => array('icon compact add', 'views-ajax-link'), 'title' => t('Add'), 'id' => 'views-add-' . $type), + 'attributes' => array('class' => array('icon compact add', 'views-ajax-link'), 'title' => t('Add'), 'id' => 'views-add-' . $type), 'html' => TRUE, ); if ($count_handlers > 0) { @@ -2252,12 +2344,12 @@ function views_ui_edit_form_get_bucket($type, $view, $display) { ); } - // Render the array of links + // Render the array of links. $build['#actions'] = theme('links__ctools_dropbutton', array( 'links' => $actions, 'attributes' => array( - 'class' => array('inline', 'links', 'actions', 'horizontal', 'right') + 'class' => array('inline', 'links', 'actions', 'horizontal', 'right'), ), 'class' => array('views-ui-settings-bucket-operations'), ) @@ -2279,7 +2371,7 @@ function views_ui_edit_form_get_bucket($type, $view, $display) { static $relationships = NULL; if (!isset($relationships)) { - // Get relationship labels + // Get relationship labels. $relationships = array(); // @todo: get_handlers() $handlers = $display->handler->get_option('relationships'); @@ -2291,7 +2383,7 @@ function views_ui_edit_form_get_bucket($type, $view, $display) { } } - // Filters can now be grouped so we do a little bit extra: + // Filters can now be grouped so we do a little bit extra. $groups = array(); $grouping = FALSE; if ($type == 'filter') { @@ -2334,16 +2426,16 @@ function views_ui_edit_form_get_bucket($type, $view, $display) { $build['fields'][$id]['#link'] = l($link_text, "admin/structure/views/nojs/config-item/$view->name/$display->id/$type/$id", array('attributes' => $link_attributes, 'html' => TRUE)); $build['fields'][$id]['#class'][] = drupal_clean_css_identifier($display->id . '-' . $type . '-' . $id); if (!empty($view->changed_sections[$display->id . '-' . $type . '-' . $id])) { - // @TODO: #changed is no longer being used? + // @todo: #changed is no longer being used? $build['fields'][$id]['#changed'] = TRUE; } if ($display->handler->use_group_by() && $handler->use_group_by()) { - $build['fields'][$id]['#settings_links'][] = l('<span class="label">' . t('Aggregation settings') . '</span>', "admin/structure/views/nojs/config-item-group/$view->name/$display->id/$type/$id", array('attributes' => array('class' => 'views-button-configure views-ajax-link', 'title' => t('Aggregation settings')), 'html' => true)); + $build['fields'][$id]['#settings_links'][] = l('<span class="label">' . t('Aggregation settings') . '</span>', "admin/structure/views/nojs/config-item-group/$view->name/$display->id/$type/$id", array('attributes' => array('class' => 'views-button-configure views-ajax-link', 'title' => t('Aggregation settings')), 'html' => TRUE)); } if ($handler->has_extra_options()) { - $build['fields'][$id]['#settings_links'][] = l('<span class="label">' . t('Settings') . '</span>', "admin/structure/views/nojs/config-item-extra/$view->name/$display->id/$type/$id", array('attributes' => array('class' => array('views-button-configure', 'views-ajax-link'), 'title' => t('Settings')), 'html' => true)); + $build['fields'][$id]['#settings_links'][] = l('<span class="label">' . t('Settings') . '</span>', "admin/structure/views/nojs/config-item-extra/$view->name/$display->id/$type/$id", array('attributes' => array('class' => array('views-button-configure', 'views-ajax-link'), 'title' => t('Settings')), 'html' => TRUE)); } if ($grouping) { @@ -2357,7 +2449,8 @@ function views_ui_edit_form_get_bucket($type, $view, $display) { } } - // If using grouping, re-order fields so that they show up properly in the list. + // If using grouping, re-order fields so that they show up properly in the + // list. if ($type == 'filter' && $grouping) { $store = $build['fields']; $build['fields'] = array(); @@ -2405,7 +2498,9 @@ function views_ui_regenerate_tab(&$view, &$output, $display_id) { } /** - * Recursively adds microweights to a render array, similar to what form_builder() does for forms. + * Recursively adds microweights to a render array. + * + * Similar to what form_builder() does for forms. * * @todo Submit a core patch to fix drupal_render() to do this, so that all * render arrays automatically preserve array insertion order, as forms do. @@ -2414,7 +2509,7 @@ function views_ui_add_microweights(&$build) { $count = 0; foreach (element_children($build) as $key) { if (!isset($build[$key]['#weight'])) { - $build[$key]['#weight'] = $count/1000; + $build[$key]['#weight'] = $count / 1000; } views_ui_add_microweights($build[$key]); $count++; @@ -2499,8 +2594,8 @@ function views_ui_standard_form_buttons(&$form, &$form_state, $form_id, $name = ); } - // Compatibility, to be removed later: // TODO: When is "later"? - // We used to set these items on the form, but now we want them on the $form_state: + // Compatibility, to be removed later: // @todo When is "later"? We used to + // set these items on the form, but now we want them on the $form_state. if (isset($form['#title'])) { $form_state['title'] = $form['#title']; } @@ -2535,11 +2630,10 @@ function views_ui_standard_form_buttons(&$form, &$form_state, $form_id, $name = function views_ui_standard_submit($form, &$form_state) { // Determine whether the values the user entered are intended to apply to // the current display or the default display. - list($was_defaulted, $is_defaulted, $revert) = views_ui_standard_override_values($form, $form_state); // Mark the changed section of the view as changed. - // TODO: Document why we are doing this, and see if we still need it. + // @todo Document why we are doing this, and see if we still need it. if (!empty($form['#section'])) { $form_state['view']->changed_sections[$form['#section']] = TRUE; } @@ -2551,7 +2645,8 @@ function views_ui_standard_submit($form, &$form_state) { $display = &$form_state['view']->display[$form_state['display_id']]; $display->handler->options_override($form, $form_state); - // Don't execute the normal submit handling but still store the changed view into cache. + // Don't execute the normal submit handling but still store the changed + // view into cache. views_ui_cache_set($form_state['view']); return; } @@ -2590,8 +2685,9 @@ function views_ui_standard_submit($form, &$form_state) { function views_ui_standard_override_values($form, $form_state) { // Make sure the dropdown exists in the first place. if (isset($form_state['values']['override']['dropdown'])) { - // #default_value is used to determine whether it was the default value or not. - // So the available options are: $display, 'default' and 'default_revert', not 'defaults'. + // #default_value is used to determine whether it was the default value or + // not. So the available options are: $display, 'default' and + // 'default_revert', not 'defaults'. $was_defaulted = ($form['override']['dropdown']['#default_value'] === 'defaults'); $is_defaulted = ($form_state['values']['override']['dropdown'] === 'default'); $revert = ($form_state['values']['override']['dropdown'] === 'default_revert'); @@ -2613,7 +2709,7 @@ function views_ui_standard_override_values($form, $form_state) { } /** - * Submit handler for cancel button + * Submit handler for cancel button. */ function views_ui_standard_cancel($form, &$form_state) { if (!empty($form_state['view']->changed) && isset($form_state['view']->form_cache)) { @@ -2625,9 +2721,10 @@ function views_ui_standard_cancel($form, &$form_state) { } /** - * Add a <select> dropdown for a given section, allowing the user to - * change whether this info is stored on the default display or on - * the current display. + * Add a <select> dropdown for a given section. + * + * Allows the user to change whether this info is stored on the default display + * or on the current display. */ function views_ui_standard_display_dropdown(&$form, &$form_state, $section) { $view = &$form_state['view']; @@ -2636,7 +2733,7 @@ function views_ui_standard_display_dropdown(&$form, &$form_state, $section) { $current_display = $view->display[$display_id]; // Add the "2 of 3" progress indicator. - // @TODO: Move this to a separate function if it's needed on any forms that + // @todo: Move this to a separate function if it's needed on any forms that // don't have the display dropdown. if ($form_progress = views_ui_get_form_progress($view)) { $form['progress']['#markup'] = '<div id="views-progress-indicator">' . t('@current of @total', array('@current' => $form_progress['current'], '@total' => $form_progress['total'])) . '</div>'; @@ -2674,7 +2771,8 @@ function views_ui_standard_display_dropdown(&$form, &$form_state, $section) { ); $form['override']['dropdown'] = array( '#type' => 'select', - '#title' => t('For'), // @TODO: Translators may need more context than this. + '#title' => t('For'), + // @todo: Translators may need more context than this. '#options' => $display_dropdown, ); if ($current_display->handler->is_defaulted($section)) { @@ -2689,7 +2787,7 @@ function views_ui_standard_display_dropdown(&$form, &$form_state, $section) { /** * Get the user's current progress through the form stack. * - * @param $view + * @param view $view * The current view. * * @return @@ -2721,7 +2819,6 @@ function views_ui_get_form_progress($view) { // -------------------------------------------------------------------------- // Various subforms for editing the pieces of a view. - function views_ui_ajax_forms($key = NULL) { $forms = array( 'display' => array( @@ -2809,7 +2906,7 @@ function views_ui_build_identifier($key, $view, $display_id, $args) { */ function views_ui_build_form_state($js, $key, &$view, $display_id, $args) { $form = views_ui_ajax_forms($key); - // Build up form state + // Build up form state. $form_state = array( 'form_key' => $key, 'form_id' => $form['form_id'], @@ -2903,7 +3000,7 @@ function views_ui_ajax_form($js, $key, $view, $display_id = '') { views_include('ajax'); $args = func_get_args(); - // Remove the known args + // Remove the known args. array_splice($args, 0, 4); $form_state = views_ui_build_form_state($js, $key, $view, $display_id, $args); @@ -2915,9 +3012,9 @@ function views_ui_ajax_form($js, $key, $view, $display_id = '') { // Retrieve the first form from the stack without changing the integer keys, // as they're being used for the "2 of 3" progress indicator. reset($view->stack); - list($key, $top) = each($view->stack); + $key = key($view->stack); + $top = current($view->stack); unset($view->stack[$key]); - if (array_shift($top) != $identifier) { $view->stack = array(); } @@ -2933,8 +3030,9 @@ function views_ui_ajax_form($js, $key, $view, $display_id = '') { // With the below logic, we may end up rendering a form twice (or two forms // each sharing the same element ids), potentially resulting in // drupal_add_js() being called twice to add the same setting. drupal_get_js() - // is ok with that, but until ajax_render() is (http://drupal.org/node/208611), - // reset the drupal_add_js() static before rendering the second time. + // is ok with that, but until ajax_render() is, reset the drupal_add_js() + // static before rendering the second time. + // @see http://drupal.org/node/208611 $drupal_add_js_original = drupal_add_js(); $drupal_add_js = &drupal_static('drupal_add_js'); $output = views_ajax_form_wrapper($form_state['form_id'], $form_state); @@ -2955,7 +3053,8 @@ function views_ui_ajax_form($js, $key, $view, $display_id = '') { $output = views_ajax_form_wrapper($form_state['form_id'], $form_state); } elseif (!$js) { - // if nothing on the stack, non-js forms just go back to the main view editor. + // If nothing on the stack, non-js forms just go back to the main view + // editor. return drupal_goto("admin/structure/views/view/$view->name/edit"); } else { @@ -2981,16 +3080,16 @@ function views_ui_ajax_form($js, $key, $view, $display_id = '') { * Submit handler to add a restore a removed display to a view. */ function views_ui_remove_display_form_restore($form, &$form_state) { - // Create the new display + // Create the new display. $id = $form_state['display_id']; $form_state['view']->display[$id]->deleted = FALSE; - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); } /** - * Form constructor callback to display analysis information on a view + * Form constructor callback to display analysis information on a view. */ function views_ui_analyze_view_form($form, &$form_state) { $view = &$form_state['view']; @@ -3014,14 +3113,14 @@ function views_ui_analyze_view_form($form, &$form_state) { } /** - * Submit handler for views_ui_analyze_view_form + * Submit handler for views_ui_analyze_view_form. */ function views_ui_analyze_view_form_submit($form, &$form_state) { $form_state['redirect'] = 'admin/structure/views/view/' . $form_state['view']->name . '/edit'; } /** - * Form constructor callback to reorder displays on a view + * Form constructor callback to reorder displays on a view. */ function views_ui_reorder_displays_form($form, &$form_state) { $view = &$form_state['view']; @@ -3066,7 +3165,7 @@ function views_ui_reorder_displays_form($form, &$form_state) { $form['#title'] = t('Displays Reorder'); $form['#section'] = 'reorder'; - // Add javascript settings that will be added via $.extend for tabledragging + // Add javascript settings that will be added via $.extend for tabledragging. $form['#js']['tableDrag']['reorder-displays']['weight'][0] = array( 'target' => 'weight', 'source' => NULL, @@ -3084,7 +3183,7 @@ function views_ui_reorder_displays_form($form, &$form_state) { } /** - * Display position sorting function + * Display position sorting function. */ function _views_position_sort($display1, $display2) { if ($display1->position != $display2->position) { @@ -3095,10 +3194,10 @@ function _views_position_sort($display1, $display2) { } /** - * Submit handler for rearranging display form + * Submit handler for rearranging display form. */ function views_ui_reorder_displays_form_submit($form, &$form_state) { - foreach($form_state['input'] as $display => $info) { + foreach ($form_state['input'] as $display => $info) { // add each value that is a field with a weight to our list, but only if // it has had its 'removed' checkbox checked. if (is_array($info) && isset($info['weight']) && empty($info['removed'])) { @@ -3106,19 +3205,19 @@ function views_ui_reorder_displays_form_submit($form, &$form_state) { } } - // Sort the order array + // Sort the order array. asort($order); - // Fixing up positions + // Fixing up positions. $position = 2; - foreach(array_keys($order) as $display) { + foreach (array_keys($order) as $display) { $order[$display] = $position++; } - // Setting up position and removing deleted displays + // Setting up position and removing deleted displays. $displays = $form_state['view']->display; - foreach($displays as $display_id => $display) { + foreach ($displays as $display_id => $display) { // Don't touch the default !!! if ($display_id === 'default') { continue; @@ -3131,16 +3230,16 @@ function views_ui_reorder_displays_form_submit($form, &$form_state) { } } - // Sorting back the display array as the position is not enough + // Sorting back the display array as the position is not enough. uasort($form_state['view']->display, '_views_position_sort'); - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); $form_state['redirect'] = array('admin/structure/views/view/' . $form_state['view']->name . '/edit', array('fragment' => 'views-tab-default')); } /** - * Turn the reorder form into a proper table + * Turn the reorder form into a proper table. */ function theme_views_ui_reorder_displays_form($vars) { $form = $vars['form']; @@ -3187,10 +3286,11 @@ function theme_views_ui_reorder_displays_form($vars) { $output = drupal_render($form['override']); $output .= '<div class="scroll">'; $output .= theme('table', - array('header' => $header, - 'rows' => $rows, - 'attributes' => array('id' => 'reorder-displays'), - )); + array( + 'header' => $header, + 'rows' => $rows, + 'attributes' => array('id' => 'reorder-displays'), + )); $output .= '</div>'; $output .= drupal_render_children($form); @@ -3251,7 +3351,7 @@ function views_ui_edit_details_form_submit($form, &$form_state) { } /** - * Form constructor callback to edit display of a view + * Form constructor callback to edit display of a view. */ function views_ui_edit_display_form($form, &$form_state) { $view = &$form_state['view']; @@ -3291,7 +3391,7 @@ function views_ui_edit_display_form($form, &$form_state) { } /** - * Validate handler for views_ui_edit_display_form + * Validate handler for views_ui_edit_display_form. */ function views_ui_edit_display_form_validate($form, &$form_state) { $display = &$form_state['view']->display[$form_state['display_id']]; @@ -3303,7 +3403,7 @@ function views_ui_edit_display_form_validate($form, &$form_state) { } /** - * Submit handler for views_ui_edit_display_form + * Submit handler for views_ui_edit_display_form. */ function views_ui_edit_display_form_submit($form, &$form_state) { $display = &$form_state['view']->display[$form_state['display_id']]; @@ -3313,9 +3413,9 @@ function views_ui_edit_display_form_submit($form, &$form_state) { } /** - * Override handler for views_ui_edit_display_form + * Override handler for views_ui_edit_display_form. * - * @TODO: Not currently used. Remove unless we implement an override toggle. + * @todo: Not currently used. Remove unless we implement an override toggle. */ function views_ui_edit_display_form_override($form, &$form_state) { $display = &$form_state['view']->display[$form_state['display_id']]; @@ -3363,13 +3463,13 @@ function views_ui_config_type_form($form, &$form_state) { } /** - * Submit handler for type configuration form + * Submit handler for type configuration form. */ function views_ui_config_type_form_submit($form, &$form_state) { $types = views_object_types(); $display = &$form_state['view']->display[$form_state['display_id']]; - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); } @@ -3396,7 +3496,7 @@ function views_ui_rearrange_form($form, &$form_state) { $count = 0; - // Get relationship labels + // Get relationship labels. $relationships = array(); foreach ($display->handler->get_handlers('relationship') as $id => $handler) { $relationships[$id] = $handler->label(); @@ -3409,7 +3509,7 @@ function views_ui_rearrange_form($form, &$form_state) { } } - // Filters can now be grouped so we do a little bit extra: + // Filters can now be grouped so we do a little bit extra. $groups = array(); $grouping = FALSE; if ($type == 'filter') { @@ -3448,7 +3548,7 @@ function views_ui_rearrange_form($form, &$form_state) { ); } - // Add javascript settings that will be added via $.extend for tabledragging + // Add javascript settings that will be added via $.extend for tabledragging. $form['#js']['tableDrag']['arrange']['weight'][0] = array( 'target' => 'weight', 'source' => NULL, @@ -3468,7 +3568,7 @@ function views_ui_rearrange_form($form, &$form_state) { } /** - * Turn the rearrange form into a proper table + * Turn the rearrange form into a proper table. */ function theme_views_ui_rearrange_form($variables) { $form = $variables['form']; @@ -3524,7 +3624,7 @@ function theme_views_ui_expose_filter_form($variables) { $output .= '</div>'; } - // Only output the right column markup if there's a left column to begin with + // Only output the right column markup if there's a left column to begin with. if (!empty($form['operator']['#type'])) { $output .= '<div class="views-right-60">'; $output .= drupal_render_children($form); @@ -3539,7 +3639,7 @@ function theme_views_ui_expose_filter_form($variables) { return $output; } - /** +/** * Theme the build group filter form. */ function theme_views_ui_build_group_filter_form($variables) { @@ -3567,7 +3667,6 @@ function theme_views_ui_build_group_filter_form($variables) { $output .= drupal_render($form['description']); $output .= '</div>'; - $header = array( t('Default'), t('Weight'), @@ -3581,7 +3680,8 @@ function theme_views_ui_build_group_filter_form($variables) { $form['default_group_multiple'] = form_process_checkboxes($form['default_group_multiple']); $form['default_group']['All']['#title'] = ''; - drupal_render($form['default_group_multiple']['All']); // Don't render + drupal_render($form['default_group_multiple']['All']); + // Don't render. $rows[] = array( drupal_render($form['default_group']['All']), '', @@ -3600,7 +3700,7 @@ function theme_views_ui_build_group_filter_form($variables) { 'title' => drupal_render($form['group_items'][$group_id]['title']), 'operator' => drupal_render($form['group_items'][$group_id]['operator']), 'value' => drupal_render($form['group_items'][$group_id]['value']), - 'remove' => drupal_render($form['group_items'][$group_id]['remove']) . l('<span>' . t('Remove') . '</span>', 'javascript:void()', array('attributes' => array('id' => 'views-remove-link-' . $group_id, 'class' => array('views-hidden', 'views-button-remove', 'views-groups-remove-link', 'views-remove-link'), 'alt' => t('Remove this item'), 'title' => t('Remove this item')), 'html' => true)), + 'remove' => drupal_render($form['group_items'][$group_id]['remove']) . l('<span>' . t('Remove') . '</span>', 'javascript:void()', array('attributes' => array('id' => 'views-remove-link-' . $group_id, 'class' => array('views-hidden', 'views-button-remove', 'views-groups-remove-link', 'views-remove-link'), 'alt' => t('Remove this item'), 'title' => t('Remove this item')), 'html' => TRUE)), ); $rows[] = array('data' => $data, 'id' => 'views-row-' . $group_id, 'class' => array('draggable')); } @@ -3612,7 +3712,7 @@ function theme_views_ui_build_group_filter_form($variables) { /** - * Submit handler for rearranging form + * Submit handler for rearranging form. */ function views_ui_rearrange_form_submit($form, &$form_state) { $types = views_object_types(); @@ -3621,7 +3721,7 @@ function views_ui_rearrange_form_submit($form, &$form_state) { $old_fields = $display->handler->get_option($types[$form_state['type']]['plural']); $new_fields = $order = array(); - // Make an array with the weights + // Make an array with the weights. foreach ($form_state['values'] as $field => $info) { // add each value that is a field with a weight to our list, but only if // it has had its 'removed' checkbox checked. @@ -3630,7 +3730,7 @@ function views_ui_rearrange_form_submit($form, &$form_state) { } } - // Sort the array + // Sort the array. asort($order); // Create a new list of fields in the new order. @@ -3639,7 +3739,7 @@ function views_ui_rearrange_form_submit($form, &$form_state) { } $display->handler->set_option($types[$form_state['type']]['plural'], $new_fields); - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); } @@ -3675,7 +3775,7 @@ function views_ui_rearrange_filter_form($form, &$form_state) { } $count = 0; - // Get relationship labels + // Get relationship labels. $relationships = array(); foreach ($display->handler->get_handlers('relationship') as $id => $handler) { $relationships[$id] = $handler->label(); @@ -3698,7 +3798,7 @@ function views_ui_rearrange_filter_form($form, &$form_state) { $form['filter_groups']['#tree'] = TRUE; $form['filter_groups']['operator'] = array( '#type' => 'select', - '#options' => array ( + '#options' => array( 'AND' => t('And'), 'OR' => t('Or'), ), @@ -3727,7 +3827,8 @@ function views_ui_rearrange_filter_form($form, &$form_state) { ), ); - $form['remove_groups'][$id] = array(); // to prevent a notice + $form['remove_groups'][$id] = array(); + // to prevent a notice. if ($id != 1) { $form['remove_groups'][$id] = array( '#type' => 'submit', @@ -3759,9 +3860,8 @@ function views_ui_rearrange_filter_form($form, &$form_state) { $field['group'] = 'ungroupable'; } - // If not grouping and the handler is set ungroupable, move it back to - // the default group to prevent weird errors from having it be in its - // own group: + // If not grouping and the handler is set ungroupable, move it back to the + // default group to prevent weird errors from having it be in its own group. if (!$grouping && $field['group'] == 'ungroupable') { $field['group'] = 1; } @@ -3821,7 +3921,7 @@ function views_ui_rearrange_filter_form($form, &$form_state) { } /** - * Turn the rearrange form into a proper table + * Turn the rearrange form into a proper table. */ function theme_views_ui_rearrange_filter_form(&$vars) { $form = $vars['form']; @@ -3867,7 +3967,7 @@ function theme_views_ui_rearrange_filter_form(&$vars) { $form['filters'][$id]['group']['#attributes']['class'] = array('views-group-select views-group-select-' . $group_id); $row[] = drupal_render($form['filters'][$id]['group']); $form['filters'][$id]['removed']['#attributes']['class'][] = 'js-hide'; - $row[] = drupal_render($form['filters'][$id]['removed']) . l('<span>' . t('Remove') . '</span>', 'javascript:void()', array('attributes' => array('id' => 'views-remove-link-' . $id, 'class' => array('views-hidden', 'views-button-remove', 'views-groups-remove-link', 'views-remove-link'), 'alt' => t('Remove this item'), 'title' => t('Remove this item')), 'html' => true)); + $row[] = drupal_render($form['filters'][$id]['removed']) . l('<span>' . t('Remove') . '</span>', 'javascript:void()', array('attributes' => array('id' => 'views-remove-link-' . $id, 'class' => array('views-hidden', 'views-button-remove', 'views-groups-remove-link', 'views-remove-link'), 'alt' => t('Remove this item'), 'title' => t('Remove this item')), 'html' => TRUE)); $row = array('data' => $row, 'class' => array('draggable'), 'id' => 'views-row-' . $id); if ($group_id !== 'ungroupable') { @@ -3914,7 +4014,7 @@ function theme_views_ui_rearrange_filter_form(&$vars) { } /** - * Submit handler for rearranging form + * Submit handler for rearranging form. */ function views_ui_rearrange_filter_form_submit($form, &$form_state) { $types = views_object_types(); @@ -3933,7 +4033,7 @@ function views_ui_rearrange_filter_form_submit($form, &$form_state) { // Whatever button was clicked, re-calculate field information. $new_fields = $order = array(); - // Make an array with the weights + // Make an array with the weights. foreach ($form_state['values']['filters'] as $field => $info) { // add each value that is a field with a weight to our list, but only if // it has had its 'removed' checkbox checked. @@ -3949,7 +4049,7 @@ function views_ui_rearrange_filter_form_submit($form, &$form_state) { } } - // Sort the array + // Sort the array. asort($order); // Create a new list of fields in the new order. @@ -3961,7 +4061,7 @@ function views_ui_rearrange_filter_form_submit($form, &$form_state) { // either adding or removing a group, not actually updating the filters. if (!empty($form_state['clicked_button']['#group'])) { if ($form_state['clicked_button']['#group'] == 'add') { - // Add a new group + // Add a new group. $groups['groups'][] = 'AND'; } else { @@ -4053,11 +4153,11 @@ function views_ui_add_item_form($form, &$form_state) { $form['#title'] = t('Add @type', array('@type' => $ltitle)); $form['#section'] = $display_id . 'add-item'; - // Add the display override dropdown. views_ui_standard_display_dropdown($form, $form_state, $section); - // Figure out all the base tables allowed based upon what the relationships provide. + // Figure out all the base tables allowed based upon what the relationships + // provide. $base_tables = $view->get_base_tables(); $options = views_fetch_fields(array_keys($base_tables), $type, $display->handler->use_group_by()); @@ -4134,10 +4234,10 @@ function views_ui_add_item_form($form, &$form_state) { } else { $form['options']['markup'] = array( - '#markup' => '<div class="form-item">' . t('There are no @types available to add.', array('@types' => $ltitle)) . '</div>', + '#markup' => '<div class="form-item">' . t('There are no @types available to add.', array('@types' => $ltitle)) . '</div>', ); } - // Add a div to show the selected items + // Add a div to show the selected items. $form['selected'] = array( '#type' => 'item', '#markup' => '<div class="views-selected-options"></div>', @@ -4183,7 +4283,8 @@ function views_ui_add_item_form_submit($form, &$form_state) { } if (!empty($form_state['values']['name']) && is_array($form_state['values']['name'])) { - // Loop through each of the items that were checked and add them to the view. + // Loop through each of the items that were checked and add them to the + // view. foreach (array_keys(array_filter($form_state['values']['name'])) as $field) { list($table, $field) = explode('.', $field, 2); @@ -4192,9 +4293,10 @@ function views_ui_add_item_form_submit($form, &$form_state) { } $id = $form_state['view']->add_item($form_state['display_id'], $type, $table, $field); - // check to see if we have group by settings + // Check to see if we have group by settings. $key = $type; - // Footer,header and empty text have a different internal handler type(area). + // Footer,header and empty text have a different internal handler type + // (area). if (isset($types[$type]['type'])) { $key = $types[$type]['type']; } @@ -4203,11 +4305,12 @@ function views_ui_add_item_form_submit($form, &$form_state) { views_ui_add_form_to_stack('config-item-group', $form_state['view'], $form_state['display_id'], array($type, $id)); } - // check to see if this type has settings, if so add the settings form first + // Check to see if this type has settings, if so add the settings form + // first. if ($handler && $handler->has_extra_options()) { views_ui_add_form_to_stack('config-item-extra', $form_state['view'], $form_state['display_id'], array($type, $id)); } - // Then add the form to the stack + // Then add the form to the stack. views_ui_add_form_to_stack('config-item', $form_state['view'], $form_state['display_id'], array($type, $id)); } } @@ -4216,19 +4319,19 @@ function views_ui_add_item_form_submit($form, &$form_state) { unset($form_state['view']->form_cache); } - // Store in cache + // Store in cache. views_ui_cache_set($form_state['view']); } /** - * Override handler for views_ui_edit_display_form + * Override handler for views_ui_edit_display_form. */ function views_ui_config_item_form_build_group($form, &$form_state) { $item = &$form_state['handler']->options; // flip. If the filter was a group, set back to a standard filter. $item['is_grouped'] = empty($item['is_grouped']); - // If necessary, set new defaults: + // If necessary, set new defaults. if ($item['is_grouped']) { $form_state['handler']->build_group_options(); } @@ -4302,13 +4405,13 @@ function views_ui_config_item_form($form, &$form_state) { $relationship_options = array(); foreach ($relationships as $relationship) { - // relationships can't link back to self. But also, due to ordering, + // Relationships can't link back to self. But also, due to ordering, // relationships can only link to prior relationships. if ($type == 'relationship' && $id == $relationship['id']) { break; } $relationship_handler = views_get_handler($relationship['table'], $relationship['field'], 'relationship'); - // ignore invalid/broken relationships. + // Ignore invalid/broken relationships. if (empty($relationship_handler)) { continue; } @@ -4432,7 +4535,6 @@ function views_ui_config_item_form_submit_temporary($form, &$form_state) { $handler = views_get_handler($item['table'], $item['field'], $handler_type, $override); $handler->init($form_state['view'], $item); - // Add the incoming options to existing options because items using // the extra form may not have everything in the form here. $options = $form_state['values']['options'] + $form_state['handler']->options; @@ -4441,17 +4543,17 @@ function views_ui_config_item_form_submit_temporary($form, &$form_state) { // extra stuff on the form is not sent through. $handler->unpack_options($handler->options, $options, NULL, FALSE); - // Store the item back on the view + // Store the item back on the view. $form_state['view']->temporary_options[$type][$form_state['id']] = $handler->options; - // @todo: Figure out whether views_ui_ajax_form is perhaps the better place to fix the issue. - // views_ui_ajax_form() drops the current form from the stack, even if it's an #ajax. - // So add the item back to the top of the stack. + // @todo: Figure out whether views_ui_ajax_form is perhaps the better place + // to fix the issue. views_ui_ajax_form() drops the current form from the + // stack, even if it's an #ajax. So add the item back to the top of the stack. views_ui_add_form_to_stack($form_state['form_key'], $form_state['view'], $form_state['display_id'], array($type, $item['id']), TRUE); $form_state['rerender'] = TRUE; $form_state['rebuild'] = TRUE; - // Write to cache + // Write to cache. views_ui_cache_set($form_state['view']); } @@ -4487,7 +4589,6 @@ function views_ui_config_item_form_submit($form, &$form_state) { $handler = views_get_handler($item['table'], $item['field'], $handler_type, $override); $handler->init($form_state['view'], $item); - // Add the incoming options to existing options because items using // the extra form may not have everything in the form here. $options = $form_state['values']['options'] + $form_state['handler']->options; @@ -4496,7 +4597,7 @@ function views_ui_config_item_form_submit($form, &$form_state) { // extra stuff on the form is not sent through. $handler->unpack_options($handler->options, $options, NULL, FALSE); - // Store the item back on the view + // Store the item back on the view. $form_state['view']->set_item($form_state['display_id'], $form_state['type'], $form_state['id'], $handler->options); // Ensure any temporary options are removed. @@ -4504,7 +4605,7 @@ function views_ui_config_item_form_submit($form, &$form_state) { unset($form_state['view']->temporary_options[$type][$form_state['id']]); } - // Write to cache + // Write to cache. views_ui_cache_set($form_state['view']); } @@ -4565,18 +4666,18 @@ function views_ui_config_item_group_form_submit($form, &$form_state) { $handler->groupby_form_submit($form, $form_state); - // Store the item back on the view + // Store the item back on the view. $form_state['view']->set_item($form_state['display_id'], $form_state['type'], $form_state['id'], $item); - // Write to cache + // Write to cache. views_ui_cache_set($form_state['view']); } /** - * Submit handler for removing an item from a view + * Submit handler for removing an item from a view. */ function views_ui_config_item_form_remove($form, &$form_state) { - // Store the item back on the view + // Store the item back on the view. list($was_defaulted, $is_defaulted) = views_ui_standard_override_values($form, $form_state); // If the display selection was changed toggle the override value. if ($was_defaulted != $is_defaulted) { @@ -4585,19 +4686,19 @@ function views_ui_config_item_form_remove($form, &$form_state) { } $form_state['view']->set_item($form_state['display_id'], $form_state['type'], $form_state['id'], NULL); - // Write to cache + // Write to cache. views_ui_cache_set($form_state['view']); } /** - * Override handler for views_ui_edit_display_form + * Override handler for views_ui_edit_display_form. */ function views_ui_config_item_form_expose($form, &$form_state) { $item = &$form_state['handler']->options; - // flip + // flip. $item['exposed'] = empty($item['exposed']); - // If necessary, set new defaults: + // If necessary, set new defaults. if ($item['exposed']) { $form_state['handler']->expose_options(); } @@ -4676,10 +4777,10 @@ function views_ui_config_item_extra_form_submit($form, &$form_state) { $item[$key] = $value; } - // Store the item back on the view + // Store the item back on the view. $form_state['view']->set_item($form_state['display_id'], $form_state['type'], $form_state['id'], $item); - // Write to cache + // Write to cache. views_ui_cache_set($form_state['view']); } @@ -4746,10 +4847,10 @@ function views_ui_config_style_form_submit($form, &$form_state) { // Store the data we're given. $item['style_options'] = $form_state['values']['style_options']; - // Store the item back on the view + // Store the item back on the view. $form_state['view']->set_item($form_state['display_id'], $form_state['type'], $form_state['id'], $item); - // Write to cache + // Write to cache. views_ui_cache_set($form_state['view']); } @@ -4824,7 +4925,7 @@ function views_ui_admin_settings_basic() { '#title' => t('Custom admin theme for the Views UI'), '#options' => array('_default' => t('- Use default -')) + $options, '#default_value' => variable_get('views_ui_custom_theme', '_default'), - '#description' => t('In some cases you might want to select a different admin theme for the Views UI.') + '#description' => t('In some cases you might want to select a different admin theme for the Views UI.'), ); $form['basic']['views_exposed_filter_any_label'] = array( @@ -4845,12 +4946,11 @@ function views_ui_admin_settings_basic() { '#default_value' => variable_get('views_ui_always_live_preview', TRUE), ); -// $form['live_preview']['views_ui_always_live_preview_button'] = array( -// '#type' => 'checkbox', -// '#title' => t('Always show the preview button, even when the automatically update option is checked'), -// '#default_value' => variable_get('views_ui_always_live_preview_button', FALSE), -// ); - + // $form['live_preview']['views_ui_always_live_preview_button'] = array( + // '#type' => 'checkbox', + // '#title' => t('Always show the preview button, even when the automatically update option is checked'), + // '#default_value' => variable_get('views_ui_always_live_preview_button', FALSE), + // ); $form['live_preview']['views_ui_show_preview_information'] = array( '#type' => 'checkbox', '#title' => t('Show information and statistics about the view during live preview'), @@ -4891,8 +4991,7 @@ function views_ui_admin_settings_basic() { '#dependency' => array('edit-views-ui-show-preview-information' => array(TRUE)), ); -// $form['live_preview']['views_ui_show_performance_statistics_where'] = array( - + // $form['live_preview']['views_ui_show_performance_statistics_where'] = array( return system_settings_form($form); } @@ -4953,7 +5052,7 @@ function views_ui_admin_settings_advanced() { '#title' => t('Localization'), ); - $form['locale']['views_localization_plugin'] = array( + $form['locale']['views_localization_plugin'] = array( '#type' => 'radios', '#title' => t('Translation method'), '#options' => views_fetch_plugin_names('localization', NULL, array()), @@ -4994,7 +5093,7 @@ function views_ui_admin_settings_advanced() { '#default_value' => views_get_enabled_display_extenders(), '#options' => $options, '#type' => 'checkboxes', - '#description' => t('Select extensions of the views interface.') + '#description' => t('Select extensions of the views interface.'), ); } @@ -5021,7 +5120,7 @@ function views_ui_config_item_form_rescan($form, &$form_state) { // function uses an internal cache (which was initialized before we // called drupal_theme_rebuild()) so it won't reflect the // current state of our theme registry. The only way to clear that cache - // is to re-initialize the theme system: + // is to re-initialize the theme system. unset($GLOBALS['theme']); drupal_theme_initialize(); @@ -5030,7 +5129,7 @@ function views_ui_config_item_form_rescan($form, &$form_state) { } /** - * Override handler for views_ui_edit_display_form + * Override handler for views_ui_edit_display_form. */ function views_ui_edit_display_form_change_theme($form, &$form_state) { // This is just a temporary variable. @@ -5042,11 +5141,11 @@ function views_ui_edit_display_form_change_theme($form, &$form_state) { } /** - * Page callback for views tag autocomplete + * Page callback for views tag autocomplete. */ function views_ui_autocomplete_tag($string = '') { $matches = array(); - // get matches from default views: + // Get matches from default views. views_include('view'); $views = views_get_all_views(); foreach ($views as $view) { @@ -5062,8 +5161,7 @@ function views_ui_autocomplete_tag($string = '') { } // ------------------------------------------------------------------ -// Get information from the Views data - +// Get information from the Views data. function _views_weight_sort($a, $b) { if ($a['weight'] != $b['weight']) { return $a['weight'] < $b['weight'] ? -1 : 1; @@ -5076,7 +5174,7 @@ function _views_weight_sort($a, $b) { } /** - * Fetch a list of all base tables available + * Fetch a list of all base tables available. * * @return * A keyed array of in the form of 'base_table' => 'Description'. @@ -5103,6 +5201,9 @@ function views_fetch_base_tables() { return $base_tables; } +/** + * + */ function _views_sort_types($a, $b) { $a_group = drupal_strtolower($a['group']); $b_group = drupal_strtolower($b['group']); @@ -5136,7 +5237,6 @@ function views_fetch_fields($base, $type, $grouping = FALSE) { static $fields = array(); if (empty($fields)) { $data = views_fetch_data(); - $start = microtime(TRUE); // This constructs this ginormous multi dimensional array to // collect the important data about fields. In the end, // the structure looks a bit like this (using nid as an example) @@ -5146,13 +5246,18 @@ function views_fetch_fields($base, $type, $grouping = FALSE) { // can appear in different places in the actual data structure so that // the data doesn't have to be repeated a lot. This essentially lets // each field have a cheap kind of inheritance. - + $components = array('title', 'group', 'help', 'base', 'aliases'); + $components_errors = array(); + // Fixed number of calls to t() to produce error components. + foreach ($components as $string) { + $components_errors[$string] = t("Error: missing @component", array('@component' => $string)); + } foreach ($data as $table => $table_data) { $bases = array(); $strings = array(); $skip_bases = array(); foreach ($table_data as $field => $info) { - // Collect table data from this table + // Collect table data from this table. if ($field == 'table') { // calculate what tables this table can join to. if (!empty($info['join'])) { @@ -5181,22 +5286,22 @@ function views_fetch_fields($base, $type, $grouping = FALSE) { if (isset($info[$key]['moved to'])) { continue; } - foreach (array('title', 'group', 'help', 'base', 'aliases') as $string) { - // First, try the lowest possible level + foreach ($components as $string) { + // First, try the lowest possible level. if (!empty($info[$key][$string])) { $strings[$field][$key][$string] = $info[$key][$string]; } - // Then try the field level + // Then try the field level. elseif (!empty($info[$string])) { $strings[$field][$key][$string] = $info[$string]; } - // Finally, try the table level + // Finally, try the table level. elseif (!empty($table_data['table'][$string])) { $strings[$field][$key][$string] = $table_data['table'][$string]; } else { - if ($string != 'base' && $string != 'base') { - $strings[$field][$key][$string] = t("Error: missing @component", array('@component' => $string)); + if ($string != 'base') { + $strings[$field][$key][$string] = $components_errors[$string]; } } } @@ -5213,12 +5318,10 @@ function views_fetch_fields($base, $type, $grouping = FALSE) { } } } -// vsm('Views UI data build time: ' . (views_microtime() - $start) * 1000 . ' ms'); } - // If we have an array of base tables available, go through them - // all and add them together. Duplicate keys will be lost and that's - // Just Fine. + // If we have an array of base tables available, go through them all and add + // them together. Duplicate keys will be lost and that's Just Fine. if (is_array($base)) { $strings = array(); foreach ($base as $base_table) { @@ -5239,7 +5342,7 @@ function views_fetch_fields($base, $type, $grouping = FALSE) { /** - * Theme the form for the table style plugin + * Theme the form for the table style plugin. */ function theme_views_ui_style_plugin_table($variables) { $form = $variables['form']; @@ -5326,6 +5429,9 @@ function views_ui_get_display_label($view, $display_id, $check_changed = TRUE) { return $title; } +/** + * + */ function views_ui_add_template_page() { $templates = views_get_all_templates(); @@ -5353,7 +5459,9 @@ function views_ui_add_template_page() { } /** - * #process callback for a button; determines if a button is the form's triggering element. + * #process callback for a button. + * + * Determines if a button is the form's triggering element. * * The Form API has logic to determine the form's triggering element based on * the data in $_POST. However, it only checks buttons based on a single #value @@ -5376,7 +5484,9 @@ function views_ui_form_button_was_clicked($element, &$form_state) { } /** - * #process callback for a button; makes implicit form submissions trigger as this button. + * #process callback for a button. + * + * Makes implicit form submissions trigger as this button. * * @see Drupal.behaviors.viewsImplicitFormSubmission */ diff --git a/profiles/wcm_base/modules/contrib/views/includes/ajax.inc b/profiles/wcm_base/modules/contrib/views/includes/ajax.inc index 90e4ca9b1775224c38ab9126565bfe427aa17960..e7b3789d8b5013e9d562fb9868efdf4285a93be4 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/ajax.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/ajax.inc @@ -25,7 +25,8 @@ function views_ajax() { $commands = array(); - // Remove all of this stuff from $_GET so it doesn't end up in pagers and tablesort URLs. + // Remove all of this stuff from $_GET so it doesn't end up in pagers and + // tablesort URLs. foreach (array('view_name', 'view_display_id', 'view_args', 'view_path', 'view_dom_id', 'pager_element', 'view_base_path', 'ajax_html_ids', 'ajax_page_state') as $key) { if (isset($_GET[$key])) { unset($_GET[$key]); @@ -46,11 +47,11 @@ function views_ajax() { $_GET['q'] = $path; } - // If page parameter is in the $_POST exclude it from $_GET, - // otherwise support views_ajax requests using $_GET. + // If page parameter is in the $_POST exclude it from $_GET, otherwise + // support views_ajax requests using $_GET. $exclude = isset($_POST['page']) ? array('page') : array(); - // Add all $_POST data to $_GET as many things, - // such as tablesorts, exposed filters and paging assume $_GET. + // Add all $_POST data to $_GET as many things, such as tablesorts, + // exposed filters and paging assume $_GET. $_GET = $_POST + drupal_get_query_parameters($_GET, $exclude); // Overwrite the destination. @@ -81,14 +82,14 @@ function views_ajax() { /** * Creates a Drupal AJAX 'viewsSetForm' command. * - * @param $output + * @param string $output * The form to display in the modal. - * @param $title + * @param string $title * The title. - * @param $url + * @param string $url * An optional URL. * - * @return + * @return array * An array suitable for use with the ajax_render() function. */ function views_ajax_command_set_form($output, $title, $url = NULL) { @@ -106,7 +107,7 @@ function views_ajax_command_set_form($output, $title, $url = NULL) { /** * Creates a Drupal AJAX 'viewsDismissForm' command. * - * @return + * @return array * An array suitable for use with the ajax_render() function. */ function views_ajax_command_dismiss_form() { @@ -119,8 +120,8 @@ function views_ajax_command_dismiss_form() { /** * Creates a Drupal AJAX 'viewsHilite' command. * - * @param $selector - * The selector to highlight + * @param string $selector + * The selector to highlight. * * @return * An array suitable for use with the ajax_render() function. @@ -135,14 +136,14 @@ function views_ajax_command_hilite($selector) { /** * Creates a Drupal AJAX 'addTab' command. * - * @param $id + * @param string $id * The DOM ID. - * @param $title + * @param string $title * The title. - * @param $body + * @param string $body * The body. * - * @return + * @return array * An array suitable for use with the ajax_render() function. */ function views_ajax_command_add_tab($id, $title, $body) { @@ -158,7 +159,7 @@ function views_ajax_command_add_tab($id, $title, $body) { /** * Scroll to top of the current view. * - * @return + * @return array * An array suitable for use with the ajax_render() function. */ function views_ajax_command_scroll_top($selector) { @@ -175,7 +176,7 @@ function views_ajax_command_scroll_top($selector) { * @param bool $changed * Whether of not the view has changed. * - * @return + * @return array * An array suitable for use with the ajax_render() function. */ function views_ajax_command_show_buttons($changed) { @@ -189,7 +190,7 @@ function views_ajax_command_show_buttons($changed) { /** * Trigger the Views live preview. * - * @return + * @return array * An array suitable for use with the ajax_render() function. */ function views_ajax_command_trigger_preview() { @@ -202,7 +203,7 @@ function views_ajax_command_trigger_preview() { /** * Replace the page title. * - * @return + * @return array * An array suitable for use with the ajax_render() function. */ function views_ajax_command_replace_title($title) { @@ -216,6 +217,12 @@ function views_ajax_command_replace_title($title) { /** * Return an AJAX error. + * + * @param string $message + * The message to display. + * + * @return array + * An array suitable for use with the ajax_render() function. */ function views_ajax_error($message) { $commands = array(); @@ -225,6 +232,7 @@ function views_ajax_error($message) { /** * Wrapper around drupal_build_form to handle some AJAX stuff automatically. + * * This makes some assumptions about the client. */ function views_ajax_form_wrapper($form_id, &$form_state) { @@ -243,15 +251,15 @@ function views_ajax_form_wrapper($form_id, &$form_state) { $form = drupal_build_form($form_id, $form_state); $output = drupal_render($form); - // These forms have the title built in, so set the title here: + // These forms have the title built in, so set the title here. if (empty($form_state['ajax']) && !empty($form_state['title'])) { drupal_set_title($form_state['title']); drupal_add_css(drupal_get_path('module', 'views_ui') . '/css/views-admin.css'); } if (!empty($form_state['ajax']) && (empty($form_state['executed']) || !empty($form_state['rerender']))) { - // If the form didn't execute and we're using ajax, build up a - // Ajax command list to execute. + // If the form didn't execute and we're using ajax, build up a AJAX command + // list to execute. $commands = array(); $display = ''; @@ -279,7 +287,7 @@ function views_ajax_form_wrapper($form_id, &$form_state) { return $commands; } - // These forms have the title built in, so set the title here: + // These forms have the title built in, so set the title here. if (empty($form_state['ajax']) && !empty($form_state['title'])) { drupal_set_title($form_state['title']); } @@ -289,13 +297,14 @@ function views_ajax_form_wrapper($form_id, &$form_state) { /** - * Page callback for views user autocomplete + * Page callback for views user autocomplete. */ function views_ajax_autocomplete_user($string = '') { - // The user enters a comma-separated list of user name. We only autocomplete the last name. + // The user enters a comma-separated list of user name. We only autocomplete + // the last name. $array = drupal_explode_tags($string); - // Fetch last name + // Fetch last name. $last_string = trim(array_pop($array)); $matches = array(); if ($last_string != '') { @@ -328,16 +337,16 @@ function views_ajax_autocomplete_user($string = '') { /** * Page callback for views taxonomy autocomplete. * - * @param $vid + * @param int $vid * The vocabulary id of the tags which should be returned. - * - * @param $tags_typed + * @param string $tags_typed * The typed string of the user. * * @see taxonomy_autocomplete() */ function views_ajax_autocomplete_taxonomy($vid, $tags_typed = '') { - // The user enters a comma-separated list of tags. We only autocomplete the last tag. + // The user enters a comma-separated list of tags. We only autocomplete the + // last tag. $tags_typed = drupal_explode_tags($tags_typed); $tag_last = drupal_strtolower(array_pop($tags_typed)); diff --git a/profiles/wcm_base/modules/contrib/views/includes/analyze.inc b/profiles/wcm_base/modules/contrib/views/includes/analyze.inc index 68ee334bcbeabd42d8647293edbcdd982e3c189a..5dd58de2f558f5b084d50bee7313d15ebc675392 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/analyze.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/analyze.inc @@ -16,8 +16,8 @@ * Analyze a review and return the results. * * @return - * An array of analyze results organized into arrays keyed by 'ok', - * 'warning' and 'error'. + * An array of analyze results organized into arrays keyed by 'ok', 'warning' + * and 'error'. */ function views_analyze_view(&$view) { $view->init_display(); @@ -79,12 +79,12 @@ function views_analyze_format_result($view, $messages) { * that may be broken unless the user knows what he or she is doing, * and 'error' for items that are definitely broken are much more useful. * - * @param $messages + * @param string $message * The message to report. - * @param $type + * @param string $type * The type of message. This should be "ok", "warning" or "error". Other - * values can be used but how they are treated by the output routine - * is undefined. + * values can be used but how they are treated by the output routine is + * undefined. */ function views_ui_analysis($message, $type = 'error') { return array('message' => $message, 'type' => $type); @@ -99,7 +99,7 @@ function views_ui_analysis($message, $type = 'error') { */ function views_ui_views_analyze($view) { $ret = array(); - // Check for something other than the default display: + // Check for something other than the default display. if (count($view->display) < 2) { $ret[] = views_ui_analysis(t('This view has only a default display and therefore will not be placed anywhere on your site; perhaps you want to add a page or a block display.'), 'warning'); } diff --git a/profiles/wcm_base/modules/contrib/views/includes/base.inc b/profiles/wcm_base/modules/contrib/views/includes/base.inc index 2d2ceb56de98f2385326e6d5c672ea086afd77bf..b2c8622acdca19515cfb99414f69a9128b395a1d 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/base.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/base.inc @@ -2,34 +2,36 @@ /** * @file - * Provides the basic object definitions used by plugins and handlers. + * Definition of views_object. */ /** - * Basic definition for many views objects. + * Provides the basic object definitions used by plugins and handlers. */ class views_object { + /** * Except for displays, options for the object will be held here. */ - var $options = array(); + public $options = array(); /** * The top object of a view. * * @var view */ - var $view = NULL; + public $view = NULL; /** - * Handler's definition + * Handler's definition. * * @var array */ - var $definition; + public $definition; /** * Information about options for all kinds of purposes will be held here. + * * @code * 'option_name' => array( * - 'default' => default value, @@ -52,35 +54,69 @@ class views_object { * @see views_object::export_option_always() * @see views_object::unpack_translatable() */ - function option_definition() { return array(); } + public function option_definition() { + return array(); + } + + /** + * Collect this handler's option definition and alter them, ready for use. + * + * @return array + * Returns the options of this handler/plugin after allowing for alters. + * + * @see hook_views_plugin_option_definition_alter() + * @see hook_views_handler_option_definition_alter() + */ + function altered_option_definition() { + $definition = $this->option_definition(); + if (!empty($this->is_plugin)) { + // Trigger hook_views_plugin_option_definition_alter(). + drupal_alter('views_plugin_option_definition', $definition, $this); + } + else { + // Trigger hook_views_handler_option_definition_alter(). + drupal_alter('views_handler_option_definition', $definition, $this); + } + return $definition; + } /** - * Views handlers use a special construct function so that we can more - * easily construct them with variable arguments. + * Views handlers use a special construct function. + * + * Allows it to more easily construct them with variable arguments. */ - function construct() { $this->set_default_options(); } + public function construct() { + $this->set_default_options(); + } /** - * Set default options on this object. Called by the constructor in a - * complex chain to deal with backward compatibility. + * Set default options on this object. + * + * Called by the constructor in a complex chain to deal with backward + * compatibility. * * @deprecated since views2 */ - function options(&$options) { } + public function options(&$options) { + } /** * Set default options. - * For backward compatibility, it sends the options array; this is a - * feature that will likely disappear at some point. + * + * For backward compatibility, it sends the options array; this is a feature + * that will likely disappear at some point. */ - function set_default_options() { - $this->_set_option_defaults($this->options, $this->option_definition()); + public function set_default_options() { + $this->_set_option_defaults($this->options, $this->altered_option_definition()); // Retained for complex defaults plus backward compatibility. $this->options($this->options); } - function _set_option_defaults(&$storage, $options, $level = 0) { + /** + * + */ + public function _set_option_defaults(&$storage, $options, $level = 0) { foreach ($options as $option => $definition) { if (isset($definition['contains']) && is_array($definition['contains'])) { $storage[$option] = array(); @@ -96,28 +132,28 @@ class views_object { } /** - * Unpack options over our existing defaults, drilling down into arrays - * so that defaults don't get totally blown away. + * Unpack options over our existing defaults, drilling down into arrays so + * that defaults don't get totally blown away. */ - function unpack_options(&$storage, $options, $definition = NULL, $all = TRUE, $check = TRUE, $localization_keys = array()) { + public function unpack_options(&$storage, $options, $definition = NULL, $all = TRUE, $check = TRUE, $localization_keys = array()) { if ($check && !is_array($options)) { return; } if (!isset($definition)) { - $definition = $this->option_definition(); + $definition = $this->altered_option_definition(); } if (!empty($this->view)) { // Ensure we have a localization plugin. $this->view->init_localization(); - // Set up default localization keys. Handlers and such set this for us + // Set up default localization keys. Handlers and such set this for us. if (empty($localization_keys) && isset($this->localization_keys)) { $localization_keys = $this->localization_keys; } // but plugins don't because there isn't a common init() these days. - else if (!empty($this->is_plugin) && empty($localization_keys)) { + elseif (!empty($this->is_plugin) && empty($localization_keys)) { if ($this->plugin_type != 'display') { $localization_keys = array($this->view->current_display); $localization_keys[] = $this->plugin_type; @@ -146,9 +182,9 @@ class views_object { $this->unpack_options($storage[$key], $value, isset($definition[$key]['contains']) ? $definition[$key]['contains'] : array(), $all, FALSE, array_merge($localization_keys, array($key))); } - // Don't localize strings during editing. When editing, we need to work with - // the original data, not the translated version. - else if (empty($this->view->editing) && !empty($definition[$key]['translatable']) && !empty($value) || !empty($definition['contains'][$key]['translatable']) && !empty($value)) { + // Don't localize strings during editing. When editing, we need to work + // with the original data, not the translated version. + elseif (empty($this->view->editing) && !empty($definition[$key]['translatable']) && !empty($value) || !empty($definition['contains'][$key]['translatable']) && !empty($value)) { if (!empty($this->view) && $this->view->is_translatable()) { // Allow other modules to make changes to the string before it's // sent for translation. @@ -170,7 +206,7 @@ class views_object { $storage[$key] = t($value); } } - else if ($all || !empty($definition[$key])) { + elseif ($all || !empty($definition[$key])) { $storage[$key] = $value; } } @@ -179,14 +215,17 @@ class views_object { /** * Let the handler know what its full definition is. */ - function set_definition($definition) { + public function set_definition($definition) { $this->definition = $definition; if (isset($definition['field'])) { $this->real_field = $definition['field']; } } - function destroy() { + /** + * Destructor. + */ + public function destroy() { if (isset($this->view)) { unset($this->view); } @@ -200,16 +239,22 @@ class views_object { } } - function export_options($indent, $prefix) { + /** + * + */ + public function export_options($indent, $prefix) { $output = ''; - foreach ($this->option_definition() as $option => $definition) { + foreach ($this->altered_option_definition() as $option => $definition) { $output .= $this->export_option($indent, $prefix, $this->options, $option, $definition, array()); } return $output; } - function export_option($indent, $prefix, $storage, $option, $definition, $parents) { + /** + * + */ + public function export_option($indent, $prefix, $storage, $option, $definition, $parents) { // Do not export options for which we have no settings. if (!isset($storage[$option])) { return; @@ -220,7 +265,7 @@ class views_object { return; } - // Special handling for some items + // Special handling for some items. if (method_exists($this, $definition['export'])) { return $this->{$definition['export']}($indent, $prefix, $storage, $option, $definition, $parents); } @@ -262,7 +307,7 @@ class views_object { /** * Always exports the option, regardless of the default value. */ - function export_option_always($indent, $prefix, $storage, $option, $definition, $parents) { + public function export_option_always($indent, $prefix, $storage, $option, $definition, $parents) { // If there is no default, the option will always be exported. unset($definition['default']); // Unset our export method to prevent recursion. @@ -273,8 +318,8 @@ class views_object { /** * Unpacks each handler to store translatable texts. */ - function unpack_translatables(&$translatable, $parents = array()) { - foreach ($this->option_definition() as $option => $definition) { + public function unpack_translatables(&$translatable, $parents = array()) { + foreach ($this->altered_option_definition() as $option => $definition) { $this->unpack_translatable($translatable, $this->options, $option, $definition, $parents, array()); } } @@ -284,21 +329,21 @@ class views_object { * * This function run's through all suboptions recursive. * - * @param $translatable + * @param array $translatable * Stores all available translatable items. - * @param $storage - * @param $option - * @param $definition - * @param $parents - * @param $keys + * @param array $storage + * @param string $option + * @param string $definition + * @param array $parents + * @param array $keys */ - function unpack_translatable(&$translatable, $storage, $option, $definition, $parents, $keys = array()) { + public function unpack_translatable(&$translatable, $storage, $option, $definition, $parents, $keys = array()) { // Do not export options for which we have no settings. if (!isset($storage[$option])) { return; } - // Special handling for some items + // Special handling for some items. if (isset($definition['unpack_translatable']) && method_exists($this, $definition['unpack_translatable'])) { return $this->{$definition['unpack_translatable']}($translatable, $storage, $option, $definition, $parents, $keys); } @@ -328,8 +373,8 @@ class views_object { if (is_array($value)) { $this->unpack_translatable($translatable, $options, $key, $definition, $parents, $translation_keys); } - else if (!empty($definition[$key]['translatable']) && !empty($value)) { - // Build source data and add to the array + elseif (!empty($definition[$key]['translatable']) && !empty($value)) { + // Build source data and add to the array. $format = NULL; if (isset($definition['format_key']) && isset($options[$definition['format_key']])) { $format = $options[$definition['format_key']]; @@ -342,9 +387,9 @@ class views_object { } } } - else if (!empty($definition['translatable']) && !empty($options)) { + elseif (!empty($definition['translatable']) && !empty($options)) { $value = $options; - // Build source data and add to the array + // Build source data and add to the array. $format = NULL; if (isset($definition['format_key']) && isset($storage[$definition['format_key']])) { $format = $storage[$definition['format_key']]; @@ -356,4 +401,5 @@ class views_object { ); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/includes/cache.inc b/profiles/wcm_base/modules/contrib/views/includes/cache.inc index b836db413ec3f33de5110c925cc4991a91a524c6..6ef36dfeec3a0d17a2a1de6b342b043ae79fe0ae 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/cache.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/cache.inc @@ -6,11 +6,13 @@ */ /** - * Fetch Views' data from the cache + * Fetch Views' data from the cache. * - * @param $move - * Under certain circumstances it makes sense to not get the moved table, but the old one. - * One example is views_get_handler. + * @param string $table + * @param bool $move + * Under certain circumstances it makes sense to not get the moved table, but + * the old one. One example is views_get_handler. + * @param bool $reset */ function _views_fetch_data($table = NULL, $move = TRUE, $reset = FALSE) { $cache = &drupal_static(__FUNCTION__ . '_cache'); @@ -100,7 +102,8 @@ function _views_fetch_data_build() { } /** - * Links tables having an 'entity type' specified to the respective generic entity-type tables. + * Links tables having an 'entity type' specified to the respective generic + * entity-type tables. */ function _views_data_process_entity_types(&$data) { foreach ($data as $table_name => $table_info) { @@ -151,7 +154,7 @@ function _views_fetch_plugin_data($type = NULL, $plugin = NULL, $reset = FALSE) return $cache; } elseif (!$plugin) { - // Not in the if above so the else below won't run + // Not in the if above so the else below won't run. if (isset($cache[$type])) { return $cache[$type]; } @@ -169,12 +172,13 @@ function _views_fetch_plugin_data($type = NULL, $plugin = NULL, $reset = FALSE) * * This is just a convenience wrapper around cache_set(). * - * @param $cid + * @param string $cid * The cache ID of the data to store. - * @param $data - * The data to store in the cache. Complex data types will be automatically serialized before insertion. - * Strings will be stored as plain text and not serialized. - * @param $use_language + * @param mixed $data + * The data to store in the cache. Complex data types will be automatically + * serialized before insertion. Strings will be stored as plain text and not + * serialized. + * @param bool $use_language * If TRUE, the data will be cached specific to the currently active language. */ function views_cache_set($cid, $data, $use_language = FALSE) { @@ -198,7 +202,8 @@ function views_cache_set($cid, $data, $use_language = FALSE) { * @param int $cid * The cache ID of the data to retrieve. * @param bool $use_language - * If TRUE, the data will be requested specific to the currently active language. + * If TRUE, the data will be requested specific to the currently active + * language. * * @return stdClass|bool * The cache or FALSE on failure. diff --git a/profiles/wcm_base/modules/contrib/views/includes/handlers.inc b/profiles/wcm_base/modules/contrib/views/includes/handlers.inc index c8fd3b034a087a9efc499408b0aa484a015d669a..0e7af4aece7b922117a6b27c33f26c20df5dfb3b 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/handlers.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/handlers.inc @@ -6,13 +6,13 @@ */ /** - * Instantiate and construct a new handler + * Instantiate and construct a new handler. */ function _views_create_handler($definition, $type = 'handler', $handler_type = NULL) { -// debug('Instantiating handler ' . $definition['handler']); + // debug('Instantiating handler ' . $definition['handler']); if (empty($definition['handler'])) { vpr('_views_create_handler - type: @type - failed: handler has not been provided.', - array('@type' => isset($handler_type) ? ( $type . '(handler type: ' . $handler_type . ')' ) : $type) + array('@type' => isset($handler_type) ? ($type . '(handler type: ' . $handler_type . ')') : $type) ); return; } @@ -24,8 +24,8 @@ function _views_create_handler($definition, $type = 'handler', $handler_type = N '_views_create_handler - loading override handler @type failed: class @override_handler could not be loaded. ' . 'Verify the class file has been registered in the corresponding .info-file (files[]).', array( - '@type' => isset($handler_type) ? ( $type . '(handler type: ' . $handler_type . ')' ) : $type, - '@override_handler' => $definition['override handler'] + '@type' => isset($handler_type) ? ($type . '(handler type: ' . $handler_type . ')') : $type, + '@override_handler' => $definition['override handler'], ) ); return; @@ -36,19 +36,19 @@ function _views_create_handler($definition, $type = 'handler', $handler_type = N '_views_create_handler - loading handler @type failed: class @handler could not be loaded. ' . 'Verify the class file has been registered in the corresponding .info-file (files[]).', array( - '@type' => isset($handler_type) ? ( $type . '(handler type: ' . $handler_type . ')' ) : $type, - '@handler' => $definition['handler'] + '@type' => isset($handler_type) ? ($type . '(handler type: ' . $handler_type . ')') : $type, + '@handler' => $definition['handler'], ) ); return; } - if (!empty($definition['override handler'])) { - $handler = new $definition['override handler']; - } - else { - $handler = new $definition['handler']; - } + if (!empty($definition['override handler'])) { + $handler = new $definition['override handler']; + } + else { + $handler = new $definition['handler']; + } $handler->set_definition($definition); if ($type == 'handler') { @@ -73,11 +73,11 @@ function _views_create_handler($definition, $type = 'handler', $handler_type = N function _views_prepare_handler($definition, $data, $field, $type) { foreach (array('group', 'title', 'title short', 'help', 'real field') as $key) { if (!isset($definition[$key])) { - // First check the field level + // First check the field level. if (!empty($data[$field][$key])) { $definition[$key] = $data[$field][$key]; } - // Then if that doesn't work, check the table level + // Then if that doesn't work, check the table level. elseif (!empty($data['table'][$key])) { $definition[$key] = $data['table'][$key]; } @@ -88,7 +88,7 @@ function _views_prepare_handler($definition, $data, $field, $type) { } /** - * Fetch a handler to join one table to a primary table from the data cache + * Fetch a handler to join one table to a primary table from the data cache. */ function views_get_table_join($table, $base_table) { $data = views_fetch_data($table); @@ -101,7 +101,7 @@ function views_get_table_join($table, $base_table) { $handler = new views_join(); } - // Fill in some easy defaults + // Fill in some easy defaults. $handler->definition = $h; if (empty($handler->definition['table'])) { $handler->definition['table'] = $table; @@ -121,7 +121,7 @@ function views_get_table_join($table, $base_table) { return $handler; } - // DEBUG -- identify missing handlers + // DEBUG -- identify missing handlers. vpr("Missing join: @table @base_table", array('@table' => $table, '@base_table' => $base_table)); } @@ -147,29 +147,30 @@ function views_get_table_join($table, $base_table) { * field/handler is or does. * - access callback: If this field should have access control, this could * be a function to use. 'user_access' is a common - * function to use here. If not specified, no access + * public function to use here. If not specified, no access * control is provided. * - access arguments: An array of arguments for the access callback. */ class views_handler extends views_object { + /** * The top object of a view. * * @var view */ - var $view = NULL; + public $view = NULL; /** - * Where the $query object will reside: + * Where the $query object will reside:. * * @var views_plugin_query */ - var $query = NULL; + public $query = NULL; /** * The type of the handler, for example filter/footer/field. */ - var $handler_type = NULL; + public $handler_type = NULL; /** * The alias of the table of this handler which is used in the query. @@ -180,28 +181,28 @@ class views_handler extends views_object { * The actual field in the database table, maybe different * on other kind of query plugins/special handlers. */ - var $real_field; + public $real_field; /** * The relationship used for this field. */ - var $relationship = NULL; + public $relationship = NULL; /** - * init the handler with necessary data. - * @param $view + * Init the handler with necessary data. + * + * @param view $view * The $view object this handler is attached to. - * @param $options + * @param array $options * The item from the database; the actual contents of this will vary * based upon the type of handler. */ - function init(&$view, &$options) { + public function init(&$view, &$options) { $this->view = &$view; $display_id = $this->view->current_display; // Check to see if this handler type is defaulted. Note that // we have to do a lookup because the type is singular but the // option is stored as the plural. - // If the 'moved to' keyword moved our handler, let's fix that now. if (isset($this->actual_table)) { $options['table'] = $this->actual_table; @@ -224,7 +225,7 @@ class views_handler extends views_object { $display_id, $this->handler_type, $options['table'], - $options['id'] + $options['id'], ); $this->unpack_options($this->options, $options); @@ -252,7 +253,10 @@ class views_handler extends views_object { $this->query = &$view->query; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['id'] = array('default' => ''); @@ -268,7 +272,7 @@ class views_handler extends views_object { /** * Return a string representing this handler's name in the UI. */ - function ui_name($short = FALSE) { + public function ui_name($short = FALSE) { if (!empty($this->options['ui_name'])) { $title = check_plain($this->options['ui_name']); return $title; @@ -284,7 +288,7 @@ class views_handler extends views_object { * non-standard fields. Because this takes an argument, fields * overriding this can just call return parent::get_field($formula) */ - function get_field($field = NULL) { + public function get_field($field = NULL) { if (!isset($field)) { if (!empty($this->formula)) { $field = $this->get_formula(); @@ -294,7 +298,8 @@ class views_handler extends views_object { } } - // If grouping, check to see if the aggregation method needs to modify the field. + // If grouping, check to see if the aggregation method needs to modify the + // field. if ($this->view->display_handler->use_group_by()) { $this->view->init_query(); if ($this->query) { @@ -311,25 +316,28 @@ class views_handler extends views_object { /** * Sanitize the value for output. * - * @param $value + * @param string $value * The value being rendered. - * @param $type + * @param string $type * The type of sanitization needed. If not provided, check_plain() is used. * * @return string * Returns the safe value. */ - function sanitize_value($value, $type = NULL) { + public function sanitize_value($value, $type = NULL) { switch ($type) { case 'xss': $value = filter_xss($value); break; + case 'xss_admin': $value = filter_xss_admin($value); break; + case 'url': $value = check_url($value); break; + default: $value = check_plain($value); break; @@ -340,9 +348,9 @@ class views_handler extends views_object { /** * Transform a string by a certain method. * - * @param $string + * @param string $string * The input you want to transform. - * @param $option + * @param array $option * How do you want to transform it, possible values: * - upper: Uppercase the string. * - lower: lowercase the string. @@ -352,7 +360,7 @@ class views_handler extends views_object { * @return string * The transformed string. */ - function case_transform($string, $option) { + public function case_transform($string, $option) { global $multibyte; switch ($option) { @@ -360,10 +368,13 @@ class views_handler extends views_object { return $string; case 'upper': return drupal_strtoupper($string); + case 'lower': return drupal_strtolower($string); + case 'ucfirst': return drupal_strtoupper(drupal_substr($string, 0, 1)) . drupal_substr($string, 1); + case 'ucwords': if ($multibyte == UNICODE_MULTIBYTE) { return mb_convert_case($string, MB_CASE_TITLE); @@ -377,12 +388,13 @@ class views_handler extends views_object { /** * Validate the options form. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** * Build the options form. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { // Some form elements belong in a fieldset for presentation, but can't // be moved into one because of the form_state['values'] hierarchy. Those // elements can add a #fieldset => 'fieldset_name' property, and they'll @@ -414,18 +426,20 @@ class views_handler extends views_object { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { } + public function options_submit(&$form, &$form_state) { + } /** * Provides the handler some groupby. */ - function use_group_by() { + public function use_group_by() { return TRUE; } + /** * Provide a form for aggregation settings. */ - function groupby_form(&$form, &$form_state) { + public function groupby_form(&$form, &$form_state) { $view = &$form_state['view']; $display_id = $form_state['display_id']; $types = views_object_types(); @@ -456,7 +470,7 @@ class views_handler extends views_object { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function groupby_form_submit(&$form, &$form_state) { + public function groupby_form_submit(&$form, &$form_state) { $item =& $form_state['handler']->options; $item['group_type'] = $form_state['values']['options']['group_type']; @@ -466,85 +480,102 @@ class views_handler extends views_object { * If a handler has 'extra options' it will get a little settings widget and * another form called extra_options. */ - function has_extra_options() { return FALSE; } + public function has_extra_options() { + return FALSE; + } /** * Provide defaults for the handler. */ - function extra_options(&$option) { } + public function extra_options(&$option) { + } /** * Provide a form for setting options. */ - function extra_options_form(&$form, &$form_state) { } + public function extra_options_form(&$form, &$form_state) { + } /** * Validate the options form. */ - function extra_options_validate($form, &$form_state) { } + public function extra_options_validate($form, &$form_state) { + } /** * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function extra_options_submit($form, &$form_state) { } + public function extra_options_submit($form, &$form_state) { + } /** * Determine if a handler can be exposed. */ - function can_expose() { return FALSE; } + public function can_expose() { + return FALSE; + } /** * Set new exposed option defaults when exposed setting is flipped * on. */ - function expose_options() { } + public function expose_options() { + } /** * Get information about the exposed form for the form renderer. */ - function exposed_info() { } + public function exposed_info() { + } /** - * Render our chunk of the exposed handler form when selecting + * Render our chunk of the exposed handler form when selecting. */ - function exposed_form(&$form, &$form_state) { } + public function exposed_form(&$form, &$form_state) { + } /** - * Validate the exposed handler form + * Validate the exposed handler form. */ - function exposed_validate(&$form, &$form_state) { } + public function exposed_validate(&$form, &$form_state) { + } /** - * Submit the exposed handler form + * Submit the exposed handler form. */ - function exposed_submit(&$form, &$form_state) { } + public function exposed_submit(&$form, &$form_state) { + } /** * Form for exposed handler options. */ - function expose_form(&$form, &$form_state) { } + public function expose_form(&$form, &$form_state) { + } /** * Validate the options form. */ - function expose_validate($form, &$form_state) { } + public function expose_validate($form, &$form_state) { + } /** * Perform any necessary changes to the form exposes prior to storage. * There is no need for this function to actually store the data. */ - function expose_submit($form, &$form_state) { } + public function expose_submit($form, &$form_state) { + } /** * Shortcut to display the expose/hide button. */ - function show_expose_button(&$form, &$form_state) { } + public function show_expose_button(&$form, &$form_state) { + } /** * Shortcut to display the exposed options form. */ - function show_expose_form(&$form, &$form_state) { + public function show_expose_form(&$form, &$form_state) { if (empty($this->options['exposed'])) { return; } @@ -567,9 +598,9 @@ class views_handler extends views_object { /** * Check whether current user has access to this handler. * - * @return boolean + * @return bool */ - function access() { + public function access() { if (isset($this->definition['access callback']) && function_exists($this->definition['access callback'])) { if (isset($this->definition['access arguments']) && is_array($this->definition['access arguments'])) { return call_user_func_array($this->definition['access callback'], $this->definition['access arguments']); @@ -586,7 +617,8 @@ class views_handler extends views_object { * This gives all the handlers some time to set up before any handler has * been fully run. */ - function pre_query() { } + public function pre_query() { + } /** * Run after the view is executed, before the result is cached. @@ -595,12 +627,13 @@ class views_handler extends views_object { * used so that handlers that pull up secondary data can put it in the * $values so that the raw data can be utilized externally. */ - function post_execute(&$values) { } + public function post_execute(&$values) { + } /** * Provides a unique placeholders for handlers. */ - function placeholder() { + public function placeholder() { return $this->query->placeholder($this->options['table'] . '_' . $this->options['field']); } @@ -608,7 +641,7 @@ class views_handler extends views_object { * Called just prior to query(), this lets a handler set up any relationship * it needs. */ - function set_relationship() { + public function set_relationship() { // Ensure this gets set to something. $this->relationship = NULL; @@ -638,7 +671,7 @@ class views_handler extends views_object { * Ensure the main table for this handler is in the query. This is used * a lot. */ - function ensure_my_table() { + public function ensure_my_table() { if (!isset($this->table_alias)) { if (!method_exists($this->query, 'ensure_table')) { vpr(t('Ensure my table called but query has no ensure_table method.')); @@ -650,48 +683,59 @@ class views_handler extends views_object { } /** - * Provide text for the administrative summary + * Provide text for the administrative summary. */ - function admin_summary() { } + public function admin_summary() { + } /** * Determine if the argument needs a style plugin. * - * @return TRUE/FALSE + * @return bool */ - function needs_style_plugin() { return FALSE; } + public function needs_style_plugin() { + return FALSE; + } /** * Determine if this item is 'exposed', meaning it provides form elements * to let users modify the view. * - * @return TRUE/FALSE + * @return bool */ - function is_exposed() { + public function is_exposed() { return !empty($this->options['exposed']); } /** * Returns TRUE if the exposed filter works like a grouped filter. */ - function is_a_group() { return FALSE; } + public function is_a_group() { + return FALSE; + } /** * Define if the exposed input has to be submitted multiple times. * This is TRUE when exposed filters grouped are using checkboxes as * widgets. */ - function multiple_exposed_input() { return FALSE; } + public function multiple_exposed_input() { + return FALSE; + } /** * Take input from exposed handlers and assign to this handler, if necessary. */ - function accept_exposed_input($input) { return TRUE; } + public function accept_exposed_input($input) { + return TRUE; + } /** * If set to remember exposed input in the session, store it there. */ - function store_exposed_input($input, $status) { return TRUE; } + public function store_exposed_input($input, $status) { + return TRUE; + } /** * Get the join object that should be used for this handler. @@ -700,9 +744,9 @@ class views_handler extends views_object { * getting the join if it is necessary to make some changes to it, such * as adding an 'extra'. */ - function get_join() { + public function get_join() { // get the join from this table that links back to the base table. - // Determine the primary table to seek + // Determine the primary table to seek. if (empty($this->query->relationships[$this->relationship])) { $base_table = $this->query->base_table; } @@ -724,16 +768,25 @@ class views_handler extends views_object { * * @see views_handler::options_validate() * - * @return - * Empty array if the handler is valid; an array of error strings if it is not. + * @return array + * Empty array if the handler is valid; an array of error strings if it is + * not. */ - function validate() { return array(); } + public function validate() { + return array(); + } /** - * Determine if the handler is considered 'broken', meaning it's a - * a placeholder used when a handler can't be found. + * Determine if the handler is considered 'broken'. + * + * Generally only returns TRUE if the handler can't be found. + * + * @return bool + * The handler could not be loaded. */ - function broken() { } + public function broken() { + } + } /** @@ -748,9 +801,9 @@ class views_handler extends views_object { * definition terms: * - numeric: If true, treat this field as numeric, using %d instead of %s in * queries. - * */ class views_many_to_one_helper { + /** * Contains possible existing placeholders used by the query. * @@ -758,15 +811,24 @@ class views_many_to_one_helper { */ public $placeholders = array(); - function __construct(&$handler) { + /** + * {@inheritdoc} + */ + public function __construct(&$handler) { $this->handler = &$handler; } + /** + * {@inheritdoc} + */ static function option_definition(&$options) { $options['reduce_duplicates'] = array('default' => FALSE, 'bool' => TRUE); } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['reduce_duplicates'] = array( '#type' => 'checkbox', '#title' => t('Reduce duplicates'), @@ -777,11 +839,12 @@ class views_many_to_one_helper { } /** - * Sometimes the handler might want us to use some kind of formula, so give - * it that option. If it wants us to do this, it must set $helper->formula = TRUE - * and implement handler->get_formula(); + * Provide an option to use a formula. + * + * If it wants us to do this, it must set $helper->formula = TRUE and + * implement handler->get_formula();. */ - function get_field() { + public function get_field() { if (!empty($this->formula)) { return $this->handler->get_formula(); } @@ -793,12 +856,12 @@ class views_many_to_one_helper { /** * Add a table to the query. * - * This is an advanced concept; not only does it add a new instance of the table, - * but it follows the relationship path all the way down to the relationship - * link point and adds *that* as a new relationship and then adds the table to - * the relationship, if necessary. + * This is an advanced concept; not only does it add a new instance of the + * table, but it follows the relationship path all the way down to the + * relationship link point and adds *that* as a new relationship and then adds + * the table to the relationship, if necessary. */ - function add_table($join = NULL, $alias = NULL) { + public function add_table($join = NULL, $alias = NULL) { // This is used for lookups in the many_to_one table. $field = $this->handler->relationship . '_' . $this->handler->table . '.' . $this->handler->field; @@ -806,11 +869,11 @@ class views_many_to_one_helper { $join = $this->get_join(); } - // See if there's a chain between us and the base relationship. If so, we need - // to create a new relationship to use. + // See if there's a chain between us and the base relationship. If so, we + // need to create a new relationship to use. $relationship = $this->handler->relationship; - // Determine the primary table to seek + // Determine the primary table to seek. if (empty($this->handler->query->relationships[$relationship])) { $base_table = $this->handler->query->base_table; } @@ -821,7 +884,7 @@ class views_many_to_one_helper { // Cycle through the joins. This isn't as error-safe as the normal // ensure_path logic. Perhaps it should be. $r_join = clone $join; - while ($r_join->left_table != $base_table) { + while (!empty($r_join) && $r_join->left_table != $base_table) { $r_join = views_get_table_join($r_join->left_table, $base_table); } // If we found that there are tables in between, add the relationship. @@ -844,19 +907,24 @@ class views_many_to_one_helper { return $alias; } - function get_join() { + /** + * {@inheritdoc} + */ + public function get_join() { return $this->handler->get_join(); } /** - * Provide the proper join for summary queries. This is important in part because - * it will cooperate with other arguments if possible. + * Provide the proper join for summary queries. + * + * This is important in part because it will cooperate with other arguments if + * possible. */ - function summary_join() { + public function summary_join() { $field = $this->handler->relationship . '_' . $this->handler->table . '.' . $this->handler->field; $join = $this->get_join(); - // shortcuts + // Shortcuts. $options = $this->handler->options; $view = &$this->handler->view; $query = &$this->handler->query; @@ -887,16 +955,17 @@ class views_many_to_one_helper { /** * Override ensure_my_table so we can control how this joins in. + * * The operator actually has influence over joining. */ - function ensure_my_table() { + public function ensure_my_table() { if (!isset($this->handler->table_alias)) { // Case 1: Operator is an 'or' and we're not reducing duplicates. - // We hence get the absolute simplest: + // We hence get the absolute simplest. $field = $this->handler->relationship . '_' . $this->handler->table . '.' . $this->handler->field; if ($this->handler->operator == 'or' && empty($this->handler->options['reduce_duplicates'])) { if (empty($this->handler->options['add_table']) && empty($this->handler->view->many_to_one_tables[$field])) { - // query optimization, INNER joins are slightly faster, so use them + // Query optimization, INNER joins are slightly faster, so use them // when we know we can. $join = $this->get_join(); if (isset($join)) { @@ -930,7 +999,7 @@ class views_many_to_one_helper { // Case 2: it's an 'and' or an 'or'. // We do one join per selected value. if ($this->handler->operator != 'not') { - // Clone the join for each table: + // Clone the join for each table. $this->handler->table_aliases = array(); foreach ($this->handler->value as $value) { $join = $this->get_join(); @@ -962,8 +1031,8 @@ class views_many_to_one_helper { } } // Case 3: it's a 'not'. - // We just do one join. We'll add a where clause during - // the query phase to ensure that $table.$field IS NULL. + // We just do one join. We'll add a where clause during the query phase + // to ensure that $table.$field IS NULL. else { $join = $this->get_join(); $join->type = 'LEFT'; @@ -986,17 +1055,20 @@ class views_many_to_one_helper { /** * Provides a unique placeholders for handlers. */ - function placeholder() { + public function placeholder() { return $this->handler->query->placeholder($this->handler->options['table'] . '_' . $this->handler->options['field']); } - function add_filter() { + /** + * + */ + public function add_filter() { if (empty($this->handler->value)) { return; } $this->handler->ensure_my_table(); - // Shorten some variables: + // Shorten some variables. $field = $this->get_field(); $options = $this->handler->options; $operator = $this->handler->operator; @@ -1006,8 +1078,8 @@ class views_many_to_one_helper { $options['group'] = 0; } - // add_condition determines whether a single expression is enough(FALSE) or the - // conditions should be added via an db_or()/db_and() (TRUE). + // Determine whether a single expression is enough(FALSE) or the conditions + // should be added via an db_or()/db_and() (TRUE). $add_condition = TRUE; if ($operator == 'not') { $value = NULL; @@ -1051,22 +1123,22 @@ class views_many_to_one_helper { $clause->condition("$alias.$field", $value); } - // implode on either AND or OR. + // Implode on either AND or OR. $this->handler->query->add_where($options['group'], $clause); } } + } /** * Break x,y,z and x+y+z into an array. Works for strings. * - * @param $str + * @param string $str * The string to parse. - * @param $object - * The object to use as a base. If not specified one will - * be created. + * @param object $object + * The object to use as a base. If not specified one will be created. * - * @return $object + * @return object * An object containing * - operator: Either 'and' or 'or' * - value: An array of numeric values. @@ -1076,7 +1148,7 @@ function views_break_phrase_string($str, &$handler = NULL) { $handler = new stdClass(); } - // Set up defaults: + // Set up defaults. if (!isset($handler->value)) { $handler->value = array(); } @@ -1121,11 +1193,10 @@ function views_break_phrase_string($str, &$handler = NULL) { /** * Break x,y,z and x+y+z into an array. Numeric only. * - * @param $str + * @param string $str * The string to parse. - * @param $handler - * The handler object to use as a base. If not specified one will - * be created. + * @param object $handler + * The handler object to use as a base. If not specified one will be created. * * @return $handler * The new handler object. @@ -1135,8 +1206,7 @@ function views_break_phrase($str, &$handler = NULL) { $handler = new stdClass(); } - // Set up defaults: - + // Set up defaults. if (!isset($handler->value)) { $handler->value = array(); } @@ -1174,8 +1244,7 @@ function views_break_phrase($str, &$handler = NULL) { } // -------------------------------------------------------------------------- -// Date helper functions - +// Date helper functions. /** * Figure out what timezone we're in; needed for some date manipulations. */ @@ -1188,7 +1257,7 @@ function views_get_timezone() { $timezone = variable_get('date_default_timezone', 0); } - // set up the database timezone + // Set up the database timezone. $db_type = Database::getConnection()->databaseType(); if (in_array($db_type, array('mysql', 'pgsql'))) { $offset = '+00:00'; @@ -1201,7 +1270,7 @@ function views_get_timezone() { db_query("SET @@session.time_zone = '$offset'"); } - $already_set = true; + $already_set = TRUE; } } @@ -1211,15 +1280,16 @@ function views_get_timezone() { /** * Helper function to create cross-database SQL dates. * - * @param $field + * @param string $field * The real table and field name, like 'tablename.fieldname'. - * @param $field_type + * @param string $field_type * The type of date field, 'int' or 'datetime'. - * @param $set_offset + * @param string $set_offset * The name of a field that holds the timezone offset or a fixed timezone * offset value. If not provided, the normal Drupal timezone handling * will be used, i.e. $set_offset = 0 will make no timezone adjustment. - * @return + * + * @return string * An appropriate SQL string for the db type and field type. */ function views_date_sql_field($field, $field_type = 'int', $set_offset = NULL) { @@ -1237,6 +1307,7 @@ function views_date_sql_field($field, $field_type = 'int', $set_offset = NULL) { case 'int': $field = "DATE_ADD('19700101', INTERVAL $field SECOND)"; break; + case 'datetime': break; } @@ -1244,11 +1315,13 @@ function views_date_sql_field($field, $field_type = 'int', $set_offset = NULL) { $field = "($field + INTERVAL $offset_seconds SECOND)"; } return $field; + case 'pgsql': switch ($field_type) { case 'int': $field = "TO_TIMESTAMP($field)"; break; + case 'datetime': break; } @@ -1256,6 +1329,7 @@ function views_date_sql_field($field, $field_type = 'int', $set_offset = NULL) { $field = "($field + INTERVAL '$offset_seconds SECONDS')"; } return $field; + case 'sqlite': if (!empty($offset)) { $field = "($field + '$offset_seconds')"; @@ -1267,17 +1341,18 @@ function views_date_sql_field($field, $field_type = 'int', $set_offset = NULL) { /** * Helper function to create cross-database SQL date formatting. * - * @param $format + * @param string $format * A format string for the result, like 'Y-m-d H:i:s'. - * @param $field + * @param string $field * The real table and field name, like 'tablename.fieldname'. - * @param $field_type + * @param string $field_type * The type of date field, 'int' or 'datetime'. - * @param $set_offset + * @param string $set_offset * The name of a field that holds the timezone offset or a fixed timezone - * offset value. If not provided, the normal Drupal timezone handling - * will be used, i.e. $set_offset = 0 will make no timezone adjustment. - * @return + * offset value. If not provided, the normal Drupal timezone handling will be + * used, i.e. $set_offset = 0 will make no timezone adjustment. + * + * @return string * An appropriate SQL string for the db type and field type. */ function views_date_sql_format($format, $field, $field_type = 'int', $set_offset = NULL) { @@ -1302,48 +1377,69 @@ function views_date_sql_format($format, $field, $field_type = 'int', $set_offset 'i' => '%i', 's' => '%s', 'A' => '%p', - ); + ); $format = strtr($format, $replace); return "DATE_FORMAT($field, '$format')"; + case 'pgsql': $replace = array( 'Y' => 'YYYY', 'y' => 'YY', 'M' => 'Mon', 'm' => 'MM', - 'n' => 'MM', // no format for Numeric representation of a month, without leading zeros + // No format for Numeric representation of a month, without leading + // zeros. + 'n' => 'MM', 'F' => 'Month', 'D' => 'Dy', 'd' => 'DD', 'l' => 'Day', - 'j' => 'DD', // no format for Day of the month without leading zeros + // No format for Day of the month without leading zeros. + 'j' => 'DD', 'W' => 'WW', 'H' => 'HH24', 'h' => 'HH12', 'i' => 'MI', 's' => 'SS', 'A' => 'AM', - ); + ); $format = strtr($format, $replace); return "TO_CHAR($field, '$format')"; + case 'sqlite': $replace = array( - 'Y' => '%Y', // 4 digit year number - 'y' => '%Y', // no format for 2 digit year number - 'M' => '%m', // no format for 3 letter month name - 'm' => '%m', // month number with leading zeros - 'n' => '%m', // no format for month number without leading zeros - 'F' => '%m', // no format for full month name - 'D' => '%d', // no format for 3 letter day name - 'd' => '%d', // day of month number with leading zeros - 'l' => '%d', // no format for full day name - 'j' => '%d', // no format for day of month number without leading zeros - 'W' => '%W', // ISO week number - 'H' => '%H', // 24 hour hour with leading zeros - 'h' => '%H', // no format for 12 hour hour with leading zeros - 'i' => '%M', // minutes with leading zeros - 's' => '%S', // seconds with leading zeros - 'A' => '', // no format for AM/PM + // 4 digit year number. + 'Y' => '%Y', + // No format for 2 digit year number. + 'y' => '%Y', + // No format for 3 letter month name. + 'M' => '%m', + // Month number with leading zeros. + 'm' => '%m', + // No format for month number without leading zeros. + 'n' => '%m', + // No format for full month name. + 'F' => '%m', + // No format for 3 letter day name. + 'D' => '%d', + // Day of month number with leading zeros. + 'd' => '%d', + // No format for full day name. + 'l' => '%d', + // No format for day of month number without leading zeros. + 'j' => '%d', + // ISO week number. + 'W' => '%W', + // 24 hour hour with leading zeros. + 'H' => '%H', + // No format for 12 hour hour with leading zeros. + 'h' => '%H', + // Minutes with leading zeros. + 'i' => '%M', + // Seconds with leading zeros. + 's' => '%S', + // No format for AM/PM. + 'A' => '', ); $format = strtr($format, $replace); return "strftime('$format', $field, 'unixepoch')"; @@ -1353,17 +1449,18 @@ function views_date_sql_format($format, $field, $field_type = 'int', $set_offset /** * Helper function to create cross-database SQL date extraction. * - * @param $extract_type + * @param string $extract_type * The type of value to extract from the date, like 'MONTH'. - * @param $field + * @param string $field * The real table and field name, like 'tablename.fieldname'. - * @param $field_type + * @param string $field_type * The type of date field, 'int' or 'datetime'. - * @param $set_offset + * @param string $set_offset * The name of a field that holds the timezone offset or a fixed timezone * offset value. If not provided, the normal Drupal timezone handling * will be used, i.e. $set_offset = 0 will make no timezone adjustment. - * @return + * + * @return string * An appropriate SQL string for the db type and field type. */ function views_date_sql_extract($extract_type, $field, $field_type = 'int', $set_offset = NULL) { @@ -1371,46 +1468,58 @@ function views_date_sql_extract($extract_type, $field, $field_type = 'int', $set $field = views_date_sql_field($field, $field_type, $set_offset); // Note there is no space after FROM to avoid db_rewrite problems - // see http://drupal.org/node/79904. + // @see http://drupal.org/node/79904. switch ($extract_type) { - case('DATE'): - return $field; - case('YEAR'): - return "EXTRACT(YEAR FROM($field))"; - case('MONTH'): - return "EXTRACT(MONTH FROM($field))"; - case('DAY'): - return "EXTRACT(DAY FROM($field))"; - case('HOUR'): - return "EXTRACT(HOUR FROM($field))"; - case('MINUTE'): - return "EXTRACT(MINUTE FROM($field))"; - case('SECOND'): - return "EXTRACT(SECOND FROM($field))"; - case('WEEK'): // ISO week number for date - switch ($db_type) { - case('mysql'): - // WEEK using arg 3 in mysql should return the same value as postgres EXTRACT - return "WEEK($field, 3)"; - case('pgsql'): - return "EXTRACT(WEEK FROM($field))"; - } - case('DOW'): - switch ($db_type) { - case('mysql'): - // mysql returns 1 for Sunday through 7 for Saturday - // php date functions and postgres use 0 for Sunday and 6 for Saturday - return "INTEGER(DAYOFWEEK($field) - 1)"; - case('pgsql'): - return "EXTRACT(DOW FROM($field))"; - } - case('DOY'): - switch ($db_type) { - case('mysql'): - return "DAYOFYEAR($field)"; - case('pgsql'): - return "EXTRACT(DOY FROM($field))"; - } + case('DATE'): + return $field; + + case('YEAR'): + return "EXTRACT(YEAR FROM($field))"; + + case('MONTH'): + return "EXTRACT(MONTH FROM($field))"; + + case('DAY'): + return "EXTRACT(DAY FROM($field))"; + + case('HOUR'): + return "EXTRACT(HOUR FROM($field))"; + + case('MINUTE'): + return "EXTRACT(MINUTE FROM($field))"; + + case('SECOND'): + return "EXTRACT(SECOND FROM($field))"; + + case('WEEK'): + // ISO week number for date. + switch ($db_type) { + case('mysql'): + // WEEK using arg 3 in mysql should return the same value as postgres + // EXTRACT. + return "WEEK($field, 3)"; + + case('pgsql'): + return "EXTRACT(WEEK FROM($field))"; + } + case('DOW'): + switch ($db_type) { + // MySQL returns 1 for Sunday through 7 for Saturday. + case('mysql'): + return "INTEGER(DAYOFWEEK($field) - 1)"; + + // PHP date functions and postgres use 0 for Sunday and 6 for Saturday. + case('pgsql'): + return "EXTRACT(DOW FROM($field))"; + } + case('DOY'): + switch ($db_type) { + case('mysql'): + return "DAYOFYEAR($field)"; + + case('pgsql'): + return "EXTRACT(DOY FROM($field))"; + } } } @@ -1430,11 +1539,11 @@ function views_date_sql_extract($extract_type, $field, $field_type = 'int', $set * // PHP 4 doesn't call constructors of the base class automatically from a * // constructor of a derived class. It is your responsibility to propagate * // the call to constructors upstream where appropriate. - * function construct($table = NULL, $left_table = NULL, $left_field = NULL, $field = NULL, $extra = array(), $type = 'LEFT') { + * public function construct($table = NULL, $left_table = NULL, $left_field = NULL, $field = NULL, $extra = array(), $type = 'LEFT') { * parent::construct($table, $left_table, $left_field, $field, $extra, $type); * } * - * function build_join($select_query, $table, $view_query) { + * public function build_join($select_query, $table, $view_query) { * $this->extra = 'foo.bar = baz.boing'; * parent::build_join($select_query, $table, $view_query); * } @@ -1451,7 +1560,7 @@ function views_date_sql_extract($extract_type, $field, $field_type = 'int', $set * * Extensions of this class can be used to create more interesting joins. * - * join definition + * 'join' definition: * - table: table to join (right table) * - field: field to join on (right field) * - left_table: The table we join to @@ -1464,25 +1573,27 @@ function views_date_sql_extract($extract_type, $field, $field_type = 'int', $set * alias. If you use realtime joins, it works better. * - - field: Field or formula * in formulas we can reference the right table by using %alias - * @see SelectQueryInterface::addJoin() - * - - operator: defaults to = - * - - value: Must be set. If an array, operator will be defaulted to IN. - * - - numeric: If true, the value will not be surrounded in quotes. - * - - extra type: How all the extras will be combined. Either AND or OR. Defaults to AND. + * + * @see SelectQueryInterface::addJoin() + * - operator: Defaults to =. + * - value: Must be set. If an array, operator will be defaulted to IN. + * - numeric: If true, the value will not be surrounded in quotes. + * - extra type: How all the extras will be combined. Either AND or OR. + * Defaults to AND. */ class views_join { - var $table = NULL; - var $left_table = NULL; - var $left_field = NULL; - var $field = NULL; - var $extra = NULL; - var $type = NULL; - var $definition = array(); + public $table = NULL; + public $left_table = NULL; + public $left_field = NULL; + public $field = NULL; + public $extra = NULL; + public $type = NULL; + public $definition = array(); /** * Construct the views_join object. */ - function construct($table = NULL, $left_table = NULL, $left_field = NULL, $field = NULL, $extra = array(), $type = 'LEFT') { + public function construct($table = NULL, $left_table = NULL, $left_field = NULL, $field = NULL, $extra = array(), $type = 'LEFT') { $this->extra_type = 'AND'; if (!empty($table)) { $this->table = $table; @@ -1493,8 +1604,8 @@ class views_join { $this->type = strtoupper($type); } elseif (!empty($this->definition)) { - // if no arguments, construct from definition. - // These four must exist or it will throw notices. + // If no arguments, construct from definition. These four must exist or + // it will throw notices. $this->table = $this->definition['table']; $this->left_table = $this->definition['left_table']; $this->left_field = $this->definition['left_field']; @@ -1515,14 +1626,14 @@ class views_join { * * When possible, try to use table alias instead of table names. * - * @param $select_query - * An implementation of SelectQueryInterface. - * @param $table + * @param SelectQueryInterface $select_query + * An Implements SelectQueryInterface. + * @param string $table * The base table to join. - * @param $view_query - * The source query, implementation of views_plugin_query. + * @param views_plugin_query $view_query + * The source query, Implements views_plugin_query. */ - function build_join($select_query, $table, $view_query) { + public function build_join($select_query, $table, $view_query) { if (empty($this->definition['table formula'])) { $right_table = $this->table; } @@ -1535,7 +1646,8 @@ class views_join { $left_field = "$left[alias].$this->left_field"; } else { - // This can be used if left_field is a formula or something. It should be used only *very* rarely. + // This can be used if left_field is a formula or something. It should be + // used only *very* rarely. $left_field = $this->left_field; } @@ -1554,8 +1666,8 @@ class views_join { foreach ($this->extra as $info) { if (is_array($info)) { $extra = ''; - // Figure out the table name. Remember, only use aliases provided - // if at all possible. + // Figure out the table name. Remember, only use aliases provided if + // at all possible. $join_table = ''; if (!array_key_exists('table', $info)) { $join_table = $table['alias'] . '.'; @@ -1572,7 +1684,7 @@ class views_join { } // Convert a single-valued array of values to the single-value case, - // and transform from IN() notation to = notation + // and transform from IN() notation to = notation. if (is_array($info['value']) && count($info['value']) == 1) { if (empty($info['operator'])) { $operator = '='; @@ -1609,7 +1721,7 @@ class views_join { if ($extras) { if (count($extras) == 1) { - $condition .= ' AND ' . array_shift($extras); + $condition .= ' AND (' . array_shift($extras) . ')'; } else { $condition .= ' AND (' . implode(' ' . $this->extra_type . ' ', $extras) . ')'; @@ -1623,15 +1735,20 @@ class views_join { /** * Join handler for relationships that join with a subquery as the left field. - * eg: + * + * For example: * LEFT JOIN node node_term_data ON ([YOUR SUBQUERY HERE]) = node_term_data.nid * - * join definition - * same as views_join class above, except: + * 'join' definition: + * Same as views_join class above, except: * - left_query: The subquery to use in the left side of the join clause. */ class views_join_subquery extends views_join { - function construct($table = NULL, $left_table = NULL, $left_field = NULL, $field = NULL, $extra = array(), $type = 'LEFT') { + + /** + * {@inheritdoc} + */ + public function construct($table = NULL, $left_table = NULL, $left_field = NULL, $field = NULL, $extra = array(), $type = 'LEFT') { parent::construct($table, $left_table, $left_field, $field, $extra, $type); $this->left_query = $this->definition['left_query']; } @@ -1639,16 +1756,14 @@ class views_join_subquery extends views_join { /** * Build the SQL for the join this object represents. * - * @param $select_query - * An implementation of SelectQueryInterface. - * @param $table + * @param object $select_query + * An Implements SelectQueryInterface. + * @param string $table * The base table to join. - * @param $view_query - * The source query, implementation of views_plugin_query. - * @return - * + * @param array $view_query + * The source query, Implements views_plugin_query. */ - function build_join($select_query, $table, $view_query) { + public function build_join($select_query, $table, $view_query) { if (empty($this->definition['table formula'])) { $right_table = "{" . $this->table . "}"; } @@ -1662,7 +1777,8 @@ class views_join_subquery extends views_join { // Tack on the extra. // This is just copied verbatim from the parent class, which itself has a - // bug: http://drupal.org/node/1118100 + // bug. + // @see http://drupal.org/node/1118100 if (isset($this->extra)) { // If extra has been provided as string instead of an array, convert it // to an array. @@ -1674,8 +1790,8 @@ class views_join_subquery extends views_join { foreach ($this->extra as $info) { if (is_array($info)) { $extra = ''; - // Figure out the table name. Remember, only use aliases provided - // if at all possible. + // Figure out the table name. Remember, only use aliases provided if + // at all possible. $join_table = ''; if (!array_key_exists('table', $info)) { $join_table = $table['alias'] . '.'; @@ -1708,7 +1824,7 @@ class views_join_subquery extends views_join { if ($extras) { if (count($extras) == 1) { - $condition .= ' AND ' . array_shift($extras); + $condition .= ' AND (' . array_shift($extras) . ')'; } else { $condition .= ' AND (' . implode(' ' . $this->extra_type . ' ', $extras) . ')'; diff --git a/profiles/wcm_base/modules/contrib/views/includes/plugins.inc b/profiles/wcm_base/modules/contrib/views/includes/plugins.inc index 4b689825d76e69de9f23198b1ddd558dcdafa32c..8308e01c4d723348f2f8ac5de5bd20081ebfc947 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/plugins.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/plugins.inc @@ -5,7 +5,7 @@ * Built in plugins for Views output handling. */ -// @todo: Remove this once update.php can use the registry +// @todo Remove this once update.php can use the registry. views_include('base'); /** @@ -101,7 +101,7 @@ function views_views_plugins() { 'title' => t('Empty display extender'), 'help' => t('Default settings for this view.'), 'handler' => 'views_plugin_display_extender', - // You can force the plugin to be enabled + // You can force the plugin to be enabled. 'enabled' => FALSE, 'no ui' => TRUE, ), @@ -160,7 +160,8 @@ function views_views_plugins() { 'help' => t('Displays the default summary as a list.'), 'handler' => 'views_plugin_style_summary', 'theme' => 'views_view_summary', - 'type' => 'summary', // only shows up as a summary style + 'type' => 'summary', + // only shows up as a summary style. 'uses options' => TRUE, 'help topic' => 'style-summary', ), @@ -169,7 +170,8 @@ function views_views_plugins() { 'help' => t('Displays the summary unformatted, with option for one after another or inline.'), 'handler' => 'views_plugin_style_summary_unformatted', 'theme' => 'views_view_summary_unformatted', - 'type' => 'summary', // only shows up as a summary style + 'type' => 'summary', + // only shows up as a summary style. 'uses options' => TRUE, 'help topic' => 'style-summary-unformatted', ), @@ -266,7 +268,7 @@ function views_views_plugins() { 'views_query' => array( 'title' => t('SQL Query'), 'help' => t('Query will be generated and run using the Drupal database API.'), - 'handler' => 'views_plugin_query_default' + 'handler' => 'views_plugin_query_default', ), ), 'cache' => array( @@ -356,7 +358,7 @@ function views_views_plugins() { 'handler' => 'views_plugin_localization', 'parent' => '', ), - 'none' => array( + 'none' => array( 'title' => t('None'), 'help' => t('Do not pass admin strings for translation.'), 'handler' => 'views_plugin_localization_none', @@ -381,7 +383,8 @@ function views_views_plugins() { 'help' => t('Puts all of the results into a select box and allows the user to go to a different page based upon the results.'), 'handler' => 'views_plugin_style_summary_jump_menu', 'theme' => 'views_view_summary_jump_menu', - 'type' => 'summary', // only shows up as a summary style + 'type' => 'summary', + // only shows up as a summary style. 'uses options' => TRUE, 'help topic' => 'style-summary-jump-menu', ); @@ -417,7 +420,7 @@ function views_discover_plugins() { } $module_dir = isset($result['module']) ? $result['module'] : $module; - // Setup automatic path/file finding for theme registration + // Setup automatic path/file finding for theme registration. if ($module_dir == 'views') { $theme_path = drupal_get_path('module', $module_dir) . '/theme'; $theme_file = 'theme.inc'; @@ -452,7 +455,7 @@ function views_discover_plugins() { // Set the internal name to be able to read it out later. $def['name'] = $plugin; - // merge the new data in + // merge the new data in. $cache[$type][$plugin] = $def; } } @@ -467,29 +470,30 @@ function views_discover_plugins() { * Abstract base class to provide interface common to all plugins. */ class views_plugin extends views_object { + /** * The top object of a view. * * @var view */ - var $view = NULL; + public $view = NULL; /** * The current used views display. * * @var views_display */ - var $display = NULL; + public $display = NULL; /** * The plugin type of this plugin, for example style or query. */ - var $plugin_type = NULL; + public $plugin_type = NULL; /** * The plugin name of this plugin, for example table or full. */ - var $plugin_name = NULL; + public $plugin_name = NULL; /** * Init will be called after construct, when the plugin is attached to a @@ -499,7 +503,7 @@ class views_plugin extends views_object { /** * Provide a form to edit options for this plugin. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { // Some form elements belong in a fieldset for presentation, but can't // be moved into one because of the form_state['values'] hierarchy. Those // elements can add a #fieldset => 'fieldset_name' property, and they'll @@ -510,22 +514,25 @@ class views_plugin extends views_object { /** * Validate the options form. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** * Handle any special handling on the validate form. */ - function options_submit(&$form, &$form_state) { } + public function options_submit(&$form, &$form_state) { + } /** * Add anything to the query that we might need to. */ - function query() { } + public function query() { + } /** * Provide a full list of possible theme templates used by this style. */ - function theme_functions() { + public function theme_functions() { if (empty($this->definition['theme'])) { $this->definition['theme'] = 'views_view'; } @@ -533,9 +540,9 @@ class views_plugin extends views_object { } /** - * Provide a list of additional theme functions for the theme information page + * Provide a list of additional theme functions for the theme info page. */ - function additional_theme_functions() { + public function additional_theme_functions() { $funcs = array(); if (!empty($this->definition['additional themes'])) { foreach ($this->definition['additional themes'] as $theme => $type) { @@ -548,16 +555,18 @@ class views_plugin extends views_object { /** * Validate that the plugin is correct and can be saved. * - * @return + * @return array * An array of error strings to tell the user what is wrong with this * plugin. */ - function validate() { return array(); } + public function validate() { + return array(); + } /** * Returns the summary of the settings in the display. */ - function summary_title() { + public function summary_title() { return t('Settings'); } /** @@ -565,12 +574,13 @@ class views_plugin extends views_object { * * This appears on the ui beside each plugin and beside the settings link. */ - function plugin_title() { + public function plugin_title() { if (isset($this->definition['short title'])) { return check_plain($this->definition['short title']); } return check_plain($this->definition['title']); } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/includes/view.inc b/profiles/wcm_base/modules/contrib/views/includes/view.inc index 5771ef347932262902c74ef8d91f1e9587b0d08b..13e4987f112da5cfb2e1e886b7d80ee747fd18d2 100644 --- a/profiles/wcm_base/modules/contrib/views/includes/view.inc +++ b/profiles/wcm_base/modules/contrib/views/includes/view.inc @@ -2,10 +2,6 @@ /** * @file - * Provides the view object type and associated methods. - */ - -/** * @defgroup views_objects Objects that represent a View or part of a view * @{ * These objects are the core of Views do the bulk of the direction and @@ -13,34 +9,48 @@ */ /** - * An object to contain all of the data to generate a view, plus the member - * functions to build the view query, execute the query and render the output. + * An object to contain all of the data to generate a view. + * + * Also includes the member functions to build the view query, execute the + * query and render the output. */ class view extends views_db_object { - var $db_table = 'views_view'; - var $base_table = 'node'; - var $base_field = 'nid'; + + /** + * + */ + public $db_table = 'views_view'; + + /** + * + */ + public $base_table = 'node'; + + /** + * + */ + public $base_field = 'nid'; /** * The name of the view. * * @var string */ - var $name = ""; + public $name = ""; /** * The id of the view, which is used only for views in the database. * * @var number */ - var $vid; + public $vid; /** * The description of the view, which is used only in the interface. * * @var string */ - var $description; + public $description; /** * The "tags" of a view. @@ -49,20 +59,21 @@ class view extends views_db_object { * * @var string */ - var $tag; + public $tag; /** * The human readable name of the view. * * @var string */ - var $human_name; + public $human_name; /** * The core version the view was created for. + * * @var int */ - var $core; + public $core; /** * The views-api version this view was created by. @@ -71,26 +82,47 @@ class view extends views_db_object { * * @var string */ - var $api_version; + public $api_version; /** * Is the view disabled. * - * This value is used for exported view, to provide some default views which aren't enabled. + * This value is used for exported view, to provide some default views which + * aren't enabled. * * @var bool */ - var $disabled; + public $disabled; + + /** + * State variable. + */ + public $built = FALSE; - // State variables - var $built = FALSE; - var $executed = FALSE; - var $editing = FALSE; + /** + * State variable. + */ + public $executed = FALSE; + + /** + * State variable. + */ + public $editing = FALSE; - var $args = array(); - var $build_info = array(); + /** + * + */ + public $args = array(); + + /** + * + */ + public $build_info = array(); - var $use_ajax = FALSE; + /** + * + */ + public $use_ajax = FALSE; /** * Where the results of a query will go. @@ -99,107 +131,107 @@ class view extends views_db_object { * * @var array */ - var $result = array(); + public $result = array(); // May be used to override the current pager info. - var $current_page = NULL; - var $items_per_page = NULL; - var $offset = NULL; - var $total_rows = NULL; - - // Places to put attached renderings: - var $attachment_before = ''; - var $attachment_after = ''; - - // Exposed widget input - var $exposed_data = array(); - var $exposed_input = array(); + public $current_page = NULL; + public $items_per_page = NULL; + public $offset = NULL; + public $total_rows = NULL; + + // Places to put attached renderings. + public $attachment_before = ''; + public $attachment_after = ''; + + // Exposed widget input. + public $exposed_data = array(); + public $exposed_input = array(); // Exposed widget input directly from the $form_state['values']. - var $exposed_raw_input = array(); + public $exposed_raw_input = array(); // Used to store views that were previously running if we recurse. - var $old_view = array(); + public $old_view = array(); // To avoid recursion in views embedded into areas. - var $parent_views = array(); + public $parent_views = array(); // Is the current stored view runned as an attachment to another view. - var $is_attachment = NULL; + public $is_attachment = NULL; // Stores the next steps of form items to handle. // It's an array of stack items, which contain the form id, the type of form, // the view, the display and some additional arguments. // @see views_ui_add_form_to_stack() // var $stack; - /** * Identifier of the current display. * * @var string */ - var $current_display; + public $current_display; /** - * Where the $query object will reside: + * Where the $query object will reside:. * * @var views_plugin_query */ - var $query = NULL; + public $query = NULL; - /** + /** * The current used display plugin. * * @var views_plugin_display */ - var $display_handler; + public $display_handler; /** * Stores all display handlers of this view. * * @var array[views_display] */ - var $display; + public $display; /** * The current used style plugin. * * @var views_plugin_style */ - var $style_plugin; + public $style_plugin; /** * Stored the changed options of the style plugin. * * @deprecated Better use $view->style_plugin->options + * * @var array */ - var $style_options; + public $style_options; /** * Stores the current active row while rendering. * * @var int */ - var $row_index; + public $row_index; - /** + /** * Allow to override the url of the current view. * * @var string */ - var $override_url = NULL; + public $override_url = NULL; /** * Allow to override the path used for generated urls. * * @var string */ - var $override_path = NULL; + public $override_path = NULL; /** * Allow to override the used database which is used for this query. */ - var $base_database = NULL; + public $base_database = NULL; /** * Here comes a list of the possible handler which are active on this view. @@ -207,58 +239,67 @@ class view extends views_db_object { /** * Stores the field handlers which are initialized on this view. + * * @var array[views_handler_field] */ - var $field; + public $field; /** * Stores the argument handlers which are initialized on this view. + * * @var array[views_handler_argument] */ - var $argument; + public $argument; /** * Stores the sort handlers which are initialized on this view. + * * @var array[views_handler_sort] */ - var $sort; + public $sort; /** * Stores the filter handlers which are initialized on this view. + * * @var array[views_handler_filter] */ - var $filter; + public $filter; /** * Stores the relationship handlers which are initialized on this view. + * * @var array[views_handler_relationship] */ - var $relationship; + public $relationship; /** * Stores the area handlers for the header which are initialized on this view. + * * @var array[views_handler_area] */ - var $header; + public $header; /** * Stores the area handlers for the footer which are initialized on this view. + * * @var array[views_handler_area] */ - var $footer; + public $footer; /** - * Stores the area handlers for the empty text which are initialized on this view. + * The area handlers for the empty text which are initialized on this view. + * * @var array[views_handler_area] */ - var $empty; + public $empty; /** - * Constructor + * Standard PHP constructor. */ - function __construct() { + public function __construct() { parent::init(); - // Make sure all of our sub objects are arrays. + + // Make sure all of the sub objects are arrays. foreach ($this->db_objects() as $object) { $this->$object = array(); } @@ -267,22 +308,21 @@ class view extends views_db_object { /** * Perform automatic updates when loading or importing a view. * - * Over time, some things about Views or Drupal data has changed. - * this attempts to do some automatic updates that must happen - * to ensure older views will at least try to work. + * Over time, some things about Views or Drupal data has changed. this + * attempts to do some automatic updates that must happen to ensure older + * views will at least try to work. */ - function update() { + public function update() { // When views are converted automatically the base_table should be renamed // to have a working query. $this->base_table = views_move_table($this->base_table); } - /** * Returns a list of the sub-object types used by this view. These types are * stored on the display, and are used in the build process. */ - function display_objects() { + public function display_objects() { return array('argument', 'field', 'sort', 'filter', 'relationship', 'header', 'footer', 'empty'); } @@ -298,27 +338,26 @@ class view extends views_db_object { * Set the arguments that come to this view. Usually from the URL * but possibly from elsewhere. */ - function set_arguments($args) { + public function set_arguments($args) { $this->args = $args; } /** * Change/Set the current page for the pager. */ - function set_current_page($page) { + public function set_current_page($page) { $this->current_page = $page; // If the pager is already initialized, pass it through to the pager. if (!empty($this->query->pager)) { return $this->query->pager->set_current_page($page); } - } /** * Get the current page from the pager. */ - function get_current_page() { + public function get_current_page() { // If the pager is already initialized, pass it through to the pager. if (!empty($this->query->pager)) { return $this->query->pager->get_current_page(); @@ -332,7 +371,7 @@ class view extends views_db_object { /** * Get the items per page from the pager. */ - function get_items_per_page() { + public function get_items_per_page() { // If the pager is already initialized, pass it through to the pager. if (!empty($this->query->pager)) { return $this->query->pager->get_items_per_page(); @@ -346,7 +385,7 @@ class view extends views_db_object { /** * Set the items per page on the pager. */ - function set_items_per_page($items_per_page) { + public function set_items_per_page($items_per_page) { $this->items_per_page = $items_per_page; // If the pager is already initialized, pass it through to the pager. @@ -358,7 +397,7 @@ class view extends views_db_object { /** * Get the pager offset from the pager. */ - function get_offset() { + public function get_offset() { // If the pager is already initialized, pass it through to the pager. if (!empty($this->query->pager)) { return $this->query->pager->get_offset(); @@ -372,7 +411,7 @@ class view extends views_db_object { /** * Set the offset on the pager. */ - function set_offset($offset) { + public function set_offset($offset) { $this->offset = $offset; // If the pager is already initialized, pass it through to the pager. @@ -384,7 +423,7 @@ class view extends views_db_object { /** * Determine if the pager actually uses a pager. */ - function use_pager() { + public function use_pager() { if (!empty($this->query->pager)) { return $this->query->pager->use_pager(); } @@ -395,7 +434,7 @@ class view extends views_db_object { * tablesorting and exposed filters will be fetched via an AJAX call * rather than a page refresh. */ - function set_use_ajax($use_ajax) { + public function set_use_ajax($use_ajax) { $this->use_ajax = $use_ajax; } @@ -403,14 +442,14 @@ class view extends views_db_object { * Set the exposed filters input to an array. If unset they will be taken * from $_GET when the time comes. */ - function set_exposed_input($filters) { + public function set_exposed_input($filters) { $this->exposed_input = $filters; } /** * Figure out what the exposed input for this view is. */ - function get_exposed_input() { + public function get_exposed_input() { if (empty($this->exposed_input)) { $this->exposed_input = array(); @@ -439,13 +478,13 @@ class view extends views_db_object { /** * Set the display for this view and initialize the display handler. */ - function init_display($reset = FALSE) { + public function init_display($reset = FALSE) { // The default display is always the first one in the list. if (isset($this->current_display)) { return TRUE; } - // Instantiate all displays + // Instantiate all displays. foreach (array_keys($this->display) as $id) { // Correct for shallow cloning // Often we'll have a cloned view so we don't mess up each other's @@ -481,10 +520,10 @@ class view extends views_db_object { /** * Get the first display that is accessible to the user. * - * @param $displays + * @param string|array $displays * Either a single display id or an array of display ids. */ - function choose_display($displays) { + public function choose_display($displays) { if (!is_array($displays)) { return $displays; } @@ -503,10 +542,10 @@ class view extends views_db_object { /** * Set the display as current. * - * @param $display_id + * @param string $display_id * The id of the display to mark as current. */ - function set_display($display_id = NULL) { + public function set_display($display_id = NULL) { // If we have not already initialized the display, do so. But be careful. if (empty($this->current_display)) { $this->init_display(); @@ -542,7 +581,7 @@ class view extends views_db_object { return FALSE; } - // Set a shortcut + // Set a shortcut. $this->display_handler = &$this->display[$display_id]->handler; return TRUE; @@ -554,7 +593,7 @@ class view extends views_db_object { * Note that arguments may have changed which style plugin we use, so * check the view object first, then ask the display handler. */ - function init_style() { + public function init_style() { if (isset($this->style_plugin)) { return is_object($this->style_plugin); } @@ -570,7 +609,7 @@ class view extends views_db_object { return FALSE; } - // init the new style handler with data. + // Init the new style handler with data.. $this->style_plugin->init($this, $this->display[$this->current_display], $this->style_options); return TRUE; } @@ -581,7 +620,7 @@ class view extends views_db_object { * This will try to add relationships automatically if it can, and will * remove the handlers if it cannot. */ - function fix_missing_relationships() { + public function fix_missing_relationships() { if (isset($this->relationships_fixed)) { return; } @@ -665,7 +704,7 @@ class view extends views_db_object { /** * Acquire and attach all of the handlers. */ - function init_handlers() { + public function init_handlers() { if (empty($this->inited)) { $this->fix_missing_relationships(); foreach (views_object_types() as $key => $info) { @@ -676,12 +715,12 @@ class view extends views_db_object { } /** - * Initialize the pager + * Initialize the pager. * * Like style initialization, pager initialization is held until late * to allow for overrides. */ - function init_pager() { + public function init_pager() { if (empty($this->query->pager)) { // If the query doesn't exist, initialize it. if (empty($this->query)) { @@ -709,7 +748,7 @@ class view extends views_db_object { * Create a list of base tables eligible for this view. Used primarily * for the UI. Display must be already initialized. */ - function get_base_tables() { + public function get_base_tables() { $base_tables = array( $this->base_table => TRUE, '#global' => TRUE, @@ -724,7 +763,7 @@ class view extends views_db_object { /** * Run the pre_query() on all active handlers. */ - function _pre_query() { + public function _pre_query() { foreach (views_object_types() as $key => $info) { $handlers = &$this->$key; $position = 0; @@ -739,7 +778,7 @@ class view extends views_db_object { /** * Run the post_execute() on all active handlers. */ - function _post_execute() { + public function _post_execute() { foreach (views_object_types() as $key => $info) { $handlers = &$this->$key; foreach ($handlers as $id => $handler) { @@ -751,12 +790,12 @@ class view extends views_db_object { /** * Attach all of the handlers for each type. * - * @param $key - * One of 'argument', 'field', 'sort', 'filter', 'relationship' - * @param $info + * @param string $key + * One of 'argument', 'field', 'sort', 'filter', 'relationship'. + * @param array $info * The $info from views_object_types for this object. */ - function _init_handler($key, $info) { + public function _init_handler($key, $info) { // Load the requested items from the display onto the object. $this->$key = &$this->display_handler->get_handlers($key); @@ -774,7 +813,7 @@ class view extends views_db_object { /** * Build all the arguments. */ - function _build_arguments() { + public function _build_arguments() { // Initially, we want to build sorts and fields. This can change, though, // if we get a summary view. if (empty($this->argument)) { @@ -816,7 +855,8 @@ class view extends views_db_object { } } - // Set the argument, which will also validate that the argument can be set. + // Set the argument, which will also validate that the argument can be + // set. if (!$argument->set_argument($arg)) { $status = $argument->validate_fail($arg); break; @@ -830,7 +870,7 @@ class view extends views_db_object { $argument->query($this->display_handler->use_group_by()); } - // Add this argument's substitution + // Add this argument's substitution. $substitutions['%' . ($position + 1)] = $arg_title; $substitutions['!' . ($position + 1)] = strip_tags(decode_entities($arg)); @@ -852,7 +892,7 @@ class view extends views_db_object { // Allow the argument to muck with this breadcrumb. $argument->set_breadcrumb($this->build_info['breadcrumb']); - // Test to see if we should use this argument's title + // Test to see if we should use this argument's title. if (!empty($argument->options['title_enable']) && !empty($argument->options['title'])) { $title = $argument->options['title']; } @@ -865,7 +905,7 @@ class view extends views_db_object { break; } - // Be safe with references and loops: + // Be safe with references and loops. unset($argument); } @@ -883,7 +923,7 @@ class view extends views_db_object { /** * Do some common building initialization. */ - function init_query() { + public function init_query() { if (!empty($this->query)) { $class = get_class($this->query); if ($class && $class != 'stdClass') { @@ -917,7 +957,7 @@ class view extends views_db_object { /** * Build the query for the view. */ - function build($display_id = NULL) { + public function build($display_id = NULL) { if (!empty($this->built)) { return; } @@ -936,7 +976,6 @@ class view extends views_db_object { // Attempt to load from cache. // @todo Load a build_info from cache. - $start = microtime(TRUE); // If that fails, let's build! $this->build_info = array( @@ -950,8 +989,7 @@ class view extends views_db_object { // Call a module hook and see if it wants to present us with a // pre-built query or instruct us not to build the query for // some reason. - // @todo: Implement this. Use the same mechanism Panels uses. - + // @todo Implement this. Use the same mechanism Panels uses. // Run through our handlers and ensure they have necessary information. $this->init_handlers(); @@ -971,7 +1009,8 @@ class view extends views_db_object { $exposed_errors = count($errors_after) > count($errors_before); if ($exposed_errors || !empty($this->build_info['abort'])) { $this->built = TRUE; - // Don't execute the query, but rendering will still be executed to display the empty text. + // Don't execute the query, but rendering will still be executed to + // display the empty text. $this->executed = TRUE; return empty($this->build_info['fail']); } @@ -985,7 +1024,7 @@ class view extends views_db_object { $filter_groups = $this->display_handler->get_option('filter_groups'); if ($filter_groups) { $this->query->set_group_operator($filter_groups['operator']); - foreach($filter_groups['groups'] as $id => $operator) { + foreach ($filter_groups['groups'] as $id => $operator) { $this->query->set_where_group($operator, $id); } } @@ -1030,13 +1069,13 @@ class view extends views_db_object { $this->_build('footer'); $this->_build('empty'); - // Allow display handler to affect the query: + // Allow display handler to affect the query. $this->display_handler->query($this->display_handler->use_group_by()); - // Allow style handler to affect the query: + // Allow style handler to affect the query. $this->style_plugin->query($this->display_handler->use_group_by()); - // Allow exposed form to affect the query: + // Allow exposed form to affect the query. if (isset($exposed_form)) { $exposed_form->query(); } @@ -1057,7 +1096,7 @@ class view extends views_db_object { $this->built = TRUE; $this->build_time = microtime(TRUE) - $start; - // Attach displays + // Attach displays. $this->attach_displays(); // Let modules modify the view just after building it. @@ -1076,7 +1115,7 @@ class view extends views_db_object { * The type of handlers (filter etc.) which should be iterated over to * build the relationship and query information. */ - function _build($key) { + public function _build($key) { $handlers = &$this->$key; foreach ($handlers as $id => $data) { @@ -1097,7 +1136,7 @@ class view extends views_db_object { } } $rc = $handlers[$id]->accept_exposed_input($this->exposed_data); - $handlers[$id]->store_exposed_input($this->exposed_data, $rc); + $handlers[$id]->store_exposed_input($this->exposed_input, $rc); if (!$rc) { continue; } @@ -1119,7 +1158,7 @@ class view extends views_db_object { * Return whether the executing was successful, for example an argument * could stop the process. */ - function execute($display_id = NULL) { + public function execute($display_id = NULL) { if (empty($this->built)) { if (!$this->build($display_id)) { return FALSE; @@ -1130,7 +1169,8 @@ class view extends views_db_object { return TRUE; } - // Don't allow to use deactivated displays, but display them on the live preview. + // Don't allow to use deactivated displays, but display them on the live + // preview. if (!$this->display[$this->current_display]->handler->get_option('enabled') && empty($this->live_preview)) { $this->build_info['fail'] = TRUE; return FALSE; @@ -1150,7 +1190,7 @@ class view extends views_db_object { $cache = $this->display_handler->get_plugin('cache'); } if ($cache && $cache->cache_get('results')) { - if($this->query->pager->use_pager() || !empty($this->get_total_rows)) { + if ($this->query->pager->use_pager() || !empty($this->get_total_rows)) { $this->query->pager->total_items = $this->total_rows; $this->query->pager->update_page_info(); } @@ -1185,10 +1225,11 @@ class view extends views_db_object { * @param string $display_id * The machine name of the display, which should be rendered. * - * @return (string|NULL) - * Return the output of the rendered view or NULL if something failed in the process. + * @return string|NULL + * Return the output of the rendered view or NULL if something failed in the + * process. */ - function render($display_id = NULL) { + public function render($display_id = NULL) { $this->execute($display_id); // Check to see if the build failed. @@ -1300,21 +1341,20 @@ class view extends views_db_object { } /** - * Render a specific field via the field ID and the row # + * Render a specific field via the field ID and the row #. * * Note: You might want to use views_plugin_style::render_fields as it * caches the output for you. * * @param string $field * The id of the field to be rendered. - * * @param int $row * The row number in the $view->result which is used for the rendering. * * @return string * The rendered output of the field. */ - function render_field($field, $row) { + public function render_field($field, $row) { if (isset($this->field[$field]) && isset($this->result[$row])) { return $this->field[$field]->advanced_render($this->result[$row]); } @@ -1332,7 +1372,7 @@ class view extends views_db_object { * * If you simply want to view the display, use view::preview() instead. */ - function execute_display($display_id = NULL, $args = array()) { + public function execute_display($display_id = NULL, $args = array()) { if (empty($this->current_display) || $this->current_display != $this->choose_display($display_id)) { if (!$this->set_display($display_id)) { return FALSE; @@ -1341,7 +1381,7 @@ class view extends views_db_object { $this->pre_execute($args); - // Execute the view + // Execute the view. $output = $this->display_handler->execute(); $this->post_execute(); @@ -1355,7 +1395,7 @@ class view extends views_db_object { * Can also be called when views are embedded, as this guarantees * normalized output. */ - function preview($display_id = NULL, $args = array()) { + public function preview($display_id = NULL, $args = array()) { if (empty($this->current_display) || ((!empty($display_id)) && $this->current_display != $display_id)) { if (!$this->set_display($display_id)) { return FALSE; @@ -1375,7 +1415,7 @@ class view extends views_db_object { * Run attachments and let the display do what it needs to do prior * to running. */ - function pre_execute($args = array()) { + public function pre_execute($args = array()) { $this->old_view[] = views_get_current_view(); views_set_current_view($this); $display_id = $this->current_display; @@ -1386,7 +1426,8 @@ class view extends views_db_object { $this->set_arguments($args); } - // Let modules modify the view just prior to executing it. + // Trigger hook_views_pre_view(). Allow other modules to modify the view + // just prior to executing the preview. foreach (module_implements('views_pre_view') as $module) { $function = $module . '_views_pre_view'; $function($this, $display_id, $this->args); @@ -1395,17 +1436,16 @@ class view extends views_db_object { // Allow hook_views_pre_view() to set the dom_id, then ensure it is set. $this->dom_id = !empty($this->dom_id) ? $this->dom_id : md5($this->name . REQUEST_TIME . rand()); - // Allow the display handler to set up for execution + // Allow the display handler to set up for execution. $this->display_handler->pre_execute(); } /** * Unset the current view, mostly. */ - function post_execute() { + public function post_execute() { // unset current view so we can be properly destructed later on. // Return the previous value in case we're an attachment. - if ($this->old_view) { $old_view = array_pop($this->old_view); } @@ -1416,7 +1456,7 @@ class view extends views_db_object { /** * Run attachment displays for the view. */ - function attach_displays() { + public function attach_displays() { if (!empty($this->is_attachment)) { return; } @@ -1436,22 +1476,21 @@ class view extends views_db_object { } /** - * Called to get hook_menu() information from the view and the named display handler. + * Called to get hook_menu() info from the view and the named display handler. * - * @param $display_id + * @param string $display_id * A display id. - * @param $callbacks + * @param array $callbacks * A menu callback array passed from views_menu_alter(). */ - function execute_hook_menu($display_id = NULL, &$callbacks = array()) { + public function execute_hook_menu($display_id = NULL, &$callbacks = array()) { // Prepare the view with the information we have. - // This was probably already called, but it's good to be safe. if (!$this->set_display($display_id)) { return FALSE; } - // Execute the view + // Execute the view. if (isset($this->display_handler)) { return $this->display_handler->execute_hook_menu($callbacks); } @@ -1461,25 +1500,25 @@ class view extends views_db_object { * Called to get hook_block information from the view and the * named display handler. */ - function execute_hook_block_list($display_id = NULL) { + public function execute_hook_block_list($display_id = NULL) { // Prepare the view with the information we have. - // This was probably already called, but it's good to be safe. if (!$this->set_display($display_id)) { return FALSE; } - // Execute the view + // Execute the view. if (isset($this->display_handler)) { return $this->display_handler->execute_hook_block_list(); } } /** - * Determine if the given user has access to the view. Note that - * this sets the display handler if it hasn't been. + * Determine if the given user has access to the view. + * + * Note that this sets the display handler if it hasn't been. */ - function access($displays = NULL, $account = NULL) { + public function access($displays = NULL, $account = NULL) { // No one should have access to disabled views. if (!empty($this->disabled)) { return FALSE; @@ -1493,9 +1532,8 @@ class view extends views_db_object { $account = $GLOBALS['user']; } - // We can't use choose_display() here because that function - // calls this one. - $displays = (array)$displays; + // We can't use choose_display() here because that function calls this one. + $displays = (array) $displays; foreach ($displays as $display_id) { if (!empty($this->display[$display_id]->handler)) { if ($this->display[$display_id]->handler->access($account)) { @@ -1508,10 +1546,11 @@ class view extends views_db_object { } /** - * Get the view's current title. This can change depending upon how it - * was built. + * Get the view's current title. + * + * This can change depending upon how it was built. */ - function get_title() { + public function get_title() { if (empty($this->display_handler)) { if (!$this->set_display('default')) { return FALSE; @@ -1538,17 +1577,18 @@ class view extends views_db_object { * * The tokens in the title get's replaced before rendering. */ - function set_title($title) { - $this->build_info['title'] = $title; - return TRUE; - } + public function set_title($title) { + $this->build_info['title'] = $title; + return TRUE; + } /** * Return the human readable name for a view. * - * When a certain view doesn't have a human readable name return the machine readable name. + * When a certain view doesn't have a human readable name return the machine + * readable name. */ - function get_human_name() { + public function get_human_name() { if (!empty($this->human_name)) { $human_name = $this->human_name; } @@ -1561,7 +1601,7 @@ class view extends views_db_object { /** * Force the view to build a title. */ - function build_title() { + public function build_title() { $this->init_display(); if (empty($this->built)) { @@ -1578,7 +1618,7 @@ class view extends views_db_object { * * This URL will be adjusted for arguments. */ - function get_url($args = NULL, $path = NULL) { + public function get_url($args = NULL, $path = NULL) { if (!empty($this->override_url)) { return $this->override_url; } @@ -1600,7 +1640,7 @@ class view extends views_db_object { } } } - // Don't bother working if there's nothing to do: + // Don't bother working if there's nothing to do. if (empty($path) || (empty($args) && strpos($path, '%') === FALSE)) { return $path; } @@ -1619,7 +1659,8 @@ class view extends views_db_object { $pieces[] = $this->argument[$id]->options['exception']['value']; } else { - $pieces[] = '*'; // gotta put something if there just isn't one. + $pieces[] = '*'; + // @todo Gotta put something if there just isn't one. } } @@ -1642,7 +1683,7 @@ class view extends views_db_object { /** * Get the base path used for this view. */ - function get_path() { + public function get_path() { if (!empty($this->override_path)) { return $this->override_path; } @@ -1658,10 +1699,10 @@ class view extends views_db_object { /** * Get the breadcrumb used for this view. * - * @param $set + * @param bool $set * If true, use drupal_set_breadcrumb() to install the breadcrumb. */ - function get_breadcrumb($set = FALSE) { + public function get_breadcrumb($set = FALSE) { // Now that we've built the view, extract the breadcrumb. $base = TRUE; $breadcrumb = array(); @@ -1690,30 +1731,29 @@ class view extends views_db_object { } /** - * Is this view cacheable? + * Is this view cacheable?. */ - function is_cacheable() { + public function is_cacheable() { return $this->is_cacheable; } /** * Set up query capturing. * - * db_query() stores the queries that it runs in global $queries, - * bit only if dev_query is set to true. In this case, we want - * to temporarily override that setting if it's not and we - * can do that without forcing a db rewrite by just manipulating - * $conf. This is kind of evil but it works. + * Db_query() stores the queries that it runs in global $queries, bit only if + * dev_query is set to true. In this case, we want to temporarily override + * that setting if it's not and we can do that without forcing a db rewrite by + * just manipulating $conf. This is kind of evil but it works. */ - function start_query_capture() { + public function start_query_capture() { global $conf, $queries; if (empty($conf['dev_query'])) { $this->fix_dev_query = TRUE; $conf['dev_query'] = TRUE; } - // Record the last query key used; anything already run isn't - // a query that we are interested in. + // Record the last query key used; anything already run isn't a query that + // we are interested in. $this->last_query_key = NULL; if (!empty($queries)) { @@ -1727,19 +1767,19 @@ class view extends views_db_object { * * @see view::start_query_capture() */ - function end_query_capture() { + public function end_query_capture() { global $conf, $queries; if (!empty($this->fix_dev_query)) { $conf['dev_query'] = FALSE; } - // make a copy of the array so we can manipulate it with array_splice. + // Make a copy of the array so we can manipulate it with array_splice. $temp = $queries; // Scroll through the queries until we get to our last query key. // Unset anything in our temp array. if (isset($this->last_query_key)) { - while (list($id, $query) = each($queries)) { + foreach ($queries as $id => $query) { if ($id == $this->last_query_key) { break; } @@ -1754,9 +1794,9 @@ class view extends views_db_object { /** * Static factory method to load a list of views based upon a $where clause. * - * Although this method could be implemented to simply iterate over views::load(), - * that would be very slow. Buiding the views externally from unified queries is - * much faster. + * Although this method could be implemented to simply iterate over + * views::load(), that would be very slow. Buiding the views externally from + * unified queries is much faster. */ static function load_views() { $result = db_query("SELECT DISTINCT v.* FROM {views_view} v"); @@ -1764,7 +1804,7 @@ class view extends views_db_object { // Load all the views. foreach ($result as $data) { - $view = new view; + $view = new view(); $view->load_row($data); $view->loaded = TRUE; $view->type = t('Normal'); @@ -1777,7 +1817,7 @@ class view extends views_db_object { return array(); } - // Now load all the subtables: + // Now load all the subtables. foreach (view::db_objects() as $key) { $object_name = "views_$key"; $result = db_query("SELECT * FROM {{$object_name}} WHERE vid IN (:vids) ORDER BY vid, position", @@ -1787,8 +1827,8 @@ class view extends views_db_object { $object = new $object_name(FALSE); $object->load_row($data); - // Because it can get complicated with this much indirection, - // make a shortcut reference. + // Because it can get complicated with this much indirection, make a + // shortcut reference. $location = &$views[$names[$object->vid]]->$key; // If we have a basic id field, load the item onto the view based on @@ -1805,14 +1845,17 @@ class view extends views_db_object { } /** - * Save the view to the database. If the view does not already exist, - * A vid will be assigned to the view and also returned from this function. + * Save the view to the database. + * + * If the view does not already exist a vid will be assigned to the view and + * also returned from this function. */ - function save() { + public function save() { if ($this->vid == 'new') { $this->vid = NULL; } - // If there is no vid, check if a view with this machine name already exists. + // If there is no vid, check if a view with this machine name already + // exists. elseif (empty($this->vid)) { $vid = db_query("SELECT vid from {views_view} WHERE name = :name", array(':name' => $this->name))->fetchField(); $this->vid = $vid ? $vid : NULL; @@ -1826,7 +1869,7 @@ class view extends views_db_object { try { // If we have no vid or our vid is a string, this is a new view. if (!empty($this->vid)) { - // remove existing table entries + // remove existing table entries. foreach ($this->db_objects() as $key) { db_delete('views_' . $key) ->condition('vid', $this->vid) @@ -1849,18 +1892,20 @@ class view extends views_db_object { $this->save_locale_strings(); - // Clear caches. - views_invalidate_cache(); + // Clear the relevant caches. + cache_clear_all('views_block_items:', 'cache_views', TRUE); + views_invalidate_cache('ctools_export:views_view:' . $this->name); // Notify modules that this view has been saved. module_invoke_all('views_view_save', $this); } /** - * Save a row to the database for the given key, which is one of the - * keys from view::db_objects() + * Save a row to the database for the given key. + * + * i.e. one of the keys from view::db_objects(). */ - function _save_rows($key) { + public function _save_rows($key) { $count = 0; foreach ($this->$key as $position => $object) { $object->position = ++$count; @@ -1872,7 +1917,7 @@ class view extends views_db_object { /** * Delete the view from the database. */ - function delete($clear = TRUE) { + public function delete($clear = TRUE) { if (empty($this->vid)) { return; } @@ -1882,7 +1927,7 @@ class view extends views_db_object { ->execute(); // Delete from all of our subtables as well. foreach ($this->db_objects() as $key) { - db_delete('views_'. $key) + db_delete('views_' . $key) ->condition('vid', $this->vid) ->execute(); } @@ -1891,7 +1936,8 @@ class view extends views_db_object { if ($clear) { // Clear caches. - views_invalidate_cache(); + cache_clear_all('views_block_items:', 'cache_views', TRUE); + views_invalidate_cache('ctools_export:views_view:' . $this->name); } // Notify modules that this view has been deleted. @@ -1901,12 +1947,12 @@ class view extends views_db_object { /** * Export a view as PHP code. */ - function export($indent = '') { + public function export($indent = '') { $this->init_display(); $this->init_query(); $output = ''; $output .= $this->export_row('view', $indent); - // Set the API version + // Set the API version. $output .= $indent . '$view->api_version = \'' . views_api_version() . "';\n"; $output .= $indent . '$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */' . "\n"; @@ -1914,9 +1960,9 @@ class view extends views_db_object { $output .= "\n" . $indent . "/* Display: $display->display_title */\n"; $output .= $indent . '$handler = $view->new_display(' . ctools_var_export($display->display_plugin, $indent) . ', ' . ctools_var_export($display->display_title, $indent) . ', \'' . $id . "');\n"; if (empty($display->handler)) { - // @todo -- probably need a method of exporting broken displays as - // they may simply be broken because a module is not installed. That - // does not invalidate the display. + // @todo Probably need a method of exporting broken displays as they + // may simply be broken because a module is not installed. That does + // not invalidate the display. continue; } @@ -1936,12 +1982,11 @@ class view extends views_db_object { } /** - * Make a copy of this view that has been sanitized of all database IDs - * and handlers and other stuff. + * Make a copy of this view with IDs, handlers sanitized * * I'd call this clone() but it's reserved. */ - function copy() { + public function copy() { $code = $this->export(); eval($code); return $view; @@ -1950,18 +1995,17 @@ class view extends views_db_object { /** * Safely clone a view. * - * Because views are complicated objects within objects, and PHP loves to - * do references to everything, if a View is not properly and safely - * cloned it will still have references to the original view, and can - * actually cause the original view to point to objects in the cloned - * view. This gets ugly fast. + * Because views are complicated objects within objects, and PHP loves to do + * references to everything, if a View is not properly and safely cloned it + * will still have references to the original view, and can actually cause the + * original view to point to objects in the cloned view. This gets ugly fast. * * This will completely wipe a view clean so it can be considered fresh. * * @return view * The cloned view. */ - function clone_view() { + public function clone_view() { $clone = clone $this; $keys = array('current_display', 'display_handler', 'build_info', 'built', 'executed', 'attachment_before', 'attachment_after', 'field', 'argument', 'filter', 'sort', 'relationship', 'header', 'footer', 'empty', 'query', 'inited', 'style_plugin', 'plugin_name', 'exposed_data', 'exposed_input', 'exposed_widgets', 'many_to_one_tables', 'feed_icon'); @@ -1976,8 +2020,8 @@ class view extends views_db_object { $clone->attachment_after = ''; $clone->result = array(); - // shallow cloning means that all the display objects - // *were not cloned*. We must clone them ourselves. + // Shallow cloning means that all the display objects *were not cloned*. We + // must clone them ourselves. $displays = array(); foreach ($clone->display as $id => $display) { $displays[$id] = clone $display; @@ -1991,10 +2035,9 @@ class view extends views_db_object { } /** - * Unset references so that a $view object may be properly garbage - * collected. + * Unset references so that a $view object may be properly garbage collected. */ - function destroy() { + public function destroy() { foreach (array_keys($this->display) as $display_id) { if (isset($this->display[$display_id]->handler) && is_object($this->display[$display_id]->handler)) { $this->display[$display_id]->handler->destroy(); @@ -2055,10 +2098,10 @@ class view extends views_db_object { /** * Make sure the view is completely valid. * - * @return + * @return bool * TRUE if the view is valid; an array of error strings if it is not. */ - function validate() { + public function validate() { $this->init_display(); $errors = array(); @@ -2087,7 +2130,7 @@ class view extends views_db_object { /** * Find and initialize the localization plugin. */ - function init_localization() { + public function init_localization() { // If the translate attribute isn't set, init the localization plugin. if (!isset($this->localization_plugin->translate)) { $this->localization_plugin = views_get_plugin('localization', views_get_localization_plugin()); @@ -2111,7 +2154,7 @@ class view extends views_db_object { /** * Determine whether a view supports admin string translation. */ - function is_translatable() { + public function is_translatable() { // Use translation no matter what type of view. if (variable_get('views_localize_all', FALSE)) { return TRUE; @@ -2124,31 +2167,31 @@ class view extends views_db_object { /** * Send strings for localization. */ - function save_locale_strings() { + public function save_locale_strings() { $this->process_locale_strings('save'); } /** * Delete localized strings. */ - function delete_locale_strings() { + public function delete_locale_strings() { $this->process_locale_strings('delete'); } /** * Export localized strings. */ - function export_locale_strings() { + public function export_locale_strings() { $this->process_locale_strings('export'); } /** * Process strings for localization, deletion or export to code. */ - function process_locale_strings($op) { + public function process_locale_strings($op) { // Ensure this view supports translation, we have a display, and we // have a localization plugin. - // @fixme Export does not init every handler. + // @todo Export does not init every handler. if (($this->is_translatable() || $op == 'export') && $this->init_display() && $this->init_localization()) { $this->localization_plugin->process_locale_strings($op); } @@ -2160,17 +2203,18 @@ class view extends views_db_object { * Base class for views' database objects. */ class views_db_object { + public $db_table; /** * Initialize this object, setting values from schema defaults. * - * @param $init + * @param array|bool $init * If an array, this is a set of values from db_fetch_object to * load. Otherwse, if TRUE values will be filled in from schema * defaults. */ - function init($init = TRUE) { + public function init($init = TRUE) { if (is_array($init)) { return $this->load_row($init); } @@ -2207,16 +2251,16 @@ class views_db_object { /** * Write the row to the database. * - * @param $update + * @param bool $update * If true this will be an UPDATE query. Otherwise it will be an INSERT. */ - function save_row($update = NULL) { + public function save_row($update = NULL) { $fields = $defs = $values = $serials = array(); $schema = drupal_get_schema($this->db_table); // Go through our schema and build correlations. foreach ($schema['fields'] as $field => $info) { - // special case -- skip serial types if we are updating. + // Special case - skip serial types if we are updating. if ($info['type'] == 'serial') { $serials[] = $field; continue; @@ -2238,8 +2282,7 @@ class views_db_object { ->execute(); if ($serials && !$update) { - // get last insert ids and fill them in. - // Well, one ID. + // Get last insert ids and fill them in. Well, one ID. foreach ($serials as $field) { $this->$field = $return; } @@ -2249,15 +2292,14 @@ class views_db_object { /** * Load the object with a row from the database. * - * This method is separate from the constructor in order to give us - * more flexibility in terms of how the view object is built in different - * contexts. + * This method is separate from the constructor in order to give us more + * flexibility in terms of how the view object is built in different contexts. * - * @param $data + * @param object $data * An object from db_fetch_object. It should contain all of the fields * that are in the schema. */ - function load_row($data) { + public function load_row($data) { $schema = drupal_get_schema($this->db_table); // Go through our schema and build correlations. @@ -2267,14 +2309,16 @@ class views_db_object { } /** - * Export a loaded row, such as an argument, field or the view itself to PHP code. + * Export a loaded row. * - * @param $identifier + * Might be an argument, field or the view itself to PHP code. + * + * @param string $identifier * The variable to assign the PHP code for this object to. - * @param $indent + * @param int $indent * An optional indentation for prettifying nested code. */ - function export_row($identifier = NULL, $indent = '') { + public function export_row($identifier = NULL, $indent = '') { ctools_include('export'); if (!$identifier) { @@ -2296,7 +2340,7 @@ class views_db_object { $this->$field = ''; } - // serialized defaults must be set as serialized. + // Serialized defaults must be set as serialized. if (isset($info['serialize'])) { $this->$field = unserialize($this->$field); } @@ -2319,17 +2363,18 @@ class views_db_object { /** * Add a new display handler to the view, automatically creating an id. * - * @param $type + * @param string $type * The plugin type from the views plugin data. Defaults to 'page'. - * @param $title + * @param string $title * The title of the display; optional, may be filled in from default. - * @param $id + * @param int $id * The id to use. - * @return - * The key to the display in $view->display, so that the new display - * can be easily located. + * + * @return string + * The key to the display in $view->display, so that the new display can be + * easily located. */ - function add_display($type = 'page', $title = NULL, $id = NULL) { + public function add_display($type = 'page', $title = NULL, $id = NULL) { if (empty($type)) { return FALSE; } @@ -2339,7 +2384,6 @@ class views_db_object { $plugin['title'] = t('Broken'); } - if (empty($id)) { $id = $this->generate_display_id($type); if ($id !== 'default') { @@ -2360,8 +2404,8 @@ class views_db_object { } } - // Create the new display object - $display = new views_display; + // Create the new display object. + $display = new views_display(); $display->options($type, $id, $title); // Add the new display object to the view. @@ -2372,10 +2416,10 @@ class views_db_object { /** * Generate a display id of a certain plugin type. * - * @param $type + * @param string $type * Which plugin should be used for the new display id. */ - function generate_display_id($type) { + public function generate_display_id($type) { // 'default' is singular and is unique, so just go with 'default' // for it. For all others, start counting. if ($type == 'default') { @@ -2385,8 +2429,8 @@ class views_db_object { $id = $type . '_1'; $count = 1; - // Loop through IDs based upon our style plugin name until - // we find one that is unused. + // Loop through IDs based upon our style plugin name until we find one that + // is unused. while (!empty($this->display[$id])) { $id = $type . '_' . ++$count; } @@ -2399,12 +2443,12 @@ class views_db_object { * * These items are typically fields, filters, sort criteria, or arguments. * - * @param $requested_id + * @param int $requested_id * The requested ID for the item. - * @param $existing_items + * @param array $existing_items * An array of existing items, keyed by their IDs. * - * @return + * @return string * A unique ID. This will be equal to $requested_id if no item with that ID * already exists. Otherwise, it will be appended with an integer to make * it unique, e.g. "{$requested_id}_1", "{$requested_id}_2", etc. @@ -2420,22 +2464,24 @@ class views_db_object { /** * Create a new display and a display handler for it. - * @param $type + * + * @param string $type * The plugin type from the views plugin data. Defaults to 'page'. - * @param $title + * @param string $title * The title of the display; optional, may be filled in from default. - * @param $id + * @param int $id * The id to use. + * * @return views_plugin_display * A reference to the new handler object. */ - function &new_display($type = 'page', $title = NULL, $id = NULL) { + public function &new_display($type = 'page', $title = NULL, $id = NULL) { $id = $this->add_display($type, $title, $id); - // Create a handler + // Create a handler. $this->display[$id]->handler = views_get_plugin('display', $this->display[$id]->display_plugin); if (empty($this->display[$id]->handler)) { - // provide a 'default' handler as an emergency. This won't work well but + // Provide a 'default' handler as an emergency. This won't work well but // it will keep things from crashing. $this->display[$id]->handler = views_get_plugin('display', 'default'); } @@ -2443,7 +2489,7 @@ class views_db_object { if (!empty($this->display[$id]->handler)) { // Initialize the new display handler with data. $this->display[$id]->handler->init($this, $this->display[$id]); - // If this is NOT the default display handler, let it know which is + // If this is NOT the default display handler, let it know which is. if ($id != 'default') { $this->display[$id]->handler->default_display = &$this->display['default']->handler; } @@ -2457,7 +2503,7 @@ class views_db_object { * * These items may be fields, filters, sort criteria, or arguments. */ - function add_item($display_id, $type, $table, $field, $options = array(), $id = NULL) { + public function add_item($display_id, $type, $table, $field, $options = array(), $id = NULL) { $types = views_object_types(); $this->set_display($display_id); @@ -2491,7 +2537,7 @@ class views_db_object { /** * Get an array of items for the current display. */ - function get_items($type, $display_id = NULL) { + public function get_items($type, $display_id = NULL) { $this->set_display($display_id); if (!isset($display_id)) { @@ -2504,34 +2550,32 @@ class views_db_object { } /** - * Get the configuration of an item (field/sort/filter/etc) on a given - * display. + * Get the config of an item (field/sort/filter/etc) on a given display. */ - function get_item($display_id, $type, $id) { + public function get_item($display_id, $type, $id) { // Get info about the types so we can get the right data. $types = views_object_types(); - // Initialize the display + // Initialize the display. $this->set_display($display_id); - // Get the existing configuration + // Get the existing configuration. $fields = $this->display[$display_id]->handler->get_option($types[$type]['plural']); return isset($fields[$id]) ? $fields[$id] : NULL; } /** - * Set the configuration of an item (field/sort/filter/etc) on a given - * display. + * Set the config of an item (field/sort/filter/etc) on a given display. * * Pass in NULL for the $item to remove an item. */ - function set_item($display_id, $type, $id, $item) { + public function set_item($display_id, $type, $id, $item) { // Get info about the types so we can get the right data. $types = views_object_types(); - // Initialize the display + // Initialize the display. $this->set_display($display_id); - // Get the existing configuration + // Get the existing configuration. $fields = $this->display[$display_id]->handler->get_option($types[$type]['plural']); if (isset($item)) { $fields[$id] = $item; @@ -2547,15 +2591,15 @@ class views_db_object { /** * Set an option on an item. * - * Use this only if you have just 1 or 2 options to set; if you have - * many, consider getting the item, adding the options and doing - * set_item yourself. + * Use this only if you have just 1 or 2 options to set; if you have many, + * consider getting the item, adding the options and doing set_item yourself. */ - function set_item_option($display_id, $type, $id, $option, $value) { + public function set_item_option($display_id, $type, $id, $option, $value) { $item = $this->get_item($display_id, $type, $id); $item[$option] = $value; $this->set_item($display_id, $type, $id, $item); } + } /** @@ -2565,47 +2609,55 @@ class views_db_object { * to the behavior of the display at all. */ class views_display extends views_db_object { + /** * The display handler itself, which has all the methods. * * @var views_plugin_display */ - var $handler; + public $handler; /** * Stores all options of the display, like fields, filters etc. * * @var array */ - var $display_options; + public $display_options; - var $db_table = 'views_display'; - function __construct($init = TRUE) { + public $db_table = 'views_display'; + public function __construct($init = TRUE) { parent::init($init); } - function options($type, $id, $title) { + /** + * {@inheritdoc} + */ + public function options($type, $id, $title) { $this->display_plugin = $type; $this->id = $id; $this->display_title = $title; } + } /** - * Provide a list of views object types used in a view, with some information - * about them. + * Provide a list of object types used in a view, with some info about them. */ function views_object_types() { static $retval = NULL; - // statically cache this so t() doesn't run a bajillion times. + // Statically cache this so t() doesn't run a bajillion times. if (!isset($retval)) { $retval = array( 'field' => array( - 'title' => t('Fields'), // title - 'ltitle' => t('fields'), // lowercase title for mid-sentence - 'stitle' => t('Field'), // singular title - 'lstitle' => t('field'), // singular lowercase title for mid sentence + // Title. + 'title' => t('Fields'), + // Lowercase title for mid-sentence. + 'ltitle' => t('fields'), + // Singular title. + 'stitle' => t('Field'), + // Lingular lowercase title for mid sentence. + 'lstitle' => t('field'), 'plural' => 'fields', ), 'argument' => array( diff --git a/profiles/wcm_base/modules/contrib/views/js/ajax.js b/profiles/wcm_base/modules/contrib/views/js/ajax.js index 5c688549612c0a8afa16aaa926730aee6dee2ffa..105465eb3387410e093c906520f75a40a1490eaf 100644 --- a/profiles/wcm_base/modules/contrib/views/js/ajax.js +++ b/profiles/wcm_base/modules/contrib/views/js/ajax.js @@ -25,7 +25,13 @@ }); $('form', ajax_body).once('views-ajax-submit-processed').each(function() { - var element_settings = { 'url': response.url, 'event': 'submit', 'progress': { 'type': 'throbber' } }; + var element_settings = { + 'url': response.url, + 'event': 'submit', + 'progress': { + 'type': 'throbber' + } + }; var $form = $(this); var id = $form.attr('id'); Drupal.ajax[id] = new Drupal.ajax(id, this, element_settings); @@ -90,7 +96,7 @@ }; /** - * Get rid of irritating tabledrag messages + * Get rid of irritating tabledrag messages. */ Drupal.theme.tableDragChangedWarning = function () { return []; @@ -143,7 +149,9 @@ var base_element_settings = { 'event': 'click', - 'progress': { 'type': 'throbber' } + 'progress': { + 'type': 'throbber' + } }; // Bind AJAX behaviors to all items showing the class. $('a.views-ajax-link', context).once('views-ajax-processed').each(function () { @@ -158,23 +166,23 @@ $('div#views-live-preview a') .once('views-ajax-processed').each(function () { - // We don't bind to links without a URL. - if (!$(this).attr('href')) { - return true; - } + // We don't bind to links without a URL. + if (!$(this).attr('href')) { + return true; + } - var element_settings = base_element_settings; - // Set the URL to go to the anchor. - element_settings.url = $(this).attr('href'); - if (Drupal.Views.getPath(element_settings.url).substring(0, 21) != 'admin/structure/views') { - return true; - } + var element_settings = base_element_settings; + // Set the URL to go to the anchor. + element_settings.url = $(this).attr('href'); + if (Drupal.Views.getPath(element_settings.url).substring(0, 21) != 'admin/structure/views') { + return true; + } - element_settings.wrapper = 'views-live-preview'; - element_settings.method = 'html'; - var base = $(this).attr('id'); - Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings); - }); + element_settings.wrapper = 'views-live-preview'; + element_settings.method = 'html'; + var base = $(this).attr('id'); + Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings); + }); // Within a live preview, make exposed widget form buttons re-trigger the // Preview button. @@ -182,29 +190,29 @@ // of the main Edit form. $('div#views-live-preview input[type=submit]') .once('views-ajax-processed').each(function(event) { - $(this).click(function () { - this.form.clk = this; - return true; - }); - var element_settings = base_element_settings; - // Set the URL to go to the anchor. - element_settings.url = $(this.form).attr('action'); - if (Drupal.Views.getPath(element_settings.url).substring(0, 21) != 'admin/structure/views') { - return true; - } + $(this).click(function () { + this.form.clk = this; + return true; + }); + var element_settings = base_element_settings; + // Set the URL to go to the anchor. + element_settings.url = $(this.form).attr('action'); + if (Drupal.Views.getPath(element_settings.url).substring(0, 21) != 'admin/structure/views') { + return true; + } - element_settings.wrapper = 'views-live-preview'; - element_settings.method = 'html'; - element_settings.event = 'click'; + element_settings.wrapper = 'views-live-preview'; + element_settings.method = 'html'; + element_settings.event = 'click'; - var base = $(this).attr('id'); - Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings); - }); + var base = $(this).attr('id'); + Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings); + }); if (!this.collapseReplaced && Drupal.collapseScrollIntoView) { this.collapseReplaced = true; Drupal.collapseScrollIntoView = function (node) { - for (var $parent = $(node); $parent.get(0) != document && $parent.size() != 0; $parent = $parent.parent()) { + for (var $parent = $(node); $parent.get(0) != document && $parent.length != 0; $parent = $parent.parent()) { if ($parent.css('overflow') == 'scroll' || $parent.css('overflow') == 'auto') { if (Drupal.viewsUi.resizeModal) { // If the modal is already at the max height, don't bother with diff --git a/profiles/wcm_base/modules/contrib/views/js/ajax_view.js b/profiles/wcm_base/modules/contrib/views/js/ajax_view.js index aa10a0010fb872d7f839cdd571e38eed0b29d13f..c3e5bb923ef6aedfff32770be3f682c84aed6490 100644 --- a/profiles/wcm_base/modules/contrib/views/js/ajax_view.js +++ b/profiles/wcm_base/modules/contrib/views/js/ajax_view.js @@ -4,148 +4,159 @@ */ (function ($) { -/** - * Attaches the AJAX behavior to Views exposed filter forms and key View links. - */ -Drupal.behaviors.ViewsAjaxView = {}; -Drupal.behaviors.ViewsAjaxView.attach = function() { - if (Drupal.settings && Drupal.settings.views && Drupal.settings.views.ajaxViews) { - $.each(Drupal.settings.views.ajaxViews, function(i, settings) { - Drupal.views.instances[i] = new Drupal.views.ajaxView(settings); - }); - } -}; + /** + * Attaches the AJAX behavior to exposed filter forms and key views links. + */ + Drupal.behaviors.ViewsAjaxView = {}; + Drupal.behaviors.ViewsAjaxView.attach = function() { + if (Drupal.settings && Drupal.settings.views && Drupal.settings.views.ajaxViews) { + $.each(Drupal.settings.views.ajaxViews, function(i, settings) { + Drupal.views.instances[i] = new Drupal.views.ajaxView(settings); + }); + } + }; -Drupal.views = {}; -Drupal.views.instances = {}; + Drupal.views = {}; + Drupal.views.instances = {}; -/** - * Javascript object for a certain view. - */ -Drupal.views.ajaxView = function(settings) { - var selector = '.view-dom-id-' + settings.view_dom_id; - this.$view = $(selector); - - // Retrieve the path to use for views' ajax. - var ajax_path = Drupal.settings.views.ajax_path; - - // If there are multiple views this might've ended up showing up multiple times. - if (ajax_path.constructor.toString().indexOf("Array") != -1) { - ajax_path = ajax_path[0]; - } - - // Check if there are any GET parameters to send to views. - var queryString = window.location.search || ''; - if (queryString !== '') { - // Remove the question mark and Drupal path component if any. - var queryString = queryString.slice(1).replace(/q=[^&]+&?|&?render=[^&]+/, ''); + /** + * Javascript object for a certain view. + */ + Drupal.views.ajaxView = function(settings) { + var selector = '.view-dom-id-' + settings.view_dom_id; + this.$view = $(selector); + + // Retrieve the path to use for views' ajax. + var ajax_path = Drupal.settings.views.ajax_path; + + // If there are multiple views this might've ended up showing up multiple + // times. + if (ajax_path.constructor.toString().indexOf("Array") != -1) { + ajax_path = ajax_path[0]; + } + + // Check if there are any GET parameters to send to views. + var queryString = window.location.search || ''; if (queryString !== '') { - // If there is a '?' in ajax_path, clean url are on and & should be used to add parameters. - queryString = ((/\?/.test(ajax_path)) ? '&' : '?') + queryString; + // Remove the question mark and Drupal path component if any. + var queryString = queryString.slice(1).replace(/q=[^&]+&?|&?render=[^&]+/, ''); + if (queryString !== '') { + // If there is a '?' in ajax_path, clean url are on and & should be + // used to add parameters. + queryString = ((/\?/.test(ajax_path)) ? '&' : '?') + queryString; + } } - } - - this.element_settings = { - url: ajax_path + queryString, - submit: settings, - setClick: true, - event: 'click', - selector: selector, - progress: { type: 'throbber' } - }; - this.settings = settings; + this.element_settings = { + url: ajax_path + queryString, + submit: settings, + setClick: true, + event: 'click', + selector: selector, + progress: { + type: 'throbber' + } + }; + + this.settings = settings; - // Add the ajax to exposed forms. - this.$exposed_form = $('#views-exposed-form-'+ settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-')); - this.$exposed_form.once(jQuery.proxy(this.attachExposedFormAjax, this)); + // Add the ajax to exposed forms. + this.$exposed_form = $('#views-exposed-form-' + settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-')); + this.$exposed_form.once(jQuery.proxy(this.attachExposedFormAjax, this)); - // Store Drupal.ajax objects here for all pager links. - this.links = []; + // Store Drupal.ajax objects here for all pager links. + this.links = []; - // Add the ajax to pagers. - this.$view + // Add the ajax to pagers. + this.$view // Don't attach to nested views. Doing so would attach multiple behaviors // to a given element. - .filter(jQuery.proxy(this.filterNestedViews, this)) - .once(jQuery.proxy(this.attachPagerAjax, this)); - - // Add a trigger to update this view specifically. In order to trigger a - // refresh use the following code. - // - // @code - // jQuery('.view-name').trigger('RefreshView'); - // @endcode - // Add a trigger to update this view specifically. - var self_settings = this.element_settings; - self_settings.event = 'RefreshView'; - this.refreshViewAjax = new Drupal.ajax(this.selector, this.$view, self_settings); -}; - -Drupal.views.ajaxView.prototype.attachExposedFormAjax = function() { - var button = $('input[type=submit], button[type=submit], input[type=image]', this.$exposed_form); - button = button[0]; - - this.exposedFormAjax = new Drupal.ajax($(button).attr('id'), button, this.element_settings); -}; - -Drupal.views.ajaxView.prototype.filterNestedViews= function() { - // If there is at least one parent with a view class, this view - // is nested (e.g., an attachment). Bail. - return !this.$view.parents('.view').size(); -}; + .filter(jQuery.proxy(this.filterNestedViews, this)) + .once(jQuery.proxy(this.attachPagerAjax, this)); + + // Add a trigger to update this view specifically. In order to trigger a + // refresh use the following code. + // + // @code + // jQuery('.view-name').trigger('RefreshView'); + // @endcode + // Add a trigger to update this view specifically. + var self_settings = this.element_settings; + self_settings.event = 'RefreshView'; + this.refreshViewAjax = new Drupal.ajax(this.selector, this.$view, self_settings); + }; -/** - * Attach the ajax behavior to each link. - */ -Drupal.views.ajaxView.prototype.attachPagerAjax = function() { - this.$view.find('ul.pager > li > a, th.views-field a, .attachment .views-summary a') - .each(jQuery.proxy(this.attachPagerLinkAjax, this)); -}; + Drupal.views.ajaxView.prototype.attachExposedFormAjax = function() { + var button = $('input[type=submit], button[type=submit], input[type=image]', this.$exposed_form); + button = button[0]; -/** - * Attach the ajax behavior to a singe link. - */ -Drupal.views.ajaxView.prototype.attachPagerLinkAjax = function(id, link) { - var $link = $(link); - var viewData = {}; - var href = $link.attr('href'); - // Construct an object using the settings defaults and then overriding - // with data specific to the link. - $.extend( + // Call the autocomplete submit before doing AJAX. + $(button).click(function () { + if (Drupal.autocompleteSubmit) { + Drupal.autocompleteSubmit(); + } + }); + + this.exposedFormAjax = new Drupal.ajax($(button).attr('id'), button, this.element_settings); + }; + + Drupal.views.ajaxView.prototype.filterNestedViews = function() { + // If there is at least one parent with a view class, this view + // is nested (e.g., an attachment). Bail. + return !this.$view.parents('.view').length; + }; + + /** + * Attach the ajax behavior to each link. + */ + Drupal.views.ajaxView.prototype.attachPagerAjax = function() { + this.$view.find('ul.pager > li > a, th.views-field a, .attachment .views-summary a') + .each(jQuery.proxy(this.attachPagerLinkAjax, this)); + }; + + /** + * Attach the ajax behavior to a singe link. + */ + Drupal.views.ajaxView.prototype.attachPagerLinkAjax = function(id, link) { + var $link = $(link); + var viewData = {}; + var href = $link.attr('href'); + // Construct an object using the settings defaults and then overriding + // with data specific to the link. + $.extend( viewData, this.settings, Drupal.Views.parseQueryString(href), // Extract argument data from the URL. Drupal.Views.parseViewArgs(href, this.settings.view_base_path) - ); - - // For anchor tags, these will go to the target of the anchor rather - // than the usual location. - $.extend(viewData, Drupal.Views.parseViewArgs(href, this.settings.view_base_path)); - - this.element_settings.submit = viewData; - this.pagerAjax = new Drupal.ajax(false, $link, this.element_settings); - this.links.push(this.pagerAjax); -}; - -Drupal.ajax.prototype.commands.viewsScrollTop = function (ajax, response, status) { - // Scroll to the top of the view. This will allow users - // to browse newly loaded content after e.g. clicking a pager - // link. - var offset = $(response.selector).offset(); - // We can't guarantee that the scrollable object should be - // the body, as the view could be embedded in something - // more complex such as a modal popup. Recurse up the DOM - // and scroll the first element that has a non-zero top. - var scrollTarget = response.selector; - while ($(scrollTarget).scrollTop() == 0 && $(scrollTarget).parent()) { - scrollTarget = $(scrollTarget).parent(); - } - // Only scroll upward - if (offset.top - 10 < $(scrollTarget).scrollTop()) { - $(scrollTarget).animate({scrollTop: (offset.top - 10)}, 500); - } -}; + ); + + // For anchor tags, these will go to the target of the anchor rather + // than the usual location. + $.extend(viewData, Drupal.Views.parseViewArgs(href, this.settings.view_base_path)); + + this.element_settings.submit = viewData; + this.pagerAjax = new Drupal.ajax(false, $link, this.element_settings); + this.links.push(this.pagerAjax); + }; + + Drupal.ajax.prototype.commands.viewsScrollTop = function (ajax, response, status) { + // Scroll to the top of the view. This will allow users + // to browse newly loaded content after e.g. clicking a pager + // link. + var offset = $(response.selector).offset(); + // We can't guarantee that the scrollable object should be + // the body, as the view could be embedded in something + // more complex such as a modal popup. Recurse up the DOM + // and scroll the first element that has a non-zero top. + var scrollTarget = response.selector; + while ($(scrollTarget).scrollTop() == 0 && $(scrollTarget).parent()) { + scrollTarget = $(scrollTarget).parent(); + } + // Only scroll upward. + if (offset.top - 10 < $(scrollTarget).scrollTop()) { + $(scrollTarget).animate({scrollTop: (offset.top - 10)}, 500); + } + }; })(jQuery); diff --git a/profiles/wcm_base/modules/contrib/views/js/base.js b/profiles/wcm_base/modules/contrib/views/js/base.js index ce5bf6a866ea997fc23f082f37c0bc104c609c2a..24fa02c83cf6f3d606da5b6e7fe3160aeb5df3ea 100644 --- a/profiles/wcm_base/modules/contrib/views/js/base.js +++ b/profiles/wcm_base/modules/contrib/views/js/base.js @@ -4,112 +4,112 @@ */ (function ($) { -Drupal.Views = {}; + Drupal.Views = {}; -/** - * jQuery UI tabs, Views integration component - */ -Drupal.behaviors.viewsTabs = { - attach: function (context) { - if ($.viewsUi && $.viewsUi.tabs) { - $('#views-tabset').once('views-processed').viewsTabs({ - selectedClass: 'active' - }); - } - - $('a.views-remove-link').once('views-processed').click(function(event) { - var id = $(this).attr('id').replace('views-remove-link-', ''); - $('#views-row-' + id).hide(); - $('#views-removed-' + id).attr('checked', true); - event.preventDefault(); - }); /** + * JQuery UI tabs, Views integration component. + */ + Drupal.behaviors.viewsTabs = { + attach: function (context) { + if ($.viewsUi && $.viewsUi.tabs) { + $('#views-tabset').once('views-processed').viewsTabs({ + selectedClass: 'active' + }); + } + + $('a.views-remove-link').once('views-processed').click(function(event) { + var id = $(this).attr('id').replace('views-remove-link-', ''); + $('#views-row-' + id).hide(); + $('#views-removed-' + id).attr('checked', true); + event.preventDefault(); + }); + /** * Here is to handle display deletion - * (checking in the hidden checkbox and hiding out the row) + * (checking in the hidden checkbox and hiding out the row). */ - $('a.display-remove-link') - .addClass('display-processed') - .click(function() { - var id = $(this).attr('id').replace('display-remove-link-', ''); - $('#display-row-' + id).hide(); - $('#display-removed-' + id).attr('checked', true); - return false; - }); - } -}; + $('a.display-remove-link') + .addClass('display-processed') + .click(function() { + var id = $(this).attr('id').replace('display-remove-link-', ''); + $('#display-row-' + id).hide(); + $('#display-removed-' + id).attr('checked', true); + return false; + }); + } + }; -/** + /** * Helper function to parse a querystring. */ -Drupal.Views.parseQueryString = function (query) { - var args = {}; - var pos = query.indexOf('?'); - if (pos != -1) { - query = query.substring(pos + 1); - } - var pairs = query.split('&'); - for(var i in pairs) { - if (typeof(pairs[i]) == 'string') { - var pair = pairs[i].split('='); - // Ignore the 'q' path argument, if present. - if (pair[0] != 'q' && pair[1]) { - args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' ')); + Drupal.Views.parseQueryString = function (query) { + var args = {}; + var pos = query.indexOf('?'); + if (pos != -1) { + query = query.substring(pos + 1); + } + var pairs = query.split('&'); + for (var i in pairs) { + if (typeof(pairs[i]) == 'string') { + var pair = pairs[i].split('='); + // Ignore the 'q' path argument, if present. + if (pair[0] != 'q' && pair[1]) { + args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' ')); + } } } - } - return args; -}; + return args; + }; -/** + /** * Helper function to return a view's arguments based on a path. */ -Drupal.Views.parseViewArgs = function (href, viewPath) { + Drupal.Views.parseViewArgs = function (href, viewPath) { - // Provide language prefix. - if (Drupal.settings.pathPrefix) { - var viewPath = Drupal.settings.pathPrefix + viewPath; - } - var returnObj = {}; - var path = Drupal.Views.getPath(href); - // Ensure we have a correct path. - if (viewPath && path.substring(0, viewPath.length + 1) == viewPath + '/') { - var args = decodeURIComponent(path.substring(viewPath.length + 1, path.length)); - returnObj.view_args = args; - returnObj.view_path = path; - } - return returnObj; -}; + // Provide language prefix. + if (Drupal.settings.pathPrefix) { + var viewPath = Drupal.settings.pathPrefix + viewPath; + } + var returnObj = {}; + var path = Drupal.Views.getPath(href); + // Ensure we have a correct path. + if (viewPath && path.substring(0, viewPath.length + 1) == viewPath + '/') { + var args = decodeURIComponent(path.substring(viewPath.length + 1, path.length)); + returnObj.view_args = args; + returnObj.view_path = path; + } + return returnObj; + }; -/** + /** * Strip off the protocol plus domain from an href. */ -Drupal.Views.pathPortion = function (href) { - // Remove e.g. http://example.com if present. - var protocol = window.location.protocol; - if (href.substring(0, protocol.length) == protocol) { - // 2 is the length of the '//' that normally follows the protocol - href = href.substring(href.indexOf('/', protocol.length + 2)); - } - return href; -}; + Drupal.Views.pathPortion = function (href) { + // Remove e.g. http://example.com if present. + var protocol = window.location.protocol; + if (href.substring(0, protocol.length) == protocol) { + // 2 is the length of the '//' that normally follows the protocol. + href = href.substring(href.indexOf('/', protocol.length + 2)); + } + return href; + }; -/** + /** * Return the Drupal path portion of an href. */ -Drupal.Views.getPath = function (href) { - href = Drupal.Views.pathPortion(href); - href = href.substring(Drupal.settings.basePath.length, href.length); - // 3 is the length of the '?q=' added to the url without clean urls. - if (href.substring(0, 3) == '?q=') { - href = href.substring(3, href.length); - } - var chars = ['#', '?', '&']; - for (var i in chars) { - if (href.indexOf(chars[i]) > -1) { - href = href.substr(0, href.indexOf(chars[i])); + Drupal.Views.getPath = function (href) { + href = Drupal.Views.pathPortion(href); + href = href.substring(Drupal.settings.basePath.length, href.length); + // 3 is the length of the '?q=' added to the url without clean urls. + if (href.substring(0, 3) == '?q=') { + href = href.substring(3, href.length); + } + var chars = ['#', '?', '&']; + for (var i in chars) { + if (href.indexOf(chars[i]) > -1) { + href = href.substr(0, href.indexOf(chars[i])); + } } - } - return href; -}; + return href; + }; })(jQuery); diff --git a/profiles/wcm_base/modules/contrib/views/js/jquery.ui.dialog.patch.js b/profiles/wcm_base/modules/contrib/views/js/jquery.ui.dialog.patch.js index 3ac7704ab672f304158616d1785cc77903897d73..bc468f7561d54ec1d835ede0b699c20681905e26 100644 --- a/profiles/wcm_base/modules/contrib/views/js/jquery.ui.dialog.patch.js +++ b/profiles/wcm_base/modules/contrib/views/js/jquery.ui.dialog.patch.js @@ -1,4 +1,5 @@ /** + * @file * This is part of a patch to address a jQueryUI bug. The bug is responsible * for the inability to scroll a page when a modal dialog is active. If the content * of the dialog extends beyond the bottom of the viewport, the user is only able @@ -15,13 +16,16 @@ * * The original code for this object: * $.ui.dialog.overlay.events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','), - * function(event) { return event + '.dialog-overlay'; }).join(' '), - * + * function(event) { + * return event + '.dialog-overlay'; + * }).join(' '), */ (function ($, undefined) { if ($.ui && $.ui.dialog && $.ui.dialog.overlay) { $.ui.dialog.overlay.events = $.map('focus,keydown,keypress'.split(','), - function(event) { return event + '.dialog-overlay'; }).join(' '); + function(event) { + return event + '.dialog-overlay'; + }).join(' '); } }(jQuery)); diff --git a/profiles/wcm_base/modules/contrib/views/js/views-admin.js b/profiles/wcm_base/modules/contrib/views/js/views-admin.js index 3d91fae44a8fd4c4d5081576dc4a2ae642501fc2..3c5575012e2e808ee5254a8758d2b9f799a59234 100644 --- a/profiles/wcm_base/modules/contrib/views/js/views-admin.js +++ b/profiles/wcm_base/modules/contrib/views/js/views-admin.js @@ -187,7 +187,8 @@ Drupal.viewsUi.addItemForm.prototype.handleCheck = function (event) { else { var length = this.checkedItems.length; var position = jQuery.inArray(label, this.checkedItems); - // Delete the item from the list and take sure that the list doesn't have undefined items left. + // Delete the item from the list and take sure that the list doesn't have + // undefined items left. for (var i = 0; i < this.checkedItems.length; i++) { if (i == position) { this.checkedItems.splice(i, 1); @@ -245,7 +246,7 @@ Drupal.behaviors.viewsUiRenderAddViewButton.attach = function (context, settings }); $addDisplayDropdown.appendTo($menu); - // Add the click handler for the add display button + // Add the click handler for the add display button. $('li.add > a', $menu).bind('click', function (event) { event.preventDefault(); var $trigger = $(this); @@ -668,7 +669,7 @@ Drupal.viewsUi.rearrangeFilterHandler.prototype.modifyTableDrag = function () { // Make sure the "group" dropdown is properly updated when rows are dragged // into an empty filter group. This is borrowed heavily from the block.js - // implementation of tableDrag.onDrop(). + // Implements tableDrag.onDrop(). var groupRow = $(this.rowObject.element).prevAll('tr.group-message').get(0); var groupName = groupRow.className.replace(/([^ ]+[ ]+)*group-([^ ]+)-message([ ]+[^ ]+)*/, '$2'); var groupField = $('select.views-group-select', this.rowObject.element); @@ -769,14 +770,14 @@ Drupal.behaviors.viewsFilterConfigSelectAll.attach = function(context) { $('#views-ui-config-item-form div.form-item-options-value-all', context).once(function() { $(this).show(); }) - .find('input[type=checkbox]') - .click(function() { - var checked = $(this).is(':checked'); - // Update all checkbox beside the select all checkbox. - $(this).parents('.form-checkboxes').find('input[type=checkbox]').each(function() { - $(this).attr('checked', checked); + .find('input[type=checkbox]') + .click(function() { + var checked = $(this).is(':checked'); + // Update all checkbox beside the select all checkbox. + $(this).parents('.form-checkboxes').find('input[type=checkbox]').each(function() { + $(this).attr('checked', checked); + }); }); - }); // Uncheck the select all checkbox if any of the others are unchecked. $('#views-ui-config-item-form div.form-type-checkbox').not($('.form-item-options-value-all')).find('input[type=checkbox]').each(function() { $(this).click(function() { @@ -926,7 +927,7 @@ Drupal.behaviors.viewsUiOverrideSelect.attach = function (context, settings) { $submit.val(Drupal.t('Apply (this display)')); } }) - .trigger('change'); + .trigger('change'); }); }; @@ -935,13 +936,14 @@ Drupal.viewsUi.resizeModal = function (e, no_shrink) { var $ = jQuery; var $modal = $('.views-ui-dialog'); var $scroll = $('.scroll', $modal); - if ($modal.size() == 0 || $modal.css('display') == 'none') { + if ($modal.length == 0 || $modal.css('display') == 'none') { return; } - var maxWidth = parseInt($(window).width() * .85); // 70% of window - var minWidth = parseInt($(window).width() * .6); // 70% of window - + var maxWidth = parseInt($(window).width() * .85); + // 70% of window. + var minWidth = parseInt($(window).width() * .6); + // 70% of window. // Set the modal to the minwidth so that our width calculation of // children works. $modal.css('width', minWidth); @@ -976,7 +978,6 @@ Drupal.viewsUi.resizeModal = function (e, no_shrink) { // Now, calculate what the difference between the scroll and the modal // will be. - var difference = 0; difference += parseInt($scroll.css('padding-top')); difference += parseInt($scroll.css('padding-bottom')); @@ -1001,7 +1002,7 @@ Drupal.viewsUi.resizeModal = function (e, no_shrink) { width = maxWidth; } - // Get where we should move content to + // Get where we should move content to. var top = ($(window).height() / 2) - (height / 2); var left = ($(window).width() / 2) - (width / 2); diff --git a/profiles/wcm_base/modules/contrib/views/js/views-contextual.js b/profiles/wcm_base/modules/contrib/views/js/views-contextual.js index a2bbc2a967765a1d1938f54bdb38c9f42d3f4412..5245af6fd8615d0c81070a977e618c7dcae768b9 100644 --- a/profiles/wcm_base/modules/contrib/views/js/views-contextual.js +++ b/profiles/wcm_base/modules/contrib/views/js/views-contextual.js @@ -4,13 +4,13 @@ */ (function ($) { -Drupal.behaviors.viewsContextualLinks = { - attach: function (context) { - // If there are views-related contextual links attached to the main page - // content, find the smallest region that encloses both the links and the - // view, and display it as a contextual links region. - $('.views-contextual-links-page', context).closest(':has(".view"):not("body")').addClass('contextual-links-region'); - } -}; + Drupal.behaviors.viewsContextualLinks = { + attach: function (context) { + // If there are views-related contextual links attached to the main page + // content, find the smallest region that encloses both the links and the + // view, and display it as a contextual links region. + $('.views-contextual-links-page', context).closest(':has(".view"):not("body")').addClass('contextual-links-region'); + } + }; })(jQuery); diff --git a/profiles/wcm_base/modules/contrib/views/js/views-list.js b/profiles/wcm_base/modules/contrib/views/js/views-list.js index 9c6c5f06e6e0e5745ff6d8afba87320511f41a9f..be67103cf99c2a97fc086e3406a886a984d381cb 100644 --- a/profiles/wcm_base/modules/contrib/views/js/views-list.js +++ b/profiles/wcm_base/modules/contrib/views/js/views-list.js @@ -4,18 +4,18 @@ */ (function ($) { -Drupal.behaviors.viewsUIList = { - attach: function (context) { - $('#ctools-export-ui-list-items thead a').once('views-ajax-processed').each(function() { - $(this).click(function() { - var query = $.deparam.querystring(this.href); - $('#ctools-export-ui-list-form select[name=order]').val(query['order']); - $('#ctools-export-ui-list-form select[name=sort]').val(query['sort']); - $('#ctools-export-ui-list-form input.ctools-auto-submit-click').trigger('click'); - return false; + Drupal.behaviors.viewsUIList = { + attach: function (context) { + $('#ctools-export-ui-list-items thead a').once('views-ajax-processed').each(function() { + $(this).click(function() { + var query = $.deparam.querystring(this.href); + $('#ctools-export-ui-list-form select[name=order]').val(query['order']); + $('#ctools-export-ui-list-form select[name=sort]').val(query['sort']); + $('#ctools-export-ui-list-form input.ctools-auto-submit-click').trigger('click'); + return false; + }); }); - }); - } -}; + } + }; })(jQuery); diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator.views.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator.views.inc index 0fcae2c2f050334a03dca5cda987550af1c13357..54f2a4060662f8b8b1853e309b55b64f71386d0c 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator.views.inc @@ -12,13 +12,12 @@ */ function aggregator_views_data() { // ---------------------------------------------------------------------- - // Main Aggregator Item base table - - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // Main Aggregator Item base table. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['aggregator_item']['table']['group'] = t('Aggregator'); - // Advertise this table as a possible base table + // Advertise this table as a possible base table. $data['aggregator_item']['table']['base'] = array( 'field' => 'iid', 'title' => t('Aggregator item'), @@ -27,43 +26,25 @@ function aggregator_views_data() { // ---------------------------------------------------------------- // Fields - - // item id. - $data['aggregator_item']['iid'] = array( - 'title' => t('Feed Item ID'), - 'help' => t('The unique ID of the aggregator item.'), - 'field' => array( - 'handler' => 'views_handler_field_numeric', - 'click sortable' => TRUE, - ), - 'argument' => array( - 'handler' => 'views_handler_argument_numeric', - 'numeric' => TRUE, - ), - 'filter' => array( - 'handler' => 'views_handler_filter_numeric', - ), - 'sort' => array( - 'handler' => 'views_handler_sort', - ), - ); - - // iid + // Item ID / 'iid'. $data['aggregator_item']['iid'] = array( + // The item it appears as on the UI, 'title' => t('Item ID'), - 'help' => t('The unique ID of the aggregator item.'), // The help that appears on the UI, - // Information for displaying the iid + // The help that appears on the UI, + 'help' => t('The unique ID of the aggregator item.'), + // Information for displaying the iid. 'field' => array( 'handler' => 'views_handler_field_numeric', 'click sortable' => TRUE, ), - // Information for accepting a iid as an argument + // Information for accepting a iid as an argument. 'argument' => array( 'handler' => 'views_handler_argument_aggregator_iid', - 'name field' => 'title', // the field to display in the summary. + 'name field' => 'title', + // The field to display in the summary. 'numeric' => TRUE, ), - // Information for accepting a nid as a filter + // Information for accepting a nid as a filter. 'filter' => array( 'handler' => 'views_handler_filter_numeric', ), @@ -73,55 +54,58 @@ function aggregator_views_data() { ), ); - // title + // Title. $data['aggregator_item']['title'] = array( - 'title' => t('Title'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Title'), 'help' => t('The title of the aggregator item.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_aggregator_title_link', 'extra' => array('link'), 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_string', ), ); - // link + // Link. $data['aggregator_item']['link'] = array( - 'title' => t('Link'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Link'), 'help' => t('The link to the original source URL of the item.'), 'field' => array( 'handler' => 'views_handler_field_url', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_string', ), ); - // author + // Author. $data['aggregator_item']['author'] = array( - 'title' => t('Author'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Author'), 'help' => t('The author of the original imported item.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_aggregator_xss', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -130,19 +114,20 @@ function aggregator_views_data() { ), ); - // guid + // 'guid'. $data['aggregator_item']['guid'] = array( - 'title' => t('GUID'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('GUID'), 'help' => t('The guid of the original imported item.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_xss', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -151,34 +136,36 @@ function aggregator_views_data() { ), ); - // feed body + // Feed body. $data['aggregator_item']['description'] = array( - 'title' => t('Body'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Body'), 'help' => t('The actual content of the imported item.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_aggregator_xss', 'click sortable' => FALSE, - ), - // Information for accepting a title as a filter + ), + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_string', ), ); - // item timestamp + // Item timestamp. $data['aggregator_item']['timestamp'] = array( - 'title' => t('Timestamp'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Timestamp'), 'help' => t('The date the original feed item was posted. (With some feeds, this will be the date it was imported.)'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort_date', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_date', ), @@ -187,10 +174,8 @@ function aggregator_views_data() { ), ); - // ---------------------------------------------------------------------- - // Aggregator feed table - + // Aggregator feed table. $data['aggregator_feed']['table']['group'] = t('Aggregator feed'); // Explain how this table joins to others. @@ -201,22 +186,25 @@ function aggregator_views_data() { ), ); - // fid + // Feed ID / 'fid'. $data['aggregator_feed']['fid'] = array( + // The item it appears as on the UI, 'title' => t('Feed ID'), - 'help' => t('The unique ID of the aggregator feed.'), // The help that appears on the UI, - // Information for displaying the fid + // The help that appears on the UI, + 'help' => t('The unique ID of the aggregator feed.'), + // Information for displaying the fid. 'field' => array( 'handler' => 'views_handler_field_numeric', 'click sortable' => TRUE, ), - // Information for accepting a fid as an argument + // Information for accepting a fid as an argument. 'argument' => array( 'handler' => 'views_handler_argument_aggregator_fid', - 'name field' => 'title', // the field to display in the summary. + 'name field' => 'title', + // The field to display in the summary. 'numeric' => TRUE, ), - // Information for accepting a nid as a filter + // Information for accepting a nid as a filter. 'filter' => array( 'handler' => 'views_handler_filter_numeric', ), @@ -226,20 +214,22 @@ function aggregator_views_data() { ), ); - // title + // Title. $data['aggregator_feed']['title'] = array( - 'title' => t('Title'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Title'), + // The help that appears on the UI, 'help' => t('The title of the aggregator feed.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_aggregator_title_link', 'extra' => array('link'), 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -248,15 +238,16 @@ function aggregator_views_data() { ), ); - // link + // Link. $data['aggregator_feed']['link'] = array( - 'title' => t('Link'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Link'), 'help' => t('The link to the source URL of the feed.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_url', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -265,15 +256,16 @@ function aggregator_views_data() { ), ); - // feed last updated + // Feed last updated. $data['aggregator_feed']['checked'] = array( - 'title' => t('Last checked'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Last checked'), 'help' => t('The date the feed was last checked for new content.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort_date', ), @@ -285,33 +277,35 @@ function aggregator_views_data() { ), ); - // feed description + // Feed description. $data['aggregator_feed']['description'] = array( - 'title' => t('Description'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Description'), 'help' => t('The description of the aggregator feed.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_xss', 'click sortable' => FALSE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), ); - // feed last updated + // Feed last updated. $data['aggregator_feed']['modified'] = array( - 'title' => t('Last modified'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Last modified'), 'help' => t('The date of the most recent new content on the feed.'), - // Information for displaying a title as a field + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort_date', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_date', ), @@ -321,8 +315,7 @@ function aggregator_views_data() { ); // ---------------------------------------------------------------------- - // Aggregator category feed table - + // Aggregator category feed table. $data['aggregator_category_feed']['table']['join'] = array( 'aggregator_item' => array( 'left_field' => 'fid', @@ -331,8 +324,7 @@ function aggregator_views_data() { ); // ---------------------------------------------------------------------- - // Aggregator category table - + // Aggregator category table. $data['aggregator_category']['table']['group'] = t('Aggregator category'); $data['aggregator_category']['table']['join'] = array( @@ -343,7 +335,7 @@ function aggregator_views_data() { ), ); - // cid + // Category ID / 'cid'. $data['aggregator_category']['cid'] = array( 'title' => t('Category ID'), 'help' => t('The unique ID of the aggregator category.'), @@ -364,14 +356,14 @@ function aggregator_views_data() { ), ); - // title + // Title. $data['aggregator_category']['title'] = array( 'title' => t('Category'), 'help' => t('The title of the aggregator category.'), 'field' => array( 'handler' => 'views_handler_field_aggregator_category', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -388,15 +380,18 @@ function aggregator_views_data() { */ function aggregator_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. + 'module' => 'views', + // This just tells our themes are elsewhere. 'row' => array( 'aggregator_rss' => array( 'title' => t('Aggregator item'), 'help' => t('Display the aggregator item using the data from the original source.'), 'handler' => 'views_plugin_row_aggregator_rss', - 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules + 'path' => drupal_get_path('module', 'views') . '/modules/node', + // Not necessary for most modules. 'theme' => 'views_view_row_rss', - 'base' => array('aggregator_item'), // only works with 'node' as base. + 'base' => array('aggregator_item'), + // Only works with 'node' as base. 'uses options' => TRUE, 'type' => 'feed', 'help topic' => 'style-aggregator-rss', diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_category_cid.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_category_cid.inc index 92ae8b7f29dd8697843b6891e432913494780a77..343201f36699e4ed19101adb45a1d3d766fbe175 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_category_cid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_category_cid.inc @@ -11,10 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_aggregator_category_cid extends views_handler_argument_numeric { + /** * Override the behavior of title(). Get the title of the category. */ - function title_query() { + public function title_query() { $titles = array(); $result = db_query("SELECT c.title FROM {aggregator_category} c WHERE c.cid IN (:cid)", array(':cid' => $this->value)); @@ -23,4 +24,5 @@ class views_handler_argument_aggregator_category_cid extends views_handler_argum } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_fid.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_fid.inc index 4147626880f7bee82a940afdfdcb5e06b91092fc..4c3f793aa5babb1141bed6093af8f1e59af7e4ca 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_fid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_fid.inc @@ -11,10 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_aggregator_fid extends views_handler_argument_numeric { + /** * Override the behavior of title(). Get the title of the feed. */ - function title_query() { + public function title_query() { $titles = array(); $result = db_query("SELECT f.title FROM {aggregator_feed} f WHERE f.fid IN (:fids)", array(':fids' => $this->value)); @@ -23,4 +24,5 @@ class views_handler_argument_aggregator_fid extends views_handler_argument_numer } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_iid.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_iid.inc index 4c7824ec783f05f137c5237cd06f66463a16f400..edae5178f2bca6c3b95cf89be8d3b93f26745642 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_iid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_argument_aggregator_iid.inc @@ -11,10 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_aggregator_iid extends views_handler_argument_numeric { + /** * Override the behavior of title(). Get the title of the category. */ - function title_query() { + public function title_query() { $titles = array(); $placeholders = implode(', ', array_fill(0, sizeof($this->value), '%d')); @@ -27,4 +28,5 @@ class views_handler_argument_aggregator_iid extends views_handler_argument_numer } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_category.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_category.inc index 99fffa1eaa8ce7c08bb9d52a017900c83148645b..0630d0dc43f20d519c2f780c6491d07f2c70d4b9 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_category.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_category.inc @@ -12,15 +12,19 @@ * @ingroup views_field_handlers */ class views_handler_field_aggregator_category extends views_handler_field { + /** * Constructor to provide additional field to add. */ - function construct() { + public function construct() { parent::construct(); $this->additional_fields['cid'] = 'cid'; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_category'] = array('default' => FALSE, 'bool' => TRUE); return $options; @@ -29,7 +33,7 @@ class views_handler_field_aggregator_category extends views_handler_field { /** * Provide link to category option */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_category'] = array( '#title' => t('Link this field to its aggregator category page'), '#description' => t('This will override any other link you have set.'), @@ -44,7 +48,7 @@ class views_handler_field_aggregator_category extends views_handler_field { * * Data should be made XSS safe prior to calling this function. */ - function render_link($data, $values) { + public function render_link($data, $values) { $cid = $this->get_value($values, 'cid'); if (!empty($this->options['link_to_category']) && !empty($cid) && $data !== NULL && $data !== '') { $this->options['alter']['make_link'] = TRUE; @@ -53,8 +57,12 @@ class views_handler_field_aggregator_category extends views_handler_field { return $data; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_title_link.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_title_link.inc index d8bf5789bf6367f833231c327e3dd5211f093630..fee000e3115b632265002f9f1c20b1c97ce184a1 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_title_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_title_link.inc @@ -6,18 +6,25 @@ */ /** - * Field handler that turns an item's title into a clickable link to the original - * source article. + * Field handler that turns an item's title into a clickable link to the + * original source article. * * @ingroup views_field_handlers */ class views_handler_field_aggregator_title_link extends views_handler_field { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['link'] = 'link'; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['display_as_link'] = array('default' => TRUE, 'bool' => TRUE); @@ -28,7 +35,7 @@ class views_handler_field_aggregator_title_link extends views_handler_field { /** * Provide link to the page being visited. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['display_as_link'] = array( '#title' => t('Display as link'), '#type' => 'checkbox', @@ -37,12 +44,18 @@ class views_handler_field_aggregator_title_link extends views_handler_field { parent::options_form($form, $form_state); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $link = $this->get_value($values, 'link'); if (!empty($this->options['display_as_link'])) { $this->options['alter']['make_link'] = TRUE; @@ -52,4 +65,5 @@ class views_handler_field_aggregator_title_link extends views_handler_field { return $data; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_xss.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_xss.inc index d39b1013222ed2cdc9e3b841e6982604e223f0c8..66ecfc1bb31872658310e5354ad300f9c79e9188 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_xss.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_field_aggregator_xss.inc @@ -11,8 +11,13 @@ * @ingroup views_field_handlers */ class views_handler_field_aggregator_xss extends views_handler_field { - function render($values) { + + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return aggregator_filter_xss($value); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_filter_aggregator_category_cid.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_filter_aggregator_category_cid.inc index f9931c8f3a47a6ed42c683dfc9107d6c00fa99f5..a8757a94d5ea086d91aff877087f524f97ff2bb7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_filter_aggregator_category_cid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_handler_filter_aggregator_category_cid.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_aggregator_category_cid extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (isset($this->value_options)) { return; } @@ -23,4 +27,5 @@ class views_handler_filter_aggregator_category_cid extends views_handler_filter_ $this->value_options[$category->cid] = $category->title; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_plugin_row_aggregator_rss.inc b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_plugin_row_aggregator_rss.inc index 672952e0bef06db150585aeb863c952906b70962..ca5ab60d94e625dc7f7b2b958f625f5333b8479a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_plugin_row_aggregator_rss.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/aggregator/views_plugin_row_aggregator_rss.inc @@ -2,17 +2,28 @@ /** * @file - * Contains the Aggregator Item RSS row style plugin. + * Definition of views_plugin_row_aggregator_rss. */ /** * Plugin which loads an aggregator item and formats it as an RSS item. */ class views_plugin_row_aggregator_rss extends views_plugin_row { - var $base_table = 'aggregator_item'; - var $base_field = 'iid'; - function option_definition() { + /** + * + */ + public $base_table = 'aggregator_item'; + + /** + * + */ + public $base_field = 'iid'; + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['item_length'] = array('default' => 'default'); @@ -20,7 +31,10 @@ class views_plugin_row_aggregator_rss extends views_plugin_row { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['item_length'] = array( '#type' => 'select', '#title' => t('Display type'), @@ -34,7 +48,10 @@ class views_plugin_row_aggregator_rss extends views_plugin_row { ); } - function render($row) { + /** + * {@inheritdoc} + */ + public function render($row) { $iid = $row->{$this->field_alias}; $sql = "SELECT ai.iid, ai.fid, ai.title, ai.link, ai.author, ai.description, "; $sql .= "ai.timestamp, ai.guid, af.title AS feed_title, ai.link AS feed_LINK "; @@ -71,4 +88,5 @@ class views_plugin_row_aggregator_rss extends views_plugin_row { 'row' => $item )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/book.views.inc b/profiles/wcm_base/modules/contrib/views/modules/book.views.inc index 15a21830a05d823272691825b702928d24689563..87d5be6c0f107c264691af0292e82208d3f0a771 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/book.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/book.views.inc @@ -12,8 +12,7 @@ */ function book_views_data() { // ---------------------------------------------------------------------- - // book table - + // 'book' table. $data['book']['table']['group'] = t('Book'); $data['book']['table']['join'] = array( 'node' => array( @@ -35,8 +34,7 @@ function book_views_data() { ); // ---------------------------------------------------------------------- - // menu_links table -- this is aliased so we can get just book relations - + // 'menu_links' table -- this is aliased so we can get just book relations. // Book hierarchy and weight data are now in {menu_links}. $data['book_menu_links']['table']['group'] = t('Book'); $data['book_menu_links']['table']['join'] = array( @@ -87,9 +85,8 @@ function book_views_data() { ); // ---------------------------------------------------------------------- - // book_parent table -- this is an alias of the book table which + // 'book_parent' table -- this is an alias of the book table which // represents the parent book. - // The {book} record for the parent node. $data['book_parent']['table']['group'] = t('Book'); $data['book_parent']['table']['join'] = array( @@ -119,13 +116,13 @@ function book_views_data() { * Implements hook_views_plugins(). */ function book_views_plugins() { - return array( - 'module' => 'views', - 'argument default' => array( - 'book_root' => array( - 'title' => t('Book root from current node'), - 'handler' => 'views_plugin_argument_default_book_root' - ), - ), - ); + return array( + 'module' => 'views', + 'argument default' => array( + 'book_root' => array( + 'title' => t('Book root from current node'), + 'handler' => 'views_plugin_argument_default_book_root', + ), + ), + ); } diff --git a/profiles/wcm_base/modules/contrib/views/modules/book/views_plugin_argument_default_book_root.inc b/profiles/wcm_base/modules/contrib/views/modules/book/views_plugin_argument_default_book_root.inc index 1ce30467fa655391c773a13311c422d95ca50afa..38ecc897db6ee97383b3568f4a60594ecdbed63d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/book/views_plugin_argument_default_book_root.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/book/views_plugin_argument_default_book_root.inc @@ -1,14 +1,19 @@ <?php + /** * @file - * Contains the book root from current node argument default plugin. + * Definition of views_plugin_argument_default_book_root. */ /** * Default argument plugin to get the current node's book root. */ class views_plugin_argument_default_book_root extends views_plugin_argument_default_node { - function get_argument() { + + /** + * {@inheritdoc} + */ + public function get_argument() { // Use the argument_default_node plugin to get the nid argument. $nid = parent::get_argument(); if (!empty($nid)) { @@ -18,4 +23,5 @@ class views_plugin_argument_default_book_root extends views_plugin_argument_defa } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment.views.inc b/profiles/wcm_base/modules/contrib/views/modules/comment.views.inc index 7f8592f7e4e4f9e0608eb114e92ab0ab316d7651..17c31c774b24d644a48dfcc9a2b84f534cf171e7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment.views.inc @@ -10,13 +10,12 @@ /** * Implements hook_views_data(). */ - function comment_views_data() { $data['comments']['moved to'] = 'comment'; $data['comment']['comment']['moved to'] = array('field_data_comment_body', 'comment_body'); $data['comment']['comment']['field']['moved to'] = array('field_data_comment_body', 'comment_body'); - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['comment']['table']['group'] = t('Comment'); $data['comment']['table']['base'] = array( @@ -36,9 +35,8 @@ function comment_views_data() { ); // ---------------------------------------------------------------- - // Fields - - // subject + // Fields. + // Subject. $data['comment']['subject'] = array( 'title' => t('Title'), 'help' => t('The title of the comment.'), @@ -57,7 +55,7 @@ function comment_views_data() { ), ); - // cid + // Comment ID / 'cid'. $data['comment']['cid'] = array( 'title' => t('ID'), 'help' => t('The comment ID of the field'), @@ -76,7 +74,7 @@ function comment_views_data() { ), ); - // name (of comment author) + // Username of the comment author. $data['comment']['name'] = array( 'title' => t('Author'), 'help' => t("The name of the comment's author. Can be rendered as a link to the author's homepage."), @@ -95,7 +93,7 @@ function comment_views_data() { ), ); - // homepage + // Homepage. $data['comment']['homepage'] = array( 'title' => t("Author's website"), 'help' => t("The website address of the comment's author. Can be rendered as a link. Will be empty if the author is a registered user."), @@ -114,14 +112,14 @@ function comment_views_data() { ), ); - // hostname + // hostname. $data['comment']['hostname'] = array( 'title' => t('Hostname'), 'help' => t('Hostname of user that posted the comment.'), 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -133,14 +131,14 @@ function comment_views_data() { ), ); - // mail + // Email address. $data['comment']['mail'] = array( 'title' => t('Mail'), 'help' => t('Email of user that posted the comment. Will be empty if the author is a registered user.'), 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -152,7 +150,7 @@ function comment_views_data() { ), ); - // created (when comment was posted) + // Created - when comment was posted. $data['comment']['created'] = array( 'title' => t('Post date'), 'help' => t('Date and time of when the comment was created.'), @@ -222,7 +220,7 @@ function comment_views_data() { ), ); - // Language field + // Language field. if (module_exists('locale')) { $data['comment']['language'] = array( 'title' => t('Language'), @@ -244,7 +242,7 @@ function comment_views_data() { } $data['comments']['timestamp']['moved to'] = array('comment', 'changed'); - // changed (when comment was last updated) + // Changed (when comment was last updated). $data['comment']['changed'] = array( 'title' => t('Updated date'), 'help' => t('Date and time of when the comment was last updated.'), @@ -320,7 +318,7 @@ function comment_views_data() { ), ); - // status (approved or not) + // Status (approved or not). $data['comment']['status'] = array( 'title' => t('Approved'), 'help' => t('Whether the comment is approved (or still in the moderation queue).'), @@ -341,7 +339,7 @@ function comment_views_data() { ), ); - // link to view comment + // Link to view comment. $data['comment']['view_comment'] = array( 'field' => array( 'title' => t('View link'), @@ -350,7 +348,7 @@ function comment_views_data() { ), ); - // link to edit comment + // Link to edit comment. $data['comment']['edit_comment'] = array( 'field' => array( 'title' => t('Edit link'), @@ -359,7 +357,7 @@ function comment_views_data() { ), ); - // link to delete comment + // Link to delete comment. $data['comment']['delete_comment'] = array( 'field' => array( 'title' => t('Delete link'), @@ -368,8 +366,7 @@ function comment_views_data() { ), ); - - // link to approve comment + // Link to approve comment. $data['comment']['approve_comment'] = array( 'field' => array( 'title' => t('Approve link'), @@ -378,7 +375,7 @@ function comment_views_data() { ), ); - // link to reply to comment + // Link to reply to comment. $data['comment']['replyto_comment'] = array( 'field' => array( 'title' => t('Reply-to link'), @@ -461,22 +458,21 @@ function comment_views_data() { ); // ---------------------------------------------------------------------- - // node_comment_statistics table - - // define the group + // 'node_comment_statistics' table. + // Define the group. $data['node_comment_statistics']['table']['group'] = t('Content'); - // joins + // Joins. $data['node_comment_statistics']['table']['join'] = array( - //...to the node table + // ...to the node table. 'node' => array( 'type' => 'INNER', 'left_field' => 'nid', 'field' => 'nid', - ), + ), ); - // last_comment_timestamp + // Timestamp of the last comment. $data['node_comment_statistics']['last_comment_timestamp'] = array( 'title' => t('Last comment time'), 'help' => t('Date and time of when the last comment was posted.'), @@ -492,7 +488,7 @@ function comment_views_data() { ), ); - // last_comment_name (author's name) + // Last comment author's username. $data['node_comment_statistics']['last_comment_name'] = array( 'title' => t("Last comment author"), 'help' => t('The name of the author of the last posted comment.'), @@ -507,7 +503,7 @@ function comment_views_data() { ), ); - // comment_count + // Comment count. $data['node_comment_statistics']['comment_count'] = array( 'title' => t('Comment count'), 'help' => t('The number of comments a node has.'), @@ -526,7 +522,7 @@ function comment_views_data() { ), ); - // last_comment_timestamp + // Timestamp of when the last comment update happened. $data['node_comment_statistics']['last_updated'] = array( 'title' => t('Updated/commented date'), 'help' => t('The most recent of last comment posted or node updated time.'), @@ -558,7 +554,7 @@ function comment_views_data() { ), ); - // last_comment_uid + // The user ID / 'uid' of the user who last posted a comment. $data['node_comment_statistics']['last_comment_uid'] = array( 'title' => t('Last comment uid'), 'help' => t('The User ID of the author of the last comment of a node.'), @@ -584,11 +580,12 @@ function comment_views_data() { } /** - * Use views_data_alter to add items to the node table that are - * relevant to comments. + * Implements hook_views_data_alter() on behalf of comment.module. + * + * Add items to the node table that are relevant to comments. */ function comment_views_data_alter(&$data) { - // new comments + // New comments. $data['node']['new_comments'] = array( 'title' => t('New comments'), 'help' => t('The number of new comments on the node.'), @@ -606,7 +603,7 @@ function comment_views_data_alter(&$data) { ), ); - // Comment status of the node + // Comment status of the node. $data['node']['comment'] = array( 'title' => t('Comment status'), 'help' => t('Whether comments are enabled or disabled on the node.'), @@ -636,7 +633,7 @@ function comment_views_data_alter(&$data) { 'field' => 'uid', 'name table' => 'users', 'name field' => 'name', - 'handler' => 'views_handler_filter_comment_user_uid' + 'handler' => 'views_handler_filter_comment_user_uid', ), ); @@ -652,7 +649,6 @@ function comment_views_data_alter(&$data) { 'handler' => 'views_handler_relationship', ), ); - } /** @@ -667,8 +663,10 @@ function comment_views_plugins() { 'help' => t('Display the comment with standard comment view.'), 'handler' => 'views_plugin_row_comment_view', 'theme' => 'views_view_row_comment', - 'path' => drupal_get_path('module', 'views') . '/modules/comment', // not necessary for most modules - 'base' => array('comment'), // only works with 'comment' as base. + 'path' => drupal_get_path('module', 'views') . '/modules/comment', + // Not necessary for most modules. + 'base' => array('comment'), + // Only works with 'comment' as base. 'uses options' => TRUE, 'type' => 'normal', 'help topic' => 'style-comment', @@ -678,8 +676,10 @@ function comment_views_plugins() { 'help' => t('Display the comment as RSS.'), 'handler' => 'views_plugin_row_comment_rss', 'theme' => 'views_view_row_rss', - 'path' => drupal_get_path('module', 'views') . '/modules/comment', // not necessary for most modules - 'base' => array('comment'), // only works with 'comment' as base. + 'path' => drupal_get_path('module', 'views') . '/modules/comment', + // Not necessary for most modules. + 'base' => array('comment'), + // Only works with 'comment' as base. 'uses options' => TRUE, 'type' => 'feed', 'help topic' => 'style-comment-rss', @@ -689,7 +689,7 @@ function comment_views_plugins() { } /** - * Template helper for theme_views_view_row_comment + * Template helper for theme_views_view_row_comment. */ function template_preprocess_views_view_row_comment(&$vars) { $options = $vars['options']; @@ -701,9 +701,9 @@ function template_preprocess_views_view_row_comment(&$vars) { $node->view = &$view; $build = comment_view_multiple(array($comment->cid => $comment), $node, $plugin->options['view_mode']); - // If we're displaying the comments without links, remove them from the - // renderable array. There is no way to avoid building them in the first - // place (see comment_build_content()). + // If displaying the comments without links, remove them from the renderable + // array; there is no way to avoid building them in the first place. + // @see comment_build_content() if (empty($options['links'])) { foreach ($build as $cid => &$comment_build) { if (isset($comment_build['links'])) { diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment.views_default.inc b/profiles/wcm_base/modules/contrib/views/modules/comment.views_default.inc index d0c4796a6a4213927fe2141b7978abf9a14b7214..cee9227f86ad271aea1a979160acd9217cbd46da 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment.views_default.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment.views_default.inc @@ -6,12 +6,12 @@ */ /** - * Implementation of hook_views_default_views() + * Implements hook_views_default_views(). */ function comment_views_default_views() { $views = array(); - $view = new view; + $view = new view(); $view->name = 'comments_recent'; $view->description = 'Contains a block and a page to list recent comments; the block will automatically link to the page, which displays the comment body as well as a link to the node.'; $view->tag = 'default'; @@ -122,7 +122,7 @@ function comment_views_default_views() { $views['comments_recent'] = $view; - $view = new view; + $view = new view(); $view->name = 'tracker'; $view->description = 'Shows all new activity on system.'; $view->tag = 'default'; diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_argument_comment_user_uid.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_argument_comment_user_uid.inc index d821f32c361378f6852ea3194a7fc2511cb35bc7..7748b40e1061c759261d6de55785eb594bd3d133 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_argument_comment_user_uid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_argument_comment_user_uid.inc @@ -12,7 +12,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_comment_user_uid extends views_handler_argument { - function title() { + + /** + * {@inheritdoc} + */ + public function title() { if (!$this->argument) { $title = variable_get('anonymous', t('Anonymous')); } @@ -26,7 +30,10 @@ class views_handler_argument_comment_user_uid extends views_handler_argument { return check_plain($title); } - function default_actions($which = NULL) { + /** + * {@inheritdoc} + */ + public function default_actions($which = NULL) { // Disallow summary views on this argument. if (!$which) { $actions = parent::default_actions(); @@ -40,7 +47,10 @@ class views_handler_argument_comment_user_uid extends views_handler_argument { } } - function query($group_by = FALSE) { + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $this->ensure_my_table(); $subselect = db_select('comment', 'c'); @@ -55,7 +65,11 @@ class views_handler_argument_comment_user_uid extends views_handler_argument { $this->query->add_where(0, $condition); } - function get_sort_name() { + /** + * {@inheritdoc} + */ + public function get_sort_name() { return t('Numerical', array(), array('context' => 'Sort order')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment.inc index 7ca3256fa6db6a2fcd1015849167052f9c9e2144..596bb4a80f3a853e9e2b6770f502e08b681e0b1a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment.inc @@ -11,10 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_comment extends views_handler_field { + /** * Override init function to provide generic option to link to comment. */ - function init(&$view, &$options) { + public function init(&$view, &$options) { parent::init($view, $options); if (!empty($this->options['link_to_comment'])) { $this->additional_fields['cid'] = 'cid'; @@ -22,7 +23,10 @@ class views_handler_field_comment extends views_handler_field { } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_comment'] = array('default' => TRUE, 'bool' => TRUE); $options['link_to_node'] = array('default' => FALSE, 'bool' => TRUE); @@ -31,9 +35,9 @@ class views_handler_field_comment extends views_handler_field { } /** - * Provide link-to-comment option + * Provide link-to-comment option. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_comment'] = array( '#title' => t('Link this field to its comment'), '#description' => t("Enable to override this field's links."), @@ -48,7 +52,10 @@ class views_handler_field_comment extends views_handler_field { parent::options_form($form, $form_state); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { if (!empty($this->options['link_to_comment'])) { $this->options['alter']['make_link'] = TRUE; $nid = $this->get_value($values, 'nid'); @@ -58,7 +65,7 @@ class views_handler_field_comment extends views_handler_field { $this->options['alter']['fragment'] = "comment-" . $cid; } // If there is no comment link to the node. - else if ($this->options['link_to_node']) { + elseif ($this->options['link_to_node']) { $this->options['alter']['path'] = "node/" . $nid; } } @@ -66,8 +73,12 @@ class views_handler_field_comment extends views_handler_field { return $data; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_depth.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_depth.inc index 4840a1e5cb511f65f00f7ae330ac197f51ca8cce..8ea257dba2c0c81d907370e716b1b010a6d6b7b5 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_depth.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_depth.inc @@ -11,11 +11,13 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_depth extends views_handler_field { + /** - * Work out the depth of this comment + * Work out the depth of this comment. */ - function render($values) { + public function render($values) { $comment_thread = $this->get_value($values); return count(explode('.', $comment_thread)) - 1; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link.inc index 162924e166f7dfa0cd42dbcc51a67b9149521247..26fd48360cfab66b269a70701f63598e426d06a4 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link.inc @@ -11,18 +11,21 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_link extends views_handler_field_entity { - function construct() { - parent::construct(); - } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['text'] = array('default' => '', 'translatable' => TRUE); $options['link_to_node'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['text'] = array( '#type' => 'textfield', '#title' => t('Text to display'), @@ -36,17 +39,26 @@ class views_handler_field_comment_link extends views_handler_field_entity { parent::options_form($form, $form_state); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values, 'cid'); return $this->render_link($this->sanitize_value($value), $values); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $text = !empty($this->options['text']) ? $this->options['text'] : t('view'); $comment = $this->get_value($values); $nid = $comment->nid; @@ -60,10 +72,11 @@ class views_handler_field_comment_link extends views_handler_field_entity { $this->options['alter']['fragment'] = "comment-" . $cid; } // If there is no comment link to the node. - else if ($this->options['link_to_node']) { + elseif ($this->options['link_to_node']) { $this->options['alter']['path'] = "node/" . $nid; } return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_approve.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_approve.inc index 0953d0c8d1ff866132fe9dde651d0ecb17e75a9f..b161eeb0a34d2e14fff72e170a196519e6cfb3ab 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_approve.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_approve.inc @@ -11,12 +11,19 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_link_approve extends views_handler_field_comment_link { - function access() { + + /** + * {@inheritdoc} + */ + public function access() { //needs permission to administer comments in general return user_access('administer comments'); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $status = $this->get_value($values, 'status'); // Don't show an approve link on published nodes. @@ -33,4 +40,5 @@ class views_handler_field_comment_link_approve extends views_handler_field_comme return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_delete.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_delete.inc index c55ac1cf4b139a64944e40e7a81dc4216fa6f115..6b230eacac1c11b5bdc029a4630d803c92b4ccec 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_delete.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_delete.inc @@ -11,12 +11,19 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_link_delete extends views_handler_field_comment_link { - function access() { - //needs permission to administer comments in general + + /** + * {@inheritdoc} + */ + public function access() { + // Needs permission to administer comments in general. return user_access('administer comments'); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $text = !empty($this->options['text']) ? $this->options['text'] : t('delete'); $cid = $this->get_value($values, 'cid'); @@ -26,4 +33,5 @@ class views_handler_field_comment_link_delete extends views_handler_field_commen return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_edit.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_edit.inc index 0b06c0e9442c8feca6aebd9a64b2fe08d9123b48..96df9dccbdae77f96bbd805d5c8875a80322e80e 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_edit.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_edit.inc @@ -11,14 +11,21 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_link_edit extends views_handler_field_comment_link { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['destination'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['destination'] = array( @@ -30,9 +37,12 @@ class views_handler_field_comment_link_edit extends views_handler_field_comment_ ); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { parent::render_link($data, $values); - // ensure user has access to edit this comment. + // Ensure user has access to edit this comment. $comment = $this->get_value($values); if (!comment_access('edit', $comment)) { return; @@ -49,4 +59,5 @@ class views_handler_field_comment_link_edit extends views_handler_field_comment_ return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_reply.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_reply.inc index 47d0f17036e9d06b9fb3be43db753dbd1f25bbd0..581b06dd97edc9f29e9550faaa70ef88a56dee6d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_reply.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_link_reply.inc @@ -11,12 +11,19 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_link_reply extends views_handler_field_comment_link { - function access() { - //check for permission to reply to comments + + /** + * {@inheritdoc} + */ + public function access() { + // Check for permission to reply to comments. return user_access('post comments'); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $text = !empty($this->options['text']) ? $this->options['text'] : t('reply'); $nid = $this->get_value($values, 'nid'); $cid = $this->get_value($values, 'cid'); @@ -26,4 +33,5 @@ class views_handler_field_comment_link_reply extends views_handler_field_comment return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_node_link.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_node_link.inc index 7feecfba9c09a67ae8b475f62c88c9f8833f9279..0e5ab6d5485b334fdd2a5b2deb703a8a06b0adc2 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_node_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_node_link.inc @@ -11,10 +11,14 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_node_link extends views_handler_field_entity { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); - // Add the node fields that comment_link will need.. + // Add the node fields that comment_link will need. $this->additional_fields['nid'] = array( 'field' => 'nid', ); @@ -26,13 +30,19 @@ class views_handler_field_comment_node_link extends views_handler_field_entity { ); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['teaser'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['teaser'] = array( '#type' => 'checkbox', '#title' => t('Show teaser-style link'), @@ -43,22 +53,32 @@ class views_handler_field_comment_node_link extends views_handler_field_entity { parent::options_form($form, $form_state); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { // Build fake $node. $node = $this->get_value($values); - // Call comment.module's hook_link: comment_link($type, $node = NULL, $teaser = FALSE) - // Call node by reference so that something is changed here + // Call comment.module's hook_link: + // comment_link($type, $node = NULL, $teaser = FALSE) + // Call node by reference so that something is changed here. comment_node_view($node, $this->options['teaser'] ? 'teaser' : 'full'); - // question: should we run these through: drupal_alter('link', $links, $node); - // might this have unexpected consequences if these hooks expect items in $node that we don't have? + // Question: should we run these through: + // drupal_alter('link', $links, $node); + // Might this have unexpected consequences if these hooks expect items in + // $node that we don't have? // Only render the links, if they are defined. return !empty($node->content['links']['comment']) ? drupal_render($node->content['links']['comment']) : ''; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_username.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_username.inc index 887a74e3310ac50bbfc3bb9fc9a3a41727986715..7198d26f4cfd5a57dfedbbbaadac8143d1ea44f6 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_username.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_comment_username.inc @@ -11,22 +11,29 @@ * @ingroup views_field_handlers */ class views_handler_field_comment_username extends views_handler_field { + /** * Override init function to add uid and homepage fields. */ - function init(&$view, &$data) { + public function init(&$view, &$data) { parent::init($view, $data); $this->additional_fields['uid'] = 'uid'; $this->additional_fields['homepage'] = 'homepage'; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_user'] = array('default' => TRUE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['link_to_user'] = array( '#title' => t("Link this field to its user or an author's homepage"), '#type' => 'checkbox', @@ -35,7 +42,10 @@ class views_handler_field_comment_username extends views_handler_field { parent::options_form($form, $form_state); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { if (!empty($this->options['link_to_user'])) { $account = new stdClass(); $account->uid = $this->get_value($values, 'uid'); @@ -51,8 +61,12 @@ class views_handler_field_comment_username extends views_handler_field { } } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_last_comment_timestamp.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_last_comment_timestamp.inc index e7cf8bdef375e25c53cee0dcef90d2968def40ac..50dd8d1f1c39a83876898bf54ac3c3ee6d605aac 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_last_comment_timestamp.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_last_comment_timestamp.inc @@ -6,17 +6,24 @@ */ /** - * Field handler to display the timestamp of a comment with the count of comments. + * Field handler to display the timestamp of a comment with the comments count. * * @ingroup views_field_handlers */ class views_handler_field_last_comment_timestamp extends views_handler_field_date { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['comment_count'] = 'comment_count'; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $comment_count = $this->get_value($values, 'comment_count'); if (empty($this->options['empty_zero']) || $comment_count) { return parent::render($values); @@ -25,4 +32,5 @@ class views_handler_field_last_comment_timestamp extends views_handler_field_dat return NULL; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_comment_name.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_comment_name.inc index c9c6885ef187f9030dc7345b6848a7d342e76083..f38d3ebd6b198214ea61c6cfad7ab7cb958aa72d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_comment_name.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_comment_name.inc @@ -11,17 +11,22 @@ * @ingroup views_field_handlers */ class views_handler_field_ncs_last_comment_name extends views_handler_field { - function query() { - // last_comment_name only contains data if the user is anonymous. So we - // have to join in a specially related user table. + + /** + * {@inheritdoc} + */ + public function query() { + // 'last_comment_name' only contains data if the user is anonymous, so join + // in a specially related user table. $this->ensure_my_table(); - // join 'users' to this table via vid + // Join 'users' to this table via vid. $join = new views_join(); $join->construct('users', $this->table_alias, 'last_comment_uid', 'uid'); $join->extra = array(array('field' => 'uid', 'operator' => '!=', 'value' => '0')); - // ncs_user alias so this can work with the sort handler, below. -// $this->user_table = $this->query->add_relationship(NULL, $join, 'users', $this->relationship); + // 'ncs_user' alias so this can work with the sort handler, below. + // $this->user_table = $this->query + // ->add_relationship(NULL, $join, 'users', $this->relationship); $this->user_table = $this->query->ensure_table('ncs_users', $this->relationship, $join); $this->field_alias = $this->query->add_field(NULL, "COALESCE($this->user_table.name, $this->table_alias.$this->field)", $this->table_alias . '_' . $this->field); @@ -30,7 +35,10 @@ class views_handler_field_ncs_last_comment_name extends views_handler_field { $this->uid = $this->query->add_field($this->table_alias, 'last_comment_uid'); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_user'] = array('default' => TRUE, 'bool' => TRUE); @@ -38,7 +46,10 @@ class views_handler_field_ncs_last_comment_name extends views_handler_field { return $options; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { if (!empty($this->options['link_to_user'])) { $account = new stdClass(); $account->name = $this->get_value($values); @@ -51,4 +62,5 @@ class views_handler_field_ncs_last_comment_name extends views_handler_field { return $this->sanitize_value($this->get_value($values)); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_updated.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_updated.inc index d1d730605ef994e456bf86a81b8d4f0e96e72c48..4d1355103e7f70d3fe935a9206cfac72558c8664 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_updated.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_ncs_last_updated.inc @@ -4,15 +4,21 @@ * @file * Definition of views_handler_field_ncs_last_updated. */ + /** * Field handler to display the newer of last comment / node updated. * * @ingroup views_field_handlers */ class views_handler_field_ncs_last_updated extends views_handler_field_date { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->node_table = $this->query->ensure_table('node', $this->relationship); $this->field_alias = $this->query->add_field(NULL, "GREATEST(" . $this->node_table . ".changed, " . $this->table_alias . ".last_comment_timestamp)", $this->table_alias . '_' . $this->field); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_comment.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_comment.inc index d863c44776609cf4af595e7f0e5b9c4783ca09f1..c76adbfb4dedd1497aaef88514e31b5b8cc3c7bd 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_comment.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_comment.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_node_comment extends views_handler_field { - function render($values) { + + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); switch ($value) { case COMMENT_NODE_HIDDEN: @@ -23,4 +27,5 @@ class views_handler_field_node_comment extends views_handler_field { return t('Open'); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_new_comments.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_new_comments.inc index 70b0581f9f529ccd3d6d2a7736b123737620aaf9..776237a48a6908223d9dc17b997e7bb17ea4e06c 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_new_comments.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_field_node_new_comments.inc @@ -11,24 +11,34 @@ * @ingroup views_field_handlers */ class views_handler_field_node_new_comments extends views_handler_field_numeric { - function init(&$view, &$options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); - // translate an older setting: + // Translate an older setting. if (!empty($options['no_empty'])) { $this->options['hide_empty'] = TRUE; unset($this->options['no_empty']); } } - function construct() { + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['nid'] = 'nid'; $this->additional_fields['type'] = 'type'; $this->additional_fields['comment_count'] = array('table' => 'node_comment_statistics', 'field' => 'comment_count'); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_comment'] = array('default' => TRUE, 'bool' => TRUE); @@ -36,7 +46,10 @@ class views_handler_field_node_new_comments extends views_handler_field_numeric return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['link_to_comment'] = array( '#title' => t('Link this field to new comments'), '#description' => t("Enable to override this field's links."), @@ -47,13 +60,19 @@ class views_handler_field_node_new_comments extends views_handler_field_numeric parent::options_form($form, $form_state); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); $this->field_alias = $this->table . '_' . $this->field; } - function pre_render(&$values) { + /** + * {@inheritdoc} + */ + public function pre_render(&$values) { global $user; if (!$user->uid || empty($values)) { return; @@ -89,7 +108,10 @@ class views_handler_field_node_new_comments extends views_handler_field_numeric } } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { if (!empty($this->options['link_to_comment']) && $data !== NULL && $data !== '') { $node = new stdClass(); $node->nid = $this->get_value($values, 'nid'); @@ -103,7 +125,10 @@ class views_handler_field_node_new_comments extends views_handler_field_numeric return $data; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); if (!empty($value)) { return $this->render_link(parent::render($values), $values); @@ -112,4 +137,5 @@ class views_handler_field_node_new_comments extends views_handler_field_numeric $this->options['alter']['make_link'] = FALSE; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_comment_user_uid.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_comment_user_uid.inc index e76ebb79c55f168ef778269d8173a018be081c9b..199a33cdeaef14234f60069df6093044e3739d7a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_comment_user_uid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_comment_user_uid.inc @@ -12,7 +12,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_comment_user_uid extends views_handler_filter_user_name { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $subselect = db_select('comment', 'c'); @@ -26,4 +30,5 @@ class views_handler_filter_comment_user_uid extends views_handler_filter_user_na $this->query->add_where($this->options['group'], $condition); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_ncs_last_updated.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_ncs_last_updated.inc index 2319edffd94e65a77a103939ac7f1bb473b43ed3..e696390d79a5e19defac1cf1f96292412ec78b78 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_ncs_last_updated.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_ncs_last_updated.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_ncs_last_updated extends views_handler_filter_date { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->node_table = $this->query->ensure_table('node', $this->relationship); @@ -22,4 +26,5 @@ class views_handler_filter_ncs_last_updated extends views_handler_filter_date { $this->{$info[$this->operator]['method']}($field); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_node_comment.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_node_comment.inc index befce107bfa9ff689d710cbe4764a1f1a9fd20bf..6a19948e57000dd1c5ea36e702947fa3f7bb8076 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_node_comment.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_filter_node_comment.inc @@ -11,11 +11,16 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_comment extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { $this->value_options = array( COMMENT_NODE_HIDDEN => t('Hidden'), COMMENT_NODE_CLOSED => t('Closed'), COMMENT_NODE_OPEN => t('Open'), ); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_comment_thread.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_comment_thread.inc index e513a93e8d0c79da7f5d705d58842a083c9dd996..12518594d097c8b8234d89a40bd4b4672cbfffad 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_comment_thread.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_comment_thread.inc @@ -11,18 +11,23 @@ * @ingroup views_sort_handlers */ class views_handler_sort_comment_thread extends views_handler_sort { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); - //Read comment_render() in comment.module for an explanation of the - //thinking behind this sort. + // Read comment_render() in comment.module for an explanation of the + // thinking behind this sort. if ($this->options['order'] == 'DESC') { $this->query->add_orderby($this->table_alias, $this->real_field, $this->options['order']); } else { $alias = $this->table_alias . '_' . $this->real_field . 'asc'; - //@todo is this secure? + // @todo Is this secure? $this->query->add_orderby(NULL, "SUBSTRING({$this->table_alias}.{$this->real_field}, 1, (LENGTH({$this->table_alias}.{$this->real_field}) - 1))", $this->options['order'], $alias); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_comment_name.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_comment_name.inc index 613045a1140088a8b9520da0c6db7e1f35ba67e6..cdb9fc5d4634e798a8836c2fba09fa47d213492e 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_comment_name.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_comment_name.inc @@ -6,25 +6,30 @@ */ /** - * Sort handler to sort by last comment name which might be in 2 different - * fields. + * Sort by last comment name, which might be in two different fields. * * @ingroup views_sort_handlers */ class views_handler_sort_ncs_last_comment_name extends views_handler_sort { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $join = new views_join(); $join->construct('users', $this->table_alias, 'last_comment_uid', 'uid'); - // @todo this might be safer if we had an ensure_relationship rather than guessing - // the table alias. Though if we did that we'd be guessing the relationship name - // so that doesn't matter that much. -// $this->user_table = $this->query->add_relationship(NULL, $join, 'users', $this->relationship); + // @todo This might be safer if we had an ensure_relationship rather than + // guessing the table alias. Though if we did that we'd be guessing the + // relationship name so that doesn't matter that much. + // $this->user_table = $this->query + // ->add_relationship(NULL, $join, 'users', $this->relationship); $this->user_table = $this->query->ensure_table('ncs_users', $this->relationship, $join); $this->user_field = $this->query->add_field($this->user_table, 'name'); // Add the field. $this->query->add_orderby(NULL, "LOWER(COALESCE($this->user_table.name, $this->table_alias.$this->field))", $this->options['order'], $this->table_alias . '_' . $this->field); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_updated.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_updated.inc index 83f0f5474a602f221a0253d070d67db7c6fc153f..fca3532ba142bd76a7c11322e80fffa1bc0d6eb6 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_updated.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_handler_sort_ncs_last_updated.inc @@ -11,9 +11,14 @@ * @ingroup views_sort_handlers */ class views_handler_sort_ncs_last_updated extends views_handler_sort_date { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->node_table = $this->query->ensure_table('node', $this->relationship); $this->field_alias = $this->query->add_orderby(NULL, "GREATEST(" . $this->node_table . ".changed, " . $this->table_alias . ".last_comment_timestamp)", $this->options['order'], $this->table_alias . '_' . $this->field); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_rss.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_rss.inc index e349590d909ae4e0b86288bd320a28276f6f2b89..33b6a40f37de412a47103cef7bf957b1c3afecc1 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_rss.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_rss.inc @@ -2,17 +2,28 @@ /** * @file - * Contains the comment RSS row style plugin. + * Definition of views_plugin_row_comment_rss. */ /** * Plugin which formats the comments as RSS items. */ class views_plugin_row_comment_rss extends views_plugin_row { - var $base_table = 'comment'; - var $base_field = 'cid'; - function option_definition() { + /** + * {@inheritdoc} + */ + public $base_table = 'comment'; + + /** + * {@inheritdoc} + */ + public $base_field = 'cid'; + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['item_length'] = array('default' => 'default'); @@ -21,7 +32,10 @@ class views_plugin_row_comment_rss extends views_plugin_row { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['item_length'] = array( @@ -37,8 +51,10 @@ class views_plugin_row_comment_rss extends views_plugin_row { ); } - - function pre_render($result) { + /** + * {@inheritdoc} + */ + public function pre_render($result) { $cids = array(); $nids = array(); @@ -59,10 +75,10 @@ class views_plugin_row_comment_rss extends views_plugin_row { * Return the main options, which are shown in the summary title * * @see views_plugin_row_node_rss::options_form_summary_options() - * @todo: Maybe provide a views_plugin_row_rss_entity and reuse this method + * @todo Maybe provide a views_plugin_row_rss_entity and reuse this method * in views_plugin_row_comment|node_rss.inc */ - function options_form_summary_options() { + public function options_form_summary_options() { $entity_info = entity_get_info('node'); $options = array(); if (!empty($entity_info['view modes'])) { @@ -75,8 +91,10 @@ class views_plugin_row_comment_rss extends views_plugin_row { return $options; } - - function render($row) { + /** + * {@inheritdoc} + */ + public function render($row) { global $base_url; $cid = $row->{$this->field_alias}; @@ -89,7 +107,7 @@ class views_plugin_row_comment_rss extends views_plugin_row { $item_length = variable_get('feed_item_length', 'teaser'); } - // Load the specified comment and its associated node: + // Load the specified comment and its associated node. $comment = $this->comments[$cid]; if (empty($comment) || empty($this->nodes[$comment->nid])) { return; @@ -149,4 +167,5 @@ class views_plugin_row_comment_rss extends views_plugin_row { 'row' => $item )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_view.inc b/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_view.inc index f78fa3667292561fb5af6d9a0049ff41903f989b..3895e9c9ff369833a8fca2f7e97e14e942c0a9f7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_view.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/comment/views_plugin_row_comment_view.inc @@ -2,38 +2,55 @@ /** * @file - * Contains the node RSS row style plugin. + * Definition of views_plugin_row_comment_view. */ /** * Plugin which performs a comment_view on the resulting object. */ class views_plugin_row_comment_view extends views_plugin_row { - var $base_field = 'cid'; - var $base_table = 'comment'; + + /** + * {@inheritdoc} + */ + public $base_field = 'cid'; + + /** + * {@inheritdoc} + */ + public $base_table = 'comment'; /** * Stores all comments which are preloaded. */ - var $comments = array(); + public $comments = array(); /** * Stores all nodes of all comments which are preloaded. */ - var $nodes = array(); + public $nodes = array(); - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { return t('Settings'); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['links'] = array('default' => TRUE, 'bool' => TRUE); $options['view_mode'] = array('default' => 'full'); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $options = $this->options_form_summary_options(); @@ -51,11 +68,10 @@ class views_plugin_row_comment_view extends views_plugin_row { ); } - /** * Return the main options, which are shown in the summary title. */ - function options_form_summary_options() { + public function options_form_summary_options() { $entity_info = entity_get_info('comment'); $options = array(); if (!empty($entity_info['view modes'])) { @@ -72,7 +88,10 @@ class views_plugin_row_comment_view extends views_plugin_row { return $options; } - function pre_render($result) { + /** + * {@inheritdoc} + */ + public function pre_render($result) { $cids = array(); foreach ($result as $row) { @@ -94,4 +113,5 @@ class views_plugin_row_comment_view extends views_plugin_row { $this->nodes[$node->nid] = $node; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/contact/views_handler_field_contact_link.inc b/profiles/wcm_base/modules/contrib/views/modules/contact/views_handler_field_contact_link.inc index 9d22f01d023e1dd77934d01f4614f9a9a6352aec..c8db429e9a18e7a641199ad2ae4c755b66828bba 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/contact/views_handler_field_contact_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/contact/views_handler_field_contact_link.inc @@ -12,21 +12,30 @@ */ class views_handler_field_contact_link extends views_handler_field_user_link { - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['text']['#title'] = t('Link label'); $form['text']['#required'] = TRUE; $form['text']['#default_value'] = empty($this->options['text']) ? t('contact') : $this->options['text']; parent::options_form($form, $form_state); } - // An example of field level access control. - // We must override the access method in the parent class, as that requires - // the 'access user profiles' permission, which the contact form does not. - function access() { + /** + * An example of field level access control. + * + * We must override the access method in the parent class, as that requires + * the 'access user profiles' permission, which the contact form does not. + */ + public function access() { return user_access('access user contact forms'); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { global $user; $uid = $this->get_value($values, 'uid'); @@ -54,4 +63,5 @@ class views_handler_field_contact_link extends views_handler_field_user_link { return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/field.views.inc b/profiles/wcm_base/modules/contrib/views/modules/field.views.inc index eae7f6d444a01f2371cc6fa973612f2c9ca17148..9f1937417d008455ba166476c0830f335fc5e3b1 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/field.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/field.views.inc @@ -108,7 +108,14 @@ function field_views_field_default_views_data($field) { $revision_tables = array(); $groups = array(); - $group_name = count($field['bundles']) > 1 ? t('Field') : NULL; + // Store translations to avoid being called thousands of times. + $translations['no_value_bracket'] = t('<No value>'); + $translations['no_value_dash'] = t('- No value -'); + $translations['field'] = t('Field'); + $translations['node'] = t('Node'); + $translations['content'] = t('Content'); + + $group_name = count($field['bundles']) > 1 ? $translations['field'] : NULL; // Build the relationships between the field table and the entity tables. foreach ($field['bundles'] as $entity => $bundles) { @@ -116,8 +123,8 @@ function field_views_field_default_views_data($field) { $groups[$entity] = $entity_info['label']; // Override Node to Content. - if ($groups[$entity] == t('Node')) { - $groups[$entity] = t('Content'); + if ($groups[$entity] == $translations['node']) { + $groups[$entity] = $translations['content']; } // If only one bundle use this as the default name. @@ -175,6 +182,15 @@ function field_views_field_default_views_data($field) { // and take the one which is used the most frequently. $field_name = $field['field_name']; list($label, $all_labels) = field_views_field_label($field_name); + + $bundle_names_text = implode(', ', $bundles_names); + $translations['appears_in_help'] = t('Appears in: @bundles.', array('@bundles' => $bundle_names_text)); + $translations['delta_appears_in_help'] = t('Delta - Appears in: @bundles.', array('@bundles' => $bundle_names_text)); + $translations['language_appears_in_help'] = t('Language - Appears in: @bundles.', array('@bundles' => $bundle_names_text)); + $translations['group_historical'] = t('@group (historical data)', array('@group' => $group_name)); + $translations['alias_help'] = t('This is an alias of @group: @field.', array('@group' => $group_name, '@field' => $label)); + $translations['label_short_language'] = t('@label:language', array('@label' => $label)); + foreach ($tables as $type => $table) { if ($type == FIELD_LOAD_CURRENT) { $group = $group_name; @@ -182,7 +198,7 @@ function field_views_field_default_views_data($field) { $column = $field['field_name']; } else { - $group = t('@group (historical data)', array('@group' => $group_name)); + $group = $translations['group_historical']; $old_column = 'revision_id'; $column = $field['field_name'] . '-' . $old_column; } @@ -192,7 +208,7 @@ function field_views_field_default_views_data($field) { 'group' => $group, 'title' => $label, 'title short' => $label, - 'help' => t('Appears in: @bundles.', array('@bundles' => implode(', ', $bundles_names))), + 'help' => $translations['appears_in_help'], ); // Go through and create a list of aliases for all possible combinations of @@ -207,7 +223,7 @@ function field_views_field_default_views_data($field) { 'base' => $current_tables[$entity_name], 'group' => $groups[$entity_name], 'title' => $label_name, - 'help' => t('This is an alias of @group: @field.', array('@group' => $group_name, '@field' => $label)), + 'help' => $translations['alias_help'], ); } $also_known[] = t('@group: @field', array('@group' => $groups[$entity_name], '@field' => $label_name)); @@ -218,7 +234,7 @@ function field_views_field_default_views_data($field) { 'base' => $revision_tables[$entity_name], 'group' => t('@group (historical data)', array('@group' => $groups[$entity_name])), 'title' => $label_name, - 'help' => t('This is an alias of @group: @field.', array('@group' => $group_name, '@field' => $label)), + 'help' => $translations['alias_help'], ); } $also_known[] = t('@group (historical data): @field', array('@group' => $groups[$entity_name], '@field' => $label_name)); @@ -250,7 +266,8 @@ function field_views_field_default_views_data($field) { foreach ($field['columns'] as $column => $attributes) { $allow_sort = TRUE; - // Identify likely filters and arguments for each column based on field type. + // Identify likely filters and arguments for each column based on field + // type. switch ($attributes['type']) { case 'int': case 'mediumint': @@ -263,6 +280,7 @@ function field_views_field_default_views_data($field) { $argument = 'views_handler_argument_numeric'; $sort = 'views_handler_sort'; break; + case 'text': case 'blob': // It does not make sense to sort by blob or text. @@ -274,7 +292,6 @@ function field_views_field_default_views_data($field) { break; } - if (count($field['columns']) == 1 || $column == 'value') { $title = t('@label (!name)', array('@label' => $label, '!name' => $field['field_name'])); // CCK used the first 10 characters of $label. Probably doesn't matter. @@ -290,7 +307,7 @@ function field_views_field_default_views_data($field) { $group = $group_name; } else { - $group = t('@group (historical data)', array('@group' => $group_name)); + $group = $translations['group_historical']; } $column_real_name = $field['storage']['details']['sql'][$type][$table][$column]; @@ -301,19 +318,20 @@ function field_views_field_default_views_data($field) { 'group' => $group, 'title' => $title, 'title short' => $title_short, - 'help' => t('Appears in: @bundles.', array('@bundles' => implode(', ', $bundles_names))), + 'help' => $translations['appears_in_help'], ); - // Go through and create a list of aliases for all possible combinations of - // entity type + name. + // Go through and create a list of aliases for all possible combinations + // of entity type + name. $aliases = array(); $also_known = array(); foreach ($all_labels as $entity_name => $labels) { foreach ($labels as $label_name => $true) { if ($group_name != $groups[$entity_name] || $label != $label_name) { if (count($field['columns']) == 1 || $column == 'value') { + // CCK used the first 10 characters of $label. Probably doesn't + // matter. $alias_title = t('@label (!name)', array('@label' => $label_name, '!name' => $field['field_name'])); - // CCK used the first 10 characters of $label. Probably doesn't matter. } else { $alias_title = t('@label (!name:!column)', array('@label' => $label_name, '!name' => $field['field_name'], '!column' => $column)); @@ -338,7 +356,7 @@ function field_views_field_default_views_data($field) { 'handler' => $argument, 'additional fields' => $additional_fields, 'field_name' => $field['field_name'], - 'empty field name' => t('- No value -'), + 'empty field name' => $translations['no_value_dash'], ); $data[$table][$column_real_name]['filter'] = array( 'field' => $column_real_name, @@ -367,7 +385,7 @@ function field_views_field_default_views_data($field) { 'group' => $group, 'title' => $title_delta, 'title short' => $title_short_delta, - 'help' => t('Delta - Appears in: @bundles.', array('@bundles' => implode(', ', $bundles_names))), + 'help' => $translations['delta_appears_in_help'], ); $data[$table]['delta']['field'] = array( 'handler' => 'views_handler_field_numeric', @@ -377,7 +395,7 @@ function field_views_field_default_views_data($field) { 'table' => $table, 'handler' => 'views_handler_argument_numeric', 'additional fields' => $additional_fields, - 'empty field name' => t('- No value -'), + 'empty field name' => $translations['no_value_dash'], 'field_name' => $field['field_name'], ); $data[$table]['delta']['filter'] = array( @@ -416,7 +434,7 @@ function field_views_field_default_views_data($field) { 'table' => $table, 'handler' => 'views_handler_argument_locale_language', 'additional fields' => $additional_fields, - 'empty field name' => t('<No value>'), + 'empty field name' => $translations['no_value_bracket'], 'field_name' => $field['field_name'], ); $data[$table]['language']['filter'] = array( @@ -442,7 +460,9 @@ function field_views_field_default_views_data($field) { } /** - * Have a different filter handler for lists. This should allow to select values of the list. + * Have a different filter handler for lists. + * + * This should allow to select values of the list. */ function list_field_views_data($field) { $data = field_views_field_default_views_data($field); diff --git a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list.inc b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list.inc index e0f7abe830e326e1e9284af99cf5c983ad377270..5ae0d43ed6b3ecc11ea82840c0025677d5c621e0 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list.inc @@ -12,27 +12,37 @@ * @ingroup views_argument_handlers */ class views_handler_argument_field_list extends views_handler_argument_numeric { + /** * Stores the allowed values of this field. * * @var array */ - var $allowed_values = NULL; + public $allowed_values = NULL; - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $field = field_info_field($this->definition['field_name']); $this->allowed_values = list_allowed_values($field); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['summary']['contains']['human'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['summary']['human'] = array( @@ -43,16 +53,19 @@ class views_handler_argument_field_list extends views_handler_argument_numeric { ); } - - function summary_name($data) { + /** + * {@inheritdoc} + */ + public function summary_name($data) { $value = $data->{$this->name_alias}; // If the list element has a human readable name show it, if (isset($this->allowed_values[$value]) && !empty($this->options['summary']['human'])) { return field_filter_xss($this->allowed_values[$value]); } - // else fallback to the key. + // Else fallback to the key. else { return check_plain($value); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list_string.inc b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list_string.inc index 67a9f2d9998972405db8564251b6e957c0094674..fae70949c1c618b2368ebe6d20cb20e4a8d6f898 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list_string.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_argument_field_list_string.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_argument_field_list_text. + * Definition of views_handler_argument_field_list_string. */ /** @@ -12,20 +12,27 @@ * @ingroup views_argument_handlers */ class views_handler_argument_field_list_string extends views_handler_argument_string { + /** * Stores the allowed values of this field. * * @var array */ - var $allowed_values = NULL; + public $allowed_values = NULL; - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $field = field_info_field($this->definition['field_name']); $this->allowed_values = list_allowed_values($field); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['summary']['contains']['human'] = array('default' => FALSE, 'bool' => TRUE); @@ -33,7 +40,10 @@ class views_handler_argument_field_list_string extends views_handler_argument_st return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['summary']['human'] = array( @@ -44,16 +54,19 @@ class views_handler_argument_field_list_string extends views_handler_argument_st ); } - - function summary_name($data) { + /** + * {@inheritdoc} + */ + public function summary_name($data) { $value = $data->{$this->name_alias}; // If the list element has a human readable name show it, if (isset($this->allowed_values[$value]) && !empty($this->options['summary']['human'])) { return $this->case_transform(field_filter_xss($this->allowed_values[$value]), $this->options['case']); } - // else fallback to the key. + // Else fallback to the key. else { return $this->case_transform(check_plain($value), $this->options['case']); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_field_field.inc b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_field_field.inc index e30a1e83e3762fab0acea3af7ff87d0463ddcddc..cbc22513ab1297e936db5d5de80469480e26bb50 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_field_field.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_field_field.inc @@ -38,6 +38,7 @@ function _field_view_formatter_options($field_type = NULL) { * @ingroup views_field_handlers */ class views_handler_field_field extends views_handler_field { + /** * An array to store field renderable arrays for use by render_items. * @@ -52,7 +53,6 @@ class views_handler_field_field extends views_handler_field { */ public $field_info = array(); - /** * Does the field supports multiple field values. * @@ -81,7 +81,10 @@ class views_handler_field_field extends views_handler_field { */ public $instance; - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $this->field_info = $field = field_info_field($this->definition['field_name']); @@ -97,13 +100,13 @@ class views_handler_field_field extends views_handler_field { $this->limit_values = TRUE; } - // If "First and last only" is chosen, limit the values + // If "First and last only" is chosen, limit the values. if (!empty($this->options['delta_first_last'])) { $this->limit_values = TRUE; } - // Otherwise, we only limit values if the user hasn't selected "all", 0, or - // the value matching field cardinality. + // Otherwise, we only limit values if the user hasn't selected "all", 0, + // or the value matching field cardinality. if ((intval($this->options['delta_limit']) && ($this->options['delta_limit'] != $field['cardinality'])) || intval($this->options['delta_offset'])) { $this->limit_values = TRUE; } @@ -122,7 +125,7 @@ class views_handler_field_field extends views_handler_field { * @return bool * Return TRUE if the user has access to view this field. */ - function access() { + public function access() { $base_table = $this->get_base_table(); return field_access('view', $this->field_info, $this->definition['entity_tables'][$base_table]); } @@ -133,14 +136,15 @@ class views_handler_field_field extends views_handler_field { * @return string * The base table which is used in the current view "context". */ - function get_base_table() { + public function get_base_table() { if (!isset($this->base_table)) { // This base_table is coming from the entity not the field. $this->base_table = $this->view->base_table; // If the current field is under a relationship you can't be sure that the - // base table of the view is the base table of the current field. - // For example a field from a node author on a node view does have users as base table. + // base table of the view is the base table of the current field. For + // example, a field from a node author on a node view does have users as + // base table. if (!empty($this->options['relationship']) && $this->options['relationship'] != 'none') { $relationships = $this->view->display_handler->get_option('relationships'); if (!empty($relationships[$this->options['relationship']])) { @@ -165,7 +169,7 @@ class views_handler_field_field extends views_handler_field { * The 'add fields to query' switch is used by modules which need all data * present in the query itself (such as "sphinx"). */ - function query($use_groupby = FALSE) { + public function query($use_groupby = FALSE) { $this->get_base_table(); $params = array(); @@ -202,8 +206,8 @@ class views_handler_field_field extends views_handler_field { $this->aliases['entity_id'] = $this->query->add_field($this->base_table_alias, $entity_info['entity keys']['id'], '', $params); } - - // The alias needs to be unique, so we use both the field table and the entity type. + // The alias needs to be unique, so we use both the field table and the + // entity type. $entity_type_alias = $this->definition['table'] . '_' . $entity_type . '_entity_type'; $this->aliases['entity_type'] = $this->query->add_field(NULL, "'$entity_type'", $entity_type_alias); @@ -224,10 +228,10 @@ class views_handler_field_field extends views_handler_field { $options += is_array($this->options['group_columns']) ? $this->options['group_columns'] : array(); - $fields = array(); $rkey = $this->definition['is revision'] ? 'FIELD_LOAD_REVISION' : 'FIELD_LOAD_CURRENT'; - // Go through the list and determine the actual column name from field api. + // Go through the list and determine the actual column name from field + // API. foreach ($options as $column) { $name = $column; if (isset($this->field_info['storage']['details']['sql'][$rkey][$this->table][$column])) { @@ -249,7 +253,8 @@ class views_handler_field_field extends views_handler_field { $field = $this->field_info; if (field_is_translatable($entity_type, $field) && !empty($this->view->display_handler->options['field_language_add_to_query'])) { $column = $this->table_alias . '.language'; - // By the same reason as field_language the field might be LANGUAGE_NONE in reality so allow it as well. + // By the same reason as field_language the field might be + // LANGUAGE_NONE in reality so allow it as well. // @see this::field_language() global $language_content; $default_language = language_default('language'); @@ -282,7 +287,7 @@ class views_handler_field_field extends views_handler_field { /** * Determine if the field table should be added to the query. */ - function add_field_table($use_groupby) { + public function add_field_table($use_groupby) { // Grouping is enabled, or we are explicitly required to do this. if ($use_groupby || !empty($this->definition['add fields to query'])) { return TRUE; @@ -297,7 +302,7 @@ class views_handler_field_field extends views_handler_field { /** * Determine if this field is click sortable. */ - function click_sortable() { + public function click_sortable() { // Not click sortable in any case. if (empty($this->definition['click sortable'])) { return FALSE; @@ -314,7 +319,7 @@ class views_handler_field_field extends views_handler_field { /** * Called to determine what to tell the clicksorter. */ - function click_sort($order) { + public function click_sort($order) { // No column selected, can't continue. if (empty($this->options['click_sort_column'])) { return; @@ -329,7 +334,10 @@ class views_handler_field_field extends views_handler_field { $this->query->add_orderby(NULL, NULL, $order, $this->aliases[$column]); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); // option_definition runs before init/construct, so no $this->field_info @@ -389,10 +397,10 @@ class views_handler_field_field extends views_handler_field { ); $options['multi_type'] = array( - 'default' => 'separator' + 'default' => 'separator', ); $options['separator'] = array( - 'default' => ', ' + 'default' => ', ', ); $options['field_api_classes'] = array( @@ -403,7 +411,10 @@ class views_handler_field_field extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $field = $this->field_info; @@ -486,7 +497,7 @@ class views_handler_field_field extends views_handler_field { /** * Provide options for multiple value fields. */ - function multiple_options_form(&$form, &$form_state) { + public function multiple_options_form(&$form, &$form_state) { $field = $this->field_info; $form['multiple_field_settings'] = array( @@ -597,7 +608,7 @@ class views_handler_field_field extends views_handler_field { /** * Extend the groupby form with group columns. */ - function groupby_form(&$form, &$form_state) { + public function groupby_form(&$form, &$form_state) { parent::groupby_form($form, $form_state); // With "field API" fields, the column target of the grouping function // and any additional grouping columns must be specified. @@ -625,7 +636,10 @@ class views_handler_field_field extends views_handler_field { ); } - function groupby_form_submit(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function groupby_form_submit(&$form, &$form_state) { parent::groupby_form_submit($form, $form_state); $item =& $form_state['handler']->options; @@ -637,7 +651,7 @@ class views_handler_field_field extends views_handler_field { /** * Load the entities for all fields that are about to be displayed. */ - function post_execute(&$values) { + public function post_execute(&$values) { if (!empty($values)) { // Divide the entity ids by entity type, so they can be loaded in bulk. $entities_by_type = array(); @@ -690,7 +704,8 @@ class views_handler_field_field extends views_handler_field { } } - // Now, transfer the data back into the resultset so it can be easily used. + // Now, transfer the data back into the resultset so it can be easily + // used. foreach ($values as $row_id => &$value) { $value->{'field_' . $this->options['id']} = $this->set_items($value, $row_id); } @@ -703,7 +718,7 @@ class views_handler_field_field extends views_handler_field { * When using advanced render, each possible item in the list is rendered * individually. Then the items are all pasted together. */ - function render_items($items) { + public function render_items($items) { if (!empty($items)) { if (!$this->options['group_rows']) { return implode('', $items); @@ -717,17 +732,23 @@ class views_handler_field_field extends views_handler_field { array( 'items' => $items, 'title' => NULL, - 'type' => $this->options['multi_type'] + 'type' => $this->options['multi_type'], )); } } } - function get_items($values) { + /** + * {@inheritdoc} + */ + public function get_items($values) { return $values->{'field_' . $this->options['id']}; } - function get_value($values, $field = NULL) { + /** + * {@inheritdoc} + */ + public function get_value($values, $field = NULL) { if (!isset($values->_field_data[$this->field_alias]['entity']) || !is_object($values->_field_data[$this->field_alias]['entity'])) { return array(); } @@ -757,7 +778,7 @@ class views_handler_field_field extends views_handler_field { } } - // If any of our aggregated fields have data, fake it: + // If any of our aggregated fields have data, fake it. if ($data) { // Now, overwrite the original value with our aggregated value. // This overwrites it so there is always just one entry. @@ -808,7 +829,7 @@ class views_handler_field_field extends views_handler_field { } } - // Determine if only the first and last values should be shown + // Determine if only the first and last values should be shown. $delta_first_last = $this->options['delta_first_last']; $new_values = array(); @@ -816,7 +837,8 @@ class views_handler_field_field extends views_handler_field { $new_delta = $offset + $i; if (isset($all_values[$new_delta])) { - // If first-last option was selected, only use the first and last values + // If first-last option was selected, only use the first and last + // values. if (!$delta_first_last // Use the first value. || $new_delta == $offset @@ -840,7 +862,7 @@ class views_handler_field_field extends views_handler_field { /** * Return an array of items for the field. */ - function set_items($values, $row_id) { + public function set_items($values, $row_id) { // In some cases the instance on the entity might be easy, see // https://drupal.org/node/1161708 and https://drupal.org/node/1461536 for // more information. @@ -858,7 +880,6 @@ class views_handler_field_field extends views_handler_field { 'views_row_id' => $row_id, ); - $entity_type = $values->_field_data[$this->field_alias]['entity_type']; $entity = $this->get_value($values, 'entity'); if (!$entity) { @@ -870,8 +891,6 @@ class views_handler_field_field extends views_handler_field { $items = array(); if ($this->options['field_api_classes']) { - // Make a copy. - $array = $render_array; return array(array('rendered' => drupal_render($render_array))); } @@ -894,28 +913,37 @@ class views_handler_field_field extends views_handler_field { return $items; } - function render_item($count, $item) { + /** + * {@inheritdoc} + */ + public function render_item($count, $item) { return render($item['rendered']); } - function document_self_tokens(&$tokens) { + /** + * {@inheritdoc} + */ + public function document_self_tokens(&$tokens) { $field = $this->field_info; foreach ($field['columns'] as $id => $column) { $tokens['[' . $this->options['id'] . '-' . $id . ']'] = t('Raw @column', array('@column' => $id)); } } - function add_self_tokens(&$tokens, $item) { + /** + * {@inheritdoc} + */ + public function add_self_tokens(&$tokens, $item) { $field = $this->field_info; foreach ($field['columns'] as $id => $column) { - // Use filter_xss_admin because it's user data and we can't be sure it is safe. - // We know nothing about the data, though, so we can't really do much else. - + // Use filter_xss_admin because it's user data and we can't be sure it is + // safe. We know nothing about the data, though, so we can't really do + // much else. if (isset($item['raw'])) { // If $item['raw'] is an array then we can use as is, if it's an object // we cast it to an array, if it's neither, we can't use it. $raw = is_array($item['raw']) ? $item['raw'] : - (is_object($item['raw']) ? (array)$item['raw'] : NULL); + (is_object($item['raw']) ? (array) $item['raw'] : NULL); } if (isset($raw) && isset($raw[$id]) && is_scalar($raw[$id])) { $tokens['[' . $this->options['id'] . '-' . $id . ']'] = filter_xss_admin($raw[$id]); @@ -931,7 +959,7 @@ class views_handler_field_field extends views_handler_field { * Return the language code of the language the field should be displayed in, * according to the settings. */ - function field_language($entity_type, $entity) { + public function field_language($entity_type, $entity) { global $language_content; if (field_is_translatable($entity_type, $this->field_info)) { @@ -940,10 +968,11 @@ class views_handler_field_field extends views_handler_field { array($language_content->language, $default_language), $this->view->display_handler->options['field_language']); - // Give the Field Language API a chance to fallback to a different language - // (or LANGUAGE_NONE), in case the field has no data for the selected language. - // field_view_field() does this as well, but since the returned language code - // is used before calling it, the fallback needs to happen explicitly. + // Give the Field Language API a chance to fallback to a different + // language (or LANGUAGE_NONE), in case the field has no data for the + // selected language. field_view_field() does this as well, but since the + // returned language code is used before calling it, the fallback needs + // to happen explicitly. $language = field_language($entity_type, $entity, $this->field_info['field_name'], $language); return $language; @@ -952,4 +981,5 @@ class views_handler_field_field extends views_handler_field { return LANGUAGE_NONE; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list.inc b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list.inc index 440d55bb94111ef281eb63e6aaa3e0d4033fa227..e9fab8068a12656c441915f9aea057db7626ae5d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list.inc @@ -12,9 +12,13 @@ */ class views_handler_filter_field_list extends views_handler_filter_many_to_one { - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); - // Migrate the settings from the old filter_in_operator values to filter_many_to_one. + // Migrate the settings from the old filter_in_operator values to + // filter_many_to_one. if ($this->options['operator'] == 'in') { $this->options['operator'] = 'or'; } @@ -24,9 +28,12 @@ class views_handler_filter_field_list extends views_handler_filter_many_to_one { $this->operator = $this->options['operator']; } - - function get_value_options() { + /** + * {@inheritdoc} + */ + public function get_value_options() { $field = field_info_field($this->definition['field_name']); $this->value_options = list_allowed_values($field); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list_boolean.inc b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list_boolean.inc index 34bca5497c95d2a55d75c97f2c786a6da87f17f5..dd9938b3fd591e489d6f5a7dd275068e5a566bd9 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list_boolean.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_filter_field_list_boolean.inc @@ -12,7 +12,10 @@ */ class views_handler_filter_field_list_boolean extends views_handler_filter_field_list { - function get_value_options() { + /** + * {@inheritdoc} + */ + public function get_value_options() { $field = field_info_field($this->definition['field_name']); $value_options = list_allowed_values($field); @@ -30,4 +33,5 @@ class views_handler_filter_field_list_boolean extends views_handler_filter_field $this->value_options = $value_options; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_relationship_entity_reverse.inc b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_relationship_entity_reverse.inc index 89f248359d37fc8d4a83f93eb1a74961a8662f36..04fde51b200b0ef9fe1ac0a3fc78ef3794da6697 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_relationship_entity_reverse.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/field/views_handler_relationship_entity_reverse.inc @@ -10,8 +10,12 @@ * * @ingroup views_relationship_handlers */ -class views_handler_relationship_entity_reverse extends views_handler_relationship { - function init(&$view, &$options) { +class views_handler_relationship_entity_reverse extends views_handler_relationship { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); $this->field_info = field_info_field($this->definition['field_name']); @@ -20,7 +24,7 @@ class views_handler_relationship_entity_reverse extends views_handler_relationsh /** * Called to implement a relationship in a query. */ - function query() { + public function query() { $this->ensure_my_table(); // First, relate our base table to the current base table to the // field, using the base table's id field to the field's column. @@ -76,9 +80,10 @@ class views_handler_relationship_entity_reverse extends views_handler_relationsh $second_join->construct(); $second_join->adjusted = TRUE; - // use a short alias for this: + // Use a short alias for this. $alias = $this->definition['field_name'] . '_' . $this->table; $this->alias = $this->query->add_relationship($alias, $second_join, $this->definition['base'], $this->relationship); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/filter.views.inc b/profiles/wcm_base/modules/contrib/views/modules/filter.views.inc index 0a3b4fce02cf0d454886843e0c885c73fcb57fa0..1a1bfd4d974ee99320faed96bbbe5f71969123c6 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/filter.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/filter.views.inc @@ -12,10 +12,9 @@ */ function filter_views_data() { // ---------------------------------------------------------------------- - // filter_format table - - // Have not defined $data['filter_formats']['table']['group'] since - // no fields are defined here yet. + // 'filter_format' table. + // Have not defined $data['filter_formats']['table']['group'] since no fields + // are defined here yet. $data['filter_formats']['moved to'] = 'filter_format'; $data['filter_format']['table']['join'] = array( 'node_revision' => array( diff --git a/profiles/wcm_base/modules/contrib/views/modules/filter/views_handler_field_filter_format_name.inc b/profiles/wcm_base/modules/contrib/views/modules/filter/views_handler_field_filter_format_name.inc index 0a7bf3b86817408945d6051119f8694b11b17ed0..ddddb3d7397d731ff4076736a3679c6fef284fc0 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/filter/views_handler_field_filter_format_name.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/filter/views_handler_field_filter_format_name.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_field_filter_format_name. + * Contains . */ /** @@ -11,18 +11,28 @@ * @ingroup views_field_handlers */ class views_handler_field_filter_format_name extends views_handler_field { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); // Be explicit about the table we are using. $this->additional_fields['name'] = array('table' => 'filter_formats', 'field' => 'name'); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $format_name = $this->get_value($values, 'name'); if (!$format_name) { // Default or invalid input format. @@ -33,4 +43,5 @@ class views_handler_field_filter_format_name extends views_handler_field { } return $this->sanitize_value($format_name); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale.views.inc b/profiles/wcm_base/modules/contrib/views/modules/locale.views.inc index fe6d0509929eb8b78901df98a6b8c94ff9350dfc..3577e8c24ccd2d7ca30fdb3d68621e7a70394028 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale.views.inc @@ -12,7 +12,6 @@ */ function locale_views_data() { // Basic table information. - // Define the base group of this table. $data['locales_source']['table']['group'] = t('Locale source'); @@ -23,7 +22,7 @@ function locale_views_data() { 'help' => t('A source string for translation, in English or the default site language.'), ); - // lid + // Locale ID / 'lid'. $data['locales_source']['lid'] = array( 'title' => t('LID'), 'help' => t('The ID of the source string.'), @@ -44,7 +43,7 @@ function locale_views_data() { ), ); - // location + // Location. $data['locales_source']['location'] = array( 'group' => t('Locale source'), 'title' => t('Location'), @@ -52,7 +51,7 @@ function locale_views_data() { 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -64,7 +63,7 @@ function locale_views_data() { ), ); - // Group field + // Group field. $data['locales_source']['textgroup'] = array( 'group' => t('Locale source'), 'title' => t('Group'), @@ -81,7 +80,7 @@ function locale_views_data() { ), ); - // Source field + // Source field. $data['locales_source']['source'] = array( 'group' => t('Locale source'), 'title' => t('Source'), @@ -94,7 +93,7 @@ function locale_views_data() { ), ); - // Version field + // Version field. $data['locales_source']['version'] = array( 'group' => t('Locale source'), 'title' => t('Version'), @@ -121,13 +120,12 @@ function locale_views_data() { ); // ---------------------------------------------------------------------- - // Locales target table - - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // 'locales_target' table. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['locales_target']['table']['group'] = t('Locale target'); - // Join information + // Join information. $data['locales_target']['table']['join'] = array( 'locales_source' => array( 'left_field' => 'lid', @@ -135,7 +133,7 @@ function locale_views_data() { ), ); - // Translation field + // Translation field. $data['locales_target']['translation'] = array( 'group' => t('Locale target'), 'title' => t('Translation'), @@ -148,7 +146,7 @@ function locale_views_data() { ), ); - // Language field + // Language field. $data['locales_target']['language'] = array( 'group' => t('Locale target'), 'title' => t('Language'), @@ -174,7 +172,7 @@ function locale_views_data() { ), ); - // Plural + // Plural. $data['locales_target']['plural'] = array( 'group' => t('Locale target'), 'title' => t('Plural'), @@ -200,7 +198,7 @@ function locale_views_data() { * Implements hook_views_data_alter(). */ function locale_views_data_alter(&$data) { - // Language field + // Language field. $data['node']['language'] = array( 'title' => t('Language'), 'help' => t('The language the content is in.'), diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_group.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_group.inc index 7ced836677ad091ab78a4927f0199f3d0bab9460..6efcd55f5e6227089bde4f1c998e4f857825f52b 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_group.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_group.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_argument_locale_group. + * Contains . */ /** @@ -11,7 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_locale_group extends views_handler_argument { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct('group'); } @@ -19,7 +23,7 @@ class views_handler_argument_locale_group extends views_handler_argument { * Override the behavior of summary_name(). Get the user friendly version * of the group. */ - function summary_name($data) { + public function summary_name($data) { return $this->locale_group($data->{$this->name_alias}); } @@ -27,14 +31,18 @@ class views_handler_argument_locale_group extends views_handler_argument { * Override the behavior of title(). Get the user friendly version * of the language. */ - function title() { + public function title() { return $this->locale_group($this->argument); } - function locale_group($group) { + /** + * {@inheritdoc} + */ + public function locale_group($group) { $groups = module_invoke_all('locale', 'groups'); // Sort the list. asort($groups); return isset($groups[$group]) ? $groups[$group] : t('Unknown group'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_language.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_language.inc index 316d4b153c910087a8d428ddf11c175b09ef91ee..0c3f61eb103bb871eebce9ab86365df5f30c3dc9 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_argument_locale_language.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_argument_locale_language. + * Contains . */ /** @@ -11,7 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_locale_language extends views_handler_argument { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct('language'); } @@ -19,7 +23,7 @@ class views_handler_argument_locale_language extends views_handler_argument { * Override the behavior of summary_name(). Get the user friendly version * of the language. */ - function summary_name($data) { + public function summary_name($data) { return $this->locale_language($data->{$this->name_alias}); } @@ -27,12 +31,16 @@ class views_handler_argument_locale_language extends views_handler_argument { * Override the behavior of title(). Get the user friendly version * of the language. */ - function title() { + public function title() { return $this->locale_language($this->argument); } - function locale_language($langcode) { + /** + * {@inheritdoc} + */ + public function locale_language($langcode) { $languages = views_language_list(); return isset($languages[$langcode]) ? $languages[$langcode] : t('Unknown language'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_group.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_group.inc index 393a9487cfea35b9f9ff28deb22c2eb56578abb5..dbdedc412f3159e7f87265fc835fe148075de900 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_group.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_group.inc @@ -11,11 +11,16 @@ * @ingroup views_field_handlers */ class views_handler_field_locale_group extends views_handler_field { - function render($values) { + + /** + * {@inheritdoc} + */ + public function render($values) { $groups = module_invoke_all('locale', 'groups'); // Sort the list. asort($groups); $value = $this->get_value($values); return isset($groups[$value]) ? $groups[$value] : ''; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_language.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_language.inc index 8038e2b3023a9cec2e52cb4787167efd6b2161ff..552ccf2ecb46a72443da5972b6ef54a1227bebe7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_language.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_field_locale_language. + * Contains . */ /** @@ -11,14 +11,21 @@ * @ingroup views_field_handlers */ class views_handler_field_locale_language extends views_handler_field { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['native_language'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['native_language'] = array( '#title' => t('Native language'), @@ -28,9 +35,13 @@ class views_handler_field_locale_language extends views_handler_field { ); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $languages = locale_language_list(empty($this->options['native_language']) ? 'name' : 'native'); $value = $this->get_value($values); return isset($languages[$value]) ? $languages[$value] : ''; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_link_edit.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_link_edit.inc index 811bcb277f458d6d491b09ce0ae5184f6016447f..6d2189dd5f274a2e931a08c69ed2904ae02c9007 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_link_edit.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_locale_link_edit.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_field_locale_link_edit. + * Contains . */ /** @@ -11,12 +11,19 @@ * @ingroup views_field_handlers */ class views_handler_field_locale_link_edit extends views_handler_field { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['lid'] = 'lid'; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['text'] = array('default' => '', 'translatable' => TRUE); @@ -24,7 +31,10 @@ class views_handler_field_locale_link_edit extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['text'] = array( '#type' => 'textfield', '#title' => t('Text to display'), @@ -33,22 +43,34 @@ class views_handler_field_locale_link_edit extends views_handler_field { parent::options_form($form, $form_state); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function access() { + /** + * {@inheritdoc} + */ + public function access() { // Ensure user has access to edit translations. return user_access('translate interface'); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values, 'lid'); return $this->render_link($this->sanitize_value($value), $values); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $text = !empty($this->options['text']) ? $this->options['text'] : t('edit'); $this->options['alter']['make_link'] = TRUE; @@ -57,4 +79,5 @@ class views_handler_field_locale_link_edit extends views_handler_field { return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_node_language.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_node_language.inc index 467605b03aa0a2623e2c78e0810c06a821b64779..281d464c93a3b8d9e50ee788a0ab58d49ce6d3e3 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_node_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_field_node_language.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_field_node_language. + * Contains . */ /** @@ -11,14 +11,21 @@ * @ingroup views_field_handlers */ class views_handler_field_node_language extends views_handler_field_node { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['native_language'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['native_language'] = array( '#title' => t('Native language'), @@ -28,10 +35,14 @@ class views_handler_field_node_language extends views_handler_field_node { ); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $languages = views_language_list(empty($this->options['native_language']) ? 'name' : 'native'); $value = $this->get_value($values); $value = isset($languages[$value]) ? $languages[$value] : ''; return $this->render_link($value, $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_group.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_group.inc index 5ec1e920bbdad064b2c60197c483a74bbe7c42e6..b8669727c0028d87541a658be0f1e5d1bf88ad60 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_group.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_group.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_filter_locale_group. + * Contains . */ /** @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_locale_group extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $this->value_title = t('Group'); $groups = module_invoke_all('locale', 'groups'); @@ -20,4 +24,5 @@ class views_handler_filter_locale_group extends views_handler_filter_in_operator $this->value_options = $groups; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_language.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_language.inc index eee12a6d4eea4f24d975e390383a79132039aeb0..92d4bd88d7d4c6c6488120dfbfad32c3761731a8 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_language.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_filter_locale_language. + * Contains . */ /** @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_locale_language extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $this->value_title = t('Language'); $languages = array( @@ -23,4 +27,5 @@ class views_handler_filter_locale_language extends views_handler_filter_in_opera $this->value_options = $languages; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_version.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_version.inc index 717086081946b08889c4d5124423fffc7d550e6a..f5eafeec60f281b9917a885d2e55ee9aa8ce213b 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_version.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_locale_version.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_filter_locale_version. + * Contains . */ /** @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_locale_version extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $this->value_title = t('Version'); // Enable filtering by the current installed Drupal version. @@ -25,4 +29,5 @@ class views_handler_filter_locale_version extends views_handler_filter_in_operat $this->value_options = $versions; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_node_language.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_node_language.inc index 7592577b2e28d920c0a660da5401e1f274ad558d..ba6b670147a5ea761c26aa507258b8d729010f86 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_node_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_filter_node_language.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_filter_node_language. + * Contains . */ /** @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_language extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $this->value_title = t('Language'); $languages = array( @@ -23,4 +27,5 @@ class views_handler_filter_node_language extends views_handler_filter_in_operato $this->value_options = $languages; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_sort_node_language.inc b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_sort_node_language.inc index b429891764330c07e30eebb4fd5bb83a7d06b7e9..fa446a8170388c8cc2761d426340d138d416c576 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_sort_node_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/locale/views_handler_sort_node_language.inc @@ -1,5 +1,10 @@ <?php +/** + * @file + * Contains . + */ + /** * Sort handler that allows sorting on a specific language. * @@ -10,14 +15,14 @@ class views_handler_sort_node_language extends views_handler_sort { /** * {@inheritdoc} */ - function can_expose() { + public function can_expose() { return FALSE; } /** * {@inheritdoc} */ - function query() { + public function query() { if (isset($this->options['language'])) { $langcode = $this->get_system_langcode($this->options['language']); // Validate the langcode. @@ -33,7 +38,7 @@ class views_handler_sort_node_language extends views_handler_sort { /** * Converts a views language code into a Drupal language code. */ - function get_system_langcode($langcode) { + public function get_system_langcode($langcode) { global $language_content; $default_language = language_default('language'); $system_langcode = str_replace(array( @@ -51,7 +56,7 @@ class views_handler_sort_node_language extends views_handler_sort { /** * {@inheritdoc} */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); $options['language'] = array('default' => '***CURRENT_LANGUAGE***'); return $options; @@ -60,7 +65,7 @@ class views_handler_sort_node_language extends views_handler_sort { /** * {@inheritdoc} */ - function admin_summary() { + public function admin_summary() { $summary = parent::admin_summary(); if ($this->options['language']) { $language_options = $this->get_language_options(); @@ -78,11 +83,11 @@ class views_handler_sort_node_language extends views_handler_sort { * @return array * All the languages. */ - function get_language_options() { + public function get_language_options() { $languages = array( '***CURRENT_LANGUAGE***' => t("Current user's language"), '***DEFAULT_LANGUAGE***' => t("Default site language"), - LANGUAGE_NONE => t('No language') + LANGUAGE_NONE => t('No language'), ); $languages = array_merge($languages, views_language_list()); return $languages; @@ -91,7 +96,7 @@ class views_handler_sort_node_language extends views_handler_sort { /** * {@inheritdoc} */ - function show_sort_form(&$form, &$form_state) { + public function show_sort_form(&$form, &$form_state) { parent::show_sort_form($form, $form_state); $form['language'] = array( @@ -104,4 +109,3 @@ class views_handler_sort_node_language extends views_handler_sort { } } - diff --git a/profiles/wcm_base/modules/contrib/views/modules/node.views.inc b/profiles/wcm_base/modules/contrib/views/modules/node.views.inc index 57e6b28fca1127d26fab52df52137ce389e70c2c..642825f7cbbb3e826d85e79df97239cb11fcd830 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node.views.inc @@ -12,13 +12,12 @@ */ function node_views_data() { // ---------------------------------------------------------------- - // node table -- basic table information. - - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // 'node' table -- basic table information. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['node']['table']['group'] = t('Content'); - // Advertise this table as a possible base table + // Advertise this table as a possible base table. $data['node']['table']['base'] = array( 'field' => 'nid', 'title' => t('Content'), @@ -38,25 +37,27 @@ function node_views_data() { ); // ---------------------------------------------------------------- - // node table -- fields - - // nid + // 'node' table -- fields. + // Node ID / 'nid'. $data['node']['nid'] = array( + // The item it appears as on the UI, 'title' => t('Nid'), - 'help' => t('The node ID.'), // The help that appears on the UI, - // Information for displaying the nid + // The help that appears on the UI, + 'help' => t('The node ID.'), + // Information for displaying the nid. 'field' => array( 'handler' => 'views_handler_field_node', 'click sortable' => TRUE, ), - // Information for accepting a nid as an argument + // Information for accepting a nid as an argument. 'argument' => array( 'handler' => 'views_handler_argument_node_nid', - 'name field' => 'title', // the field to display in the summary. + 'name field' => 'title', + // The field to display in the summary. 'numeric' => TRUE, 'validate type' => 'nid', ), - // Information for accepting a nid as a filter + // Information for accepting a nid as a filter. 'filter' => array( 'handler' => 'views_handler_filter_numeric', ), @@ -66,23 +67,27 @@ function node_views_data() { ), ); - // title + // Title. // This definition has more items in it than it needs to as an example. $data['node']['title'] = array( - 'title' => t('Title'), // The item it appears as on the UI, - 'help' => t('The content title.'), // The help that appears on the UI, - // Information for displaying a title as a field + // The item it appears as on the UI, + 'title' => t('Title'), + // The help that appears on the UI, + 'help' => t('The content title.'), + // Information for displaying a title as a field. 'field' => array( - 'field' => 'title', // the real field. This could be left out since it is the same. - 'group' => t('Content'), // The group it appears in on the UI. Could be left out. + 'field' => 'title', + // The real field. This could be left out since it is the same. + 'group' => t('Content'), + // The group it appears in on the UI. Could be left out. 'handler' => 'views_handler_field_node', 'click sortable' => TRUE, 'link_to_node default' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), - // Information for accepting a title as a filter + // Information for accepting a title as a filter. 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -91,10 +96,12 @@ function node_views_data() { ), ); - // created field + // Created field. $data['node']['created'] = array( - 'title' => t('Post date'), // The item it appears as on the UI, - 'help' => t('The date the content was posted.'), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Post date'), + // The help that appears on the UI, + 'help' => t('The date the content was posted.'), 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, @@ -107,10 +114,12 @@ function node_views_data() { ), ); - // changed field + // Changed field. $data['node']['changed'] = array( - 'title' => t('Updated date'), // The item it appears as on the UI, - 'help' => t('The date the content was last updated.'), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Updated date'), + // The help that appears on the UI, + 'help' => t('The date the content was last updated.'), 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, @@ -123,10 +132,12 @@ function node_views_data() { ), ); - // Content type + // Content type. $data['node']['type'] = array( - 'title' => t('Type'), // The item it appears as on the UI, - 'help' => t('The content type (for example, "blog entry", "forum post", "story", etc).'), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Type'), + // The help that appears on the UI, + 'help' => t('The content type (for example, "blog entry", "forum post", "story", etc).'), 'field' => array( 'handler' => 'views_handler_field_node_type', 'click sortable' => TRUE, @@ -142,7 +153,7 @@ function node_views_data() { ), ); - // published status + // Published status. $data['node']['status'] = array( 'title' => t('Published'), 'help' => t('Whether or not the content is published.'), @@ -157,14 +168,15 @@ function node_views_data() { 'handler' => 'views_handler_filter_boolean_operator', 'label' => t('Published'), 'type' => 'yes-no', - 'use equal' => TRUE, // Use status = 1 instead of status <> 0 in WHERE statment + 'use equal' => TRUE, + // Use status = 1 instead of status <> 0 in WHERE statment. ), 'sort' => array( 'handler' => 'views_handler_sort', ), ); - // published status + extra + // Published status + extra. $data['node']['status_extra'] = array( 'title' => t('Published or admin'), 'help' => t('Filters out unpublished content if the current user cannot view it.'), @@ -175,7 +187,7 @@ function node_views_data() { ), ); - // promote status + // Promote status. $data['node']['promote'] = array( 'title' => t('Promoted to front page'), 'help' => t('Whether or not the content is promoted to the front page.'), @@ -196,11 +208,13 @@ function node_views_data() { ), ); - // sticky + // Sticky. $data['node']['sticky'] = array( - 'title' => t('Sticky'), // The item it appears as on the UI, - 'help' => t('Whether or not the content is sticky.'), // The help that appears on the UI, - // Information for displaying a title as a field + // The item it appears as on the UI, + 'title' => t('Sticky'), + // The help that appears on the UI, + 'help' => t('Whether or not the content is sticky.'), + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_boolean', 'click sortable' => TRUE, @@ -221,8 +235,7 @@ function node_views_data() { // Define some fields based upon views_handler_field_entity in the entity // table so they can be re-used with other query backends. - // @see views_handler_field_entity - + // @see views_handler_field_entity() $data['views_entity_node']['table']['group'] = t('Content'); $data['node']['view_node']['moved to'] = array('views_entity_node', 'view_node'); @@ -260,9 +273,7 @@ function node_views_data() { ), ); - // Bogus fields for aliasing purposes. - $data['node']['created_fulldate'] = array( 'title' => t('Created date'), 'help' => t('Date in the form of CCYYMMDD.'), @@ -371,7 +382,7 @@ function node_views_data() { ), ); - // uid field + // User ID / 'uid' field. $data['node']['uid'] = array( 'title' => t('Author uid'), 'help' => t('The user authoring the content. If you need more fields than the uid add the content: author relationship'), @@ -424,18 +435,17 @@ function node_views_data() { ); // ---------------------------------------------------------------------- - // Content revision table - - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // Content revision table. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['node_revisions']['moved to'] = 'node_revision'; $data['node_revision']['table']['entity type'] = 'node'; $data['node_revision']['table']['revision'] = TRUE; $data['node_revision']['table']['group'] = t('Content revision'); - // Support the conversion of the field body + // Support the conversion of the field body. $data['node_revisions']['body']['moved to'] = array('field_revision_data', 'body-revision_id'); - // Advertise this table as a possible base table + // Advertise this table as a possible base table. $data['node_revision']['table']['base'] = array( 'field' => 'vid', 'title' => t('Content revision'), @@ -445,7 +455,7 @@ function node_views_data() { ), ); - // For other base tables, explain how we join + // For other base tables, explain how we join. $data['node_revision']['table']['join'] = array( // Directly links to node table. 'node' => array( @@ -461,7 +471,7 @@ function node_views_data() { ), ); - // uid field for node revision + // User ID / 'uid' field for node revision. $data['node_revision']['uid'] = array( 'title' => t('User'), 'help' => t('Relate a content revision to the user who created the revision.'), @@ -473,7 +483,7 @@ function node_views_data() { ), ); - // nid + // Node ID / 'nid'. $data['node_revision']['nid'] = array( 'title' => t('Nid'), // The help that appears on the UI. @@ -505,7 +515,7 @@ function node_views_data() { ), ); - // vid + // Revision ID / 'vid'. $data['node_revision']['vid'] = array( 'title' => t('Vid'), // The help that appears on the UI. @@ -537,16 +547,19 @@ function node_views_data() { ), ); - // title + // Title. $data['node_revision']['title'] = array( - 'title' => t('Title'), // The item it appears as on the UI, - 'help' => t('The content title.'), // The help that appears on the UI, - // Information for displaying a title as a field + // The item it appears as on the UI, + 'title' => t('Title'), + // The help that appears on the UI, + 'help' => t('The content title.'), + // Information for displaying a title as a field. 'field' => array( - 'field' => 'title', // the real field + 'field' => 'title', + // The real field. 'handler' => 'views_handler_field_node_revision', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -558,24 +571,27 @@ function node_views_data() { ), ); - // log field + // Log field. $data['node_revision']['log'] = array( - 'title' => t('Log message'), // The item it appears as on the UI, - 'help' => t('The log message entered when the revision was created.'), // The help that appears on the UI, - // Information for displaying a title as a field + // The item it appears as on the UI, + 'title' => t('Log message'), + // The help that appears on the UI, + 'help' => t('The log message entered when the revision was created.'), + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_xss', - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), ); - // revision timestamp - // changed field + // Revision timestamp / 'changed' field. $data['node_revision']['timestamp'] = array( - 'title' => t('Updated date'), // The item it appears as on the UI, - 'help' => t('The date the node was last updated.'), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Updated date'), + // The help that appears on the UI, + 'help' => t('The date the node was last updated.'), 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, @@ -613,13 +629,12 @@ function node_views_data() { ); // ---------------------------------------------------------------------- - // Node access table - - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // Node access table. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['node_access']['table']['group'] = t('Content access'); - // For other base tables, explain how we join + // For other base tables, explain how we join. $data['node_access']['table']['join'] = array( // Directly links to node table. 'node' => array( @@ -627,7 +642,7 @@ function node_views_data() { 'field' => 'nid', ), ); - // nid field + // Node ID / 'nid' field. $data['node_access']['nid'] = array( 'title' => t('Access'), 'help' => t('Filter by access.'), @@ -638,11 +653,10 @@ function node_views_data() { ); // ---------------------------------------------------------------------- - // History table - - // We're actually defining a specific instance of the table, so let's - // alias it so that we can later add the real table for other purposes if we - // need it. + // History table. + // We're actually defining a specific instance of the table, so let's alias + // it so that we can later add the real table for other purposes if we need + // it. $data['history_user']['moved to'] = 'history'; $data['history']['table']['group'] = t('Content'); @@ -678,14 +692,17 @@ function node_views_data() { */ function node_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. + 'module' => 'views', + // This just tells our themes are elsewhere. 'row' => array( 'node' => array( 'title' => t('Content'), 'help' => t('Display the content with standard node view.'), 'handler' => 'views_plugin_row_node_view', - 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules - 'base' => array('node'), // only works with 'node' as base. + 'path' => drupal_get_path('module', 'views') . '/modules/node', + // Not necessary for most modules. + 'base' => array('node'), + // Only works with 'node' as base. 'uses options' => TRUE, 'type' => 'normal', 'help topic' => 'style-node', @@ -694,9 +711,11 @@ function node_views_plugins() { 'title' => t('Content'), 'help' => t('Display the content with standard node view.'), 'handler' => 'views_plugin_row_node_rss', - 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules + 'path' => drupal_get_path('module', 'views') . '/modules/node', + // Not necessary for most modules. 'theme' => 'views_view_row_rss', - 'base' => array('node'), // only works with 'node' as base. + 'base' => array('node'), + // Only works with 'node' as base. 'uses options' => TRUE, 'type' => 'feed', 'help topic' => 'style-node-rss', @@ -711,7 +730,7 @@ function node_views_plugins() { 'argument default' => array( 'node' => array( 'title' => t('Content ID from URL'), - 'handler' => 'views_plugin_argument_default_node' + 'handler' => 'views_plugin_argument_default_node', ), ), ); @@ -745,7 +764,7 @@ function node_views_query_substitutions() { return array( '***ADMINISTER_NODES***' => intval(user_access('administer nodes')), '***VIEW_OWN_UNPUBLISHED_NODES***' => intval(user_access('view own unpublished content')), - '***BYPASS_NODE_ACCESS***' => intval(user_access('bypass node access')), + '***BYPASS_NODE_ACCESS***' => intval(user_access('bypass node access')), ); } @@ -754,14 +773,14 @@ function node_views_query_substitutions() { */ function node_views_analyze($view) { $ret = array(); - // Check for something other than the default display: + // Check for something other than the default display. if ($view->base_table == 'node') { foreach ($view->display as $id => $display) { if (empty($display->handler)) { continue; } if (!$display->handler->is_defaulted('access') || !$display->handler->is_defaulted('filters')) { - // check for no access control + // Check for no access control. $access = $display->handler->get_option('access'); if (empty($access['type']) || $access['type'] == 'none') { $select = db_select('role', 'r'); diff --git a/profiles/wcm_base/modules/contrib/views/modules/node.views_default.inc b/profiles/wcm_base/modules/contrib/views/modules/node.views_default.inc index de619c1a110c3daac2979dbc22fbcafbe4999600..b46b52cfbd34d10fdad4ea8fe045387d813716de 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node.views_default.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node.views_default.inc @@ -6,12 +6,12 @@ */ /** - * Implementation of hook_views_default_views() + * Implements hook_views_default_views(). */ function node_views_default_views() { $views = array(); - $view = new view; + $view = new view(); $view->name = 'archive'; $view->description = 'Display a list of months that link to content for that month.'; $view->tag = 'default'; @@ -99,7 +99,7 @@ function node_views_default_views() { $views['archive'] = $view; - $view = new view; + $view = new view(); $view->name = 'frontpage'; $view->description = 'Emulates the default Drupal front page; you may set the default home page path to this view to make it your front page.'; $view->tag = 'default'; @@ -181,7 +181,7 @@ function node_views_default_views() { $views['frontpage'] = $view; - $view = new view; + $view = new view(); $view->name = 'glossary'; $view->description = 'A list of all content, by letter.'; $view->tag = 'default'; diff --git a/profiles/wcm_base/modules/contrib/views/modules/node.views_template.inc b/profiles/wcm_base/modules/contrib/views/modules/node.views_template.inc index ad894146bb73379f46a3114cdbfcdc57d45449ec..861578d11db8ded9241a60084759a5b36b145908 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node.views_template.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node.views_template.inc @@ -2,15 +2,19 @@ /** * @file - * Contains views templates on behalf of the node module. + * Definition of views templates on behalf of the node module. */ +/** + * Implements hook_views_templates(). + */ function node_views_templates() { - // Only the standard install profile has the image field provided so only show it for it. + // Only the standard install profile has the image field provided so only + // show it for it. if (variable_get('install_profile', 'standard') != 'standard') { return array(); } - $view = new view; + $view = new view(); $view->name = 'image_gallery'; $view->description = 'Shows all images which was uploaded on the "field_image" field'; $view->tag = ''; diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_dates_various.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_dates_various.inc index d6b2ec44e785d27d76a99c175462ff4ae8cd6e21..d80efb559e812c1907a918be918a8491c994d599 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_dates_various.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_dates_various.inc @@ -2,19 +2,18 @@ /** * @file - * Handlers for various date arguments. - * - * @ingroup views_argument_handlers + * Definition of views_handler_argument_node_created_fulldate. */ /** - * Argument handler for a full date (CCYYMMDD) + * Argument handler for a full date (CCYYMMDD). */ class views_handler_argument_node_created_fulldate extends views_handler_argument_date { + /** - * Constructor implementation + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); $this->format = 'F j, Y'; $this->arg_format = 'Ymd'; @@ -22,46 +21,50 @@ class views_handler_argument_node_created_fulldate extends views_handler_argumen } /** - * Provide a link to the next level of the view + * Provide a link to the next level of the view. */ - function summary_name($data) { + public function summary_name($data) { $created = $data->{$this->name_alias}; return format_date(strtotime($created . " 00:00:00 UTC"), 'custom', $this->format, 'UTC'); } /** - * Provide a link to the next level of the view + * Provide a link to the next level of the view. */ - function title() { + public function title() { $timestamp = strtotime($this->argument . " 00:00:00 UTC"); if ($timestamp !== FALSE) { return format_date($timestamp, 'custom', $this->format, 'UTC'); } } + } /** - * Argument handler for a year (CCYY) + * Argument handler for a year (CCYY). */ class views_handler_argument_node_created_year extends views_handler_argument_date { + /** - * Constructor implementation + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); $this->arg_format = 'Y'; $this->formula = views_date_sql_extract('YEAR', "***table***.$this->real_field"); } + } /** - * Argument handler for a year plus month (CCYYMM) + * Argument handler for a year plus month (CCYYMM). */ class views_handler_argument_node_created_year_month extends views_handler_argument_date { + /** - * Constructor implementation + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); $this->format = 'F Y'; $this->arg_format = 'Ym'; @@ -71,7 +74,7 @@ class views_handler_argument_node_created_year_month extends views_handler_argum /** * Provide a link to the next level of the view */ - function summary_name($data) { + public function summary_name($data) { $created = $data->{$this->name_alias}; return format_date(strtotime($created . "15" . " 00:00:00 UTC"), 'custom', $this->format, 'UTC'); } @@ -79,22 +82,24 @@ class views_handler_argument_node_created_year_month extends views_handler_argum /** * Provide a link to the next level of the view */ - function title() { + public function title() { $timestamp = strtotime($this->argument . "15" . " 00:00:00 UTC"); if ($timestamp !== FALSE) { return format_date($timestamp, 'custom', $this->format, 'UTC'); } } + } /** - * Argument handler for a month (MM) + * Argument handler for a month (MM). */ class views_handler_argument_node_created_month extends views_handler_argument_date { + /** - * Constructor implementation + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); $this->formula = views_date_sql_extract('MONTH', "***table***.$this->real_field"); $this->format = 'F'; @@ -104,7 +109,7 @@ class views_handler_argument_node_created_month extends views_handler_argument_d /** * Provide a link to the next level of the view */ - function summary_name($data) { + public function summary_name($data) { $month = str_pad($data->{$this->name_alias}, 2, '0', STR_PAD_LEFT); return format_date(strtotime("2005" . $month . "15" . " 00:00:00 UTC" ), 'custom', $this->format, 'UTC'); } @@ -112,7 +117,7 @@ class views_handler_argument_node_created_month extends views_handler_argument_d /** * Provide a link to the next level of the view */ - function title() { + public function title() { $month = str_pad($this->argument, 2, '0', STR_PAD_LEFT); $timestamp = strtotime("2005" . $month . "15" . " 00:00:00 UTC"); if ($timestamp !== FALSE) { @@ -120,20 +125,25 @@ class views_handler_argument_node_created_month extends views_handler_argument_d } } - function summary_argument($data) { + /** + * {@inheritdoc} + */ + public function summary_argument($data) { // Make sure the argument contains leading zeroes. return str_pad($data->{$this->base_alias}, 2, '0', STR_PAD_LEFT); } + } /** - * Argument handler for a day (DD) + * Argument handler for a day (DD). */ class views_handler_argument_node_created_day extends views_handler_argument_date { + /** - * Constructor implementation + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); $this->formula = views_date_sql_extract('DAY', "***table***.$this->real_field"); $this->format = 'j'; @@ -141,18 +151,19 @@ class views_handler_argument_node_created_day extends views_handler_argument_dat } /** - * Provide a link to the next level of the view + * Provide a link to the next level of the view. */ - function summary_name($data) { + public function summary_name($data) { $day = str_pad($data->{$this->name_alias}, 2, '0', STR_PAD_LEFT); - // strtotime respects server timezone, so we need to set the time fixed as utc time + // strtotime() respects server timezone, so we need to set the time fixed + // as UTC time. return format_date(strtotime("2005" . "05" . $day . " 00:00:00 UTC"), 'custom', $this->format, 'UTC'); } /** - * Provide a link to the next level of the view + * Provide a link to the next level of the view. */ - function title() { + public function title() { $day = str_pad($this->argument, 2, '0', STR_PAD_LEFT); $timestamp = strtotime("2005" . "05" . $day . " 00:00:00 UTC"); if ($timestamp !== FALSE) { @@ -160,30 +171,36 @@ class views_handler_argument_node_created_day extends views_handler_argument_dat } } - function summary_argument($data) { + /** + * {@inheritdoc} + */ + public function summary_argument($data) { // Make sure the argument contains leading zeroes. return str_pad($data->{$this->base_alias}, 2, '0', STR_PAD_LEFT); } + } /** * Argument handler for a week. */ class views_handler_argument_node_created_week extends views_handler_argument_date { + /** - * Constructor implementation + * {@inheritdoc} */ - function construct() { + public function construct() { parent::construct(); $this->arg_format = 'w'; $this->formula = views_date_sql_extract('WEEK', "***table***.$this->real_field"); } /** - * Provide a link to the next level of the view + * Provide a link to the next level of the view. */ - function summary_name($data) { + public function summary_name($data) { $created = $data->{$this->name_alias}; return t('Week @week', array('@week' => $created)); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_language.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_language.inc index 170388a3ef17b15d246a215f9dd90eb84b3d5994..5effd65d312a16c815070a3890c9230a3ed2d06a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_language.inc @@ -9,7 +9,11 @@ * Argument handler to accept a language. */ class views_handler_argument_node_language extends views_handler_argument { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct('language'); } @@ -17,7 +21,7 @@ class views_handler_argument_node_language extends views_handler_argument { * Override the behavior of summary_name(). Get the user friendly version * of the language. */ - function summary_name($data) { + public function summary_name($data) { return $this->node_language($data->{$this->name_alias}); } @@ -25,12 +29,16 @@ class views_handler_argument_node_language extends views_handler_argument { * Override the behavior of title(). Get the user friendly version of the * node type. */ - function title() { + public function title() { return $this->node_language($this->argument); } - function node_language($langcode) { + /** + * + */ + public function node_language($langcode) { $languages = views_language_list(); return isset($languages[$langcode]) ? $languages[$langcode] : t('Unknown language'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_nid.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_nid.inc index b0dbee09667feebeb761fac40f3581dd21047600..7d64f798bd6624d044226ab43bf25634308019de 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_nid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_nid.inc @@ -2,17 +2,18 @@ /** * @file - * Provide node nid argument handler. + * Definition of views_handler_argument_node_nid. */ /** * Argument handler to accept a node id. */ class views_handler_argument_node_nid extends views_handler_argument_numeric { + /** * Override the behavior of title(). Get the title of the node. */ - function title_query() { + public function title_query() { $titles = array(); $result = db_query("SELECT n.title FROM {node} n WHERE n.nid IN (:nids)", array(':nids' => $this->value)); @@ -21,4 +22,5 @@ class views_handler_argument_node_nid extends views_handler_argument_numeric { } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_type.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_type.inc index ea99d7c64b3bc49cd823d3c767b4b027bac3b476..569e81e49341a20a6b209354516f5e74550dbbee 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_type.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_type.inc @@ -9,7 +9,11 @@ * Argument handler to accept a node type. */ class views_handler_argument_node_type extends views_handler_argument_string { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct('type'); } @@ -17,7 +21,7 @@ class views_handler_argument_node_type extends views_handler_argument_string { * Override the behavior of summary_name(). Get the user friendly version * of the node type. */ - function summary_name($data) { + public function summary_name($data) { return $this->node_type($data->{$this->name_alias}); } @@ -25,15 +29,25 @@ class views_handler_argument_node_type extends views_handler_argument_string { * Override the behavior of title(). Get the user friendly version of the * node type. */ - function title() { + public function title() { return $this->node_type($this->argument); } - function node_type($type) { + /** + * Get the friendly version of a content type's name. + * + * @param string $type + * The content type to check. + * + * @return string + * The system friendly version of a content type's name. + */ + public function node_type($type) { $output = node_type_get_name($type); if (empty($output)) { $output = t('Unknown content type'); } return check_plain($output); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_uid_revision.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_uid_revision.inc index 142882a396da89d79f64a5e4cc7dfd321dea7930..ef981f0ef4afbacd06a50c23df275963bc3fac68 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_uid_revision.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_uid_revision.inc @@ -2,17 +2,22 @@ /** * @file - * Defintion of views_handler_argument_node_uid_revision. + * Definition of views_handler_argument_node_uid_revision. */ /** - * Filter handler to accept a user id to check for nodes that - * user posted or created a revision on. + * Filter handler to accept a user id to check for nodes that user posted or + * created a revision on. */ class views_handler_argument_node_uid_revision extends views_handler_argument_comment_user_uid { - function query($group_by = FALSE) { + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $this->ensure_my_table(); $placeholder = $this->placeholder(); $this->query->add_where_expression(0, "$this->table_alias.uid = $placeholder OR ((SELECT COUNT(*) FROM {node_revision} nr WHERE nr.uid = $placeholder AND nr.nid = $this->table_alias.nid) > 0)", array($placeholder => $this->argument)); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_vid.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_vid.inc index 1f970ad177c282b59fde03c22d39f94aafcee2fd..a17780477a122d38dc9cf5cf7209bb7e21bca8d0 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_vid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_argument_node_vid.inc @@ -2,19 +2,18 @@ /** * @file - * Provide node vid argument handler. + * Definition of views_handler_argument_node_vid. */ /** * Argument handler to accept a node revision id. */ class views_handler_argument_node_vid extends views_handler_argument_numeric { - // No constructor is necessary. /** * Override the behavior of title(). Get the title of the revision. */ - function title_query() { + public function title_query() { $titles = array(); $result = db_query("SELECT n.title FROM {node_revision} n WHERE n.vid IN (:vids)", array(':vids' => $this->value)); @@ -23,4 +22,5 @@ class views_handler_argument_node_vid extends views_handler_argument_numeric { } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_history_user_timestamp.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_history_user_timestamp.inc index dfe4931ebacc153dbfe9efb16cbf214f4d065a26..bbda56b5fe8ab32008ef5fe6cc8531e3e0339c43 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_history_user_timestamp.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_history_user_timestamp.inc @@ -14,7 +14,11 @@ * @ingroup views_field_handlers */ class views_handler_field_history_user_timestamp extends views_handler_field_node { - function init(&$view, &$options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); global $user; if ($user->uid) { @@ -26,7 +30,10 @@ class views_handler_field_history_user_timestamp extends views_handler_field_nod } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['comments'] = array('default' => FALSE, 'bool' => TRUE); @@ -34,7 +41,10 @@ class views_handler_field_history_user_timestamp extends views_handler_field_nod return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); if (module_exists('comment')) { $form['comments'] = array( @@ -46,7 +56,10 @@ class views_handler_field_history_user_timestamp extends views_handler_field_nod } } - function query() { + /** + * {@inheritdoc} + */ + public function query() { // Only add ourselves to the query if logged in. global $user; if (!$user->uid) { @@ -55,7 +68,10 @@ class views_handler_field_history_user_timestamp extends views_handler_field_nod parent::query(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { // Let's default to 'read' state. // This code shadows node_mark, but it reads from the db directly and // we already have that info. @@ -65,7 +81,7 @@ class views_handler_field_history_user_timestamp extends views_handler_field_nod $last_read = $this->get_value($values); $changed = $this->get_value($values, 'changed'); - $last_comment = module_exists('comment') && !empty($this->options['comments']) ? $this->get_value($values, 'last_comment') : 0; + $last_comment = module_exists('comment') && !empty($this->options['comments']) ? $this->get_value($values, 'last_comment') : 0; if (!$last_read && $changed > NODE_NEW_LIMIT) { $mark = MARK_NEW; @@ -79,4 +95,5 @@ class views_handler_field_history_user_timestamp extends views_handler_field_nod return $this->render_link(theme('mark', array('type' => $mark)), $values); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node.inc index f712a5387247519c820f75e9f84c8067fcacf756..76c4e8705aa8bf5ced9d6283e53b026487d0c775 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node.inc @@ -2,21 +2,26 @@ /** * @file - * Contains the basic 'node' field handler. + * Definition of views_handler_field_node. */ /** * Field handler to provide simple renderer that allows linking to a node. + * * Definition terms: - * - link_to_node default: Should this field have the checkbox "link to node" enabled by default. + * - link_to_node default: Should this field have the checkbox "link to node" + * enabled by default. * * @ingroup views_field_handlers */ class views_handler_field_node extends views_handler_field { - function init(&$view, &$options) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); - // Don't add the additional fields to groupby + // Don't add the additional fields to groupby. if (!empty($this->options['link_to_node'])) { $this->additional_fields['nid'] = array('table' => 'node', 'field' => 'nid'); if (module_exists('translation')) { @@ -25,16 +30,19 @@ class views_handler_field_node extends views_handler_field { } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_node'] = array('default' => isset($this->definition['link_to_node default']) ? $this->definition['link_to_node default'] : FALSE, 'bool' => TRUE); return $options; } /** - * Provide link to node option + * Provide link to node option. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_node'] = array( '#title' => t('Link this field to the original piece of content'), '#description' => t("Enable to override this field's links."), @@ -50,7 +58,7 @@ class views_handler_field_node extends views_handler_field { * * Data should be made XSS safe prior to calling this function. */ - function render_link($data, $values) { + public function render_link($data, $values) { if (!empty($this->options['link_to_node']) && !empty($this->additional_fields['nid'])) { if ($data !== NULL && $data !== '') { $this->options['alter']['make_link'] = TRUE; @@ -73,8 +81,12 @@ class views_handler_field_node extends views_handler_field { return $data; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link.inc index 7e9bbd2a8602ecf600d0db90df3a6371cafde76b..594f62a80598a3b602a413cfda8bdc4583ef4398 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link.inc @@ -12,13 +12,19 @@ */ class views_handler_field_node_link extends views_handler_field_entity { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['text'] = array('default' => '', 'translatable' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['text'] = array( '#type' => 'textfield', '#title' => t('Text to display'), @@ -31,13 +37,19 @@ class views_handler_field_node_link extends views_handler_field_entity { $form['alter']['external'] = array('#access' => FALSE); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { if ($entity = $this->get_value($values)) { return $this->render_link($entity, $values); } } - function render_link($node, $values) { + /** + * {@inheritdoc} + */ + public function render_link($node, $values) { if (node_access('view', $node)) { $this->options['alter']['make_link'] = TRUE; $this->options['alter']['path'] = "node/$node->nid"; @@ -45,4 +57,5 @@ class views_handler_field_node_link extends views_handler_field_entity { return $text; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_delete.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_delete.inc index 8271c0baca058e06bd2806e71fc02a5a0392ab8a..8bc8292881d166e68e4f459ad7680ef2159611a3 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_delete.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_delete.inc @@ -15,7 +15,7 @@ class views_handler_field_node_link_delete extends views_handler_field_node_link /** * Renders the link. */ - function render_link($node, $values) { + public function render_link($node, $values) { // Ensure user has access to delete this node. if (!node_access('delete', $node)) { return; @@ -28,4 +28,5 @@ class views_handler_field_node_link_delete extends views_handler_field_node_link $text = !empty($this->options['text']) ? $this->options['text'] : t('delete'); return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_edit.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_edit.inc index 4e8aad00b43ccb7a8833d94c4cf29872d508361e..b28afc3c38fcb333cb841039f575c7e392c38c4e 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_edit.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_link_edit.inc @@ -15,7 +15,7 @@ class views_handler_field_node_link_edit extends views_handler_field_node_link { /** * Renders the link. */ - function render_link($node, $values) { + public function render_link($node, $values) { // Ensure user has access to edit this node. if (!node_access('update', $node)) { return; @@ -28,4 +28,5 @@ class views_handler_field_node_link_edit extends views_handler_field_node_link { $text = !empty($this->options['text']) ? $this->options['text'] : t('edit'); return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_path.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_path.inc index f47f85fab99e8075073b47f94b6093ac0f11cd64..eb664158e3a56647e64bfda3b2b2710251f605bb 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_path.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_path.inc @@ -2,7 +2,7 @@ /** * @file - * Handler for node path field. + * Definition of views_handler_field_node_path. */ /** @@ -12,19 +12,28 @@ */ class views_handler_field_node_path extends views_handler_field { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['absolute'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function construct() { + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['nid'] = 'nid'; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['absolute'] = array( '#type' => 'checkbox', @@ -35,13 +44,20 @@ class views_handler_field_node_path extends views_handler_field { ); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $nid = $this->get_value($values, 'nid'); return url("node/$nid", array('absolute' => $this->options['absolute'])); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision.inc index d29b07087c450254001be3d1584dd5ab1d812925..1b47d904d9b0c49c02966d59813d14c0b09ce84f 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision.inc @@ -7,15 +7,15 @@ /** * Contains the basic 'node_revision' field handler. - */ - -/** - * A basic node_revision handler. * * @ingroup views_field_handlers */ class views_handler_field_node_revision extends views_handler_field_node { - function init(&$view, &$options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); if (!empty($this->options['link_to_node_revision'])) { $this->additional_fields['vid'] = 'vid'; @@ -25,7 +25,11 @@ class views_handler_field_node_revision extends views_handler_field_node { } } } - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_node_revision'] = array('default' => FALSE, 'bool' => TRUE); return $options; @@ -34,7 +38,7 @@ class views_handler_field_node_revision extends views_handler_field_node { /** * Provide link to revision option. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_node_revision'] = array( '#title' => t('Link this field to its content revision'), '#description' => t('This will override any other link you have set.'), @@ -49,7 +53,7 @@ class views_handler_field_node_revision extends views_handler_field_node { * * Data should be made XSS safe prior to calling this function. */ - function render_link($data, $values) { + public function render_link($data, $values) { if (!empty($this->options['link_to_node_revision']) && $data !== NULL && $data !== '') { $this->options['alter']['make_link'] = TRUE; $nid = $this->get_value($values, 'nid'); @@ -71,4 +75,5 @@ class views_handler_field_node_revision extends views_handler_field_node { } return $data; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link.inc index 69047bbb19d775c4c00d7d2d6152486a03d15c2a..0be4230d87c0cbfc38216c699e1389009e4adcbf 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link.inc @@ -12,16 +12,25 @@ */ class views_handler_field_node_revision_link extends views_handler_field_node_link { - function construct() { + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['node_vid'] = array('table' => 'node_revision', 'field' => 'vid'); } - function access() { + /** + * {@inheritdoc} + */ + public function access() { return user_access('view revisions') || user_access('administer nodes'); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { list($node, $vid) = $this->get_revision_entity($values, 'view'); if (!isset($vid)) { return; @@ -52,7 +61,7 @@ class views_handler_field_node_revision_link extends views_handler_field_node_li * A numerically indexed array containing the current node object and the * revision ID for this row. */ - function get_revision_entity($values, $op) { + public function get_revision_entity($values, $op) { $vid = $this->get_value($values, 'node_vid'); $node = $this->get_value($values); // Unpublished nodes ignore access control. @@ -63,4 +72,5 @@ class views_handler_field_node_revision_link extends views_handler_field_node_li } return array($node, $vid); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_delete.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_delete.inc index e0d00a7862c5ca669578f3a676f83662d078b967..8c0721002eb0bff93bb5b67b98ed7a28de7cef30 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_delete.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_delete.inc @@ -12,11 +12,17 @@ */ class views_handler_field_node_revision_link_delete extends views_handler_field_node_revision_link { - function access() { + /** + * {@inheritdoc} + */ + public function access() { return user_access('delete revisions') || user_access('administer nodes'); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { list($node, $vid) = $this->get_revision_entity($values, 'delete'); if (!isset($vid)) { return; @@ -33,4 +39,5 @@ class views_handler_field_node_revision_link_delete extends views_handler_field_ return !empty($this->options['text']) ? $this->options['text'] : t('delete'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_revert.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_revert.inc index af2044270c89552f6f822750ae7283e313aa6cb1..64ea9728c87526b0d044c2068ee628ae4893960f 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_revert.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_revision_link_revert.inc @@ -12,11 +12,17 @@ */ class views_handler_field_node_revision_link_revert extends views_handler_field_node_revision_link { - function access() { + /** + * {@inheritdoc} + */ + public function access() { return user_access('revert revisions') || user_access('administer nodes'); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { list($node, $vid) = $this->get_revision_entity($values, 'update'); if (!isset($vid)) { return; @@ -33,4 +39,5 @@ class views_handler_field_node_revision_link_revert extends views_handler_field_ return !empty($this->options['text']) ? $this->options['text'] : t('revert'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_type.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_type.inc index ba8ee3eb81b338f54767b53eff6b8a36602bad91..e644649ba7aaa930b01d03ea3b5d299a8bf8f273 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_type.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_type.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_node_type extends views_handler_field_node { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['machine_name'] = array('default' => FALSE, 'bool' => TRUE); @@ -21,7 +25,7 @@ class views_handler_field_node_type extends views_handler_field_node { /** * Provide machine_name option for to node type display. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['machine_name'] = array( @@ -33,17 +37,21 @@ class views_handler_field_node_type extends views_handler_field_node { } /** - * Render node type as human readable name, unless using machine_name option. - */ - function render_name($data, $values) { + * Render node type as human readable name, unless using machine_name option. + */ + public function render_name($data, $values) { if ($this->options['machine_name'] != 1 && $data !== NULL && $data !== '') { return t($this->sanitize_value(node_type_get_name($data))); } return $this->sanitize_value($data); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->render_name($value, $values), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_version_count.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_version_count.inc index 73c2925d841090cf41eab7186ee48901e787a266..058bb7acf6260c18aef38f39abeae32b33358c1d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_version_count.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_field_node_version_count.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Definition of views_handler_field_node_version_count. @@ -10,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_node_version_count extends views_handler_field_numeric { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); // Add the field. $params = $this->options['group_type'] != 'group' ? array('function' => $this->options['group_type']) : array(); @@ -18,4 +23,5 @@ class views_handler_field_node_version_count extends views_handler_field_numeric $this->add_additional_fields(); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_history_user_timestamp.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_history_user_timestamp.inc index acdb8313c4f49e0ffd335b65ff5d7647353459dd..0543acdfad36a709556d3ec405d0567964af8a5d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_history_user_timestamp.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_history_user_timestamp.inc @@ -14,10 +14,16 @@ * @ingroup views_filter_handlers */ class views_handler_filter_history_user_timestamp extends views_handler_filter { - // Don't display empty space where the operator would be. - var $no_operator = TRUE; - function expose_form(&$form, &$form_state) { + /** + * Don't display empty space where the operator would be. + */ + public $no_operator = TRUE; + + /** + * {@inheritdoc} + */ + public function expose_form(&$form, &$form_state) { parent::expose_form($form, $form_state); // @todo There are better ways of excluding required and multiple (object flags) unset($form['expose']['required']); @@ -25,7 +31,10 @@ class views_handler_filter_history_user_timestamp extends views_handler_filter { unset($form['expose']['remember']); } - function value_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_form(&$form, &$form_state) { // Only present a checkbox for the exposed filter itself. There's no way // to tell the difference between not checked and the default value, so // specifying the default value via the views UI is meaningless. @@ -44,7 +53,10 @@ class views_handler_filter_history_user_timestamp extends views_handler_filter { } } - function query() { + /** + * {@inheritdoc} + */ + public function query() { global $user; // This can only work if we're logged in. if (!$user || !$user->uid) { @@ -58,7 +70,6 @@ class views_handler_filter_history_user_timestamp extends views_handler_filter { // Hey, Drupal kills old history, so nodes that haven't been updated // since NODE_NEW_LIMIT are bzzzzzzzt outta here! - $limit = REQUEST_TIME - NODE_NEW_LIMIT; $this->ensure_my_table(); @@ -79,9 +90,13 @@ class views_handler_filter_history_user_timestamp extends views_handler_filter { $this->query->add_where_expression($this->options['group'], "($field IS NULL AND ($node.changed > (***CURRENT_TIME*** - $limit) $clause)) OR $field < $node.changed $clause2"); } - function admin_summary() { + /** + * {@inheritdoc} + */ + public function admin_summary() { if (!empty($this->options['exposed'])) { return t('exposed'); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_access.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_access.inc index a29b13f423213796a4fe2a7824a0e74fcb04621a..71a9c35f556c6af10dfb152475979561ba1ae9ce 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_access.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_access.inc @@ -11,16 +11,30 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_access extends views_handler_filter { - function admin_summary() { } - function operator_form(&$form, &$form_state) { } - function can_expose() { + + /** + * {@inheritdoc} + */ + public function admin_summary() { + } + + /** + * {@inheritdoc} + */ + public function operator_form(&$form, &$form_state) { + } + + /** + * {@inheritdoc} + */ + public function can_expose() { return FALSE; } /** * See _node_access_where_sql() for a non-views query based implementation. */ - function query() { + public function query() { if (!user_access('administer nodes') && module_implements('node_grants')) { $table = $this->ensure_my_table(); $grants = db_or(); @@ -37,4 +51,5 @@ class views_handler_filter_node_access extends views_handler_filter { $this->query->add_where('AND', $table . '.grant_view', 1, '>='); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_status.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_status.inc index 2afb2869aaae4e63e0721a6455efef09fe3611e0..b402d9aaf48e4b93387d0ad8f267e17f262ade1f 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_status.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_status.inc @@ -11,12 +11,32 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_status extends views_handler_filter { - function admin_summary() { } - function operator_form(&$form, &$form_state) { } - function can_expose() { return FALSE; } - function query() { + /** + * {@inheritdoc} + */ + public function admin_summary() { + } + + /** + * {@inheritdoc} + */ + public function operator_form(&$form, &$form_state) { + } + + /** + * {@inheritdoc} + */ + public function can_expose() { + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function query() { $table = $this->ensure_my_table(); $this->query->add_where_expression($this->options['group'], "$table.status = 1 OR ($table.uid = ***CURRENT_USER*** AND ***CURRENT_USER*** <> 0 AND ***VIEW_OWN_UNPUBLISHED_NODES*** = 1) OR ***BYPASS_NODE_ACCESS*** = 1"); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_type.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_type.inc index 7f8ab4b7a43766f498415ad1294211ca025074ac..f743a87dde0191c0391e27cd269263ca969e0e1a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_type.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_type.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_type extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $this->value_title = t('Content types'); $types = node_type_get_types(); @@ -23,4 +27,5 @@ class views_handler_filter_node_type extends views_handler_filter_in_operator { $this->value_options = $options; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_uid_revision.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_uid_revision.inc index f8f4000c1e55f17516c7ace6872785d4baa3f6b9..3741ef5ee6a4904ebd7927fa6b49190ad96913e3 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_uid_revision.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_uid_revision.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_uid_revision extends views_handler_filter_user_name { - function query($group_by = FALSE) { + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $this->ensure_my_table(); $placeholder = $this->placeholder(); @@ -22,4 +26,5 @@ class views_handler_filter_node_uid_revision extends views_handler_filter_user_n ((SELECT COUNT(*) FROM {node_revision} nr WHERE nr.uid IN($placeholder) AND nr.nid = $this->table_alias.nid) > 0)", array($placeholder => $args), $args); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_version_count.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_version_count.inc index c39f1d9fbd058da1e51b249fe27e920afcc111be..3fb7314296c35834af6d3d7e0d2f414ab8399fae 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_version_count.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_filter_node_version_count.inc @@ -1,12 +1,21 @@ <?php +/** + * @file + * Definition of views_handler_filter_node_version_count. + */ + /** * Filter to handle dates stored as a timestamp. * * @ingroup views_filter_handlers */ class views_handler_filter_node_version_count extends views_handler_filter_numeric { - function op_between($field) { + + /** + * {@inheritdoc} + */ + public function op_between($field) { if ($this->operator == 'between') { $this->query->add_where_expression($this->options['group'], '(SELECT COUNT(vid) FROM {node_revision} WHERE nid = {' . $this->table_alias . '}.nid) BETWEEN :min AND :max', array(':min' => $this->value['min'], ':max' => $this->value['max'])); } @@ -15,11 +24,17 @@ class views_handler_filter_node_version_count extends views_handler_filter_numer } } - function op_simple($field) { + /** + * {@inheritdoc} + */ + public function op_simple($field) { $this->query->add_where_expression($this->options['group'], '(SELECT COUNT(vid) FROM {node_revision} WHERE nid = {' . $this->table_alias . '}.nid)' . $this->operator . ' :value', array(':value' => $this->value['value'])); } - function op_empty($field) { + /** + * {@inheritdoc} + */ + public function op_empty($field) { if ($this->operator == 'empty') { $operator = "IS NULL"; } @@ -30,7 +45,11 @@ class views_handler_filter_node_version_count extends views_handler_filter_numer $this->query->add_where_expression($this->options['group'], '(SELECT COUNT(vid) FROM {node_revision} WHERE nid = {' . $this->table_alias . '}.nid) ' . $this->operator); } - function op_regex($field) { + /** + * {@inheritdoc} + */ + public function op_regex($field) { $this->query->add_where_expression($this->options['group'], '(SELECT COUNT(vid) FROM {node_revision} WHERE nid = {' . $this->table_alias . '}.nid) RLIKE :value', array(':value' => $this->value['value'])); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_sort_node_version_count.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_sort_node_version_count.inc index a8e1cf6ec5135c5f30596c2c0fe82f030270bb65..3abb36a780e6ac2a6fd64c4f8daa728f54324834 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_sort_node_version_count.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_handler_sort_node_version_count.inc @@ -11,9 +11,14 @@ * @ingroup views_sort_handlers */ class views_handler_sort_node_version_count extends views_handler_sort { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->query->add_orderby(NULL, '(SELECT COUNT(vid) FROM {node_revision} WHERE nid = {' . $this->table_alias . '}.nid)', $this->options['order'], 'sort_node_version_count'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_default_node.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_default_node.inc index 65fc0eb8761621d15bbcb4691de1a9b416e604e3..257b39f15f39ca4010ff88259e4d29744514bc70 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_default_node.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_default_node.inc @@ -2,16 +2,20 @@ /** * @file - * Contains the node from URL argument default plugin. + * Definition of views_plugin_argument_default_node. */ /** - * Default argument plugin to extract a node via menu_get_object + * Default argument plugin to extract a node via menu_get_object. * * This plugin actually has no options so it odes not need to do a great deal. */ class views_plugin_argument_default_node extends views_plugin_argument_default { - function get_argument() { + + /** + * {@inheritdoc} + */ + public function get_argument() { foreach (range(1, 3) as $i) { $node = menu_get_object('node', $i); if (!empty($node)) { @@ -23,4 +27,5 @@ class views_plugin_argument_default_node extends views_plugin_argument_default { return arg(1); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_validate_node.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_validate_node.inc index 018965da236fde743d8c4b772c94643c9b39c1c5..5fedbab84318502731cac8e7d1c56dea9f1cda7a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_validate_node.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_argument_validate_node.inc @@ -2,14 +2,18 @@ /** * @file - * Contains the 'node' argument validator plugin. + * Definition of views_plugin_argument_validate_node. */ /** * Validate whether an argument is an acceptable node. */ class views_plugin_argument_validate_node extends views_plugin_argument_validate { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['types'] = array('default' => array()); $options['access'] = array('default' => FALSE, 'bool' => TRUE); @@ -19,7 +23,10 @@ class views_plugin_argument_validate_node extends views_plugin_argument_validate return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $types = node_type_get_types(); $options = array(); foreach ($types as $type => $info) { @@ -58,12 +65,19 @@ class views_plugin_argument_validate_node extends views_plugin_argument_validate ); } - function options_submit(&$form, &$form_state, &$options = array()) { - // filter trash out of the options so we don't store giant unnecessary arrays + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state, &$options = array()) { + // Filter trash out of the options so we don't store giant unnecessary + // arrays. $options['types'] = array_filter($options['types']); } - function convert_options(&$options) { + /** + * {@inheritdoc} + */ + public function convert_options(&$options) { if (!isset($options['types']) && !empty($this->argument->options['validate_argument_node_type'])) { $options['types'] = isset($this->argument->options['validate_argument_node_type']) ? $this->argument->options['validate_argument_node_type'] : array(); $options['access'] = !empty($this->argument->options['validate_argument_node_access']); @@ -72,7 +86,10 @@ class views_plugin_argument_validate_node extends views_plugin_argument_validate } } - function validate_argument($argument) { + /** + * {@inheritdoc} + */ + public function validate_argument($argument) { $types = $this->options['types']; switch ($this->options['nid_type']) { @@ -99,7 +116,8 @@ class views_plugin_argument_validate_node extends views_plugin_argument_validate } return isset($types[$node->type]); - break; + break; + case 'nids': $nids = new stdClass(); $nids->value = array($argument); @@ -111,7 +129,7 @@ class views_plugin_argument_validate_node extends views_plugin_argument_validate $test = drupal_map_assoc($nids->value); $titles = array(); - $result = db_query("SELECT * FROM {node} WHERE nid IN (:nids)", array(':nids' => $nids->value)); + $result = db_query("SELECT * FROM {node} WHERE nid IN (:nids)", array(':nids' => $nids->value)); foreach ($result as $node) { if ($types && empty($types[$node->type])) { return FALSE; @@ -132,4 +150,5 @@ class views_plugin_argument_validate_node extends views_plugin_argument_validate return empty($test); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_rss.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_rss.inc index 6671892502a97f1bd43b33dcc8f6b2581f7022ff..d9228e45fcf2900cd591363e53514a62890dc00e 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_rss.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_rss.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the node RSS row style plugin. + * Definition of views_plugin_row_node_rss. */ /** @@ -10,14 +10,26 @@ * and formats it as an RSS item. */ class views_plugin_row_node_rss extends views_plugin_row { - // Basic properties that let the row style follow relationships. - var $base_table = 'node'; - var $base_field = 'nid'; - // Stores the nodes loaded with pre_render. - var $nodes = array(); + /** + * Basic properties that let the row style follow relationships. + */ + public $base_table = 'node'; + + /** + * + */ + public $base_field = 'nid'; - function option_definition() { + /** + * Stores the nodes loaded with pre_render. + */ + public $nodes = array(); + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['item_length'] = array('default' => 'default'); @@ -29,7 +41,7 @@ class views_plugin_row_node_rss extends views_plugin_row { /** * Override init function to convert fulltext view-mode to full. */ - function init(&$view, &$display, $options = NULL) { + public function init(&$view, &$display, $options = NULL) { parent::init($view, $display, $options); if ($this->options['item_length'] == 'fulltext') { @@ -37,7 +49,10 @@ class views_plugin_row_node_rss extends views_plugin_row { } } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['item_length'] = array( @@ -56,7 +71,7 @@ class views_plugin_row_node_rss extends views_plugin_row { /** * Return the main options, which are shown in the summary title. */ - function options_form_summary_options() { + public function options_form_summary_options() { $entity_info = entity_get_info('node'); $options = array(); if (!empty($entity_info['view modes'])) { @@ -69,13 +84,18 @@ class views_plugin_row_node_rss extends views_plugin_row { return $options; } - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { $options = $this->options_form_summary_options(); return check_plain($options[$this->options['item_length']]); } - - function pre_render($values) { + /** + * {@inheritdoc} + */ + public function pre_render($values) { $nids = array(); foreach ($values as $row) { $nids[] = $row->{$this->field_alias}; @@ -85,8 +105,11 @@ class views_plugin_row_node_rss extends views_plugin_row { } } - function render($row) { - // For the most part, this code is taken from node_feed() in node.module + /** + * {@inheritdoc} + */ + public function render($row) { + // For the most part; This code is taken from node_feed() in node.module. global $base_url; $nid = $row->{$this->field_alias}; @@ -99,7 +122,7 @@ class views_plugin_row_node_rss extends views_plugin_row { $display_mode = variable_get('feed_item_length', 'teaser'); } - // Load the specified node: + // Load the specified node. $node = $this->nodes[$nid]; if (empty($node)) { return; @@ -128,7 +151,6 @@ class views_plugin_row_node_rss extends views_plugin_row { // The node gets built and modules add to or modify $node->rss_elements // and $node->rss_namespaces. - $build_mode = $display_mode; $build = node_view($node, $build_mode); @@ -168,7 +190,8 @@ class views_plugin_row_node_rss extends views_plugin_row { return theme($this->theme_functions(), array( 'view' => $this->view, 'options' => $this->options, - 'row' => $item + 'row' => $item, )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_view.inc b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_view.inc index 70e49234d81a3fc41f5ba587bd87885b065ec57e..f758dfcb126deb1572f301e692ad3194e29b8b1c 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_view.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/node/views_plugin_row_node_view.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the node view row style plugin. + * Definition of views_plugin_row_node_view. */ /** @@ -13,14 +13,26 @@ * @ingroup views_row_plugins */ class views_plugin_row_node_view extends views_plugin_row { - // Basic properties that let the row style follow relationships. - var $base_table = 'node'; - var $base_field = 'nid'; - // Stores the nodes loaded with pre_render. - var $nodes = array(); + /** + * Basic properties that let the row style follow relationships. + */ + public $base_table = 'node'; + + /** + * + */ + public $base_field = 'nid'; - function init(&$view, &$display, $options = NULL) { + /** + * Stores the nodes loaded with pre_render. + */ + public $nodes = array(); + + /** + * {@inheritdoc} + */ + public function init(&$view, &$display, $options = NULL) { parent::init($view, $display, $options); // Handle existing views with the deprecated 'teaser' option. if (isset($this->options['teaser'])) { @@ -32,7 +44,10 @@ class views_plugin_row_node_view extends views_plugin_row { } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['view_mode'] = array('default' => 'teaser'); @@ -42,7 +57,10 @@ class views_plugin_row_node_view extends views_plugin_row { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $options = $this->options_form_summary_options(); @@ -51,7 +69,7 @@ class views_plugin_row_node_view extends views_plugin_row { '#options' => $options, '#title' => t('View mode'), '#default_value' => $this->options['view_mode'], - ); + ); $form['links'] = array( '#type' => 'checkbox', '#title' => t('Display links'), @@ -68,7 +86,7 @@ class views_plugin_row_node_view extends views_plugin_row { /** * Return the main options, which are shown in the summary title. */ - function options_form_summary_options() { + public function options_form_summary_options() { $entity_info = entity_get_info('node'); $options = array(); if (!empty($entity_info['view modes'])) { @@ -79,19 +97,25 @@ class views_plugin_row_node_view extends views_plugin_row { if (empty($options)) { $options = array( 'teaser' => t('Teaser'), - 'full' => t('Full content') + 'full' => t('Full content'), ); } return $options; } - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { $options = $this->options_form_summary_options(); return check_plain($options[$this->options['view_mode']]); } - function pre_render($values) { + /** + * {@inheritdoc} + */ + public function pre_render($values) { $nids = array(); foreach ($values as $row) { $nids[] = $row->{$this->field_alias}; @@ -99,7 +123,10 @@ class views_plugin_row_node_view extends views_plugin_row { $this->nodes = node_load_multiple($nids); } - function render($row) { + /** + * {@inheritdoc} + */ + public function render($row) { if (isset($this->nodes[$row->{$this->field_alias}])) { $node = $this->nodes[$row->{$this->field_alias}]; $node->view = $this->view; @@ -108,4 +135,5 @@ class views_plugin_row_node_view extends views_plugin_row { return drupal_render($build); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/poll.views.inc b/profiles/wcm_base/modules/contrib/views/modules/poll.views.inc index d3fd76adca891e9603c3d5c45c57aabd84f4c442..58f3b666ae98723263cfd3a3342a4428d2c1a1eb 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/poll.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/poll.views.inc @@ -23,9 +23,8 @@ function poll_views_data() { ); // ---------------------------------------------------------------- - // Fields - - // poll active status + // Fields. + // Poll active status. $data['poll']['active'] = array( 'title' => t('Active'), 'help' => t('Whether the poll is open for voting.'), diff --git a/profiles/wcm_base/modules/contrib/views/modules/profile.views.inc b/profiles/wcm_base/modules/contrib/views/modules/profile.views.inc index 89db913a846845debe72f8916da8f9b60d9b8211..96fa227154c16aa81ffee1da3ad82f7a3b0d87f3 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/profile.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/profile.views.inc @@ -12,8 +12,8 @@ */ function profile_views_data() { $data['profile_values']['moved to'] = 'profile_value'; - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['profile_value']['table']['group'] = t('Profile'); $data['profile_value']['table']['join'] = array( @@ -60,7 +60,7 @@ function profile_views_data() { } /** - * Get all profile fields + * Get all profile fields. */ function profile_views_get_fields() { static $fields = NULL; @@ -71,14 +71,14 @@ function profile_views_get_fields() { foreach ($results as $row) { if (!empty($row->options)) { - if (!in_array(substr($row->options, 0, 2), array('a:', 'b:', 'i:', 'f:', 'o:', 's:', ))) { - // unserialized fields default version + if (!in_array(substr($row->options, 0, 2), array('a:', 'b:', 'i:', 'f:', 'o:', 's:'))) { + // unserialized fields default version. $options = $row->options; unset($row->options); $row->options = $options; } else { - // serialized fields or modified version + // serialized fields or modified version. $row->options = unserialize($row->options); } } @@ -90,7 +90,7 @@ function profile_views_get_fields() { /** - * Add profile fields to view table + * Add profile fields to view table. */ function profile_views_fetch_field($field) { $data = array( @@ -116,8 +116,8 @@ function profile_views_fetch_field($field) { 'handler' => 'views_handler_argument_string', ), ); - break; + case 'textarea': $data += array( 'help' => t('Profile textarea'), @@ -132,8 +132,8 @@ function profile_views_fetch_field($field) { 'handler' => 'views_handler_filter_string', ), ); - break; + case 'checkbox': $data += array( 'help' => t('Profile checkbox'), @@ -148,10 +148,10 @@ function profile_views_fetch_field($field) { 'handler' => 'views_handler_filter_boolean_operator', 'accept null' => TRUE, ), - // @todo there ought to be a boolean argument handler + // @todo There ought to be a boolean argument handler. ); - break; + case 'url': $data += array( 'help' => t('Profile URL'), @@ -166,8 +166,8 @@ function profile_views_fetch_field($field) { 'handler' => 'views_handler_filter_string', ), ); - break; + case 'selection': $data += array( 'help' => t('Profile selection'), @@ -186,8 +186,8 @@ function profile_views_fetch_field($field) { 'handler' => 'views_handler_argument_string', ), ); - break; + case 'list': $data += array( 'help' => t('Profile freeform list %field-name.', array('%field-name' => $field->title)), @@ -199,8 +199,8 @@ function profile_views_fetch_field($field) { 'handler' => 'views_handler_filter_string', ), ); - break; + case 'date': $data += array( 'help' => t('Profile date %field-name.', array('%field-name' => $field->title)), @@ -208,10 +208,9 @@ function profile_views_fetch_field($field) { 'handler' => 'views_handler_field_profile_date', ), ); - break; } - // @todo: add access control to hidden fields. + // @todo Add access control to hidden fields. return $data; } diff --git a/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_date.inc b/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_date.inc index c2cf691b3d47fe81a81cd63ac72871bdd7999126..89b099e8ed966fc7ce14288f2ea74d367a3145c5 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_date.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_date.inc @@ -6,7 +6,7 @@ */ /** - * Field handler display a profile date + * Field handler display a profile date. * * The dates are stored serialized, which makes them mostly useless from * SQL. About all we can do is unserialize and display them. @@ -14,16 +14,20 @@ * @ingroup views_field_handlers */ class views_handler_field_profile_date extends views_handler_field_date { - function options_form(&$form, &$form_state) { + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); // we can't do "time ago" so remove it from the form. unset($form['date_format']['#options']['time ago']); } /** - * Display a profile field of type 'date' + * Display a profile field of type 'date'. */ - function render($values) { + public function render($values) { $value = $this->get_value($values); if (!$value) { return; @@ -34,12 +38,15 @@ class views_handler_field_profile_date extends views_handler_field_date { case 'custom': $format = $this->options['custom_date_format']; break; + case 'small': $format = variable_get('date_format_short', 'm/d/Y - H:i'); break; + case 'medium': $format = variable_get('date_format_medium', 'D, m/d/Y - H:i'); break; + case 'large': $format = variable_get('date_format_long', 'l, F j, Y - H:i'); break; @@ -48,12 +55,11 @@ class views_handler_field_profile_date extends views_handler_field_date { // Note: Avoid PHP's date() because it does not handle dates before // 1970 on Windows. This would make the date field useless for e.g. // birthdays. - - // But we *can* deal with non-year stuff: + // But we *can* deal with non-year stuff. $date = gmmktime(0, 0, 0, $value['month'], $value['day'], $value['year']); $replace = array( - // day + // day. 'd' => sprintf('%02d', $value['day']), 'D' => NULL, 'l' => NULL, @@ -61,7 +67,7 @@ class views_handler_field_profile_date extends views_handler_field_date { 'S' => gmdate('S', $date), 'w' => NULL, 'j' => $value['day'], - // month + // month. 'F' => gmdate('F', $date), 'm' => sprintf('%02d', $value['month']), 'M' => gmdate('M', $date), @@ -70,7 +76,7 @@ class views_handler_field_profile_date extends views_handler_field_date { 'Y' => $value['year'], 'y' => substr($value['year'], 2, 2), - // kill time stuff + // kill time stuff. 'a' => NULL, 'A' => NULL, 'g' => NULL, @@ -87,4 +93,5 @@ class views_handler_field_profile_date extends views_handler_field_date { return strtr($format, $replace); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_list.inc b/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_list.inc index 8917b93ab15ddb78e790ce53d24d101e9ccb586a..52338504b4bf4026bca41bb743191ca64e2371f4 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_list.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_field_profile_list.inc @@ -11,10 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_profile_list extends views_handler_field_prerender_list { + /** * Break up our field into a proper list. */ - function pre_render(&$values) { + public function pre_render(&$values) { $this->items = array(); foreach ($values as $value) { $field = $this->get_value($value); @@ -27,15 +28,25 @@ class views_handler_field_profile_list extends views_handler_field_prerender_lis } } - function render_item($count, $item) { + /** + * {@inheritdoc} + */ + public function render_item($count, $item) { return $item['item']; } - function document_self_tokens(&$tokens) { + /** + * {@inheritdoc} + */ + public function document_self_tokens(&$tokens) { $tokens['[' . $this->options['id'] . '-item' . ']'] = t('The text of the profile item.'); } - function add_self_tokens(&$tokens, $item) { + /** + * {@inheritdoc} + */ + public function add_self_tokens(&$tokens, $item) { $tokens['[' . $this->options['id'] . '-item' . ']'] = $item['item']; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_filter_profile_selection.inc b/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_filter_profile_selection.inc index d3403c909439beab40c0e3a96156c4921644802f..29b2c7aa8884a05ad9466ed3c8bdd97288a4cdf8 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_filter_profile_selection.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/profile/views_handler_filter_profile_selection.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_profile_selection extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (isset($this->value_options)) { return; } @@ -27,4 +31,5 @@ class views_handler_filter_profile_selection extends views_handler_filter_in_ope } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/search.views.inc b/profiles/wcm_base/modules/contrib/views/modules/search.views.inc index a956ec22a3297b18451f25fffc100d922d425dee..09aad14bf81d5f17b7d0f75bbdf4f21cfdbfb89b 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/search.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/search.views.inc @@ -12,12 +12,11 @@ */ function search_views_data() { // Basic table information. - - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['search_index']['table']['group'] = t('Search'); - // For other base tables, explain how we join + // For other base tables, explain how we join. $data['search_index']['table']['join'] = array( 'node' => array( 'left_field' => 'nid', @@ -35,7 +34,7 @@ function search_views_data() { 'left_table' => 'search_index', 'left_field' => 'word', 'field' => 'word', - ) + ), ); $data['search_dataset']['table']['join'] = array( @@ -56,9 +55,8 @@ function search_views_data() { ); // ---------------------------------------------------------------- - // Fields - - // score + // Fields. + // Score. $data['search_index']['score'] = array( 'title' => t('Score'), 'help' => t('The score of the search item. This will not be used if the search filter is not also present.'), @@ -111,11 +109,13 @@ function search_views_data() { ), ); - // search filter + // Search filter. $data['search_index']['keys'] = array( - 'title' => t('Search Terms'), // The item it appears as on the UI, - 'help' => t('The terms to search for.'), // The help that appears on the UI, - // Information for searching terms using the full search syntax + // The item it appears as on the UI, + 'title' => t('Search Terms'), + // The help that appears on the UI, + 'help' => t('The terms to search for.'), + // Information for searching terms using the full search syntax. 'filter' => array( 'handler' => 'views_handler_filter_search', 'no group by' => TRUE, @@ -135,16 +135,20 @@ function search_views_data() { function search_views_plugins() { return; // DISABLED. This currently doesn't work. + // @todo Fix this. return array( - 'module' => 'views', // This just tells our themes are elsewhere. + 'module' => 'views', + // This just tells our themes are elsewhere. 'row' => array( 'search' => array( 'title' => t('Search'), 'help' => t('Display the results with standard search view.'), 'handler' => 'views_plugin_row_search_view', 'theme' => 'views_view_row_search', - 'path' => drupal_get_path('module', 'views') . '/modules/search', // not necessary for most modules - 'base' => array('node'), // only works with 'node' as base. + 'path' => drupal_get_path('module', 'views') . '/modules/search', + // Not necessary for most modules. + 'base' => array('node'), + // Only works with 'node' as base. 'type' => 'normal', ), 'views_handler_argument_search' => array( @@ -155,16 +159,18 @@ function search_views_plugins() { } /** - * Template helper for theme_views_view_row_search + * Template helper for theme_views_view_row_search. */ function template_preprocess_views_view_row_search(&$vars) { - $vars['node'] = ''; // make sure var is defined. + $vars['node'] = ''; + // Make sure var is defined. $nid = $vars['row']->nid; if (!is_numeric($nid)) { return; } - // @todo: Once the search row is fixed this node_load should be replace by a node_load_multiple + // @todo Once the search row is fixed this node_load should be replace by a + // node_load_multiple(). $node = node_load($nid); if (empty($node)) { @@ -175,10 +181,10 @@ function template_preprocess_views_view_row_search(&$vars) { $node = node_build_content($node, FALSE, FALSE); $node->body = drupal_render($node->content); - // Fetch comments for snippet + // Fetch comments for snippet. $node->body .= module_invoke('comment', 'nodeapi', $node, 'update index'); - // Fetch terms for snippet + // Fetch terms for snippet. $node->body .= module_invoke('taxonomy', 'nodeapi', $node, 'update index'); $vars['url'] = url('node/' . $nid); @@ -196,7 +202,7 @@ function template_preprocess_views_view_row_search(&$vars) { $vars['info'] = implode(' - ', $info); $vars['node'] = $node; - // @todo: get score from ??? -//$vars['score'] = $item->score; + // @todo Where does the score come from? + // $vars['score'] = $item->score; $vars['snippet'] = search_excerpt($vars['view']->value, $node->body); } diff --git a/profiles/wcm_base/modules/contrib/views/modules/search.views_default.inc b/profiles/wcm_base/modules/contrib/views/modules/search.views_default.inc index dcde6224a3679c163612a91beb610df995ff3f0a..bfd96b8d40378b45c7c2d95769168ceccf404f13 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/search.views_default.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/search.views_default.inc @@ -6,12 +6,12 @@ */ /** - * Implementation of hook_views_default_views() + * Implements hook_views_default_views(). */ function search_views_default_views() { $views = array(); - $view = new view; + $view = new view(); $view->name = 'backlinks'; $view->description = 'Displays a list of nodes that link to the node, using the search backlinks table.'; $view->tag = 'default'; diff --git a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_argument_search.inc b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_argument_search.inc index 4ab365836193d3a6c63ee2bad5eda9156d27b296..1c2d8f6a518f143b72acb1e6725583cdfd2b0716 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_argument_search.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_argument_search.inc @@ -13,12 +13,12 @@ class views_handler_argument_search extends views_handler_argument { /** - * Take sure that parseSearchExpression is runned and everything is set up for it. + * Take sure that parseSearchExpression is runned and everything is set up. * - * @param $input + * @param string $input * The search phrase which was input by the user. */ - function query_parse_search_expression($input) { + public function query_parse_search_expression($input) { if (!isset($this->search_query)) { $this->search_query = db_select('search_index', 'i', array('target' => 'slave'))->extend('viewsSearchQuery'); $this->search_query->searchExpression($input, $this->view->base_table); @@ -29,7 +29,7 @@ class views_handler_argument_search extends views_handler_argument { /** * Add this argument to the query. */ - function query($group_by = FALSE) { + public function query($group_by = FALSE) { $required = FALSE; $this->query_parse_search_expression($this->argument); if (!isset($this->search_query)) { @@ -51,8 +51,9 @@ class views_handler_argument_search extends views_handler_argument { $search_condition = db_and(); - // Create a new join to relate the 'search_total' table to our current 'search_index' table. - $join = new views_join; + // Create a new join to relate the 'search_total' table to our current + // 'search_index' table. + $join = new views_join(); $join->construct('search_total', $search_index, 'word', 'word'); $search_total = $this->query->add_relationship('search_total', $join, $search_index); @@ -70,7 +71,7 @@ class views_handler_argument_search extends views_handler_argument { $search_dataset = $this->query->add_table('search_dataset'); $conditions = $this->search_query->conditions(); $condition_conditions =& $conditions->conditions(); - foreach ($condition_conditions as $key => &$condition) { + foreach ($condition_conditions as $key => &$condition) { // Take sure we just look at real conditions. if (is_numeric($key)) { // Replace the conditions with the table alias of views. @@ -97,4 +98,5 @@ class views_handler_argument_search extends views_handler_argument { $this->query->add_having_expression(0, "COUNT(*) >= $placeholder", array($placeholder => $matches)); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_field_search_score.inc b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_field_search_score.inc index 0feddac61cf0c1ec75da24801f7f6cf99a406199..3fa26ef7eb62d61c5998744955e14eec697da523 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_field_search_score.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_field_search_score.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_search_score extends views_handler_field_numeric { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['alternate_sort'] = array('default' => ''); @@ -20,7 +24,10 @@ class views_handler_field_search_score extends views_handler_field_numeric { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $style_options = $this->view->display_handler->get_option('style_options'); if (isset($style_options['default']) && $style_options['default'] == $this->options['id']) { $handlers = $this->view->display_handler->get_handlers('field'); @@ -48,7 +55,10 @@ class views_handler_field_search_score extends views_handler_field_numeric { parent::options_form($form, $form_state); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { // Check to see if the search filter added 'score' to the table. // Our filter stores it as $handler->search_score -- and we also // need to check its relationship to make sure that we're using the same @@ -65,17 +75,22 @@ class views_handler_field_search_score extends views_handler_field_numeric { $this->options['exclude'] = TRUE; if (!empty($this->options['alternate_sort'])) { if (isset($this->view->style_plugin->options['default']) && $this->view->style_plugin->options['default'] == $this->options['id']) { - // Since the style handler initiates fields, we plug these values right into the active handler. + // Since the style handler initiates fields, we plug these values right + // into the active handler. $this->view->style_plugin->options['default'] = $this->options['alternate_sort']; $this->view->style_plugin->options['order'] = $this->options['alternate_order']; } } } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { // Only render if we exist. if (isset($this->table_alias)) { return parent::render($values); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_filter_search.inc b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_filter_search.inc index 3ec53a37acb2f2422ba306055cdb2abff89807ce..178858bd002f8db1aebc89f27ae0e702ea90676a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_filter_search.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_filter_search.inc @@ -2,7 +2,7 @@ /** * @file - * Contains a search filter handler. + * Definition of views_handler_filter_search. */ /** @@ -11,21 +11,28 @@ * @ingroup views_filter_handlers */ class views_handler_filter_search extends views_handler_filter { - var $always_multiple = TRUE; + + /** + * + */ + public $always_multiple = TRUE; /** * Stores a viewsSearchQuery object to be able to use the search.module "api". * * @var viewsSearchQuery */ - var $search_query = NULL; + public $search_query = NULL; /** * Checks if the search query has been parsed. */ - var $parsed = FALSE; + public $parsed = FALSE; - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['operator']['default'] = 'optional'; @@ -35,13 +42,12 @@ class views_handler_filter_search extends views_handler_filter { } /** - * Overrides views_handler_filter::options_form(). - * - * Add an option to remove search scores from the query. + * {@inheritdoc} */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); + // Add an option to remove search scores from the query. $form['remove_score'] = array( '#type' => 'checkbox', '#title' => t('Remove search score'), @@ -50,11 +56,10 @@ class views_handler_filter_search extends views_handler_filter { ); } - /** - * Provide simple equality operator + * Provide simple equality operator. */ - function operator_form(&$form, &$form_state) { + public function operator_form(&$form, &$form_state) { $form['operator'] = array( '#type' => 'radios', '#title' => t('On empty input'), @@ -67,9 +72,9 @@ class views_handler_filter_search extends views_handler_filter { } /** - * Provide a simple textfield for equality + * Provide a simple textfield for equality. */ - function value_form(&$form, &$form_state) { + public function value_form(&$form, &$form_state) { $form['value'] = array( '#type' => 'textfield', '#size' => 15, @@ -82,7 +87,7 @@ class views_handler_filter_search extends views_handler_filter { /** * Validate the options form. */ - function exposed_validate(&$form, &$form_state) { + public function exposed_validate(&$form, &$form_state) { if (!isset($this->options['expose']['identifier'])) { return; } @@ -97,12 +102,12 @@ class views_handler_filter_search extends views_handler_filter { } /** - * Take sure that parseSearchExpression is runned and everything is set up for it. + * Make sure that parseSearchExpression is run and everything is set up. * - * @param $input + * @param string $input * The search phrase which was input by the user. */ - function query_parse_search_expression($input) { + public function query_parse_search_expression($input) { if (!isset($this->search_query)) { $this->parsed = TRUE; $this->search_query = db_select('search_index', 'i', array('target' => 'slave'))->extend('viewsSearchQuery'); @@ -118,7 +123,7 @@ class views_handler_filter_search extends views_handler_filter { * level of indirection. You will find them in $this->operator * and $this->value respectively. */ - function query() { + public function query() { // Since attachment views don't validate the exposed input, parse the search // expression if required. if (!$this->parsed) { @@ -145,8 +150,9 @@ class views_handler_filter_search extends views_handler_filter { $search_condition = db_and(); if (!$this->options['remove_score']) { - // Create a new join to relate the 'serach_total' table to our current 'search_index' table. - $join = new views_join; + // Create a new join to relate the 'serach_total' table to our current + // 'search_index' table. + $join = new views_join(); $join->construct('search_total', $search_index, 'word', 'word'); $search_total = $this->query->add_relationship('search_total', $join, $search_index); @@ -164,7 +170,7 @@ class views_handler_filter_search extends views_handler_filter { $search_dataset = $this->query->add_table('search_dataset'); $conditions = $this->search_query->conditions(); $condition_conditions =& $conditions->conditions(); - foreach ($condition_conditions as $key => &$condition) { + foreach ($condition_conditions as $key => &$condition) { // Take sure we just look at real conditions. if (is_numeric($key)) { // Replace the conditions with the table alias of views. @@ -193,32 +199,53 @@ class views_handler_filter_search extends views_handler_filter { // Set to NULL to prevent PDO exception when views object is cached. $this->search_query = NULL; } + } /** * Extends the core SearchQuery. */ class viewsSearchQuery extends SearchQuery { + + /** + * {@inheritdoc} + */ public function &conditions() { return $this->conditions; } + + /** + * {@inheritdoc} + */ public function words() { return $this->words; } + /** + * {@inheritdoc} + */ public function simple() { return $this->simple; } + /** + * {@inheritdoc} + */ public function matches() { return $this->matches; } + /** + * {@inheritdoc} + */ public function publicParseSearchExpression() { return $this->parseSearchExpression(); } - function condition_replace_string($search, $replace, &$condition) { + /** + * {@inheritdoc} + */ + public function condition_replace_string($search, $replace, &$condition) { if ($condition['field'] instanceof DatabaseCondition) { $conditions =& $condition['field']->conditions(); foreach ($conditions as $key => &$subcondition) { @@ -231,4 +258,5 @@ class viewsSearchQuery extends SearchQuery { $condition['field'] = str_replace($search, $replace, $condition['field']); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_sort_search_score.inc b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_sort_search_score.inc index d37fb6513654f66e9c588ab82b4538fc0edec350..d21c17ce3f211b943a6f3fcfdbaf73ea3c16efa7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_sort_search_score.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/search/views_handler_sort_search_score.inc @@ -11,11 +11,15 @@ * @ingroup views_sort_handlers */ class views_handler_sort_search_score extends views_handler_sort { - function query() { + + /** + * {@inheritdoc} + */ + public function query() { // Check to see if the search filter/argument added 'score' to the table. - // Our filter stores it as $handler->search_score -- and we also - // need to check its relationship to make sure that we're using the same - // one or obviously this won't work. + // Our filter stores it as $handler->search_score -- and we also need to + // check its relationship to make sure that we're using the same one or + // obviously this won't work. foreach (array('filter', 'argument') as $type) { foreach ($this->view->{$type} as $handler) { if (isset($handler->search_score) && $handler->relationship == $this->relationship) { @@ -26,7 +30,8 @@ class views_handler_sort_search_score extends views_handler_sort { } } - // Do absolutely nothing if there is no filter/argument in place; there is no reason to - // sort on the raw scores with this handler. + // Do absolutely nothing if there is no filter/argument in place; there is + // no reason to sort on the raw scores with this handler. } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/search/views_plugin_row_search_view.inc b/profiles/wcm_base/modules/contrib/views/modules/search/views_plugin_row_search_view.inc index e4aacdc36148f5780de36b16aefcb6365177de55..0579f0dc5a4c51b9675f6a6aea03d123226232bd 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/search/views_plugin_row_search_view.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/search/views_plugin_row_search_view.inc @@ -9,7 +9,11 @@ * Plugin which performs a node_view on the resulting object. */ class views_plugin_row_search_view extends views_plugin_row { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['score'] = array('default' => TRUE, 'bool' => TRUE); @@ -17,7 +21,10 @@ class views_plugin_row_search_view extends views_plugin_row { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['score'] = array( '#type' => 'checkbox', '#title' => t('Display score'), @@ -28,12 +35,13 @@ class views_plugin_row_search_view extends views_plugin_row { /** * Override the behavior of the render() function. */ - function render($row) { + public function render($row) { return theme($this->theme_functions(), array( 'view' => $this->view, 'options' => $this->options, - 'row' => $row + 'row' => $row, )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/statistics.views.inc b/profiles/wcm_base/modules/contrib/views/modules/statistics.views.inc index 6d99c5e63aca3fe4aeb2dcd7ad5cacc1766bd3e2..3fe0a2872896cb6ffbb18c6f64ffd1378d3b0f83 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/statistics.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/statistics.views.inc @@ -12,21 +12,19 @@ */ function statistics_views_data() { // Basic table information. - // ---------------------------------------------------------------- - // node_counter table - + // 'node_counter' table. $data['node_counter']['table']['group'] = t('Content statistics'); + // Joins to the node table. $data['node_counter']['table']['join'] = array( - // ...to the node table 'node' => array( 'left_field' => 'nid', 'field' => 'nid', ), ); - // totalcount + // Total count. $data['node_counter']['totalcount'] = array( 'title' => t('Total views'), 'help' => t('The total number of times the node has been viewed.'), @@ -34,7 +32,7 @@ function statistics_views_data() { 'field' => array( 'handler' => 'views_handler_field_statistics_numeric', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_numeric', ), @@ -43,7 +41,7 @@ function statistics_views_data() { ), ); - // daycount + // Day count. $data['node_counter']['daycount'] = array( 'title' => t('Views today'), 'help' => t('The total number of times the node has been viewed today.'), @@ -51,7 +49,7 @@ function statistics_views_data() { 'field' => array( 'handler' => 'views_handler_field_statistics_numeric', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_numeric', ), @@ -60,7 +58,7 @@ function statistics_views_data() { ), ); - // timestamp + // Timestamp. $data['node_counter']['timestamp'] = array( 'title' => t('Most recent view'), 'help' => t('The most recent time the node has been viewed.'), @@ -77,13 +75,11 @@ function statistics_views_data() { ), ); - // ---------------------------------------------------------------- - // accesslog table - + // 'accesslog' table. $data['accesslog']['table']['group'] = t('Access log'); - // Advertise this table as a possible base table + // Advertise this table as a possible base table. $data['accesslog']['table']['base'] = array( 'field' => 'aid', 'title' => t('Access log'), @@ -91,15 +87,15 @@ function statistics_views_data() { 'weight' => 10, ); - // For other base tables, explain how we join + // For other base tables, explain how we join. $data['accesslog']['table']['join'] = array( 'users' => array( 'field' => 'uid', 'left_field' => 'uid', - ), + ), ); - // accesslog.aid + // Access event ID / 'aid'. $data['accesslog']['aid'] = array( 'title' => t('Aid'), 'help' => t('Unique access event ID.'), @@ -120,7 +116,7 @@ function statistics_views_data() { ), ); - // session id + // Session ID. $data['accesslog']['sid'] = array( 'title' => t('Session ID'), 'help' => t('Browser session ID of user that visited page.'), @@ -128,19 +124,19 @@ function statistics_views_data() { 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, - ), - 'filter' => array( + ), + 'filter' => array( 'handler' => 'views_handler_filter_string', - ), - 'argument' => array( - 'handler' => 'views_handler_argument_string', - ), - 'sort' => array( + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( 'handler' => 'views_handler_sort', - ), + ), ); - // title + // Title. $data['accesslog']['title'] = array( 'title' => t('Page title'), 'help' => t('Title of page visited.'), @@ -148,19 +144,19 @@ function statistics_views_data() { 'field' => array( 'handler' => 'views_handler_field_accesslog_path', 'click sortable' => TRUE, - ), - 'filter' => array( + ), + 'filter' => array( 'handler' => 'views_handler_filter_string', - ), - 'sort' => array( + ), + 'sort' => array( 'handler' => 'views_handler_sort', - ), - 'argument' => array( + ), + 'argument' => array( 'handler' => 'views_handler_argument_string', - ), + ), ); - // path + // Path. $data['accesslog']['path'] = array( 'title' => t('Path'), 'help' => t('Internal path to page visited (relative to Drupal root.)'), @@ -168,26 +164,25 @@ function statistics_views_data() { 'field' => array( 'handler' => 'views_handler_field_accesslog_path', 'click sortable' => TRUE, - ), - 'filter' => array( - 'handler' => 'views_handler_filter_string', - ), - 'sort' => array( - 'handler' => 'views_handler_sort', - ), - //No argument here. Can't send forward slashes as arguments. - //Can be worked around by node ID. - //(but what about aliases?) + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + // No argument here. Can't send forward slashes as arguments. Can be + // worked around by node ID. (but what about aliases?) ); - // referrer + // Referrer. $data['accesslog']['url'] = array( 'title' => t('Referrer'), 'help' => t('Referrer URI.'), 'field' => array( 'handler' => 'views_handler_field_url', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -196,14 +191,14 @@ function statistics_views_data() { ), ); - // hostname + // Hostname. $data['accesslog']['hostname'] = array( 'title' => t('Hostname'), 'help' => t('Hostname of user that visited the page.'), 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -215,7 +210,7 @@ function statistics_views_data() { ), ); - // user + // User ID / 'uid'. $data['accesslog']['uid'] = array( 'title' => t('User'), 'help' => t('The user who visited the site.'), @@ -223,10 +218,10 @@ function statistics_views_data() { 'handler' => 'views_handler_relationship', 'base' => 'users', 'base field' => 'uid', - ), + ), ); - // timer + // Timer. $data['accesslog']['timer'] = array( 'title' => t('Timer'), 'help' => t('Time in milliseconds that the page took to load.'), @@ -242,7 +237,7 @@ function statistics_views_data() { ), ); - // timestamp + // Timestamp. $data['accesslog']['timestamp'] = array( 'title' => t('Timestamp'), 'help' => t('Timestamp of when the page was visited.'), @@ -258,6 +253,5 @@ function statistics_views_data() { ), ); - return $data; } diff --git a/profiles/wcm_base/modules/contrib/views/modules/statistics.views_default.inc b/profiles/wcm_base/modules/contrib/views/modules/statistics.views_default.inc index 7f527d59a39186a639d6754cb1eaff604d9423bf..704e033def3ca99aa7441785ec4c072e3da9ea7b 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/statistics.views_default.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/statistics.views_default.inc @@ -6,12 +6,12 @@ */ /** - * Implementation of hook_views_default_views() + * Implements hook_views_default_views(). */ function statistics_views_default_views() { $views = array(); - $view = new view; + $view = new view(); $view->name = 'popular'; $view->description = 'Shows the most-viewed nodes on the site. This requires the statistics to be enabled at administer >> reports >> access log settings.'; $view->tag = 'default'; diff --git a/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_accesslog_path.inc b/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_accesslog_path.inc index 85b2352da27a19a9f5c0ce5b1b674d996a87b559..a0132a269770dbbacc7d5b8162fb5fa1a23c6dfb 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_accesslog_path.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_accesslog_path.inc @@ -6,22 +6,26 @@ */ /** - * Field handler to provide simple renderer that turns a URL into a clickable link. + * Provide simple renderer that turns a URL into a clickable link. * * @ingroup views_field_handlers */ class views_handler_field_accesslog_path extends views_handler_field { + /** * Override init function to provide generic option to link to node. */ - function init(&$view, &$options) { + public function init(&$view, &$options) { parent::init($view, $options); if (!empty($this->options['display_as_link'])) { $this->additional_fields['path'] = 'path'; } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['display_as_link'] = array('default' => TRUE, 'bool' => TRUE); @@ -32,7 +36,7 @@ class views_handler_field_accesslog_path extends views_handler_field { /** * Provide link to the page being visited. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['display_as_link'] = array( '#title' => t('Display as link'), '#type' => 'checkbox', @@ -41,12 +45,18 @@ class views_handler_field_accesslog_path extends views_handler_field { parent::options_form($form, $form_state); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { if (!empty($this->options['display_as_link'])) { $this->options['alter']['make_link'] = TRUE; $this->options['alter']['path'] = $this->get_value($values, 'path'); @@ -55,4 +65,5 @@ class views_handler_field_accesslog_path extends views_handler_field { return $data; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_node_counter_timestamp.inc b/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_node_counter_timestamp.inc index d665519b2e22de50dbb66d2398573b54e818bbd7..a57c9ffda17ff5b763f790f2f66d36da6c9aa4e9 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_node_counter_timestamp.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_node_counter_timestamp.inc @@ -11,6 +11,7 @@ * @ingroup views_field_handlers */ class views_handler_field_node_counter_timestamp extends views_handler_field_date { + /** * {@inheritdoc} */ @@ -18,4 +19,5 @@ class views_handler_field_node_counter_timestamp extends views_handler_field_dat // Needs permission to see total page views. return user_access('view post access counter'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_statistics_numeric.inc b/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_statistics_numeric.inc index 3e60c8d62131e2523324a6ac8c3224bf0b0162d5..24b79ef14ffed88124cca6d7935037efe3cf65d2 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_statistics_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/statistics/views_handler_field_statistics_numeric.inc @@ -11,6 +11,7 @@ * @ingroup views_field_handlers */ class views_handler_field_statistics_numeric extends views_handler_field_numeric { + /** * {@inheritdoc} */ @@ -18,4 +19,5 @@ class views_handler_field_statistics_numeric extends views_handler_field_numeric // Needs permission to see total page views. return user_access('view post access counter'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system.views.inc b/profiles/wcm_base/modules/contrib/views/modules/system.views.inc index 243cbc725c749fb30491feeee622151089763c34..b4c93c581d15f87b8b7f548d508a5a6289a550b0 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system.views.inc @@ -14,23 +14,22 @@ function system_views_data() { $data = array(); // ---------------------------------------------------------------------- - // file_managed table - + // 'file_managed' table. $data['files']['moved to'] = 'file_managed'; $data['file_managed']['table']['group'] = t('File'); - // Advertise this table as a possible base table + // Advertise this table as a possible base table. $data['file_managed']['table']['base'] = array( 'field' => 'fid', 'title' => t('File'), 'help' => t("Files maintained by Drupal and various modules."), 'defaults' => array( - 'field' => 'filename' + 'field' => 'filename', ), ); $data['file_managed']['table']['entity type'] = 'file'; - // fid + // File ID / 'fid'. $data['file_managed']['fid'] = array( 'title' => t('File ID'), 'help' => t('The ID of the file.'), @@ -40,7 +39,8 @@ function system_views_data() { ), 'argument' => array( 'handler' => 'views_handler_argument_file_fid', - 'name field' => 'filename', // the field to display in the summary. + 'name field' => 'filename', + // the field to display in the summary. 'numeric' => TRUE, ), 'filter' => array( @@ -51,14 +51,14 @@ function system_views_data() { ), ); - // filename + // Filename. $data['file_managed']['filename'] = array( 'title' => t('Name'), 'help' => t('The name of the file.'), 'field' => array( 'handler' => 'views_handler_field_file', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -70,14 +70,14 @@ function system_views_data() { ), ); - // uri + // URI. $data['file_managed']['uri'] = array( 'title' => t('Path'), 'help' => t('The path of the file.'), 'field' => array( 'handler' => 'views_handler_field_file_uri', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -89,14 +89,14 @@ function system_views_data() { ), ); - // filemime + // The file's MIME Type. $data['file_managed']['filemime'] = array( 'title' => t('Mime type'), 'help' => t('The mime type of the file.'), 'field' => array( 'handler' => 'views_handler_field_file_filemime', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -108,7 +108,7 @@ function system_views_data() { ), ); - // extension + // Extension. $data['file_managed']['extension'] = array( 'title' => t('Extension'), 'help' => t('The extension of the file.'), @@ -116,17 +116,17 @@ function system_views_data() { 'field' => array( 'handler' => 'views_handler_field_file_extension', 'click sortable' => FALSE, - ), + ), ); - // filesize + // Filesize. $data['file_managed']['filesize'] = array( 'title' => t('Size'), 'help' => t('The size of the file.'), 'field' => array( 'handler' => 'views_handler_field_file_size', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -135,14 +135,14 @@ function system_views_data() { ), ); - // status + // Status. $data['file_managed']['status'] = array( 'title' => t('Status'), 'help' => t('The status of the file.'), 'field' => array( 'handler' => 'views_handler_field_file_status', 'click sortable' => TRUE, - ), + ), 'sort' => array( 'handler' => 'views_handler_sort', ), @@ -151,7 +151,7 @@ function system_views_data() { ), ); - // timestamp field + // Timestamp field. $data['file_managed']['timestamp'] = array( 'title' => t('Upload date'), 'help' => t('The date the file was uploaded.'), @@ -167,7 +167,7 @@ function system_views_data() { ), ); - // uid + // User ID / 'uid'. $data['file_managed']['uid'] = array( 'title' => t('User who uploaded'), 'help' => t('The user that uploaded the file.'), @@ -180,44 +180,50 @@ function system_views_data() { ); // ---------------------------------------------------------------------- - // file_usage table - + // file_usage table. $data['file_usage']['table']['group'] = t('File Usage'); - // Provide field-type-things to several base tables; on the core files table ("file_managed") so - // that we can create relationships from files to entities, and then on each core entity type base - // table so that we can provide general relationships between entities and files. + // Provide field-type-things to several base tables; on the core files table + // ("file_managed") so that we can create relationships from files to + // entities, and then on each core entity type base table so that we can + // provide general relationships between entities and files. $data['file_usage']['table']['join'] = array( - // Link ourself to the {file_managed} table so we can provide file->entity relationships. + // Link ourself to the {file_managed} table so we can provide file->entity + // relationships. 'file_managed' => array( 'field' => 'fid', 'left_field' => 'fid', ), - // Link ourself to the {node} table so we can provide node->file relationships. + // Link ourself to the {node} table so we can provide node->file + // relationships. 'node' => array( 'field' => 'id', 'left_field' => 'nid', 'extra' => array(array('field' => 'type', 'value' => 'node')), ), - // Link ourself to the {users} table so we can provide user->file relationships. + // Link ourself to the {users} table so we can provide user->file + // relationships. 'users' => array( 'field' => 'id', 'left_field' => 'uid', 'extra' => array(array('field' => 'type', 'value' => 'user')), ), - // Link ourself to the {comment} table so we can provide comment->file relationships. + // Link ourself to the {comment} table so we can provide comment->file + // relationships. 'comment' => array( 'field' => 'id', 'left_field' => 'cid', 'extra' => array(array('field' => 'type', 'value' => 'comment')), ), - // Link ourself to the {taxonomy_term_data} table so we can provide taxonomy_term->file relationships. + // Link ourself to the {taxonomy_term_data} table so we can provide + // taxonomy_term->file relationships. 'taxonomy_term_data' => array( 'field' => 'id', 'left_field' => 'tid', 'extra' => array(array('field' => 'type', 'value' => 'taxonomy_term')), ), - // Link ourself to the {taxonomy_vocabulary} table so we can provide taxonomy_vocabulary->file relationships. + // Link ourself to the {taxonomy_vocabulary} table so we can provide + // taxonomy_vocabulary->file relationships. 'taxonomy_vocabulary' => array( 'field' => 'id', 'left_field' => 'vid', @@ -225,16 +231,16 @@ function system_views_data() { ), ); - // Provide a relationship between the files table and each entity type, and between each entity - // type and the files table. Entity->file relationships are type-restricted in the joins - // declared above, and file->entity relationships are type-restricted in the relationship - // declarations below. - + // Provide a relationship between the files table and each entity type, and + // between each entity type and the files table. Entity->file relationships + // are type-restricted in the joins declared above, and file->entity + // relationships are type-restricted in the relationship declarations below. // Relationships between files and nodes. $data['file_usage']['file_to_node'] = array( 'title' => t('Content'), 'help' => t('Content that is associated with this file, usually because this file is in a field on the content.'), - // Only provide this field/relationship/etc. when the 'file_managed' base table is present. + // Only provide this field/relationship/etc. when the 'file_managed' base + // table is present. 'skip base' => array('node', 'node_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'id', 'relationship' => array( @@ -249,7 +255,8 @@ function system_views_data() { $data['file_usage']['node_to_file'] = array( 'title' => t('File'), 'help' => t('A file that is associated with this node, usually because it is in a field on the node.'), - // Only provide this field/relationship/etc. when the 'node' base table is present. + // Only provide this field/relationship/etc. when the 'node' base table is + // present. 'skip base' => array('file_managed', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'fid', 'relationship' => array( @@ -265,7 +272,8 @@ function system_views_data() { $data['file_usage']['file_to_user'] = array( 'title' => t('User'), 'help' => t('A user that is associated with this file, usually because this file is in a field on the user.'), - // Only provide this field/relationship/etc. when the 'file_managed' base table is present. + // Only provide this field/relationship/etc. when the 'file_managed' base + // table is present. 'skip base' => array('node', 'node_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'id', 'relationship' => array( @@ -280,7 +288,8 @@ function system_views_data() { $data['file_usage']['user_to_file'] = array( 'title' => t('File'), 'help' => t('A file that is associated with this user, usually because it is in a field on the user.'), - // Only provide this field/relationship/etc. when the 'users' base table is present. + // Only provide this field/relationship/etc. when the 'users' base table is + // present. 'skip base' => array('file_managed', 'node', 'node_revision', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'fid', 'relationship' => array( @@ -296,7 +305,8 @@ function system_views_data() { $data['file_usage']['file_to_comment'] = array( 'title' => t('Comment'), 'help' => t('A comment that is associated with this file, usually because this file is in a field on the comment.'), - // Only provide this field/relationship/etc. when the 'file_managed' base table is present. + // Only provide this field/relationship/etc. when the 'file_managed' base + // table is present. 'skip base' => array('node', 'node_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'id', 'relationship' => array( @@ -311,7 +321,8 @@ function system_views_data() { $data['file_usage']['comment_to_file'] = array( 'title' => t('File'), 'help' => t('A file that is associated with this comment, usually because it is in a field on the comment.'), - // Only provide this field/relationship/etc. when the 'comment' base table is present. + // Only provide this field/relationship/etc. when the 'comment' base table + // is present. 'skip base' => array('file_managed', 'node', 'node_revision', 'users', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'fid', 'relationship' => array( @@ -327,7 +338,8 @@ function system_views_data() { $data['file_usage']['file_to_taxonomy_term'] = array( 'title' => t('Taxonomy Term'), 'help' => t('A taxonomy term that is associated with this file, usually because this file is in a field on the taxonomy term.'), - // Only provide this field/relationship/etc. when the 'file_managed' base table is present. + // Only provide this field/relationship/etc. when the 'file_managed' base + // table is present. 'skip base' => array('node', 'node_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'id', 'relationship' => array( @@ -342,7 +354,8 @@ function system_views_data() { $data['file_usage']['taxonomy_term_to_file'] = array( 'title' => t('File'), 'help' => t('A file that is associated with this taxonomy term, usually because it is in a field on the taxonomy term.'), - // Only provide this field/relationship/etc. when the 'taxonomy_term_data' base table is present. + // Only provide this field/relationship/etc. when the 'taxonomy_term_data' + // base table is present. 'skip base' => array('file_managed', 'node', 'node_revision', 'users', 'comment', 'taxonomy_vocabulary'), 'real field' => 'fid', 'relationship' => array( @@ -358,7 +371,8 @@ function system_views_data() { $data['file_usage']['file_to_taxonomy_vocabulary'] = array( 'title' => t('Taxonomy Vocabulary'), 'help' => t('A taxonomy vocabulary that is associated with this file, usually because this file is in a field on the taxonomy vocabulary.'), - // Only provide this field/relationship/etc. when the 'file_managed' base table is present. + // Only provide this field/relationship/etc. when the 'file_managed' base + // table is present. 'skip base' => array('node', 'node_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'), 'real field' => 'id', 'relationship' => array( @@ -373,7 +387,8 @@ function system_views_data() { $data['file_usage']['taxonomy_vocabulary_to_file'] = array( 'title' => t('File'), 'help' => t('A file that is associated with this taxonomy vocabulary, usually because it is in a field on the taxonomy vocabulary.'), - // Only provide this field/relationship/etc. when the 'taxonomy_vocabulary' base table is present. + // Only provide this field/relationship/etc. when the 'taxonomy_vocabulary' + // base table is present. 'skip base' => array('file_managed', 'node', 'node_revision', 'users', 'comment', 'taxonomy_term_data'), 'real field' => 'fid', 'relationship' => array( @@ -385,15 +400,16 @@ function system_views_data() { ), ); - // Provide basic fields from the {file_usage} table to all of the base tables we've declared - // joins to (because there is no 'skip base' property on these fields). + // Provide basic fields from the {file_usage} table to all of the base tables + // we've declared joins to (because there is no 'skip base' property on these + // fields). $data['file_usage']['module'] = array( 'title' => t('Module'), 'help' => t('The module managing this file relationship.'), 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -410,7 +426,7 @@ function system_views_data() { 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), @@ -444,7 +460,7 @@ function system_views_data() { 'field' => array( 'handler' => 'views_handler_field_numeric', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_numeric', ), @@ -454,18 +470,18 @@ function system_views_data() { ); // ---------------------------------------------------------------------- - // system table + // System table. $data['system']['table']['group'] = t('System'); - // Advertise this table as a possible base table + // Advertise this table as a possible base table. $data['system']['table']['base'] = array( 'field' => 'filename', 'title' => t('Module/Theme/Theme engine'), 'help' => t('Modules/Themes/Theme engines in your codebase.'), ); - // fields - // - filename + // Fields. + // - filename. $data['system']['filename'] = array( 'title' => t('Module/Theme/Theme engine filename'), 'help' => t('The path of the primary file for this item, relative to the Drupal root; e.g. modules/node/node.module.'), @@ -474,8 +490,9 @@ function system_views_data() { 'click sortable' => TRUE, ), 'argument' => array( + // The field to display in the summary. 'handler' => 'views_handler_argument_string', - 'name field' => 'filename', // the field to display in the summary. + 'name field' => 'filename', ), 'filter' => array( 'handler' => 'views_handler_filter_string', @@ -484,7 +501,7 @@ function system_views_data() { 'handler' => 'views_handler_sort', ), ); - // - name + // - name. $data['system']['name'] = array( 'title' => t('Module/Theme/Theme engine name'), 'help' => t('The name of the item; e.g. node.'), @@ -493,8 +510,9 @@ function system_views_data() { 'click sortable' => TRUE, ), 'argument' => array( + // The field to display in the summary. 'handler' => 'views_handler_argument_string', - 'name field' => 'name', // the field to display in the summary. + 'name field' => 'name', ), 'filter' => array( 'handler' => 'views_handler_filter_string', @@ -503,7 +521,7 @@ function system_views_data() { 'handler' => 'views_handler_sort', ), ); - // - type + // - type. $data['system']['type'] = array( 'title' => t('Type'), 'help' => t('The type of the item, either module, theme, or theme_engine.'), @@ -512,8 +530,9 @@ function system_views_data() { 'click sortable' => TRUE, ), 'argument' => array( + // The field to display in the summary. 'handler' => 'views_handler_argument_string', - 'name field' => 'type', // the field to display in the summary. + 'name field' => 'type', ), 'filter' => array( 'handler' => 'views_handler_filter_system_type', @@ -522,7 +541,7 @@ function system_views_data() { 'handler' => 'views_handler_sort', ), ); - // - status + // - status. $data['system']['status'] = array( 'title' => t('Status'), 'help' => t('Boolean indicating whether or not this item is enabled.'), @@ -531,8 +550,9 @@ function system_views_data() { 'click sortable' => TRUE, ), 'argument' => array( + // The field to display in the summary. 'handler' => 'views_handler_argument_numeric', - 'name field' => 'status', // the field to display in the summary. + 'name field' => 'status', ), 'filter' => array( 'handler' => 'views_handler_filter_boolean_operator', @@ -541,7 +561,7 @@ function system_views_data() { 'handler' => 'views_handler_sort', ), ); - // - schema version + // - schema version. $data['system']['schema_version'] = array( 'title' => t('Schema version'), 'help' => t("The module's database schema version number. -1 if the module is not installed (its tables do not exist); 0 or the largest N of the module's hook_update_N() function that has either been run or existed when the module was first installed."), @@ -550,8 +570,9 @@ function system_views_data() { 'click sortable' => TRUE, ), 'argument' => array( + // The field to display in the summary. 'handler' => 'views_handler_argument_numeric', - 'name field' => 'schema_version', // the field to display in the summary. + 'name field' => 'schema_version', ), 'filter' => array( 'handler' => 'views_handler_filter_numeric', @@ -564,6 +585,17 @@ function system_views_data() { return $data; } +/** + * Obtain a human readable label for a file's status. + * + * @param int $choice + * Indicate the file's status, expected to be either '0' for a temporary file + * or the value of FILE_STATUS_PERMANENT for a permanent file; any other value + * will be indicated as being 'Unknown'. + * + * @return string + * A string representing the file's status. + */ function _views_file_status($choice = NULL) { $status = array( 0 => t('Temporary'), diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_argument_file_fid.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_argument_file_fid.inc index aa2d94719353158035667ffd96504cf407ff980a..15860dcbcfa5b69ddab601b2c7aeb505267f80f8 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_argument_file_fid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_argument_file_fid.inc @@ -11,10 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_file_fid extends views_handler_argument_numeric { + /** * Override the behavior of title_query(). Get the filenames. */ - function title_query() { + public function title_query() { $titles = db_select('file_managed', 'f') ->fields('f', array('filename')) ->condition('fid', $this->value) @@ -25,4 +26,5 @@ class views_handler_argument_file_fid extends views_handler_argument_numeric { } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file.inc index 4168acf759f11fd65c1fd8e6516f333435fa6dfb..a69bca815e8a12b6244ada764c278acc09692103 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file.inc @@ -11,26 +11,30 @@ * @ingroup views_field_handlers */ class views_handler_field_file extends views_handler_field { + /** * Constructor to provide additional field to add. */ - function init(&$view, &$options) { + public function init(&$view, &$options) { parent::init($view, $options); if (!empty($options['link_to_file'])) { $this->additional_fields['uri'] = 'uri'; } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_file'] = array('default' => FALSE, 'bool' => TRUE); return $options; } /** - * Provide link to file option + * Provide link to file option. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_file'] = array( '#title' => t('Link this field to download the file'), '#description' => t("Enable to override this field's links."), @@ -45,7 +49,7 @@ class views_handler_field_file extends views_handler_field { * * Data should be made XSS safe prior to calling this function. */ - function render_link($data, $values) { + public function render_link($data, $values) { if (!empty($this->options['link_to_file']) && $data !== NULL && $data !== '') { $this->options['alter']['make_link'] = TRUE; $this->options['alter']['path'] = file_create_url($this->get_value($values, 'uri')); @@ -54,8 +58,12 @@ class views_handler_field_file extends views_handler_field { return $data; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_extension.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_extension.inc index b543d8a23961e15f38db5c075e7740b4591c6065..55a0db2e97e04656c9d6bd92855eea31862870d8 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_extension.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_extension.inc @@ -7,15 +7,23 @@ /** * Returns a pure file extension of the file, for example 'module'. + * * @ingroup views_field_handlers */ class views_handler_field_file_extension extends views_handler_field { + + /** + * {@inheritdoc} + */ public function option_definition() { $options = parent::option_definition(); $options['extension_detect_tar'] = array('default' => FALSE, 'bool' => TRUE); return $options; } + /** + * {@inheritdoc} + */ public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['extension_detect_tar'] = array( @@ -26,7 +34,10 @@ class views_handler_field_file_extension extends views_handler_field { ); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); if (!$this->options['extension_detect_tar']) { if (preg_match('/\.([^\.]+)$/', $value, $match)) { @@ -46,4 +57,5 @@ class views_handler_field_file_extension extends views_handler_field { } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_filemime.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_filemime.inc index 318fdcff3222eb2c41499bb63b0e72c88426bbba..9648d0f7908cd60047faca470bc2f5a18d8ae076 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_filemime.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_filemime.inc @@ -6,18 +6,25 @@ */ /** - * Field handler to add rendering MIME type images as an option on the filemime field. + * Add rendering MIME type images as an option on the 'filemime' field. * * @ingroup views_field_handlers */ class views_handler_field_file_filemime extends views_handler_field_file { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['filemime_image'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['filemime_image'] = array( '#title' => t('Display an icon representing the file type, instead of the MIME text (such as "image/jpeg")'), '#type' => 'checkbox', @@ -26,7 +33,10 @@ class views_handler_field_file_filemime extends views_handler_field_file { parent::options_form($form, $form_state); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $data = $values->{$this->field_alias}; if (!empty($this->options['filemime_image']) && $data !== NULL && $data !== '') { $fake_file = (object) array('filemime' => $data); @@ -35,4 +45,5 @@ class views_handler_field_file_filemime extends views_handler_field_file { return $this->render_link($data, $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_status.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_status.inc index ac1022c8d905f673195eb4dd18825efaa48a78f5..ecfaf9977d8c9656b8d1e2562b53c5a88d23c641 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_status.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_status.inc @@ -11,8 +11,13 @@ * @ingroup views_field_handlers */ class views_handler_field_file_status extends views_handler_field { - function render($values) { + + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return _views_file_status($value); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_uri.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_uri.inc index 334e5051aac6b347ceab212bda40d678c3d18b94..527fdc735cfe0e024c37cebe36f118b24eeb6069 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_uri.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_field_file_uri.inc @@ -6,16 +6,24 @@ */ /** - * Field handler to add rendering file paths as file URLs instead of as internal file URIs. + * Field handler to add rendering file paths as file URLs instead of as internal + * file URIs. */ class views_handler_field_file_uri extends views_handler_field_file { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['file_download_path'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['file_download_path'] = array( '#title' => t('Display download path instead of file storage URI'), '#description' => t('This will provide the full download URL rather than the internal filestream address.'), @@ -25,11 +33,15 @@ class views_handler_field_file_uri extends views_handler_field_file { parent::options_form($form, $form_state); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $data = $values->{$this->field_alias}; if (!empty($this->options['file_download_path']) && $data !== NULL && $data !== '') { $data = file_create_url($data); } return $this->render_link($data, $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_file_status.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_file_status.inc index 6194395bfac1cd67302a218a69f4546bac3b45bb..057d1bf46c8ecc746def4c9722d7d1de1585dc5f 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_file_status.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_file_status.inc @@ -11,9 +11,14 @@ * @ingroup views_filter_handlers */ class views_handler_filter_file_status extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $this->value_options = _views_file_status(); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_system_type.inc b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_system_type.inc index 84d4bcd86ce95ae20956fe9112ef0ae5367aa323..ff6b4bd519f2f4c15afeb7c8ff28deb252bc4e47 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_system_type.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/system/views_handler_filter_system_type.inc @@ -9,7 +9,11 @@ * Filter by system type. */ class views_handler_filter_system_type extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (!isset($this->value_options)) { $this->value_title = t('Type'); // Enable filtering by type. @@ -18,4 +22,5 @@ class views_handler_filter_system_type extends views_handler_filter_in_operator $this->value_options = $types; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views.inc index 93c20817d7937cd99dff9f36e217c1ea057ff61c..ddf91e13fb93d01dfa9331f11a960fb75b415288 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views.inc @@ -14,13 +14,12 @@ function taxonomy_views_data() { $data = array(); // ---------------------------------------------------------------------- - // taxonomy_vocabulary table - + // 'taxonomy_vocabulary' table. $data['vocabulary']['moved to'] = 'taxonomy_vocabulary'; $data['taxonomy_vocabulary']['table']['group'] = t('Taxonomy vocabulary'); $data['taxonomy_vocabulary']['table']['join'] = array( - // vocabulary links to taxonomy_term_data directly via vid. + // Vocabulary links to taxonomy_term_data directly via vid. 'taxonomy_term_data' => array( 'left_field' => 'vid', 'field' => 'vid', @@ -35,9 +34,10 @@ function taxonomy_views_data() { ), ); - // vocabulary name + // Vocabulary name. $data['taxonomy_vocabulary']['name'] = array( - 'title' => t('Name'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Name'), 'field' => array( 'help' => t('Name of the vocabulary a term is a member of. This will be the vocabulary that whichever term the "Taxonomy: Term" field is; and can similarly cause duplicates.'), 'handler' => 'views_handler_field', @@ -49,7 +49,8 @@ function taxonomy_views_data() { ), ); $data['taxonomy_vocabulary']['machine_name'] = array( - 'title' => t('Machine name'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Machine name'), 'field' => array( 'help' => t('Machine-Name of the vocabulary a term is a member of. This will be the vocabulary that whichever term the "Taxonomy: Term" field is; and can similarly cause duplicates.'), 'handler' => 'views_handler_field', @@ -65,7 +66,8 @@ function taxonomy_views_data() { ), ); $data['taxonomy_vocabulary']['vid'] = array( - 'title' => t('Vocabulary ID'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Vocabulary ID'), 'help' => t('The taxonomy vocabulary ID'), 'field' => array( 'handler' => 'views_handler_field_numeric', @@ -80,7 +82,8 @@ function taxonomy_views_data() { ), ); $data['taxonomy_vocabulary']['description'] = array( - 'title' => t('Description'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Description'), 'help' => t('The taxonomy vocabulary description'), 'field' => array( 'handler' => 'views_handler_field', @@ -106,8 +109,7 @@ function taxonomy_views_data() { ); // ---------------------------------------------------------------------- - // taxonomy_term_data table - + // 'taxonomy_term_data' table. $data['term_data']['moved to'] = 'taxonomy_term_data'; $data['taxonomy_term_data']['table']['group'] = t('Taxonomy term'); $data['taxonomy_term_data']['table']['base'] = array( @@ -118,15 +120,13 @@ function taxonomy_views_data() { ); $data['taxonomy_term_data']['table']['entity type'] = 'taxonomy_term'; - - - // The term data table + // The term data table. $data['taxonomy_term_data']['table']['join'] = array( 'taxonomy_vocabulary' => array( 'field' => 'vid', 'left_field' => 'vid', ), - // This is provided for many_to_one argument + // This is provided for many_to_one argument. 'taxonomy_index' => array( 'field' => 'tid', 'left_field' => 'tid', @@ -141,7 +141,7 @@ function taxonomy_views_data() { ), ); - // tid field + // Term ID / 'tid' field. $data['taxonomy_term_data']['tid'] = array( 'title' => t('Term ID'), 'help' => t('The tid of a taxonomy term.'), @@ -166,7 +166,7 @@ function taxonomy_views_data() { ), ); - // raw tid field + // The raw term 'tid' field. $data['taxonomy_term_data']['tid_raw'] = array( 'title' => t('Term ID'), 'help' => t('The tid of a taxonomy term.'), @@ -186,13 +186,13 @@ function taxonomy_views_data() { 'relationship field' => 'tid', 'outer field' => 'taxonomy_term_data.tid', 'argument table' => 'taxonomy_term_data', - 'argument field' => 'tid', + 'argument field' => 'tid', 'base' => 'node', 'field' => 'nid', ), ); - // Term name field + // Term name field. $data['taxonomy_term_data']['name'] = array( 'title' => t('Name'), 'help' => t('The taxonomy term name.'), @@ -215,7 +215,7 @@ function taxonomy_views_data() { ), ); - // taxonomy weight + // Term weight. $data['taxonomy_term_data']['weight'] = array( 'title' => t('Weight'), 'help' => t('The term weight field'), @@ -234,7 +234,7 @@ function taxonomy_views_data() { ), ); - // Term description + // Term description. $data['taxonomy_term_data']['description'] = array( 'title' => t('Term description'), 'help' => t('The description associated with a taxonomy term.'), @@ -247,7 +247,7 @@ function taxonomy_views_data() { ), ); - // Term vocabulary + // Term vocabulary. $data['taxonomy_term_data']['vid'] = array( 'title' => t('Vocabulary'), 'help' => t('Filter the results of "Taxonomy: Term" to a particular vocabulary.'), @@ -256,7 +256,7 @@ function taxonomy_views_data() { ), ); - // Link to edit the term + // Link to edit the term. $data['taxonomy_term_data']['edit_term'] = array( 'field' => array( 'title' => t('Term edit link'), @@ -266,19 +266,18 @@ function taxonomy_views_data() { ); // ---------------------------------------------------------------------- - // taxonomy_index table - + // 'taxonomy_index' table. $data['term_node']['moved to'] = 'taxonomy_index'; $data['taxonomy_index']['table']['group'] = t('Taxonomy term'); $data['taxonomy_index']['table']['join'] = array( 'taxonomy_term_data' => array( - // links directly to taxonomy_term_data via tid + // Links directly to taxonomy_term_data via tid. 'left_field' => 'tid', 'field' => 'tid', ), 'node' => array( - // links directly to node via nid + // Links directly to node via nid. 'left_field' => 'nid', 'field' => 'nid', ), @@ -300,9 +299,8 @@ function taxonomy_views_data() { ), ); - // @todo This stuff needs to move to a node field since - // really it's all about nodes. - // tid field + // @todo Should be moved to a node field since really it's all about nodes. + // Term ID / 'tid' field. $data['taxonomy_index']['tid'] = array( 'group' => t('Content'), 'title' => t('Has taxonomy term ID'), @@ -326,19 +324,18 @@ function taxonomy_views_data() { ); // ---------------------------------------------------------------------- - // term_hierarchy table - + // 'term_hierarchy' table. $data['taxonomy_term_hierarchy']['table']['group'] = t('Taxonomy term'); $data['term_hierarchy']['moved to'] = 'taxonomy_term_hierarchy'; $data['taxonomy_term_hierarchy']['table']['join'] = array( 'taxonomy_term_hierarchy' => array( - // links to self through left.parent = right.tid (going down in depth) + // Links to self through left.parent = right.tid (going down in depth). 'left_field' => 'tid', 'field' => 'parent', ), 'taxonomy_term_data' => array( - // links directly to taxonomy_term_data via tid + // Links directly to taxonomy_term_data via tid. 'left_field' => 'tid', 'field' => 'tid', ), @@ -433,8 +430,8 @@ function taxonomy_views_data_alter(&$data) { /** * Implements hook_field_views_data(). * - * Views integration for taxonomy_term_reference fields. Adds a term relationship to the default - * field data. + * Views integration for taxonomy_term_reference fields. Adds a term + * relationship to the default field data. * * @see field_views_field_default_views_data() */ @@ -455,7 +452,6 @@ function taxonomy_field_views_data($field) { 'base field' => 'tid', 'label' => t('term from !field_name', array('!field_name' => $field['field_name'])), ); - } return $data; @@ -507,12 +503,13 @@ function taxonomy_field_views_data_views_data_alter(&$data, $field) { */ function taxonomy_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. + // This just tells our themes are elsewhere. + 'module' => 'views', 'argument validator' => array( 'taxonomy_term' => array( 'title' => t('Taxonomy term'), 'handler' => 'views_plugin_argument_validate_taxonomy_term', - 'path' => drupal_get_path('module', 'views') . '/modules/taxonomy', // not necessary for most modules + 'path' => drupal_get_path('module', 'views') . '/modules/taxonomy', ), ), 'argument default' => array( diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views_default.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views_default.inc index f43a0828f6ab0ec878eef74f80283873b267067f..bb6a079bf297e705e89c159a9078f281e05ad166 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views_default.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy.views_default.inc @@ -6,12 +6,12 @@ */ /** - * Implementation of hook_views_default_views() + * Implements hook_views_default_views(). */ function taxonomy_views_default_views() { $views = array(); - $view = new view; + $view = new view(); $view->name = 'taxonomy_term'; $view->description = 'A view to emulate Drupal core\'s handling of taxonomy/term.'; $view->tag = 'default'; diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_taxonomy.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_taxonomy.inc index 10fc500b37f921427e89d0bec6976155898086d9..0aa04b9012abd39dccd46968ae7d5f8c6dc3cce7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_taxonomy.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_taxonomy.inc @@ -15,7 +15,7 @@ class views_handler_argument_taxonomy extends views_handler_argument_numeric { /** * Override the behavior of title(). Get the title of the node. */ - function title() { + public function title() { // There might be no valid argument. if ($this->argument) { $term = taxonomy_term_load($this->argument); @@ -23,7 +23,8 @@ class views_handler_argument_taxonomy extends views_handler_argument_numeric { return check_plain($term->name); } } - // TODO review text + // @todo review text. return t('No name'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid.inc index da79f3250396a8d88e90d1f6daa43d8428645697..c5c8adaa3984372a12fee4472c378491ecec0f82 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid.inc @@ -11,13 +11,20 @@ * @ingroup views_argument_handlers */ class views_handler_argument_term_node_tid extends views_handler_argument_many_to_one { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['set_breadcrumb'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['set_breadcrumb'] = array( '#type' => 'checkbox', @@ -27,7 +34,10 @@ class views_handler_argument_term_node_tid extends views_handler_argument_many_t ); } - function set_breadcrumb(&$breadcrumb) { + /** + * {@inheritdoc} + */ + public function set_breadcrumb(&$breadcrumb) { if (empty($this->options['set_breadcrumb']) || !is_numeric($this->argument)) { return; } @@ -35,7 +45,10 @@ class views_handler_argument_term_node_tid extends views_handler_argument_many_t return views_taxonomy_set_breadcrumb($breadcrumb, $this); } - function title_query() { + /** + * {@inheritdoc} + */ + public function title_query() { $titles = array(); $result = db_select('taxonomy_term_data', 'td') ->addTag('taxonomy_term_access') @@ -47,4 +60,5 @@ class views_handler_argument_term_node_tid extends views_handler_argument_many_t } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc index 116a4dedebe8e2229ab71458b372c6763bb8e3d4..69f27ab1ea8b785a13c451b06de1275706b98e79 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc @@ -14,7 +14,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_term_node_tid_depth extends views_handler_argument { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['depth'] = array('default' => 0); @@ -25,7 +29,10 @@ class views_handler_argument_term_node_tid_depth extends views_handler_argument return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['depth'] = array( '#type' => 'weight', '#title' => t('Depth'), @@ -57,7 +64,10 @@ class views_handler_argument_term_node_tid_depth extends views_handler_argument parent::options_form($form, $form_state); } - function set_breadcrumb(&$breadcrumb) { + /** + * {@inheritdoc} + */ + public function set_breadcrumb(&$breadcrumb) { if (empty($this->options['set_breadcrumb']) || !is_numeric($this->argument)) { return; } @@ -68,7 +78,7 @@ class views_handler_argument_term_node_tid_depth extends views_handler_argument /** * Override default_actions() to remove summary actions. */ - function default_actions($which = NULL) { + public function default_actions($which = NULL) { if ($which) { if (in_array($which, array('ignore', 'not found', 'empty', 'default'))) { return parent::default_actions($which); @@ -83,7 +93,10 @@ class views_handler_argument_term_node_tid_depth extends views_handler_argument return $actions; } - function query($group_by = FALSE) { + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $this->ensure_my_table(); if (!empty($this->options['break_phrase'])) { @@ -134,12 +147,16 @@ class views_handler_argument_term_node_tid_depth extends views_handler_argument $this->query->add_where(0, "$this->table_alias.$this->real_field", $subquery, 'IN'); } - function title() { + /** + * {@inheritdoc} + */ + public function title() { $term = taxonomy_term_load($this->argument); if (!empty($term)) { return check_plain($term->name); } - // TODO review text + // @todo review text. return t('No name'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_join.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_join.inc index 23ac62d15e6b2ada17413fdc5f9ea74847448ffa..220b0c7e875a685707036458a8eb2d1bdf4f5e5c 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_join.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_join.inc @@ -14,7 +14,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_term_node_tid_depth_join extends views_handler_argument { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['depth'] = array('default' => 0); @@ -25,7 +29,10 @@ class views_handler_argument_term_node_tid_depth_join extends views_handler_argu return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['depth'] = array( '#type' => 'weight', '#title' => t('Depth'), @@ -57,7 +64,10 @@ class views_handler_argument_term_node_tid_depth_join extends views_handler_argu parent::options_form($form, $form_state); } - function set_breadcrumb(&$breadcrumb) { + /** + * {@inheritdoc} + */ + public function set_breadcrumb(&$breadcrumb) { if (empty($this->options['set_breadcrumb']) || !is_numeric($this->argument)) { return; } @@ -68,7 +78,7 @@ class views_handler_argument_term_node_tid_depth_join extends views_handler_argu /** * Override default_actions() to remove summary actions. */ - function default_actions($which = NULL) { + public function default_actions($which = NULL) { if ($which) { if (in_array($which, array('ignore', 'not found', 'empty', 'default'))) { return parent::default_actions($which); @@ -83,7 +93,10 @@ class views_handler_argument_term_node_tid_depth_join extends views_handler_argu return $actions; } - function query($group_by = FALSE) { + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { $this->ensure_my_table(); if (!empty($this->options['break_phrase'])) { @@ -172,7 +185,7 @@ class views_handler_argument_term_node_tid_depth_join extends views_handler_argu 'field' => 'tid', 'value' => $tids, 'operator' => $operator, - ) + ), ); $taxonomy_index_alias = $this->query->add_relationship('taxonomy_index', $join, 'node'); @@ -180,7 +193,10 @@ class views_handler_argument_term_node_tid_depth_join extends views_handler_argu $this->query->distinct = TRUE; } - function title() { + /** + * + */ + public function title() { $term = taxonomy_term_load($this->argument); if (!empty($term)) { return check_plain($term->name); @@ -188,4 +204,5 @@ class views_handler_argument_term_node_tid_depth_join extends views_handler_argu return t('No name'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc index 2f9dd4e7b7280c3f1484c32b17dc188783d0af9c..b91137879b0d9d1505659f2c66ca95d8539c82a1 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_argument_term_node_tid_depth_modif. + * Definition of views_handler_argument_term_node_tid_depth_modifier. */ /** @@ -14,10 +14,24 @@ * @ingroup views_argument_handlers */ class views_handler_argument_term_node_tid_depth_modifier extends views_handler_argument { - function options_form(&$form, &$form_state) { } - function query($group_by = FALSE) { } - function pre_query() { - // We don't know our argument yet, but it's based upon our position: + + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { + } + + /** + * {@inheritdoc} + */ + public function query($group_by = FALSE) { + } + + /** + * {@inheritdoc} + */ + public function pre_query() { + // We don't know our argument yet, but it's based upon our position. $argument = isset($this->view->args[$this->position]) ? $this->view->args[$this->position] : NULL; if (!is_numeric($argument)) { return; @@ -31,7 +45,7 @@ class views_handler_argument_term_node_tid_depth_modifier extends views_handler_ $argument = -10; } - // figure out which argument preceded us. + // Figure out which argument preceded us. $keys = array_reverse(array_keys($this->view->argument)); $skip = TRUE; foreach ($keys as $key) { @@ -61,4 +75,5 @@ class views_handler_argument_term_node_tid_depth_modifier extends views_handler_ $handler->options['depth'] = $argument; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_machine_name.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_machine_name.inc index 427cf2b0bc5bb7270406d5a02f11c1713bc36617..066ce056b045277345132ce28d0be8a16ec217cf 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_machine_name.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_machine_name.inc @@ -11,10 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_vocabulary_machine_name extends views_handler_argument_string { + /** * Override the behavior of title(). Get the name of the vocabulary.. */ - function title() { + public function title() { $title = db_query("SELECT v.name FROM {taxonomy_vocabulary} v WHERE v.machine_name = :machine_name", array(':machine_name' => $this->argument))->fetchField(); if (empty($title)) { @@ -23,4 +24,5 @@ class views_handler_argument_vocabulary_machine_name extends views_handler_argum return check_plain($title); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_vid.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_vid.inc index c6966405276d1caac7c1e010a68377a8bcbe0f8d..6030a88ee5e889b26b5c77441c512e870914a305 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_vid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_argument_vocabulary_vid.inc @@ -11,10 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_vocabulary_vid extends views_handler_argument_numeric { + /** * Override the behavior of title(). Get the name of the vocabulary. */ - function title() { + public function title() { $title = db_query("SELECT v.name FROM {taxonomy_vocabulary} v WHERE v.vid = :vid", array(':vid' => $this->argument))->fetchField(); if (empty($title)) { @@ -23,4 +24,5 @@ class views_handler_argument_vocabulary_vid extends views_handler_argument_numer return check_plain($title); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_taxonomy.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_taxonomy.inc index 192b80354b94a4df3424c85812603123b649b70f..9be652e62cc0c7681514be40166be67cf6288e5b 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_taxonomy.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_taxonomy.inc @@ -12,13 +12,14 @@ * @ingroup views_field_handlers */ class views_handler_field_taxonomy extends views_handler_field { + /** * Constructor to provide additional field to add. * * This constructer assumes the taxonomy_term_data table. If using another * table, we'll need to be more specific. */ - function construct() { + public function construct() { parent::construct(); $this->additional_fields['vid'] = 'vid'; $this->additional_fields['tid'] = 'tid'; @@ -29,7 +30,10 @@ class views_handler_field_taxonomy extends views_handler_field { ); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_taxonomy'] = array('default' => FALSE, 'bool' => TRUE); $options['convert_spaces'] = array('default' => FALSE, 'bool' => TRUE); @@ -37,16 +41,16 @@ class views_handler_field_taxonomy extends views_handler_field { } /** - * Provide link to taxonomy option + * Provide link to taxonomy option. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_taxonomy'] = array( '#title' => t('Link this field to its taxonomy term page'), '#description' => t("Enable to override this field's links."), '#type' => 'checkbox', '#default_value' => !empty($this->options['link_to_taxonomy']), ); - $form['convert_spaces'] = array( + $form['convert_spaces'] = array( '#title' => t('Convert spaces in term names to hyphens'), '#description' => t('This allows links to work with Views taxonomy term arguments.'), '#type' => 'checkbox', @@ -60,7 +64,7 @@ class views_handler_field_taxonomy extends views_handler_field { * * Data should be made XSS safe prior to calling this function. */ - function render_link($data, $values) { + public function render_link($data, $values) { $tid = $this->get_value($values, 'tid'); if (!empty($this->options['link_to_taxonomy']) && !empty($tid) && $data !== NULL && $data !== '') { $term = new stdClass(); @@ -87,8 +91,12 @@ class views_handler_field_taxonomy extends views_handler_field { return $data; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_link_edit.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_link_edit.inc index 2efb4a653750dfd3197ca107a8c36945619d42fe..1e238f4448fd71baf6e62038a1ecb28146993001 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_link_edit.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_link_edit.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_term_link_edit extends views_handler_field { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['tid'] = 'tid'; $this->additional_fields['vid'] = 'vid'; @@ -21,7 +25,10 @@ class views_handler_field_term_link_edit extends views_handler_field { ); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['text'] = array('default' => '', 'translatable' => TRUE); @@ -29,7 +36,10 @@ class views_handler_field_term_link_edit extends views_handler_field { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['text'] = array( '#type' => 'textfield', '#title' => t('Text to display'), @@ -38,16 +48,22 @@ class views_handler_field_term_link_edit extends views_handler_field { parent::options_form($form, $form_state); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { // Check there is an actual value, as on a relationship there may not be. if ($tid = $this->get_value($values, 'tid')) { - // Mock a term object for taxonomy_term_edit_access(). Use machine name and - // vid to ensure compatibility with vid based and machine name based + // Mock a term object for taxonomy_term_edit_access(). Use machine name + // and vid to ensure compatibility with vid based and machine name based // access checks. See http://drupal.org/node/995156 $term = new stdClass(); $term->vid = $values->{$this->aliases['vid']}; @@ -55,8 +71,9 @@ class views_handler_field_term_link_edit extends views_handler_field { if (taxonomy_term_edit_access($term)) { $text = !empty($this->options['text']) ? $this->options['text'] : t('edit'); $tid = $this->get_value($values, 'tid'); - return l($text, 'taxonomy/term/'. $tid . '/edit', array('query' => drupal_get_destination())); + return l($text, 'taxonomy/term/' . $tid . '/edit', array('query' => drupal_get_destination())); } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_node_tid.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_node_tid.inc index 658b21e2bcbd4e39ee912b64dbfe65b9760809c3..67bb2a5557fd0fa654378e8fdf69b663a0439e6f 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_node_tid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_field_term_node_tid.inc @@ -11,9 +11,13 @@ * @ingroup views_field_handlers */ class views_handler_field_term_node_tid extends views_handler_field_prerender_list { - function init(&$view, &$options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); - // @todo: Wouldn't it be possible to use $this->base_table and no if here? + // @todo Wouldn't it be possible to use $this->base_table and no if here? if ($view->base_table == 'node_revision') { $this->additional_fields['nid'] = array('table' => 'node_revision', 'field' => 'nid'); } @@ -32,7 +36,10 @@ class views_handler_field_term_node_tid extends views_handler_field_prerender_li } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_taxonomy'] = array('default' => TRUE, 'bool' => TRUE); @@ -45,7 +52,7 @@ class views_handler_field_term_node_tid extends views_handler_field_prerender_li /** * Provide "link to term" option. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_taxonomy'] = array( '#title' => t('Link this field to its term page'), '#type' => 'checkbox', @@ -55,7 +62,7 @@ class views_handler_field_term_node_tid extends views_handler_field_prerender_li $form['limit'] = array( '#type' => 'checkbox', '#title' => t('Limit terms by vocabulary'), - '#default_value'=> $this->options['limit'], + '#default_value' => $this->options['limit'], ); $options = array(); @@ -78,13 +85,16 @@ class views_handler_field_term_node_tid extends views_handler_field_prerender_li } /** - * Add this term to the query + * Add this term to the query. */ - function query() { + public function query() { $this->add_additional_fields(); } - function pre_render(&$values) { + /** + * {@inheritdoc} + */ + public function pre_render(&$values) { $this->field_alias = $this->aliases['nid']; $nids = array(); foreach ($values as $result) { @@ -125,21 +135,31 @@ class views_handler_field_term_node_tid extends views_handler_field_prerender_li } } - function render_item($count, $item) { + /** + * {@inheritdoc} + */ + public function render_item($count, $item) { return $item['name']; } - function document_self_tokens(&$tokens) { + /** + * {@inheritdoc} + */ + public function document_self_tokens(&$tokens) { $tokens['[' . $this->options['id'] . '-tid' . ']'] = t('The taxonomy term ID for the term.'); $tokens['[' . $this->options['id'] . '-name' . ']'] = t('The taxonomy term name for the term.'); $tokens['[' . $this->options['id'] . '-vocabulary-machine-name' . ']'] = t('The machine name for the vocabulary the term belongs to.'); $tokens['[' . $this->options['id'] . '-vocabulary' . ']'] = t('The name for the vocabulary the term belongs to.'); } - function add_self_tokens(&$tokens, $item) { - foreach(array('tid', 'name', 'vocabulary_machine_name', 'vocabulary') as $token) { + /** + * {@inheritdoc} + */ + public function add_self_tokens(&$tokens, $item) { + foreach (array('tid', 'name', 'vocabulary_machine_name', 'vocabulary') as $token) { // Replace _ with - for the vocabulary machine name. - $tokens['[' . $this->options['id'] . '-' . str_replace('_', '-', $token). ']'] = isset($item[$token]) ? $item[$token] : ''; + $tokens['[' . $this->options['id'] . '-' . str_replace('_', '-', $token) . ']'] = isset($item[$token]) ? $item[$token] : ''; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc index 6c3339296059d95b7dd75518df976295f1820044..0b3188ae99f148740781fa24e93985b187fd954f 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc @@ -11,10 +11,16 @@ * @ingroup views_filter_handlers */ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_one { - // Stores the exposed input for this filter. - var $validated_exposed_input = NULL; - function init(&$view, &$options) { + /** + * Stores the exposed input for this filter. + */ + public $validated_exposed_input = NULL; + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); if (!empty($this->definition['vocabulary'])) { $this->options['vocabulary'] = $this->definition['vocabulary']; @@ -30,11 +36,24 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on } } - function has_extra_options() { return TRUE; } + /** + * {@inheritdoc} + */ + public function has_extra_options() { + return TRUE; + } - function get_value_options() { /* don't overwrite the value options */ } + /** + * {@inheritdoc} + */ + public function get_value_options() { + // Don't overwrite the value options. + } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['type'] = array('default' => 'textfield'); @@ -46,7 +65,10 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on return $options; } - function extra_options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function extra_options_form(&$form, &$form_state) { $vocabularies = taxonomy_get_vocabularies(); $options = array(); foreach ($vocabularies as $voc) { @@ -86,7 +108,10 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on ); } - function value_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_form(&$form, &$form_state) { $vocabulary = taxonomy_vocabulary_machine_name_load($this->options['vocabulary']); if (empty($vocabulary) && $this->options['limit']) { $form['markup'] = array( @@ -123,7 +148,8 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on $options = array(); if ($tree) { - // Translation system needs full entity objects, so we have access to label. + // Translation system needs full entity objects, so we have access to + // label. foreach ($tree as $term) { $choice = new stdClass(); $choice->option = array($term->tid => str_repeat('-', $term->depth) . entity_label('taxonomy_term', $term)); @@ -177,8 +203,8 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on $keys = array_keys($options); $default_value = array_shift($keys); } - // Due to #1464174 there is a chance that array('') was saved in the admin ui. - // Let's choose a safe default value. + // Due to #1464174 there is a chance that array('') was saved in the + // admin UI. Let's choose a safe default value. elseif ($default_value == array('')) { $default_value = 'All'; } @@ -212,7 +238,10 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on } } - function value_validate($form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_validate($form, &$form_state) { // We only validate if they've chosen the text field style. if ($this->options['type'] != 'textfield') { return; @@ -226,7 +255,10 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on } } - function accept_exposed_input($input) { + /** + * {@inheritdoc} + */ + public function accept_exposed_input($input) { if (empty($this->options['exposed'])) { return TRUE; } @@ -266,7 +298,10 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on return $rc; } - function exposed_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function exposed_validate(&$form, &$form_state) { if (empty($this->options['exposed'])) { return; } @@ -298,15 +333,15 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on * or the exposed filter, this is abstracted out a bit so it can * handle the multiple input sources. * - * @param $form + * @param array $form * The form which is used, either the views ui or the exposed filters. - * @param $values + * @param array $values * The taxonomy names which will be converted to tids. * * @return array * The taxonomy ids fo all validated terms. */ - function validate_term_strings(&$form, $values) { + public function validate_term_strings(&$form, $values) { if (empty($values)) { return array(); } @@ -345,11 +380,17 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on return $tids; } - function value_submit($form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_submit($form, &$form_state) { // prevent array_filter from messing up our arrays in parent submit. } - function expose_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function expose_form(&$form, &$form_state) { parent::expose_form($form, $form_state); if ($this->options['type'] != 'select') { unset($form['expose']['reduce']); @@ -361,7 +402,10 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on ); } - function admin_summary() { + /** + * {@inheritdoc} + */ + public function admin_summary() { // set up $this->value_options for the parent summary $this->value_options = array(); @@ -374,4 +418,5 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on } return parent::admin_summary(); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth.inc index fe12780f423d8a90b93d9112350e8772fd89c1f8..872d90eca2e9f8498480af96f67cb7ccccbd766c 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth.inc @@ -14,13 +14,20 @@ * @ingroup views_filter_handlers */ class views_handler_filter_term_node_tid_depth extends views_handler_filter_term_node_tid { - function operator_options($which = 'title') { + + /** + * {@inheritdoc} + */ + public function operator_options($which = 'title') { return array( 'or' => t('Is one of'), ); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['depth'] = array('default' => 0); @@ -28,7 +35,10 @@ class views_handler_filter_term_node_tid_depth extends views_handler_filter_term return $options; } - function extra_options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function extra_options_form(&$form, &$form_state) { parent::extra_options_form($form, $form_state); $form['depth'] = array( @@ -39,7 +49,10 @@ class views_handler_filter_term_node_tid_depth extends views_handler_filter_term ); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { // If no filter values are present, then do nothing. if (count($this->value) == 0) { return; @@ -52,7 +65,10 @@ class views_handler_filter_term_node_tid_depth extends views_handler_filter_term $operator = '='; } else { - $operator = 'IN';# " IN (" . implode(', ', array_fill(0, sizeof($this->value), '%d')) . ")"; + $operator = 'IN'; + // " IN (" + // . implode(', ', array_fill(0, sizeof($this->value), '%d')) + // . ")"; } // The normal use of ensure_my_table() here breaks Views. @@ -97,4 +113,5 @@ class views_handler_filter_term_node_tid_depth extends views_handler_filter_term $subquery->condition($where); $this->query->add_where($this->options['group'], "$this->table_alias.$this->real_field", $subquery, 'IN'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth_join.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth_join.inc index 8139b8d0dfa3faae383483794aac8b86339942e2..043db996c61a6ba87e9cb559725e7a2f80043be8 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth_join.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid_depth_join.inc @@ -14,13 +14,20 @@ * @ingroup views_filter_handlers */ class views_handler_filter_term_node_tid_depth_join extends views_handler_filter_term_node_tid { - function operator_options($which = 'title') { + + /** + * {@inheritdoc} + */ + public function operator_options($which = 'title') { return array( 'or' => t('Is one of'), ); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['depth'] = array('default' => 0); @@ -28,7 +35,10 @@ class views_handler_filter_term_node_tid_depth_join extends views_handler_filter return $options; } - function extra_options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function extra_options_form(&$form, &$form_state) { parent::extra_options_form($form, $form_state); $form['depth'] = array( @@ -39,7 +49,10 @@ class views_handler_filter_term_node_tid_depth_join extends views_handler_filter ); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { // If no filter values are present, then do nothing. if (count($this->value) == 0) { return; @@ -52,7 +65,10 @@ class views_handler_filter_term_node_tid_depth_join extends views_handler_filter $operator = '='; } else { - $operator = 'IN';# " IN (" . implode(', ', array_fill(0, sizeof($this->value), '%d')) . ")"; + $operator = 'IN'; + // " IN (" + // . implode(', ', array_fill(0, sizeof($this->value), '%d')) + // . ")"; } // The normal use of ensure_my_table() here breaks Views. @@ -72,7 +88,7 @@ class views_handler_filter_term_node_tid_depth_join extends views_handler_filter } // The tids variable can be an integer or an array of integers. - $tids = is_array($this->value) ? $this->value : array($this->value); + $tids = is_array($this->value) ? $this->value : array($this->value); if ($this->options['depth'] > 0) { // When the depth is positive search the children. @@ -135,8 +151,9 @@ class views_handler_filter_term_node_tid_depth_join extends views_handler_filter 'field' => 'tid', 'value' => $tids, 'operator' => $operator, - ) + ), ); $taxonomy_index_alias = $this->query->add_relationship('taxonomy_index', $join, 'node'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_machine_name.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_machine_name.inc index 062450c70202d88934f32ae4d3302b1f8503ef6a..09c92fc9450fcc70dca49f516c8371ca483bde74 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_machine_name.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_machine_name.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_vocabulary_machine_name extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (isset($this->value_options)) { return; } @@ -22,4 +26,5 @@ class views_handler_filter_vocabulary_machine_name extends views_handler_filter_ $this->value_options[$voc->machine_name] = $voc->name; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_vid.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_vid.inc index 2759ee1ec5fc33e2b9dd1bade8048f4bb2389477..0b7759928d964d5c2b36bd19f30cb124e0c4315b 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_vid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_filter_vocabulary_vid.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_vocabulary_vid extends views_handler_filter_in_operator { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { if (isset($this->value_options)) { return; } @@ -22,4 +26,5 @@ class views_handler_filter_vocabulary_vid extends views_handler_filter_in_operat $this->value_options[$voc->vid] = $voc->name; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_relationship_node_term_data.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_relationship_node_term_data.inc index 5712fb8101bcc23e9078025bcd06142eb322a297..ba05487b260c147bc89a9c409ce0daa353713a2e 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_relationship_node_term_data.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_handler_relationship_node_term_data.inc @@ -10,8 +10,12 @@ * * @ingroup views_relationship_handlers */ -class views_handler_relationship_node_term_data extends views_handler_relationship { - function init(&$view, &$options) { +class views_handler_relationship_node_term_data extends views_handler_relationship { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$options) { parent::init($view, $options); // Convert legacy vids option to machine name vocabularies. @@ -25,13 +29,19 @@ class views_handler_relationship_node_term_data extends views_handler_relationsh } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['vocabularies'] = array('default' => array()); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $vocabularies = taxonomy_get_vocabularies(); $options = array(); foreach ($vocabularies as $voc) { @@ -51,7 +61,7 @@ class views_handler_relationship_node_term_data extends views_handler_relationsh /** * Called to implement a relationship in a query. */ - function query() { + public function query() { $this->ensure_my_table(); $def = $this->definition; @@ -65,7 +75,7 @@ class views_handler_relationship_node_term_data extends views_handler_relationsh $def['type'] = empty($this->options['required']) ? 'LEFT' : 'INNER'; } else { - // If vocabularies are supplied join a subselect instead + // If vocabularies are supplied join a subselect instead. $def['left_table'] = $this->table_alias; $def['left_field'] = 'nid'; $def['field'] = 'nid'; @@ -89,9 +99,10 @@ class views_handler_relationship_node_term_data extends views_handler_relationsh $join->construct(); $join->adjusted = TRUE; - // use a short alias for this: + // Use a short alias for this. $alias = $def['table'] . '_' . $this->table; $this->alias = $this->query->add_relationship($alias, $join, 'taxonomy_term_data', $this->relationship); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc index 9c1d81f9cf4adb27996aeba176c227a87f2dec39..27a484ba8eca5882a2cb126a95b80172d1dddca8 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_default_taxonomy_tid.inc @@ -9,7 +9,11 @@ * Taxonomy tid default argument. */ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_default { - function init(&$view, &$argument, $options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$argument, $options) { parent::init($view, $argument, $options); // Convert legacy vids option to machine name vocabularies. @@ -23,7 +27,10 @@ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_d } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['term_page'] = array('default' => TRUE, 'bool' => TRUE); @@ -35,7 +42,10 @@ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_d return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['term_page'] = array( '#type' => 'checkbox', '#title' => t('Load default filter from term page'), @@ -92,12 +102,18 @@ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_d ); } - function options_submit(&$form, &$form_state, &$options = array()) { + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state, &$options = array()) { // Filter unselected items so we don't unnecessarily store giant arrays. $options['vocabularies'] = array_filter($options['vocabularies']); } - function get_argument() { + /** + * {@inheritdoc} + */ + public function get_argument() { // Load default argument from taxonomy page. if (!empty($this->options['term_page'])) { if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) { @@ -151,4 +167,5 @@ class views_plugin_argument_default_taxonomy_tid extends views_plugin_argument_d return $views_page->argument['tid']->argument; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc index 5994bbeec4a8f485a929b0ec9eab04ee82bdd450..343af3cb1262e7f33b00265a2ec1b480324d671c 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc @@ -2,14 +2,18 @@ /** * @file - * Contains the 'taxonomy term' argument validator plugin. + * Definition of views_plugin_argument_validate_taxonomy_term. */ /** * Validate whether an argument is an acceptable node. */ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument_validate { - function init(&$view, &$argument, $options) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$argument, $options) { parent::init($view, $argument, $options); // Convert legacy vids option to machine name vocabularies. @@ -23,7 +27,10 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['vocabularies'] = array('default' => array()); $options['type'] = array('default' => 'tid'); @@ -32,7 +39,10 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $vocabularies = taxonomy_get_vocabularies(); $options = array(); foreach ($vocabularies as $voc) { @@ -69,12 +79,18 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument ); } - function options_submit(&$form, &$form_state, &$options = array()) { + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state, &$options = array()) { // Filter unselected items so we don't unnecessarily store giant arrays. $options['vocabularies'] = array_filter($options['vocabularies']); } - function convert_options(&$options) { + /** + * {@inheritdoc} + */ + public function convert_options(&$options) { if (!isset($options['vocabularies']) && !empty($this->argument->options['validate_argument_vocabulary'])) { $options['vocabularies'] = $this->argument->options['validate_argument_vocabulary']; $options['type'] = $this->argument->options['validate_argument_type']; @@ -82,7 +98,10 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument } } - function validate_argument($argument) { + /** + * {@inheritdoc} + */ + public function validate_argument($argument) { $vocabularies = array_filter($this->options['vocabularies']); $type = $this->options['type']; $transform = $this->options['transform']; @@ -122,7 +141,7 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument $test = drupal_map_assoc($tids->value); $titles = array(); - // check, if some tids already verified + // check, if some tids already verified. static $validated_cache = array(); foreach ($test as $tid) { if (isset($validated_cache[$tid])) { @@ -136,7 +155,7 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument } } - // if unverified tids left - verify them and cache results + // if unverified tids left - verify them and cache results. if (count($test)) { $query = db_select('taxonomy_term_data', 'td'); $query->addTag('taxonomy_term_access'); @@ -158,7 +177,7 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument } } - // Remove duplicate titles + // Remove duplicate titles. $titles = array_unique($titles); $this->argument->validated_title = implode($tids->operator == 'or' ? ' + ' : ', ', $titles); @@ -195,7 +214,10 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument } } - function process_summary_arguments(&$args) { + /** + * {@inheritdoc} + */ + public function process_summary_arguments(&$args) { $type = $this->options['type']; $transform = $this->options['transform']; $vocabularies = array_filter($this->options['vocabularies']); @@ -223,4 +245,5 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/tracker.views.inc b/profiles/wcm_base/modules/contrib/views/modules/tracker.views.inc index ee14589d4c64ef593f7b3d7211a5d9e5f90d878b..b7b3748ddb62ead9e0d5e0d39583b47666ec7eb7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/tracker.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/tracker.views.inc @@ -6,8 +6,9 @@ * * @ingroup views_module_handlers */ + /** - * Implementation of hook_views_data(). + * Implements hook_views_data(). */ function tracker_views_data() { $data = array(); @@ -158,10 +159,10 @@ function tracker_views_data() { } /** - * Implementation of hook_views_data_alter(). + * Implements hook_views_data_alter(). */ function tracker_views_data_alter(&$data) { - // Provide additional uid_touch handlers which are handled by tracker + // Provide additional uid_touch handlers which are handled by tracker. $data['node']['uid_touch_tracker'] = array( 'group' => t('Tracker - User'), 'title' => t('User posted or commented'), @@ -177,7 +178,7 @@ function tracker_views_data_alter(&$data) { 'field' => 'uid', 'name table' => 'users', 'name field' => 'name', - 'handler' => 'views_handler_filter_tracker_comment_user_uid' + 'handler' => 'views_handler_filter_tracker_comment_user_uid', ), ); } diff --git a/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_argument_tracker_comment_user_uid.inc b/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_argument_tracker_comment_user_uid.inc index e614482d403a848681944007a5a143581d7f8249..5fad9963963f2bfc6ede7e889e74b3746959d9c0 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_argument_tracker_comment_user_uid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_argument_tracker_comment_user_uid.inc @@ -2,7 +2,7 @@ /** * @file - * Contains views_handler_argument_tracker_comment_user_uid + * Definition of views_handler_argument_tracker_comment_user_uid. */ /** @@ -13,9 +13,9 @@ class views_handler_argument_tracker_comment_user_uid extends views_handler_argument_comment_user_uid { /** - * Overrides views_handler_argument_comment_user_uid::query(). + * {@inheritdoc} */ - function query($group_by = FALSE) { + public function query($group_by = FALSE) { // Because this handler thinks it's an argument for a field on the {node} // table, we need to make sure {tracker_user} is JOINed and use its alias // for the WHERE clause. diff --git a/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_boolean_operator.inc b/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_boolean_operator.inc index 455e824205ba1ccf68a93a13e6947bca685df010..923ab0631f6dceb323f80a8f44af3e3a45b86102 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_boolean_operator.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_boolean_operator.inc @@ -2,18 +2,18 @@ /** * @file - * Contains views_handler_filter_tracker_boolean_operator + * Definition of views_handler_filter_tracker_boolean_operator. */ - /** - * Filter handler for boolean values to use = 1 instead of <> 0. - */ +/** + * Filter handler for boolean values to use = 1 instead of <> 0. + */ class views_handler_filter_tracker_boolean_operator extends views_handler_filter_boolean_operator { /** - * Overrides views_handler_filter_boolean_operator::query(). + * {@inheritdoc} */ - function query() { + public function query() { $this->ensure_my_table(); $where = "$this->table_alias.$this->real_field "; if (empty($this->value)) { diff --git a/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_comment_user_uid.inc b/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_comment_user_uid.inc index da6f65bc30377c523dcfb5217a314c595ddea570..b8132378f52bf4e9ce1e0db1938e8db1f1238897 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_comment_user_uid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/tracker/views_handler_filter_tracker_comment_user_uid.inc @@ -1,7 +1,8 @@ <?php + /** * @file - * Contains views_handler_filter_tracker_comment_user_uid + * Definition of views_handler_filter_tracker_comment_user_uid. */ /** @@ -10,9 +11,9 @@ class views_handler_filter_tracker_comment_user_uid extends views_handler_filter_comment_user_uid { /** - * Overrides views_handler_filter_comment_user_uid::query() + * {@inheritdoc} */ - function query() { + public function query() { // Because this handler thinks it's an argument for a field on the {node} // table, we need to make sure {tracker_user} is JOINed and use its alias // for the WHERE clause. diff --git a/profiles/wcm_base/modules/contrib/views/modules/translation.views.inc b/profiles/wcm_base/modules/contrib/views/modules/translation.views.inc index 584c63f97906cd6bb59c139b8d00480fbf1b78d0..f0305c9eebff61ec63abf250e7509fad6e9bc0df 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/translation.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/translation.views.inc @@ -13,14 +13,13 @@ * Add translation information to the node table. */ function translation_views_data_alter(&$data) { - - // Joins + // Joins. $data['node']['table']['join']['node'] = array( 'left_field' => 'tnid', 'field' => 'tnid', ); - // The translation ID (nid of the "source" translation) + // The translation ID (nid of the "source" translation). $data['node']['tnid'] = array( 'group' => t('Content translation'), 'title' => t('Translation set node ID'), @@ -34,7 +33,8 @@ function translation_views_data_alter(&$data) { ), 'argument' => array( 'handler' => 'views_handler_argument_node_tnid', - 'name field' => 'title', // the field to display in the summary. + // The field to display in the summary. + 'name field' => 'title', 'numeric' => TRUE, 'validate type' => 'tnid', ), @@ -88,7 +88,7 @@ function translation_views_data_alter(&$data) { ), ); - // Translation status + // Translation status. $data['node']['translate'] = array( 'group' => t('Content translation'), 'title' => t('Translation status'), @@ -117,5 +117,4 @@ function translation_views_data_alter(&$data) { ), ); - } diff --git a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_argument_node_tnid.inc b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_argument_node_tnid.inc index 61e9ebabfa03f1f83b3b5c23413fcf7185b5dc2f..f88cafaab03a00b5e7eb4cc784d56dd4e3c7e9e9 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_argument_node_tnid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_argument_node_tnid.inc @@ -2,7 +2,7 @@ /** * @file - * Provide node tnid argument handler. + * Definition of views_handler_argument_node_tnid. */ /** @@ -11,10 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_node_tnid extends views_handler_argument_numeric { + /** - * Override the behavior of title(). Get the title of the node. + * {@inheritdoc} */ - function title_query() { + public function title_query() { $titles = array(); $result = db_query("SELECT n.title FROM {node} n WHERE n.tnid IN (:tnids)", array(':tnids' => $this->value)); @@ -23,4 +24,5 @@ class views_handler_argument_node_tnid extends views_handler_argument_numeric { } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_link_translate.inc b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_link_translate.inc index 3e30725c9dcc177d8f52d7e40e1e4ce32e78fa25..aedbb834038151d7b1e1c1f8981a7b207fceebad 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_link_translate.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_link_translate.inc @@ -11,10 +11,15 @@ * @ingroup views_field_handlers */ class views_handler_field_node_link_translate extends views_handler_field_node_link { - function render_link($data, $values) { + + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { // ensure user has access to edit this node. $node = $this->get_value($values); - $node->status = 1; // unpublished nodes ignore access control + $node->status = 1; + // unpublished nodes ignore access control. if (empty($node->language) || !translation_supported_type($node->type) || !node_access('view', $node) || !user_access('translate content')) { return; } @@ -26,4 +31,5 @@ class views_handler_field_node_link_translate extends views_handler_field_node_l $text = !empty($this->options['text']) ? $this->options['text'] : t('translate'); return $text; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_translation_link.inc b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_translation_link.inc index 9d5036929f9e0ee72d10dcda8036a4f4ea473708..38e6c312879259572a205ef55eeb8e21e898505d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_translation_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_field_node_translation_link.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_node_translation_link extends views_handler_field { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['nid'] = 'nid'; $this->additional_fields['tnid'] = 'tnid'; @@ -19,17 +23,26 @@ class views_handler_field_node_translation_link extends views_handler_field { $this->additional_fields['language'] = 'language'; } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values, 'tnid'); return $this->render_link($this->sanitize_value($value), $values); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { global $language; $tnid = $this->get_value($values, 'tnid'); @@ -46,4 +59,5 @@ class views_handler_field_node_translation_link extends views_handler_field { $this->options['alter']['path'] = "node/" . $this->get_value($values, 'nid'); return $this->get_value($values, 'title'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid.inc b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid.inc index ed4d6a9a7a2626942d2663019a0d7fbf806b6747..5bff04802496cb082cd97aee2611cdc849f5458f 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid.inc @@ -11,8 +11,17 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_tnid extends views_handler_filter { - function admin_summary() { } - function option_definition() { + + /** + * {@inheritdoc} + */ + public function admin_summary() { + } + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['operator']['default'] = 1; @@ -21,9 +30,9 @@ class views_handler_filter_node_tnid extends views_handler_filter { } /** - * Provide simple boolean operator + * Provide simple boolean operator. */ - function operator_form(&$form, &$form_state) { + public function operator_form(&$form, &$form_state) { $form['operator'] = array( '#type' => 'radios', '#title' => t('Include untranslated content'), @@ -35,11 +44,25 @@ class views_handler_filter_node_tnid extends views_handler_filter { ); } - function can_expose() { return FALSE; } + /** + * {@inheritdoc} + */ + public function can_expose() { + return FALSE; + } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $table = $this->ensure_my_table(); - // Select for source translations (tnid = nid). Conditionally, also accept either untranslated nodes (tnid = 0). - $this->query->add_where_expression($this->options['group'], "$table.tnid = $table.nid" . ($this->operator ? " OR $table.tnid = 0" : '')); + // Select for source translations (tnid = nid). Conditionally, also accept + // either untranslated nodes (tnid = 0). + $expression = "$table.tnid = $table.nid"; + if ($this->operator) { + $expression .= " OR $table.tnid = 0"; + } + $this->query->add_where_expression($this->options['group'], $expression); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid_child.inc b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid_child.inc index 51316eb332bec48ff0a21672be60442f6834d26f..a2f3e38a7dae7dcc40b48a6d518a6a545cd649ac 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid_child.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_filter_node_tnid_child.inc @@ -11,12 +11,32 @@ * @ingroup views_filter_handlers */ class views_handler_filter_node_tnid_child extends views_handler_filter { - function admin_summary() { } - function operator_form(&$form, &$form_state) { } - function can_expose() { return FALSE; } - function query() { + /** + * {@inheritdoc} + */ + public function admin_summary() { + } + + /** + * {@inheritdoc} + */ + public function operator_form(&$form, &$form_state) { + } + + /** + * {@inheritdoc} + */ + public function can_expose() { + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function query() { $table = $this->ensure_my_table(); $this->query->add_where_expression($this->options['group'], "$table.tnid <> $table.nid AND $table.tnid > 0"); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_relationship_translation.inc b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_relationship_translation.inc index 509a9352d13cf89738022bf09cbd4eca2d7b8606..7601c25f05ecb914b8191b935138a5435842d4b0 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_relationship_translation.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/translation/views_handler_relationship_translation.inc @@ -12,7 +12,11 @@ * @ingroup views_relationship_handlers */ class views_handler_relationship_translation extends views_handler_relationship { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['language'] = array('default' => 'current'); @@ -22,7 +26,7 @@ class views_handler_relationship_translation extends views_handler_relationship /** * Add a translation selector. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $options = array( @@ -43,7 +47,7 @@ class views_handler_relationship_translation extends views_handler_relationship /** * Called to implement a relationship in a query. */ - function query() { + public function query() { // Figure out what base table this relationship brings to the party. $table_data = views_fetch_data($this->definition['base']); $base_field = empty($this->definition['base field']) ? $table_data['table']['base']['field'] : $this->definition['base field']; @@ -68,12 +72,14 @@ class views_handler_relationship_translation extends views_handler_relationship 'value' => '***CURRENT_LANGUAGE***', ); break; + case 'default': $def['extra'][] = array( 'field' => 'language', 'value' => '***DEFAULT_LANGUAGE***', ); break; + // Other values will be the language codes. default: $def['extra'][] = array( @@ -92,12 +98,14 @@ class views_handler_relationship_translation extends views_handler_relationship } $join->definition = $def; + $join->extra = "(%alias.tnid != 0 OR ({$def['left_table']}.tnid = 0 AND %alias.nid = {$def['left_table']}.nid))"; $join->construct(); $join->adjusted = TRUE; - // use a short alias for this: + // Use a short alias for this. $alias = $def['table'] . '_' . $this->table; $this->alias = $this->query->add_relationship($alias, $join, $this->definition['base'], $this->relationship); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user.views.inc b/profiles/wcm_base/modules/contrib/views/modules/user.views.inc index 70771045d2d5faa12cec16a829ab0a9efe576919..97abd2728a2fbea2872600516bbf94ea4d7eb822 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user.views.inc @@ -12,10 +12,9 @@ */ function user_views_data() { // ---------------------------------------------------------------- - // users table - - // Define the base group of this table. Fields that don't - // have a group defined will go into this field by default. + // 'users' table. + // Define the base group of this table. Fields that don't have a group + // defined will go into this field by default. $data['users']['table']['group'] = t('User'); $data['users']['table']['base'] = array( @@ -26,7 +25,6 @@ function user_views_data() { ); $data['users']['table']['entity type'] = 'user'; - $data['users']['table']['default_relationship'] = array( 'node' => array( 'table' => 'node', @@ -42,17 +40,20 @@ function user_views_data() { ), ); - // uid + // User ID / 'uid'. $data['users']['uid'] = array( + // The item it appears as on the UI, 'title' => t('Uid'), - 'help' => t('The user ID'), // The help that appears on the UI, + // The help that appears on the UI, + 'help' => t('The user ID'), 'field' => array( 'handler' => 'views_handler_field_user', 'click sortable' => TRUE, ), 'argument' => array( 'handler' => 'views_handler_argument_user_uid', - 'name field' => 'name', // display this field in the summary + // Display this field in the summary. + 'name field' => 'name', ), 'filter' => array( 'title' => t('Name'), @@ -72,7 +73,7 @@ function user_views_data() { ), ); - // uid_raw + // The raw user ID / 'uid_raw'. $data['users']['uid_raw'] = array( 'help' => t('The raw numeric user ID.'), 'real field' => 'uid', @@ -82,7 +83,7 @@ function user_views_data() { ), ); - // uid + // Representative node for the user. $data['users']['uid_representative'] = array( 'relationship' => array( 'title' => t('Representative node'), @@ -92,13 +93,13 @@ function user_views_data() { 'relationship field' => 'uid', 'outer field' => 'users.uid', 'argument table' => 'users', - 'argument field' => 'uid', + 'argument field' => 'uid', 'base' => 'node', 'field' => 'nid', ), ); - // uid + // Current user's ID / 'uid'. $data['users']['uid_current'] = array( 'real field' => 'uid', 'title' => t('Current'), @@ -109,10 +110,12 @@ function user_views_data() { ), ); - // name + // User name. $data['users']['name'] = array( - 'title' => t('Name'), // The item it appears as on the UI, - 'help' => t('The user or author name.'), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Name'), + // The help that appears on the UI, + 'help' => t('The user or author name.'), 'field' => array( 'handler' => 'views_handler_field_user_name', 'click sortable' => TRUE, @@ -126,15 +129,17 @@ function user_views_data() { 'filter' => array( 'handler' => 'views_handler_filter_string', 'title' => t('Name (raw)'), - 'help' => t('The user or author name. This filter does not check if the user exists and allows partial matching. Does not utilize autocomplete.') + 'help' => t('The user or author name. This filter does not check if the user exists and allows partial matching. Does not utilize autocomplete.'), ), ); - // mail + // Email address. // Note that this field implements field level access control. $data['users']['mail'] = array( - 'title' => t('E-mail'), // The item it appears as on the UI, - 'help' => t('Email address for a given user. This field is normally not shown to users, so be cautious when using it.'), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('E-mail'), + // The help that appears on the UI, + 'help' => t('Email address for a given user. This field is normally not shown to users, so be cautious when using it.'), 'field' => array( 'handler' => 'views_handler_field_user_mail', 'click sortable' => TRUE, @@ -150,9 +155,10 @@ function user_views_data() { ), ); - // language + // Language. $data['users']['language'] = array( - 'title' => t('Language'), // The item it appears as on the UI, + // The item it appears as on the UI, + 'title' => t('Language'), 'help' => t('Language of the user'), 'field' => array( 'handler' => 'views_handler_field_user_language', @@ -169,12 +175,14 @@ function user_views_data() { ), ); - // picture + // Picture. $data['users']['picture_fid']['moved to'] = array('users', 'picture'); $data['users']['picture'] = array( + // The item it appears as on the UI, 'title' => t('Picture'), - 'help' => t("The user's picture, if allowed."), // The help that appears on the UI, - // Information for displaying the uid + // The help that appears on the UI, + 'help' => t("The user's picture, if allowed."), + // Information for displaying the uid. 'field' => array( 'handler' => 'views_handler_field_user_picture', 'click sortable' => TRUE, @@ -189,7 +197,7 @@ function user_views_data() { ), ); - // link + // Link. $data['users']['view_user'] = array( 'field' => array( 'title' => t('Link'), @@ -198,10 +206,12 @@ function user_views_data() { ), ); - // created field + // Created field. $data['users']['created'] = array( - 'title' => t('Created date'), // The item it appears as on the UI, - 'help' => t('The date the user was created.'), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Created date'), + // The help that appears on the UI, + 'help' => t('The date the user was created.'), 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, @@ -269,10 +279,12 @@ function user_views_data() { ), ); - // access field + // Access field. $data['users']['access'] = array( - 'title' => t('Last access'), // The item it appears as on the UI, - 'help' => t("The user's last access date."), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Last access'), + // The help that appears on the UI, + 'help' => t("The user's last access date."), 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, @@ -285,10 +297,12 @@ function user_views_data() { ), ); - // login field + // Login field. $data['users']['login'] = array( - 'title' => t('Last login'), // The item it appears as on the UI, - 'help' => t("The user's last login date."), // The help that appears on the UI, + // The item it appears as on the UI, + 'title' => t('Last login'), + // The help that appears on the UI, + 'help' => t("The user's last login date."), 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, @@ -301,11 +315,13 @@ function user_views_data() { ), ); - // active status + // Active status. $data['users']['status'] = array( - 'title' => t('Active'), // The item it appears as on the UI, - 'help' => t('Whether a user is active or blocked.'), // The help that appears on the UI, - // Information for displaying a title as a field + // The item it appears as on the UI, + 'title' => t('Active'), + // The help that appears on the UI, + 'help' => t('Whether a user is active or blocked.'), + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_boolean', 'click sortable' => TRUE, @@ -323,11 +339,13 @@ function user_views_data() { ), ); - // log field + // Log field. $data['users']['signature'] = array( - 'title' => t('Signature'), // The item it appears as on the UI, - 'help' => t("The user's signature."), // The help that appears on the UI, - // Information for displaying a title as a field + // The item it appears as on the UI, + 'title' => t('Signature'), + // The help that appears on the UI, + 'help' => t("The user's signature."), + // Information for displaying a title as a field. 'field' => array( 'handler' => 'views_handler_field_markup', 'format' => filter_fallback_format(), @@ -362,8 +380,7 @@ function user_views_data() { ); // ---------------------------------------------------------------------- - // users_roles table - + // 'users_roles' table. $data['users_roles']['table']['group'] = t('User'); // Explain how this table joins to others. @@ -409,8 +426,7 @@ function user_views_data() { ); // ---------------------------------------------------------------------- - // role table - + // 'role' table. $data['role']['table']['join'] = array( // Directly links to users table. 'users' => array( @@ -418,7 +434,7 @@ function user_views_data() { 'left_field' => 'rid', 'field' => 'rid', ), - // needed for many to one helper sometimes + // Needed for many to one helper sometimes. 'users_roles' => array( 'left_field' => 'rid', 'field' => 'rid', @@ -436,7 +452,7 @@ function user_views_data() { ), ); - // permission table + // 'permission' table. $data['role_permission']['table']['group'] = t('User'); $data['role_permission']['table']['join'] = array( // Directly links to users table. @@ -460,8 +476,7 @@ function user_views_data() { ); // ---------------------------------------------------------------------- - // authmap table - + // 'authmap' table. $data['authmap']['table']['group'] = t('User'); $data['authmap']['table']['join'] = array( // Directly links to users table. @@ -532,13 +547,15 @@ function user_views_data() { */ function user_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. + // This just tells our themes are elsewhere. + 'module' => 'views', 'row' => array( 'user' => array( 'title' => t('User'), 'help' => t('Display the user with standard user view.'), 'handler' => 'views_plugin_row_user_view', - 'base' => array('users'), // only works with 'users' as base. + // Only works with 'users' as base. + 'base' => array('users'), 'uses options' => TRUE, 'type' => 'normal', 'help topic' => 'style-users', @@ -548,26 +565,29 @@ function user_views_plugins() { 'user' => array( 'title' => t('User ID from URL'), 'handler' => 'views_plugin_argument_default_user', - 'path' => drupal_get_path('module', 'views') . '/modules/user', // not necessary for most modules + // Not necessary for most modules. + 'path' => drupal_get_path('module', 'views') . '/modules/user', ), 'current_user' => array( 'title' => t('User ID from logged in user'), 'handler' => 'views_plugin_argument_default_current_user', - 'path' => drupal_get_path('module', 'views') . '/modules/user', // not necessary for most modules + // Not necessary for most modules. + 'path' => drupal_get_path('module', 'views') . '/modules/user', ), ), 'argument validator' => array( 'user' => array( 'title' => t('User'), 'handler' => 'views_plugin_argument_validate_user', - 'path' => drupal_get_path('module', 'views') . '/modules/user', // not necessary for most modules + // Not necessary for most modules. + 'path' => drupal_get_path('module', 'views') . '/modules/user', ), ), ); } /** - * Allow replacement of current userid so we can cache these queries + * Allow replacement of current userid so we can cache these queries. */ function user_views_query_substitutions($view) { global $user; diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_user_uid.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_user_uid.inc index 6ab9167d52334b2a465e7faa52c2c2abce826606..8cf20d9d68b78fbcfb02e9ef8ce700a67bbfcc02 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_user_uid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_user_uid.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_handler_argument_user_uid. + * Contains . */ /** @@ -11,13 +11,14 @@ * @ingroup views_argument_handlers */ class views_handler_argument_user_uid extends views_handler_argument_numeric { + /** * Override the behavior of title(). Get the name of the user. * * @return array * A list of usernames. */ - function title_query() { + public function title_query() { if (!$this->argument) { return array(variable_get('anonymous', t('Anonymous'))); } @@ -30,4 +31,5 @@ class views_handler_argument_user_uid extends views_handler_argument_numeric { } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_users_roles_rid.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_users_roles_rid.inc index 31c58145193f66c6f81403e10a6fb9d6b8c81a43..e7457c9504ab4e4bb65d72a3eecca6d506921b1e 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_users_roles_rid.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_argument_users_roles_rid.inc @@ -11,7 +11,11 @@ * @ingroup views_argument_handlers */ class views_handler_argument_users_roles_rid extends views_handler_argument_many_to_one { - function title_query() { + + /** + * {@inheritdoc} + */ + public function title_query() { $titles = array(); $result = db_query("SELECT name FROM {role} WHERE rid IN (:rids)", array(':rids' => $this->value)); @@ -20,4 +24,5 @@ class views_handler_argument_users_roles_rid extends views_handler_argument_many } return $titles; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user.inc index f6b15b5bc11259321289d5a0530d56dc230e5e37..793961225725d6504a3a93072e98af758605a582 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user.inc @@ -11,26 +11,30 @@ * @ingroup views_field_handlers */ class views_handler_field_user extends views_handler_field { + /** * Override init function to provide generic option to link to user. */ - function init(&$view, &$data) { + public function init(&$view, &$data) { parent::init($view, $data); if (!empty($this->options['link_to_user'])) { $this->additional_fields['uid'] = 'uid'; } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_user'] = array('default' => TRUE, 'bool' => TRUE); return $options; } /** - * Provide link to node option + * Provide link to node option. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { $form['link_to_user'] = array( '#title' => t('Link this field to its user'), '#description' => t("Enable to override this field's links."), @@ -40,7 +44,10 @@ class views_handler_field_user extends views_handler_field { parent::options_form($form, $form_state); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { if (!empty($this->options['link_to_user']) && user_access('access user profiles') && ($uid = $this->get_value($values, 'uid')) && $data !== NULL && $data !== '') { $this->options['alter']['make_link'] = TRUE; $this->options['alter']['path'] = "user/" . $uid; @@ -48,8 +55,12 @@ class views_handler_field_user extends views_handler_field { return $data; } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_language.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_language.inc index e29da31a14db32107cd8725bf7f6802e9c617008..b96963d94ca5164a763659d0ba904cd009a48346 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_language.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_language.inc @@ -12,7 +12,10 @@ */ class views_handler_field_user_language extends views_handler_field_user { - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $uid = $this->get_value($values, 'uid'); if (!empty($this->options['link_to_user'])) { $uid = $this->get_value($values, 'uid'); @@ -32,8 +35,12 @@ class views_handler_field_user_language extends views_handler_field_user { return $this->sanitize_value($lang->name); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values); return $this->render_link($this->sanitize_value($value), $values); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link.inc index 03b5e0d4ae2f232b9972ddce47a24d3b04e1607a..103e554bac7b5a3fa0738a185097c9b8f2dc8cc2 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link.inc @@ -11,18 +11,28 @@ * @ingroup views_field_handlers */ class views_handler_field_user_link extends views_handler_field { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['uid'] = 'uid'; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['text'] = array('default' => '', 'translatable' => TRUE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['text'] = array( '#type' => 'textfield', '#title' => t('Text to display'), @@ -31,22 +41,33 @@ class views_handler_field_user_link extends views_handler_field { parent::options_form($form, $form_state); } - // An example of field level access control. - function access() { + /** + * An example of field level access control. + */ + public function access() { return user_access('access user profiles'); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $this->add_additional_fields(); } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { $value = $this->get_value($values, 'uid'); return $this->render_link($this->sanitize_value($value), $values); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $text = !empty($this->options['text']) ? $this->options['text'] : t('view'); $this->options['alter']['make_link'] = TRUE; diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_cancel.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_cancel.inc index fe038dad8befbf4e370d72c063630774604b200f..607caa7cb0c14fa00191a91fc90945df9aa7dba3 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_cancel.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_cancel.inc @@ -12,7 +12,10 @@ */ class views_handler_field_user_link_cancel extends views_handler_field_user_link { - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $uid = $values->{$this->aliases['uid']}; // Build a pseudo account object to be able to check the access. @@ -30,4 +33,5 @@ class views_handler_field_user_link_cancel extends views_handler_field_user_link return $text; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_edit.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_edit.inc index e37feae4dd40ca85525323fc9bad16eb4c377951..b7122d8bb73fb903dd483ec037a7a181868d0f6d 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_edit.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_link_edit.inc @@ -11,7 +11,11 @@ * @ingroup views_field_handlers */ class views_handler_field_user_link_edit extends views_handler_field_user_link { - function render_link($data, $values) { + + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { // Build a pseudo account object to be able to check the access. $account = new stdClass(); $account->uid = $data; @@ -27,4 +31,5 @@ class views_handler_field_user_link_edit extends views_handler_field_user_link { return $text; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_mail.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_mail.inc index 82d193388c37c98c3daae3468665fb3e61180807..d71bdc5599dbbcc152c01f16f345cd975d2dae20 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_mail.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_mail.inc @@ -11,13 +11,20 @@ * @ingroup views_field_handlers */ class views_handler_field_user_mail extends views_handler_field_user { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_to_user'] = array('default' => 'mailto'); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['link_to_user'] = array( '#title' => t('Link this field'), @@ -31,7 +38,10 @@ class views_handler_field_user_mail extends views_handler_field_user { ); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { parent::render_link($data, $values); if ($this->options['link_to_user'] == 'mailto') { @@ -41,4 +51,5 @@ class views_handler_field_user_mail extends views_handler_field_user { return $data; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_name.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_name.inc index 1770f2ab7fe4dcc109cd8460af850279abeaa5fb..7043718a6d313e469fc9d1948f3f1aee4be60b89 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_name.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_name.inc @@ -6,22 +6,26 @@ */ /** - * Field handler to provide simple renderer that allows using a themed user link. + * Field handler for a simple renderer that allows using a themed user link. * * @ingroup views_field_handlers */ class views_handler_field_user_name extends views_handler_field_user { + /** * Add uid in the query so we can test for anonymous if needed. */ - function init(&$view, &$data) { + public function init(&$view, &$data) { parent::init($view, $data); if (!empty($this->options['overwrite_anonymous']) || !empty($this->options['format_username'])) { $this->additional_fields['uid'] = 'uid'; } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['overwrite_anonymous'] = array('default' => FALSE, 'bool' => TRUE); @@ -31,7 +35,10 @@ class views_handler_field_user_name extends views_handler_field_user { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['format_username'] = array( '#title' => t('Use formatted username'), '#type' => 'checkbox', @@ -59,7 +66,10 @@ class views_handler_field_user_name extends views_handler_field_user { parent::options_form($form, $form_state); } - function render_link($data, $values) { + /** + * {@inheritdoc} + */ + public function render_link($data, $values) { $account = new stdClass(); $account->uid = $this->get_value($values, 'uid'); $account->name = $this->get_value($values); @@ -80,4 +90,5 @@ class views_handler_field_user_name extends views_handler_field_user { // Otherwise, there's no special handling, so return the data directly. return $data; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_permissions.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_permissions.inc index edc9c44615eb6fde94a0117b8cc548e2aedc9488..1bf2934edfdc3271a2949feb2ddf5f9d6dd6fda9 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_permissions.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_permissions.inc @@ -11,17 +11,27 @@ * @ingroup views_field_handlers */ class views_handler_field_user_permissions extends views_handler_field_prerender_list { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['uid'] = array('table' => 'users', 'field' => 'uid'); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->add_additional_fields(); $this->field_alias = $this->aliases['uid']; } - function pre_render(&$values) { + /** + * {@inheritdoc} + */ + public function pre_render(&$values) { $uids = array(); $this->items = array(); @@ -30,8 +40,8 @@ class views_handler_field_user_permissions extends views_handler_field_prerender } if ($uids) { - // Get a list of all the modules implementing a hook_permission() and sort by - // display name. + // Get a list of all the modules implementing a hook_permission() and + // sort by display name. $module_info = system_get_info('module'); $modules = array(); foreach (module_implements('permission') as $module) { @@ -50,19 +60,27 @@ class views_handler_field_user_permissions extends views_handler_field_prerender } } - function render_item($count, $item) { + /** + * {@inheritdoc} + */ + public function render_item($count, $item) { return $item['permission']; } - /* - function document_self_tokens(&$tokens) { - $tokens['[' . $this->options['id'] . '-role' . ']'] = t('The name of the role.'); - $tokens['[' . $this->options['id'] . '-rid' . ']'] = t('The role ID of the role.'); - } + /** + * + */ + // function document_self_tokens(&$tokens) { + // $tokens['[' . $this->options['id'] . '-role' . ']'] = t('The name of the role.'); + // $tokens['[' . $this->options['id'] . '-rid' . ']'] = t('The role ID of the role.'); + // } + + /** + * + */ + // function add_self_tokens(&$tokens, $item) { + // $tokens['[' . $this->options['id'] . '-role' . ']'] = $item['role']; + // $tokens['[' . $this->options['id'] . '-rid' . ']'] = $item['rid']; + // } - function add_self_tokens(&$tokens, $item) { - $tokens['[' . $this->options['id'] . '-role' . ']'] = $item['role']; - $tokens['[' . $this->options['id'] . '-rid' . ']'] = $item['rid']; - } - */ } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_picture.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_picture.inc index babbae55fb8ce16f81a7a743ec2db00e257fcad3..77699005930f0d4043b057abd804aff1341e8090 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_picture.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_picture.inc @@ -6,19 +6,26 @@ */ /** - * Field handler to provide simple renderer that allows using a themed user link. + * Field handler for a simple renderer that allows using a themed user link. * * @ingroup views_field_handlers */ class views_handler_field_user_picture extends views_handler_field { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['uid'] = 'uid'; $this->additional_fields['name'] = 'name'; $this->additional_fields['mail'] = 'mail'; } - function element_type($none_supported = FALSE, $default_empty = FALSE, $inline = FALSE) { + /** + * {@inheritdoc} + */ + public function element_type($none_supported = FALSE, $default_empty = FALSE, $inline = FALSE) { if ($inline) { return 'span'; } @@ -40,14 +47,20 @@ class views_handler_field_user_picture extends views_handler_field { return 'div'; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['link_photo_to_profile'] = array('default' => TRUE, 'bool' => TRUE); $options['image_style'] = array('default' => ''); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['link_photo_to_profile'] = array( '#title' => t("Link to user's profile"), @@ -73,19 +86,29 @@ class views_handler_field_user_picture extends views_handler_field { } } - function render($values) { + /** + * {@inheritdoc} + */ + public function render($values) { if ($this->options['image_style'] && module_exists('image')) { - // @todo: Switch to always using theme('user_picture') when it starts + // @todo Switch to always using theme('user_picture') when it starts // supporting image styles. See http://drupal.org/node/1021564 if ($picture_fid = $this->get_value($values)) { $picture = file_load($picture_fid); - $picture_filepath = $picture->uri; + if (!empty($picture)) { + $picture_filepath = $picture->uri; + } + else { + $picture_filepath = variable_get('user_picture_default', ''); + } } else { $picture_filepath = variable_get('user_picture_default', ''); } if (file_valid_uri($picture_filepath)) { - $output = theme('image_style', array('style_name' => $this->options['image_style'], 'path' => $picture_filepath)); + $account = user_load($this->get_value($values, 'uid')); + $alt = t("@user's picture", array('@user' => format_username($account))); + $output = theme('image_style', array('style_name' => $this->options['image_style'], 'path' => $picture_filepath, 'alt' => $alt)); if ($this->options['link_photo_to_profile'] && user_access('access user profiles')) { $uid = $this->get_value($values, 'uid'); $output = l($output, "user/$uid", array('html' => TRUE)); @@ -111,4 +134,5 @@ class views_handler_field_user_picture extends views_handler_field { return $output; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_roles.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_roles.inc index e6571cdbda81a0a54dc8e5f8dfcda7e4cd947b48..86a0b7a04f7eeec7af4327e329cdd0ca71c939f7 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_roles.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_field_user_roles.inc @@ -11,17 +11,27 @@ * @ingroup views_field_handlers */ class views_handler_field_user_roles extends views_handler_field_prerender_list { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->additional_fields['uid'] = array('table' => 'users', 'field' => 'uid'); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->add_additional_fields(); $this->field_alias = $this->aliases['uid']; } - function pre_render(&$values) { + /** + * {@inheritdoc} + */ + public function pre_render(&$values) { $uids = array(); $this->items = array(); @@ -39,19 +49,29 @@ class views_handler_field_user_roles extends views_handler_field_prerender_list } } - function render_item($count, $item) { + /** + * {@inheritdoc} + */ + public function render_item($count, $item) { return $item['role']; } - function document_self_tokens(&$tokens) { + /** + * {@inheritdoc} + */ + public function document_self_tokens(&$tokens) { $tokens['[' . $this->options['id'] . '-role' . ']'] = t('The name of the role.'); $tokens['[' . $this->options['id'] . '-rid' . ']'] = t('The role ID of the role.'); } - function add_self_tokens(&$tokens, $item) { + /** + * {@inheritdoc} + */ + public function add_self_tokens(&$tokens, $item) { if (!empty($item['role'])) { $tokens['[' . $this->options['id'] . '-role' . ']'] = $item['role']; $tokens['[' . $this->options['id'] . '-rid' . ']'] = $item['rid']; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_current.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_current.inc index 5f8fe4c80598d9e7ffd3c2042d16204a3fe7729d..320d5cd0f97016a2e437f229e79256afd24cc60a 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_current.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_current.inc @@ -11,12 +11,19 @@ * @ingroup views_filter_handlers */ class views_handler_filter_user_current extends views_handler_filter_boolean_operator { - function construct() { + + /** + * {@inheritdoc} + */ + public function construct() { parent::construct(); $this->value_value = t('Is the logged in user'); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->ensure_my_table(); $field = $this->table_alias . '.' . $this->real_field . ' '; @@ -33,4 +40,5 @@ class views_handler_filter_user_current extends views_handler_filter_boolean_ope } $this->query->add_where($this->options['group'], $or); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_name.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_name.inc index 300607fe3ae1482225ec0ed417f7d54429f069b2..fa409893d68aaa4eab5ad9c7bfd1d68f4eb4cab1 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_name.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_name.inc @@ -11,9 +11,16 @@ * @ingroup views_filter_handlers */ class views_handler_filter_user_name extends views_handler_filter_in_operator { - var $always_multiple = TRUE; - function value_form(&$form, &$form_state) { + /** + * + */ + public $always_multiple = TRUE; + + /** + * {@inheritdoc} + */ + public function value_form(&$form, &$form_state) { $values = array(); if ($this->value) { $result = db_query("SELECT * FROM {users} u WHERE uid IN (:uids)", array(':uids' => $this->value)); @@ -22,7 +29,8 @@ class views_handler_filter_user_name extends views_handler_filter_in_operator { $values[] = $account->name; } else { - $values[] = 'Anonymous'; // Intentionally NOT translated. + // Intentionally NOT translated. + $values[] = 'Anonymous'; } } } @@ -42,7 +50,10 @@ class views_handler_filter_user_name extends views_handler_filter_in_operator { } } - function value_validate($form, &$form_state) { + /** + * {@inheritdoc} + */ + public function value_validate($form, &$form_state) { $values = drupal_explode_tags($form_state['values']['options']['value']); $uids = $this->validate_user_strings($form['value'], $values); @@ -51,7 +62,10 @@ class views_handler_filter_user_name extends views_handler_filter_in_operator { } } - function accept_exposed_input($input) { + /** + * {@inheritdoc} + */ + public function accept_exposed_input($input) { $rc = parent::accept_exposed_input($input); if ($rc) { @@ -64,7 +78,10 @@ class views_handler_filter_user_name extends views_handler_filter_in_operator { return $rc; } - function exposed_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function exposed_validate(&$form, &$form_state) { if (empty($this->options['exposed'])) { return; } @@ -96,11 +113,12 @@ class views_handler_filter_user_name extends views_handler_filter_in_operator { } /** - * Validate the user string. Since this can come from either the form - * or the exposed filter, this is abstracted out a bit so it can - * handle the multiple input sources. + * Validate the user string. + * + * Since this can come from either the form or the exposed filter, this is + * abstracted out a bit so it can handle the multiple input sources. */ - function validate_user_strings(&$form, $values) { + public function validate_user_strings(&$form, $values) { $uids = array(); $placeholders = array(); $args = array(); @@ -133,15 +151,24 @@ class views_handler_filter_user_name extends views_handler_filter_in_operator { return $uids; } - function value_submit($form, &$form_state) { - // prevent array filter from removing our anonymous user. + /** + * {@inheritdoc} + */ + public function value_submit($form, &$form_state) { + // Prevent array filter from removing our anonymous user. } - // Override to do nothing. - function get_value_options() { } + /** + * {@inheritdoc} + */ + public function get_value_options() { + } - function admin_summary() { - // set up $this->value_options for the parent summary + /** + * {@inheritdoc} + */ + public function admin_summary() { + // Set up $this->value_options for the parent summary. $this->value_options = array(); if ($this->value) { @@ -152,11 +179,13 @@ class views_handler_filter_user_name extends views_handler_filter_in_operator { $this->value_options[$account->uid] = $account->name; } else { - $this->value_options[$account->uid] = 'Anonymous'; // Intentionally NOT translated. + // Intentionally NOT translated. + $this->value_options[$account->uid] = 'Anonymous'; } } } return parent::admin_summary(); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_permissions.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_permissions.inc index f999045d0cdca01ee3a48f0e59decb964c501c72..ee6381818a0f9e784504277ce26f3c33f01570b0 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_permissions.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_permissions.inc @@ -11,11 +11,15 @@ * @ingroup views_filter_handlers */ class views_handler_filter_user_permissions extends views_handler_filter_many_to_one { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { $module_info = system_get_info('module'); - // Get a list of all the modules implementing a hook_permission() and sort by - // display name. + // Get a list of all the modules implementing a hook_permission() and sort + // by display name. $modules = array(); foreach (module_implements('permission') as $module) { $modules[$module] = $module_info[$module]['name']; @@ -26,10 +30,11 @@ class views_handler_filter_user_permissions extends views_handler_filter_many_to foreach ($modules as $module => $display_name) { if ($permissions = module_invoke($module, 'permission')) { foreach ($permissions as $perm => $perm_item) { - // @todo: group by module but views_handler_filter_many_to_one does not support this. + // @todo group by module but views_handler_filter_many_to_one does not support this. $this->value_options[$perm] = check_plain(strip_tags($perm_item['title'])); } } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_roles.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_roles.inc index ab9b8a2f0113490ab195f7458d00a9d1bc2240e0..d71723051cf4cbad4b66b9a739fc9d224434a557 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_roles.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_handler_filter_user_roles.inc @@ -11,7 +11,11 @@ * @ingroup views_filter_handlers */ class views_handler_filter_user_roles extends views_handler_filter_many_to_one { - function get_value_options() { + + /** + * {@inheritdoc} + */ + public function get_value_options() { $this->value_options = user_roles(TRUE); unset($this->value_options[DRUPAL_AUTHENTICATED_RID]); } @@ -19,10 +23,11 @@ class views_handler_filter_user_roles extends views_handler_filter_many_to_one { /** * Override empty and not empty operator labels to be clearer for user roles. */ - function operators() { + public function operators() { $operators = parent::operators(); $operators['empty']['title'] = t("Only has the 'authenticated user' role"); $operators['not empty']['title'] = t("Has roles in addition to 'authenticated user'"); return $operators; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_current_user.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_current_user.inc index e11c70223e56e198f40526fdd39aec2f6b369991..b4f25dd805a504460304a2f648371f9ec5c9ce11 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_current_user.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_current_user.inc @@ -2,17 +2,22 @@ /** * @file - * Contains the current user argument default plugin. + * Definition of views_plugin_argument_default_current_user. */ /** - * Default argument plugin to extract the global $user + * Default argument plugin to extract the global $user. * * This plugin actually has no options so it odes not need to do a great deal. */ class views_plugin_argument_default_current_user extends views_plugin_argument_default { - function get_argument() { + + /** + * {@inheritdoc} + */ + public function get_argument() { global $user; return $user->uid; } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_user.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_user.inc index bb104296c0421454b3220183e9680ca93db8ab44..128286e6da31a0b650cb7b0174a2d77a5d83292e 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_user.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_default_user.inc @@ -2,21 +2,28 @@ /** * @file - * Contains the user from URL argument default plugin. + * Definition of views_plugin_argument_default_user. */ /** * Default argument plugin to extract a user via menu_get_object. */ class views_plugin_argument_default_user extends views_plugin_argument_default { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['user'] = array('default' => '', 'bool' => TRUE, 'translatable' => FALSE); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['user'] = array( '#type' => 'checkbox', '#title' => t('Also look for a node and use the node author'), @@ -24,13 +31,19 @@ class views_plugin_argument_default_user extends views_plugin_argument_default { ); } - function convert_options(&$options) { + /** + * {@inheritdoc} + */ + public function convert_options(&$options) { if (!isset($options['user']) && isset($this->argument->options['default_argument_user'])) { $options['user'] = $this->argument->options['default_argument_user']; } } - function get_argument() { + /** + * {@inheritdoc} + */ + public function get_argument() { foreach (range(1, 3) as $i) { $user = menu_get_object('user', $i); if (!empty($user)) { @@ -67,11 +80,13 @@ class views_plugin_argument_default_user extends views_plugin_argument_default { } } - // If the current page is a view that takes uid as an argument, return the uid. + // If the current page is a view that takes uid as an argument, return the + // uid. $view = views_get_page_view(); if ($view && isset($view->argument['uid'])) { return $view->argument['uid']->argument; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_validate_user.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_validate_user.inc index b727094452959dbae7889a6baabaf7879e128bb6..37064e6391ea472c70234c8674600891ffa8d882 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_validate_user.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_argument_validate_user.inc @@ -13,7 +13,11 @@ * argument's title to the username. */ class views_plugin_argument_validate_user extends views_plugin_argument_validate { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['type'] = array('default' => 'uid'); $options['restrict_roles'] = array('default' => FALSE, 'bool' => TRUE); @@ -22,7 +26,10 @@ class views_plugin_argument_validate_user extends views_plugin_argument_validate return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['type'] = array( '#type' => 'radios', '#title' => t('Type of user filter value to allow'), @@ -54,12 +61,19 @@ class views_plugin_argument_validate_user extends views_plugin_argument_validate ); } - function options_submit(&$form, &$form_state, &$options = array()) { - // filter trash out of the options so we don't store giant unnecessary arrays + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state, &$options = array()) { + // Filter trash out of the options so we don't store giant unnecessary + // arrays. $options['roles'] = array_filter($options['roles']); } - function convert_options(&$options) { + /** + * {@inheritdoc} + */ + public function convert_options(&$options) { if (!isset($options['type']) && isset($this->argument->options['validate_user_argument_type'])) { $options['type'] = $this->argument->options['validate_user_argument_type']; $options['restrict_roles'] = $this->argument->options['validate_user_restrict_roles']; @@ -67,11 +81,14 @@ class views_plugin_argument_validate_user extends views_plugin_argument_validate } } - function validate_argument($argument) { + /** + * {@inheritdoc} + */ + public function validate_argument($argument) { $type = $this->options['type']; // is_numeric() can return false positives, so we ensure it's an integer. // However, is_integer() will always fail, since $argument is a string. - if (is_numeric($argument) && $argument == (int)$argument) { + if (is_numeric($argument) && $argument == (int) $argument) { if ($type == 'uid' || $type == 'either') { if ($argument == $GLOBALS['user']->uid) { // If you assign an object to a variable in PHP, the variable @@ -126,7 +143,10 @@ class views_plugin_argument_validate_user extends views_plugin_argument_validate return TRUE; } - function process_summary_arguments(&$args) { + /** + * {@inheritdoc} + */ + public function process_summary_arguments(&$args) { // If the validation says the input is an username, we should reverse the // argument so it works for example for generation summary urls. $uids_arg_keys = array_flip($args); @@ -137,4 +157,5 @@ class views_plugin_argument_validate_user extends views_plugin_argument_validate } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_row_user_view.inc b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_row_user_view.inc index 2927811dcd39cc2da4dd6f6fba26dd3cf7fff0cb..3ce818a391c999d1db1da36f2d4e3dcad995f6d6 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_row_user_view.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/user/views_plugin_row_user_view.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the user view row plugin. + * Definition of views_plugin_row_user_view. */ /** @@ -11,20 +11,34 @@ * @ingroup views_row_plugins */ class views_plugin_row_user_view extends views_plugin_row { - var $base_table = 'users'; - var $base_field = 'uid'; + + /** + * + */ + public $base_table = 'users'; + + /** + * + */ + public $base_field = 'uid'; // Store the users to be used for pre_render. - var $users = array(); + public $users = array(); - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['view_mode'] = array('default' => 'full'); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $options = $this->options_form_summary_options(); @@ -33,37 +47,42 @@ class views_plugin_row_user_view extends views_plugin_row { '#options' => $options, '#title' => t('View mode'), '#default_value' => $this->options['view_mode'], - ); + ); $form['help']['#markup'] = t("Display the user with standard user view. It might be necessary to add a user-profile.tpl.php in your theme's template folder, because the default <a href=\"@user-profile-api-link\">user-profile</a> template doesn't show the username by default.", array('@user-profile-api-link' => url('http://api.drupal.org/api/drupal/modules--user--user-profile.tpl.php/7'))); } - - /** - * Return the main options, which are shown in the summary title. - */ - function options_form_summary_options() { - $entity_info = entity_get_info('user'); - $options = array(); - if (!empty($entity_info['view modes'])) { - foreach ($entity_info['view modes'] as $mode => $settings) { - $options[$mode] = $settings['label']; - } - } - if (empty($options)) { - $options = array( - 'full' => t('User account') - ); + /** + * Return the main options, which are shown in the summary title. + */ + public function options_form_summary_options() { + $entity_info = entity_get_info('user'); + $options = array(); + if (!empty($entity_info['view modes'])) { + foreach ($entity_info['view modes'] as $mode => $settings) { + $options[$mode] = $settings['label']; } - - return $options; } - - function summary_title() { - $options = $this->options_form_summary_options(); - return check_plain($options[$this->options['view_mode']]); + if (empty($options)) { + $options = array( + 'full' => t('User account'), + ); } - function pre_render($values) { + return $options; + } + + /** + * {@inheritdoc} + */ + public function summary_title() { + $options = $this->options_form_summary_options(); + return check_plain($options[$this->options['view_mode']]); + } + + /** + * {@inheritdoc} + */ + public function pre_render($values) { $uids = array(); foreach ($values as $row) { $uids[] = $row->{$this->field_alias}; @@ -71,11 +90,15 @@ class views_plugin_row_user_view extends views_plugin_row { $this->users = user_load_multiple($uids); } - function render($row) { + /** + * {@inheritdoc} + */ + public function render($row) { $account = $this->users[$row->{$this->field_alias}]; $account->view = $this->view; $build = user_view($account, $this->options['view_mode']); return drupal_render($build); } + } diff --git a/profiles/wcm_base/modules/contrib/views/modules/views.views.inc b/profiles/wcm_base/modules/contrib/views/modules/views.views.inc index 0f998700818e8fa48f24c3edf159f508d1638b43..b9a127587ad531362d69a5f719ec6b906eb34a77 100644 --- a/profiles/wcm_base/modules/contrib/views/modules/views.views.inc +++ b/profiles/wcm_base/modules/contrib/views/modules/views.views.inc @@ -13,7 +13,7 @@ function views_views_data() { $data['views']['table']['group'] = t('Global'); $data['views']['table']['join'] = array( - // #global is a special flag which let's a table appear all the time. + // '#global' is a special flag which let's a table appear all the time. '#global' => array(), ); @@ -108,7 +108,7 @@ function views_views_data() { ); $data['views']['combine'] = array( - 'title' => t('Combine fields filter'), + 'title' => t('Combine fields filter'), 'help' => t('Combine multiple fields together and search by them.'), 'filter' => array( 'handler' => 'views_handler_filter_combine', @@ -132,7 +132,7 @@ function views_views_data() { 'filter' => array( 'help' => t('Use fields comparison to filter the result of the view.'), 'handler' => 'views_handler_filter_fields_compare', - ) + ), ); return $data; diff --git a/profiles/wcm_base/modules/contrib/views/plugins/export_ui/views_ui.class.php b/profiles/wcm_base/modules/contrib/views/plugins/export_ui/views_ui.class.php index 6f87e4019115bf179b8d1bfae10beb0f9051a279..97a69a1e21f7e7aeca6feeddb2fbacfa40b5373b 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/export_ui/views_ui.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/export_ui/views_ui.class.php @@ -12,10 +12,12 @@ */ class views_ui extends ctools_export_ui { + /** + * + */ function init($plugin) { - // We modify the plugin info here so that we take the defaults and - // twiddle, rather than completely override them. - + // We modify the plugin info here so that we take the defaults and twiddle, + // rather than completely override them. // Reset the edit path to match what we're really using. $plugin['menu']['items']['edit']['path'] = 'view/%ctools_export_ui/edit'; $plugin['menu']['items']['clone']['path'] = 'view/%ctools_export_ui/clone'; @@ -44,12 +46,13 @@ class views_ui extends ctools_export_ui { return parent::init($plugin); } + /** + * + */ function hook_menu(&$items) { // We are using our own 'edit' still, rather than having edit on this - // object (maybe in the future) so unset the edit callbacks: - - // Store this so we can put them back as sometimes they're needed - // again laster: + // object (maybe in the future) so unset the edit callbacks. Store this so + // we can put them back as sometimes they're needed again laster. $stored_items = $this->plugin['menu']['items']; // We leave these to make sure the operations still exist in the plugin so // that the path finder. @@ -63,10 +66,16 @@ class views_ui extends ctools_export_ui { $this->plugin['menu']['items'] = $stored_items; } + /** + * + */ function load_item($item_name) { return views_ui_cache_load($item_name); } + /** + * + */ function list_form(&$form, &$form_state) { $row_class = 'container-inline'; if (!variable_get('views_ui_show_listing_filters', FALSE)) { @@ -77,8 +86,8 @@ class views_ui extends ctools_export_ui { parent::list_form($form, $form_state); - // ctools only has two rows. We want four. - // That's why we create our own structure. + // CTools only has two rows. We want four. That's why we create our own + // structure. $form['bottom row']['submit']['#attributes']['class'][] = 'js-hide'; $form['first row'] = array( '#prefix' => '<div class="' . $row_class . ' ctools-export-ui-row ctools-export-ui-first-row clearfix">', @@ -164,6 +173,9 @@ class views_ui extends ctools_export_ui { ); } + /** + * + */ function list_filter($form_state, $view) { // Don't filter by tags if all is set up. if ($form_state['values']['tag'] != 'all') { @@ -183,6 +195,9 @@ class views_ui extends ctools_export_ui { return parent::list_filter($form_state, $view); } + /** + * + */ function list_sort_options() { return array( 'disabled' => t('Enabled, name'), @@ -193,7 +208,9 @@ class views_ui extends ctools_export_ui { ); } - + /** + * + */ function list_build_row($view, &$form_state, $operations) { if (!empty($view->human_name)) { $title = $view->human_name; @@ -212,45 +229,79 @@ class views_ui extends ctools_export_ui { $info = theme('views_ui_view_info', array('view' => $view, 'base' => $base)); - // Reorder the operations so that enable is the default action for a templatic views + // Reorder the operations so that enable is the default action for a + // templatic views. if (!empty($operations['enable'])) { $operations = array('enable' => $operations['enable']) + $operations; } - // Set up sorting + // Set up sorting. switch ($form_state['values']['order']) { case 'disabled': $this->sorts[$view->name] = strtolower(empty($view->disabled) . $title); break; + case 'name': $this->sorts[$view->name] = strtolower($title); break; + case 'path': $this->sorts[$view->name] = strtolower($paths); break; + case 'tag': $this->sorts[$view->name] = strtolower($view->tag); break; + case 'storage': $this->sorts[$view->name] = strtolower($view->type . $title); break; } - $ops = theme('links__ctools_dropbutton', array('links' => $operations, 'attributes' => array('class' => array('links', 'inline')))); + $theme_args = array( + 'links' => $operations, + 'attributes' => array( + 'class' => array( + 'links', + 'inline', + ), + ), + ); + $ops = theme('links__ctools_dropbutton', $theme_args); $this->rows[$view->name] = array( 'data' => array( - array('data' => $info, 'class' => array('views-ui-name')), - array('data' => check_plain($view->description), 'class' => array('views-ui-description')), - array('data' => check_plain($view->tag), 'class' => array('views-ui-tag')), - array('data' => $paths, 'class' => array('views-ui-path')), - array('data' => $ops, 'class' => array('views-ui-operations')), + array( + 'data' => $info, + 'class' => array('views-ui-name'), + ), + array( + 'data' => check_plain($view->description), + 'class' => array('views-ui-description'), + ), + array( + 'data' => check_plain($view->tag), + 'class' => array('views-ui-tag'), + ), + array( + 'data' => $paths, + 'class' => array('views-ui-path'), + ), + array( + 'data' => $ops, + 'class' => array('views-ui-operations'), + ), ), 'title' => t('Machine name: ') . check_plain($view->name), - 'class' => array(!empty($view->disabled) ? 'ctools-export-ui-disabled' : 'ctools-export-ui-enabled'), + 'class' => array( + !empty($view->disabled) ? 'ctools-export-ui-disabled' : 'ctools-export-ui-enabled', + ), ); } + /** + * + */ function list_render(&$form_state) { views_include('admin'); views_ui_add_admin_css(); @@ -263,7 +314,7 @@ class views_ui extends ctools_export_ui { $this->active = $form_state['values']['order']; $this->order = $form_state['values']['sort']; - $query = tablesort_get_query_parameters(); + $query = tablesort_get_query_parameters(); $header = array( $this->tablesort_link(t('View name'), 'name', 'views-ui-name'), @@ -282,6 +333,9 @@ class views_ui extends ctools_export_ui { return theme('table', $table); } + /** + * + */ function tablesort_link($label, $field, $class) { $title = t('sort by @s', array('@s' => $label)); $initial = 'asc'; @@ -306,6 +360,9 @@ class views_ui extends ctools_export_ui { return array('data' => $link, 'class' => $class); } + /** + * + */ function clone_page($js, $input, $item, $step = NULL) { drupal_set_title($this->get_page_title('clone', $item)); @@ -339,6 +396,9 @@ class views_ui extends ctools_export_ui { return $output; } + /** + * + */ function add_template_page($js, $input, $name, $step = NULL) { $templates = views_get_all_templates(); @@ -348,9 +408,8 @@ class views_ui extends ctools_export_ui { $template = $templates[$name]; - // The template description probably describes the template, not the - // view that will be created from it, but users aren't that likely to - // touch it. + // The template description probably describes the template, not the view + // that will be created from it, but users aren't that likely to touch it. if (!empty($template->description)) { unset($template->description); } @@ -363,6 +422,9 @@ class views_ui extends ctools_export_ui { return $output; } + /** + * + */ function set_item_state($state, $js, $input, $item) { ctools_export_set_object_status($item, $state); menu_rebuild(); @@ -375,23 +437,27 @@ class views_ui extends ctools_export_ui { } } + /** + * + */ function list_page($js, $input) { // Remove filters values from session if filters are hidden. if (!variable_get('views_ui_show_listing_filters', FALSE) && isset($_SESSION['ctools_export_ui'][$this->plugin['name']])) { unset($_SESSION['ctools_export_ui'][$this->plugin['name']]); } - // wrap output in a div for CSS + // Wrap output in a div for CSS. $output = parent::list_page($js, $input); if (is_string($output)) { $output = '<div id="views-ui-list-page">' . $output . '</div>'; } return $output; } + } /** - * Form callback to edit an exportable item using the wizard + * Form callback to edit an exportable item using the wizard. * * This simply loads the object defined in the plugin and hands it off. */ diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access.inc index 7f80d9b7c2d408e0f6508dd6f04685fe2b9b8a36..0a47d7c2b935fe25c2f583a7dee1bc5f4080eaee 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access.inc @@ -17,59 +17,63 @@ * The base plugin to handle access control. */ class views_plugin_access extends views_plugin { + /** * Initialize the plugin. * - * @param $view + * @param view $view * The view object. - * @param $display + * @param object $display * The display handler. */ - function init(&$view, &$display) { + public function init(&$view, &$display) { $this->view = &$view; $this->display = &$display; if (is_object($display->handler)) { $options = $display->handler->get_option('access'); - // Overlay incoming options on top of defaults + // Overlay incoming options on top of defaults. $this->unpack_options($this->options, $options); } } /** - * Retrieve the options when this is a new access - * control plugin + * Retrieve the options when this is a new access control plugin. */ - function option_definition() { return array(); } + public function option_definition() { + return array(); + } /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { } + public function options_form(&$form, &$form_state) { + } /** - * Provide the default form form for validating options + * Provide the default form form for validating options. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** - * Provide the default form form for submitting options + * Provide the default form form for submitting options. */ - function options_submit(&$form, &$form_state) { } + public function options_submit(&$form, &$form_state) { + } /** - * Return a string to display as the clickable title for the - * access control. + * Return a string to display as the clickable title for the access control. */ - function summary_title() { + public function summary_title() { return t('Unknown'); } /** * Determine if the current user has access or not. */ - function access($account) { - // default to no access control. + public function access($account) { + // Default to no access control. return TRUE; } @@ -80,15 +84,16 @@ class views_plugin_access extends views_plugin { * performance hits during menu item access testing, which happens * a lot. * - * @return an array; the first item should be the function to call, - * and the second item should be an array of arguments. The first - * item may also be TRUE (bool only) which will indicate no - * access control.) + * @return array + * The first item should be the function to call, and the second item should + * be an array of arguments. The first item may also be TRUE (bool only) + * which will indicate no access control. */ - function get_access_callback() { - // default to no access control. + public function get_access_callback() { + // Default to no access control. return TRUE; } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_none.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_none.inc index d69fe8e44e75dd9ba692e896d54b03b375afe8ca..af2a7c999f9fc8db85f1b9740f589df700ea90e7 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_none.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_none.inc @@ -2,7 +2,7 @@ /** * @file - * Definition of views_plugin_access_none. + * Contains . */ /** @@ -11,7 +11,12 @@ * @ingroup views_access_plugins */ class views_plugin_access_none extends views_plugin_access { - function summary_title() { + + /** + * {@inheritdoc} + */ + public function summary_title() { return t('Unrestricted'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_perm.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_perm.inc index 7279d7db7c27aa4aae448a6f33ff4f46032737aa..4c39309a7519a1a4fd3c698c0bbc651a32f26f37 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_perm.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_perm.inc @@ -11,15 +11,25 @@ * @ingroup views_access_plugins */ class views_plugin_access_perm extends views_plugin_access { - function access($account) { + + /** + * {@inheritdoc} + */ + public function access($account) { return views_check_perm($this->options['perm'], $account); } - function get_access_callback() { + /** + * {@inheritdoc} + */ + public function get_access_callback() { return array('views_check_perm', array($this->options['perm'])); } - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { $permissions = module_invoke_all('permission'); if (isset($permissions[$this->options['perm']])) { return $permissions[$this->options['perm']]['title']; @@ -29,19 +39,25 @@ class views_plugin_access_perm extends views_plugin_access { } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['perm'] = array('default' => 'access content'); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $perms = array(); $module_info = system_get_info('module'); - // Get list of permissions + // Get list of permissions. foreach (module_implements('permission') as $module) { $permissions = module_invoke($module, 'permission'); foreach ($permissions as $name => $perm) { @@ -59,4 +75,5 @@ class views_plugin_access_perm extends views_plugin_access { '#description' => t('Only users with the selected permission flag will be able to access this display. Note that users with "access all views" can see any view, regardless of other permissions.'), ); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_role.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_role.inc index b06812eaf2d49107f2b11a01a8f573845290d43d..21ae18125bd25614a2fe48c6ef85f62dce7287b0 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_role.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_access_role.inc @@ -11,15 +11,25 @@ * @ingroup views_access_plugins */ class views_plugin_access_role extends views_plugin_access { - function access($account) { + + /** + * {@inheritdoc} + */ + public function access($account) { return views_check_roles(array_filter($this->options['role']), $account); } - function get_access_callback() { + /** + * {@inheritdoc} + */ + public function get_access_callback() { return array('views_check_roles', array(array_filter($this->options['role']))); } - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { $count = count($this->options['role']); if ($count < 1) { return t('No role(s) selected'); @@ -34,15 +44,20 @@ class views_plugin_access_role extends views_plugin_access { } } - - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['role'] = array('default' => array()); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['role'] = array( '#type' => 'checkboxes', @@ -53,14 +68,21 @@ class views_plugin_access_role extends views_plugin_access { ); } - function options_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { if (!array_filter($form_state['values']['access_options']['role'])) { form_error($form['role'], t('You must select at least one role if type is "by role"')); } } - function options_submit(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state) { // I hate checkboxes. $form_state['values']['access_options']['role'] = array_filter($form_state['values']['access_options']['role']); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default.inc index 2b877300e9a386fba2fbd702f057963697bb46de..f686151b92f33f17a0b99d24799f0eba530b7054 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default.inc @@ -17,18 +17,20 @@ * The fixed argument default handler; also used as the base. */ class views_plugin_argument_default extends views_plugin { + /** * Return the default argument. * - * This needs to be overridden by every default argument handler to properly do what is needed. + * This needs to be overridden by every default argument handler to properly + * do what is needed. */ - function get_argument() { } + public function get_argument() { + } /** - * Initialize this plugin with the view and the argument - * it is linked to. + * Initialize this plugin with the view and the argument it is linked to. */ - function init(&$view, &$argument, $options) { + public function init(&$view, &$argument, $options) { $this->view = &$view; $this->argument = &$argument; @@ -37,31 +39,36 @@ class views_plugin_argument_default extends views_plugin { } /** - * Retrieve the options when this is a new access - * control plugin + * Retrieve the options when this is a new access control plugin. */ - function option_definition() { return array(); } + public function option_definition() { + return array(); + } /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { } + public function options_form(&$form, &$form_state) { + } /** - * Provide the default form form for validating options + * Provide the default form form for validating options. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** - * Provide the default form form for submitting options + * Provide the default form form for submitting options. */ - function options_submit(&$form, &$form_state, &$options = array()) { } + public function options_submit(&$form, &$form_state, &$options = array()) { + } /** - * Determine if the administrator has the privileges to use this - * plugin + * Determine if the administrator has the privileges to use this plugin. */ - function access() { return TRUE; } + public function access() { + return TRUE; + } /** * If we don't have access to the form but are showing it anyway, ensure that @@ -70,7 +77,7 @@ class views_plugin_argument_default extends views_plugin { * This is only called by child objects if specified in the options_form(), * so it will not always be used. */ - function check_access(&$form, $option_name) { + public function check_access(&$form, $option_name) { if (!$this->access()) { $form[$option_name]['#disabled'] = TRUE; $form[$option_name]['#value'] = $form[$this->option_name]['#default_value']; @@ -86,7 +93,9 @@ class views_plugin_argument_default extends views_plugin { * move arguments from the old style to the new style. See * views_plugin_argument_default_fixed for a good example of this method. */ - function convert_options(&$options) { } + public function convert_options(&$options) { + } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_fixed.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_fixed.inc index 38ede348794c68a643a718c04d68ffb3313b309e..f5c056d1dc3def19ba19d17b38073049f6865cd2 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_fixed.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_fixed.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the fixed argument default plugin. + * Definition of views_plugin_argument_default_fixed. */ /** @@ -11,14 +11,21 @@ * @ingroup views_argument_default_plugins */ class views_plugin_argument_default_fixed extends views_plugin_argument_default { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['argument'] = array('default' => ''); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['argument'] = array( '#type' => 'textfield', @@ -30,15 +37,19 @@ class views_plugin_argument_default_fixed extends views_plugin_argument_default /** * Return the default argument. */ - function get_argument() { + public function get_argument() { return $this->options['argument']; } - function convert_options(&$options) { + /** + * {@inheritdoc} + */ + public function convert_options(&$options) { if (!isset($options['argument']) && isset($this->argument->options['default_argument_fixed'])) { $options['argument'] = $this->argument->options['default_argument_fixed']; } } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_php.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_php.inc index c2fb14f56602c83e26b68b6666c2b58daf8c6204..9ae8600ffca8615f92b6e9d2105396fcf8d3ed3d 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_php.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_php.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the php code argument default plugin. + * Definition of views_plugin_argument_default_php. */ /** @@ -11,14 +11,21 @@ * @ingroup views_argument_default_plugins */ class views_plugin_argument_default_php extends views_plugin_argument_default { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['code'] = array('default' => ''); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['code'] = array( '#type' => 'textarea', @@ -27,11 +34,14 @@ class views_plugin_argument_default_php extends views_plugin_argument_default { '#description' => t('Enter PHP code that returns a value to use for this filter. Do not use <?php ?>. You must return only a single value for just this filter. Some variables are available: the view object will be "$view". The argument handler will be "$argument", for example you may change the title used for substitutions for this argument by setting "argument->validated_title"".'), ); - // Only do this if using one simple standard form gadget + // Only do this if using one simple standard form gadget. $this->check_access($form, 'code'); } - function convert_options(&$options) { + /** + * {@inheritdoc} + */ + public function convert_options(&$options) { if (!isset($options['code']) && isset($this->argument->options['default_argument_php'])) { $options['code'] = $this->argument->options['default_argument_php']; } @@ -41,11 +51,14 @@ class views_plugin_argument_default_php extends views_plugin_argument_default { * Only let users with PHP block visibility permissions set/modify this * default plugin. */ - function access() { + public function access() { return user_access('use PHP for settings'); } - function get_argument() { + /** + * {@inheritdoc} + */ + public function get_argument() { // set up variables to make it easier to reference during the argument. $view = &$this->view; $argument = &$this->argument; @@ -54,4 +67,5 @@ class views_plugin_argument_default_php extends views_plugin_argument_default { ob_end_clean(); return $result; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_raw.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_raw.inc index 385ca9126693f57800feefe95cab1a6df8b18077..4d42a89d588cf66b25d00c69488ae8a4dc25bbb4 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_raw.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_default_raw.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the raw value argument default plugin. + * Definition of views_plugin_argument_default_raw. */ /** @@ -11,7 +11,11 @@ * @ingroup views_argument_default_plugins */ class views_plugin_argument_default_raw extends views_plugin_argument_default { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['index'] = array('default' => ''); $options['use_alias'] = array('default' => FALSE, 'bool' => TRUE); @@ -19,7 +23,10 @@ class views_plugin_argument_default_raw extends views_plugin_argument_default { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); // Using range(1, 10) will create an array keyed 0-9, which allows arg() to // properly function since it is also zero-based. @@ -38,7 +45,10 @@ class views_plugin_argument_default_raw extends views_plugin_argument_default { ); } - function get_argument() { + /** + * {@inheritdoc} + */ + public function get_argument() { $path = NULL; if ($this->options['use_alias']) { $path = drupal_get_path_alias(); @@ -47,4 +57,5 @@ class views_plugin_argument_default_raw extends views_plugin_argument_default { return $arg; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate.inc index 350cb4395cb6fb45e39469afe893b66e48cbe019..19aebc74acca445c65b96a1d8e2ff1626051884e 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the base argument validator plugin. + * Definition of views_plugin_argument_validate. */ /** @@ -19,10 +19,9 @@ class views_plugin_argument_validate extends views_plugin { /** - * Initialize this plugin with the view and the argument - * it is linked to. + * Initialize this plugin with the view and the argument it is linked to. */ - function init(&$view, &$argument, $options) { + public function init(&$view, &$argument, $options) { $this->view = &$view; $this->argument = &$argument; @@ -31,25 +30,29 @@ class views_plugin_argument_validate extends views_plugin { } /** - * Retrieve the options when this is a new access - * control plugin + * Retrieve the options when this is a new access control plugin. */ - function option_definition() { return array(); } + public function option_definition() { + return array(); + } /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { } + public function options_form(&$form, &$form_state) { + } /** - * Provide the default form form for validating options + * Provide the default form form for validating options. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** * Provide the default form form for submitting options */ - function options_submit(&$form, &$form_state, &$options = array()) { } + public function options_submit(&$form, &$form_state, &$options = array()) { + } /** * Convert options from the older style. @@ -59,12 +62,15 @@ class views_plugin_argument_validate extends views_plugin { * move arguments from the old style to the new style. See * views_plugin_argument_default_fixed for a good example of this method. */ - function convert_options(&$options) { } + public function convert_options(&$options) { + } /** - * Determine if the administrator has the privileges to use this plugin + * Determine if the administrator has the privileges to use this plugin. */ - function access() { return TRUE; } + public function access() { + return TRUE; + } /** * If we don't have access to the form but are showing it anyway, ensure that @@ -73,7 +79,7 @@ class views_plugin_argument_validate extends views_plugin { * This is only called by child objects if specified in the options_form(), * so it will not always be used. */ - function check_access(&$form, $option_name) { + public function check_access(&$form, $option_name) { if (!$this->access()) { $form[$option_name]['#disabled'] = TRUE; $form[$option_name]['#value'] = $form[$this->option_name]['#default_value']; @@ -81,7 +87,12 @@ class views_plugin_argument_validate extends views_plugin { } } - function validate_argument($arg) { return TRUE; } + /** + * {@inheritdoc} + */ + public function validate_argument($arg) { + return TRUE; + } /** * Process the summary arguments for displaying. @@ -91,7 +102,9 @@ class views_plugin_argument_validate extends views_plugin { * for a faster query. But there are use cases where you want to use * the old value again, for example the summary. */ - function process_summary_arguments(&$args) { } + public function process_summary_arguments(&$args) { + } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_numeric.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_numeric.inc index 049531bbfa831ba306b4cd00b2f22fbd31f8169f..bb0abcb603110a2feae36f03acad785e97134ec3 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_numeric.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_numeric.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the numeric argument validator plugin. + * Definition of views_plugin_argument_validate_numeric. */ /** @@ -11,7 +11,12 @@ * @ingroup views_argument_validate_plugins */ class views_plugin_argument_validate_numeric extends views_plugin_argument_validate { - function validate_argument($argument) { + + /** + * {@inheritdoc} + */ + public function validate_argument($argument) { return is_numeric($argument); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_php.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_php.inc index 83b22b4a9434ba76dbd7b004274ca668184eaa63..1d6a137d9ca4ad8d50cd5b88b3daedde3e954691 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_php.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_argument_validate_php.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the php code argument validator plugin. + * Definition of views_plugin_argument_validate_php. */ /** @@ -11,14 +11,21 @@ * @ingroup views_argument_validate_plugins */ class views_plugin_argument_validate_php extends views_plugin_argument_validate { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['code'] = array('default' => ''); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['code'] = array( '#type' => 'textarea', @@ -34,17 +41,23 @@ class views_plugin_argument_validate_php extends views_plugin_argument_validate * Only let users with PHP block visibility permissions set/modify this * validate plugin. */ - function access() { + public function access() { return user_access('use PHP for settings'); } - function convert_options(&$options) { + /** + * {@inheritdoc} + */ + public function convert_options(&$options) { if (!isset($options['code']) && isset($this->argument->options['validate_argument_php'])) { $options['code'] = $this->argument->options['validate_argument_php']; } } - function validate_argument($argument) { + /** + * {@inheritdoc} + */ + public function validate_argument($argument) { // set up variables to make it easier to reference during the argument. $view = &$this->view; $handler = &$this->argument; @@ -54,4 +67,5 @@ class views_plugin_argument_validate_php extends views_plugin_argument_validate ob_end_clean(); return $result; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache.inc index d5d785f3cc00b070340f00bdcc8904bbd6f80065..6fdc5bbab177b7d46be8601498b7245952e41226 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache.inc @@ -17,31 +17,32 @@ * The base plugin to handle caching. */ class views_plugin_cache extends views_plugin { + /** * Contains all data that should be written/read from cache. */ - var $storage = array(); + public $storage = array(); /** * What table to store data in. */ - var $table = 'cache_views_data'; + public $table = 'cache_views_data'; /** * Initialize the plugin. * - * @param $view + * @param view $view * The view object. - * @param $display + * @param object $display * The display handler. */ - function init(&$view, &$display) { + public function init(&$view, &$display) { $this->view = &$view; $this->display = &$display; if (is_object($display->handler)) { $options = $display->handler->get_option('cache'); - // Overlay incoming options on top of defaults + // Overlay incoming options on top of defaults. $this->unpack_options($this->options, $options); } } @@ -50,7 +51,7 @@ class views_plugin_cache extends views_plugin { * Return a string to display as the clickable title for the * access control. */ - function summary_title() { + public function summary_title() { return t('Unknown'); } @@ -59,35 +60,37 @@ class views_plugin_cache extends views_plugin { * * Plugins must override this to implement expiration. * - * @param $type + * @param string $type * The cache type, either 'query', 'result' or 'output'. */ - function cache_expire($type) { } - - /** - * Determine expiration time in the cache table of the cache type - * or CACHE_PERMANENT if item shouldn't be removed automatically from cache. - * - * Plugins must override this to implement expiration in the cache table. - * - * @param $type - * The cache type, either 'query', 'result' or 'output'. - */ - function cache_set_expire($type) { - return CACHE_PERMANENT; + public function cache_expire($type) { } + /** + * Determine expiration time in the cache table of the cache type. + * + * Or CACHE_PERMANENT if item shouldn't be removed automatically from cache. + * + * Plugins must override this to implement expiration in the cache table. + * + * @param string $type + * The cache type, either 'query', 'result' or 'output'. + */ + public function cache_set_expire($type) { + return CACHE_PERMANENT; + } /** * Save data to the cache. * * A plugin should override this to provide specialized caching behavior. */ - function cache_set($type) { + public function cache_set($type) { switch ($type) { case 'query': // Not supported currently, but this is certainly where we'd put it. break; + case 'results': $data = array( 'result' => $this->view->result, @@ -96,6 +99,7 @@ class views_plugin_cache extends views_plugin { ); cache_set($this->get_results_key(), $data, $this->table, $this->cache_set_expire($type)); break; + case 'output': $this->gather_headers(); $this->storage['output'] = $this->view->display_handler->output; @@ -104,18 +108,18 @@ class views_plugin_cache extends views_plugin { } } - /** * Retrieve data from the cache. * * A plugin should override this to provide specialized caching behavior. */ - function cache_get($type) { + public function cache_get($type) { $cutoff = $this->cache_expire($type); switch ($type) { case 'query': // Not supported currently, but this is certainly where we'd put it. return FALSE; + case 'results': // Values to set: $view->result, $view->total_rows, $view->execute_time, // $view->current_page. @@ -129,6 +133,7 @@ class views_plugin_cache extends views_plugin { } } return FALSE; + case 'output': if ($cache = cache_get($this->get_output_key(), $this->table)) { if (!$cutoff || $cache->created > $cutoff) { @@ -145,18 +150,18 @@ class views_plugin_cache extends views_plugin { /** * Clear out cached data for a view. * - * We're just going to nuke anything related to the view, regardless of display, - * to be sure that we catch everything. Maybe that's a bad idea. + * We're just going to nuke anything related to the view, regardless of + * display, to be sure that we catch everything. Maybe that's a bad idea. */ - function cache_flush() { + public function cache_flush() { cache_clear_all($this->view->name . ':', $this->table, TRUE); } /** * Post process any rendered data. * - * This can be valuable to be able to cache a view and still have some level of - * dynamic output. In an ideal world, the actual output will include HTML + * This can be valuable to be able to cache a view and still have some level + * of dynamic output. In an ideal world, the actual output will include HTML * comment based tokens, and then the post process can replace those tokens. * * Example usage. If it is known that the view is a node view and that the @@ -172,7 +177,8 @@ class views_plugin_cache extends views_plugin { * All of the cached result data will be available in $view->result, as well, * so all ids used in the query should be discoverable. */ - function post_render(&$output) { } + public function post_render(&$output) { + } /** * Start caching javascript, css and other out of band info. @@ -181,7 +187,7 @@ class views_plugin_cache extends views_plugin { * duplicate it. Later on, when gather_headers() is run, this information * will be removed so that we don't hold onto it. */ - function cache_start() { + public function cache_start() { $this->storage['head'] = drupal_add_html_head(); $this->storage['css'] = drupal_add_css(); $this->storage['js'] = drupal_add_js(); @@ -189,10 +195,10 @@ class views_plugin_cache extends views_plugin { } /** - * Gather out of band data, compare it to what we started with and store the difference. + * Gather out of band data, compare it to the start data and store the diff. */ - function gather_headers() { - // Simple replacement for head + public function gather_headers() { + // Simple replacement for head. if (isset($this->storage['head'])) { $this->storage['head'] = str_replace($this->storage['head'], '', drupal_add_html_head()); } @@ -203,7 +209,7 @@ class views_plugin_cache extends views_plugin { // Check if the advanced mapping function of D 7.23 is available. $array_mapping_func = function_exists('drupal_array_diff_assoc_recursive') ? 'drupal_array_diff_assoc_recursive' : 'array_diff_assoc'; - // Slightly less simple for CSS: + // Slightly less simple for CSS. $css = drupal_add_css(); $css_start = isset($this->storage['css']) ? $this->storage['css'] : array(); $this->storage['css'] = $this->assetDiff($css, $css_start, $array_mapping_func); @@ -259,7 +265,7 @@ class views_plugin_cache extends views_plugin { /** * Restore out of band data saved to cache. Copied from Panels. */ - function restore_headers() { + public function restore_headers() { if (!empty($this->storage['head'])) { drupal_add_html_head($this->storage['head']); } @@ -287,7 +293,10 @@ class views_plugin_cache extends views_plugin { } } - function get_results_key() { + /** + * + */ + public function get_results_key() { if (!isset($this->_results_key)) { $key_data = array(); foreach (array('exposed_info', 'page', 'sort', 'order', 'items_per_page', 'offset') as $key) { @@ -302,7 +311,10 @@ class views_plugin_cache extends views_plugin { return $this->_results_key; } - function get_output_key() { + /** + * + */ + public function get_output_key() { if (!isset($this->_output_key)) { $key_data = array( 'result' => $this->view->result, @@ -323,19 +335,21 @@ class views_plugin_cache extends views_plugin { * * @return string */ - function get_cache_key($key_data = array()) { + public function get_cache_key($key_data = array()) { global $user; $key_data += array( 'roles' => array_keys($user->roles), - 'super-user' => $user->uid == 1, // special caching for super user. + 'super-user' => $user->uid == 1, + // special caching for super user. 'language' => $GLOBALS['language']->language, + 'language_content' => $GLOBALS['language_content']->language, 'base_url' => $GLOBALS['base_url'], ); if (empty($key_data['build_info'])) { $build_info = $this->view->build_info; - foreach (array('query','count_query') as $index) { + foreach (array('query', 'count_query') as $index) { // If the default query back-end is used generate SQL query strings from // the query objects. if ($build_info[$index] instanceof SelectQueryInterface) { @@ -348,9 +362,9 @@ class views_plugin_cache extends views_plugin { } } } - $key = md5(serialize($key_data)); - return $key; + return md5(serialize($key_data)); } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_none.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_none.inc index 9927a9d7138ddf462ce8a17a04dfcc2644086b09..ae5740410312edb64f753300ec385c4b29c8780c 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_none.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_none.inc @@ -11,15 +11,32 @@ * @ingroup views_cache_plugins */ class views_plugin_cache_none extends views_plugin_cache { - function cache_start() { /* do nothing */ } - function summary_title() { + /** + * {@inheritdoc} + */ + public function cache_start() { + // Do nothing. + } + + /** + * {@inheritdoc} + */ + public function summary_title() { return t('None'); } - function cache_get($type) { + /** + * {@inheritdoc} + */ + public function cache_get($type) { return FALSE; } - function cache_set($type) { } + /** + * {@inheritdoc} + */ + public function cache_set($type) { + } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_time.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_time.inc index c11a1925926e83a617100811ee07ee5ebb450d8a..efd717e548eb245594ea96249e8cba66bdc2aa88 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_time.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_cache_time.inc @@ -11,7 +11,11 @@ * @ingroup views_cache_plugins */ class views_plugin_cache_time extends views_plugin_cache { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['results_lifespan'] = array('default' => 3600); $options['results_lifespan_custom'] = array('default' => 0); @@ -21,7 +25,10 @@ class views_plugin_cache_time extends views_plugin_cache { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $options = array(60, 300, 1800, 3600, 21600, 518400); $options = drupal_map_assoc($options, 'format_interval'); @@ -67,27 +74,39 @@ class views_plugin_cache_time extends views_plugin_cache { ); } - function options_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { $custom_fields = array('output_lifespan', 'results_lifespan'); foreach ($custom_fields as $field) { if ($form_state['values']['cache_options'][$field] == 'custom' && !is_numeric($form_state['values']['cache_options'][$field . '_custom'])) { - form_error($form[$field .'_custom'], t('Custom time values must be numeric.')); + form_error($form[$field . '_custom'], t('Custom time values must be numeric.')); } } } - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { $results_lifespan = $this->get_lifespan('results'); $output_lifespan = $this->get_lifespan('output'); return format_interval($results_lifespan, 1) . '/' . format_interval($output_lifespan, 1); } - function get_lifespan($type) { + /** + * {@inheritdoc} + */ + public function get_lifespan($type) { $lifespan = $this->options[$type . '_lifespan'] == 'custom' ? $this->options[$type . '_lifespan_custom'] : $this->options[$type . '_lifespan']; return $lifespan; } - function cache_expire($type) { + /** + * {@inheritdoc} + */ + public function cache_expire($type) { $lifespan = $this->get_lifespan($type); if ($lifespan) { $cutoff = REQUEST_TIME - $lifespan; @@ -98,7 +117,10 @@ class views_plugin_cache_time extends views_plugin_cache { } } - function cache_set_expire($type) { + /** + * {@inheritdoc} + */ + public function cache_set_expire($type) { $lifespan = $this->get_lifespan($type); if ($lifespan) { return time() + $lifespan; @@ -108,14 +130,20 @@ class views_plugin_cache_time extends views_plugin_cache { } } - function cache_set($type) { + /** + * {@inheritdoc} + */ + public function cache_set($type) { $lifespan = $this->get_lifespan($type); if ($lifespan >= 0) { parent::cache_set($type); } } - function cache_get($type) { + /** + * {@inheritdoc} + */ + public function cache_get($type) { $lifespan = $this->get_lifespan($type); if ($lifespan >= 0) { return parent::cache_get($type); @@ -124,4 +152,5 @@ class views_plugin_cache_time extends views_plugin_cache { return FALSE; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display.inc index 0750fa835f1374fd3677ee874c09c563a8925a37..fd8de19e9a9f9319e4b34a277c800d956fadf04c 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the base display plugin. + * Definition of views_plugin_display. */ /** @@ -23,21 +23,28 @@ * basic mechanisms for different output methods. */ class views_plugin_display extends views_plugin { + /** * The top object of a view. * * @var view */ - var $view = NULL; + public $view = NULL; - var $handlers = array(); + /** + * + */ + public $handlers = array(); /** * Stores all available display extenders. */ - var $extender = array(); + public $extender = array(); - function init(&$view, &$display, $options = NULL) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$display, $options = NULL) { $this->view = &$view; $this->display = &$display; @@ -61,7 +68,7 @@ class views_plugin_display extends views_plugin { // Track changes that the user should know about. $changed = FALSE; - // Make some modifications: + // Make some modifications. if (!isset($options) && isset($display->display_options)) { $options = $display->display_options; } @@ -93,7 +100,7 @@ class views_plugin_display extends views_plugin { $this->unpack_options($this->options, $options); } - // Translate changed settings: + // Translate changed settings. $items_per_page = $this->get_option('items_per_page'); $offset = $this->get_option('offset'); $use_pager = $this->get_option('use_pager'); @@ -106,7 +113,7 @@ class views_plugin_display extends views_plugin { // for exported Views as it's not stored in the database. // If you would like to change this code, really take care that you thought // of every possibility. - // @TODO: Provide a way to convert the database views as well. + // @todo Provide a way to convert the database views as well. if (((!empty($items_per_page) && $items_per_page != 10) || !empty($offset) || !empty($use_pager)) || (!empty($view->api_version) && $view->api_version == 2)) { // Find out the right pager type. @@ -209,7 +216,8 @@ class views_plugin_display extends views_plugin { // Convert filter groups. $filter_groups = $this->get_option('filter_groups'); - // Only convert if it wasn't converted yet, which is the case if there is a 0 group. + // Only convert if it wasn't converted yet, which is the case if there is a + // 0 group. if (isset($filter_groups['groups'][0])) { // Update filter groups. $filter_groups ['groups'] = views_array_key_plus($filter_groups['groups']); @@ -253,7 +261,10 @@ class views_plugin_display extends views_plugin { } } - function destroy() { + /** + * {@inheritdoc} + */ + public function destroy() { parent::destroy(); foreach ($this->handlers as $type => $handlers) { @@ -277,13 +288,15 @@ class views_plugin_display extends views_plugin { * Determine if this display is the 'default' display which contains * fallback settings */ - function is_default_display() { return FALSE; } + public function is_default_display() { + return FALSE; + } /** * Determine if this display uses exposed filters, so the view * will know whether or not to build them. */ - function uses_exposed() { + public function uses_exposed() { if (!isset($this->has_exposed)) { foreach ($this->handlers as $type => $value) { foreach ($this->view->$type as $id => $handler) { @@ -314,14 +327,14 @@ class views_plugin_display extends views_plugin { * returns, exposed filters will not be used nor * displayed unless uses_exposed() returns TRUE. */ - function displays_exposed() { + public function displays_exposed() { return TRUE; } /** * Does the display use AJAX? */ - function use_ajax() { + public function use_ajax() { if (!empty($this->definition['use ajax'])) { return $this->get_option('use_ajax'); } @@ -331,7 +344,7 @@ class views_plugin_display extends views_plugin { /** * Does the display have a pager enabled? */ - function use_pager() { + public function use_pager() { $pager = $this->get_plugin('pager'); if ($pager) { return $pager->use_pager(); @@ -341,7 +354,7 @@ class views_plugin_display extends views_plugin { /** * Does the display have a more link enabled? */ - function use_more() { + public function use_more() { if (!empty($this->definition['use more'])) { return $this->get_option('use_more'); } @@ -351,14 +364,14 @@ class views_plugin_display extends views_plugin { /** * Does the display have groupby enabled? */ - function use_group_by() { + public function use_group_by() { return $this->get_option('group_by'); } /** * Should the enabled display more link be shown when no more items? */ - function use_more_always() { + public function use_more_always() { if (!empty($this->definition['use more'])) { return $this->get_option('use_more_always'); } @@ -367,11 +380,8 @@ class views_plugin_display extends views_plugin { /** * Should the enabled display more link being opened in an new window? - * - * @codingStandardsIgnoreStart */ - function use_more_open_new_window() { - // @codingStandardsIgnoreEnd + public function use_more_open_new_window() { if (!empty($this->definition['use more'])) { return $this->get_option('open_new_window'); } @@ -381,7 +391,7 @@ class views_plugin_display extends views_plugin { /** * Does the display have custom link text? */ - function use_more_text() { + public function use_more_text() { if (!empty($this->definition['use more'])) { return $this->get_option('use_more_text'); } @@ -391,7 +401,7 @@ class views_plugin_display extends views_plugin { /** * Can this display accept attachments? */ - function accept_attachments() { + public function accept_attachments() { if (empty($this->definition['accept attachments'])) { return FALSE; } @@ -408,13 +418,14 @@ class views_plugin_display extends views_plugin { /** * Allow displays to attach to other views. */ - function attach_to($display_id) { } + public function attach_to($display_id) { + } /** * Static member function to list which sections are defaultable * and what items each section contains. */ - function defaultable_sections($section = NULL) { + public function defaultable_sections($section = NULL) { $sections = array( 'access' => array('access', 'access_options'), 'access_options' => array('access', 'access_options'), @@ -496,7 +507,10 @@ class views_plugin_display extends views_plugin { } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = array( 'defaults' => array( 'default' => array( @@ -574,9 +588,9 @@ class views_plugin_display extends views_plugin { 'default' => FALSE, 'bool' => TRUE, ), - // This is legacy code: - // Items_per/offset/use_pager is moved to the pager plugin - // but the automatic update path needs this items defined, so don't remove it. + // This is legacy code. + // Items_per/offset/use_pager is moved to the pager plugin but the + // automatic update path needs this items defined, so don't remove it. // @see views_plugin_display::init() 'items_per_page' => array( 'default' => 10, @@ -618,8 +632,8 @@ class views_plugin_display extends views_plugin { 'default' => 1, ), - // These types are all plugins that can have individual settings - // and therefore need special handling. + // These types are all plugins that can have individual settings and + // therefore need special handling. 'access' => array( 'contains' => array( 'type' => array('default' => 'none', 'export' => 'export_plugin', 'unpack_translatable' => 'unpack_plugin'), @@ -761,32 +775,36 @@ class views_plugin_display extends views_plugin { * * By default, displays do not have a path. */ - function has_path() { return FALSE; } + public function has_path() { + return FALSE; + } /** * Check to see if the display has some need to link to another display. * - * For the most part, displays without a path will use a link display. However, - * sometimes displays that have a path might also need to link to another display. - * This is true for feeds. + * For the most part, displays without a path will use a link display. + * However, sometimes displays that have a path might also need to link to + * another display. This is true for feeds. */ - function uses_link_display() { return !$this->has_path(); } + public function uses_link_display() { + return !$this->has_path(); + } /** * Check to see if the display can put the exposed form in a block. * - * By default, displays that do not have a path cannot disconnect - * the exposed form and put it in a block, because the form has no - * place to go and Views really wants the forms to go to a specific - * page. + * By default, displays that do not have a path cannot disconnect the exposed + * form and put it in a block, because the form has no place to go and Views + * really wants the forms to go to a specific page. */ - function uses_exposed_form_in_block() { return $this->has_path(); } + public function uses_exposed_form_in_block() { + return $this->has_path(); + } /** - * Check to see which display to use when creating links within - * a view using this display. + * Check to see which display to use when creating links. */ - function get_link_display() { + public function get_link_display() { $display_id = $this->get_option('link_display'); // If unknown, pick the first one. if (empty($display_id) || empty($this->view->display[$display_id])) { @@ -805,10 +823,9 @@ class views_plugin_display extends views_plugin { /** * Return the base path to use for this display. * - * This can be overridden for displays that do strange things - * with the path. + * This can be overridden for displays that do strange things with the path. */ - function get_path() { + public function get_path() { if ($this->has_path()) { return $this->get_option('path'); } @@ -823,38 +840,41 @@ class views_plugin_display extends views_plugin { } } - function get_url() { + /** + * + */ + public function get_url() { return $this->view->get_url(); } /** - * Check to see if the display needs a breadcrumb + * Check to see if the display needs a breadcrumb. * - * By default, displays do not need breadcrumbs + * By default, displays do not need breadcrumbs. */ - function uses_breadcrumb() { return FALSE; } + public function uses_breadcrumb() { + return FALSE; + } /** - * Determine if a given option is set to use the default display or the - * current display + * Determine if a given option is set to use the default or current display. * * @return - * TRUE for the default display + * TRUE for the default display. */ - function is_defaulted($option) { + public function is_defaulted($option) { return !$this->is_default_display() && !empty($this->default_display) && !empty($this->options['defaults'][$option]); } /** - * Intelligently get an option either from this display or from the - * default display, if directed to do so. + * Intelligently get an option either from this or default display. */ - function get_option($option) { + public function get_option($option) { if ($this->is_defaulted($option)) { return $this->default_display->get_option($option); } - if (array_key_exists($option, $this->options)) { + if (isset($this->options[$option]) || array_key_exists($option, $this->options)) { return $this->options[$option]; } } @@ -862,7 +882,7 @@ class views_plugin_display extends views_plugin { /** * Determine if the display's style uses fields. */ - function uses_fields() { + public function uses_fields() { $plugin = $this->get_plugin(); if ($plugin) { return $plugin->uses_fields(); @@ -879,7 +899,7 @@ class views_plugin_display extends views_plugin { * * @return views_plugin|FALSE */ - function get_plugin($type = 'style', $name = NULL) { + public function get_plugin($type = 'style', $name = NULL) { static $cache = array(); if (!isset($cache[$type][$name])) { switch ($type) { @@ -890,8 +910,8 @@ class views_plugin_display extends views_plugin { if (!$name) { $name = $this->get_option($option_name); } - break; + case 'query': $views_data = views_fetch_data($this->view->base_table); $name = !empty($views_data['table']['base']['query class']) ? $views_data['table']['base']['query class'] : 'views_query'; @@ -902,8 +922,8 @@ class views_plugin_display extends views_plugin { $name = $options['type']; } - // access & cache store their options as siblings with the - // type; all others use an 'options' array. + // Access & cache store their options as siblings with the type; all + // others use an 'options' array. if ($type != 'access' && $type != 'cache') { $options = $options['options']; } @@ -935,7 +955,7 @@ class views_plugin_display extends views_plugin { /** * Get the handler object for a single handler. */ - function &get_handler($type, $id) { + public function &get_handler($type, $id) { if (!isset($this->handlers[$type])) { $this->get_handlers($type); } @@ -952,7 +972,7 @@ class views_plugin_display extends views_plugin { /** * Get a full array of handlers for $type. This caches them. */ - function &get_handlers($type) { + public function &get_handlers($type) { if (!isset($this->handlers[$type])) { $this->handlers[$type] = array(); $types = views_object_types(); @@ -1011,17 +1031,15 @@ class views_plugin_display extends views_plugin { } /** - * Retrieve a list of fields for the current display with the - * relationship associated if it exists. + * List of fields for the current display with the associated relationship. * - * @param $groupable_only + * @param $groupable_only * Return only an array of field labels from handler that return TRUE * from use_string_group_by method. */ - function get_field_labels() { - // Use func_get_arg so the function signature isn't amended - // but we can still pass TRUE into the function to filter - // by groupable handlers. + public function get_field_labels() { + // Use func_get_arg so the function signature isn't amended but we can + // still pass TRUE into the function to filter by groupable handlers. $args = func_get_args(); $groupable_only = isset($args[0]) ? $args[0] : FALSE; @@ -1057,7 +1075,7 @@ class views_plugin_display extends views_plugin { * Intelligently set an option either from this display or from the * default display, if directed to do so. */ - function set_option($option, $value) { + public function set_option($option, $value) { if ($this->is_defaulted($option)) { return $this->default_display->set_option($option, $value); } @@ -1072,7 +1090,7 @@ class views_plugin_display extends views_plugin { /** * Set an option and force it to be an override. */ - function override_option($option, $value) { + public function override_option($option, $value) { $this->set_override($option, FALSE); $this->set_option($option, $value); } @@ -1081,7 +1099,7 @@ class views_plugin_display extends views_plugin { * Because forms may be split up into sections, this provides * an easy URL to exactly the right section. Don't override this. */ - function option_link($text, $section, $class = '', $title = '') { + public function option_link($text, $section, $class = '', $title = '') { views_add_js('ajax'); if (!empty($class)) { $text = '<span>' . $text . '</span>'; @@ -1109,7 +1127,7 @@ class views_plugin_display extends views_plugin { * This function is similar to views_handler_field::get_render_tokens() * but without fields tokens. */ - function get_arguments_tokens() { + public function get_arguments_tokens() { $tokens = array(); if (!empty($this->view->build_info['substitutions'])) { $tokens = $this->view->build_info['substitutions']; @@ -1135,7 +1153,7 @@ class views_plugin_display extends views_plugin { * * This output is returned as an array. */ - function options_summary(&$categories, &$options) { + public function options_summary(&$categories, &$options) { $categories = array( 'title' => array( 'title' => t('Title'), @@ -1224,7 +1242,8 @@ class views_plugin_display extends views_plugin { 'desc' => t('Change the way content is formatted.'), ); - // This adds a 'Settings' link to the style_options setting if the style has options. + // This adds a 'Settings' link to the style_options setting if the style + // has options. if (!empty($style_plugin['uses options'])) { $options['style_plugin']['links']['style_options'] = t('Change settings for this format'); } @@ -1242,7 +1261,8 @@ class views_plugin_display extends views_plugin { 'setting' => $row_summary, 'desc' => t('Change the way each row in the view is styled.'), ); - // This adds a 'Settings' link to the row_options setting if the row style has options. + // This adds a 'Settings' link to the row_options setting if the row + // style has options. if (!empty($row_plugin['uses options'])) { $options['row_plugin']['links']['row_options'] = t('Change settings for this style'); } @@ -1274,7 +1294,7 @@ class views_plugin_display extends views_plugin { $pager_plugin = $this->get_plugin('pager'); if (!$pager_plugin) { - // default to the no pager plugin. + // Default to the no pager plugin. $pager_plugin = views_get_plugin('pager', 'none'); } @@ -1288,7 +1308,7 @@ class views_plugin_display extends views_plugin { 'desc' => t("Change this display's pager setting."), ); - // If pagers aren't allowed, change the text of the item: + // If pagers aren't allowed, change the text of the item. if (empty($this->definition['use pager'])) { $options['pager']['title'] = t('Items to display'); } @@ -1406,7 +1426,7 @@ class views_plugin_display extends views_plugin { $exposed_form_plugin = $this->get_plugin('exposed_form'); if (!$exposed_form_plugin) { - // default to the no cache control plugin. + // Default to the no cache control plugin. $exposed_form_plugin = views_get_plugin('exposed_form', 'basic'); } @@ -1451,7 +1471,7 @@ class views_plugin_display extends views_plugin { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); if ($this->defaultable_sections($form_state['section'])) { views_ui_standard_display_dropdown($form, $form_state, $form_state['section']); @@ -1480,6 +1500,7 @@ class views_plugin_display extends views_plugin { '#size' => 64, ); break; + case 'display_title': $form['#title'] .= t('The name and the description of this display'); $form['display_title'] = array( @@ -1495,6 +1516,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('display_description'), ); break; + case 'display_comment': $form['#title'] .= t("This display's comments"); $form['display_comment'] = array( @@ -1503,6 +1525,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('display_comment'), ); break; + case 'title': $form['#title'] .= t('The title of this view'); $form['title'] = array( @@ -1511,6 +1534,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('title'), ); break; + case 'css_class': $form['#title'] .= t('CSS class'); $form['css_class'] = array( @@ -1519,6 +1543,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('css_class'), ); break; + case 'use_ajax': $form['#title'] .= t('Use AJAX when available to load this view'); $form['description'] = array( @@ -1530,6 +1555,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('use_ajax') ? 1 : 0, ); break; + case 'hide_attachment_summary': $form['#title'] .= t('Hide attachments when displaying a contextual filter summary'); $form['hide_attachment_summary'] = array( @@ -1538,6 +1564,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('hide_attachment_summary') ? 1 : 0, ); break; + case 'hide_admin_links': $form['#title'] .= t('Hide contextual links on this view.'); $form['hide_admin_links'] = array( @@ -1545,7 +1572,8 @@ class views_plugin_display extends views_plugin { '#options' => array(1 => t('Yes'), 0 => t('No')), '#default_value' => $this->get_option('hide_admin_links') ? 1 : 0, ); - break; + break; + case 'use_more': $form['#title'] .= t('Add a more link to the bottom of the display.'); $form['use_more'] = array( @@ -1563,7 +1591,6 @@ class views_plugin_display extends views_plugin { 'edit-use-more' => array(TRUE), ), ); - $form['open_new_window'] = array( '#type' => 'checkbox', '#title' => t("Open 'more' link in new window (target='blank')"), @@ -1573,7 +1600,6 @@ class views_plugin_display extends views_plugin { 'edit-use-more' => array(TRUE), ), ); - $form['use_more_text'] = array( '#type' => 'textfield', '#title' => t('More link text'), @@ -1584,6 +1610,7 @@ class views_plugin_display extends views_plugin { ), ); break; + case 'group_by': $form['#title'] .= t('Allow grouping and aggregation (calculation) of fields.'); $form['group_by'] = array( @@ -1593,6 +1620,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('group_by'), ); break; + case 'access': $form['#title'] .= t('Access restrictions'); $form['access'] = array( @@ -1600,14 +1628,12 @@ class views_plugin_display extends views_plugin { '#suffix' => '</div>', '#tree' => TRUE, ); - $access = $this->get_option('access'); $form['access']['type'] = array( '#type' => 'radios', '#options' => views_fetch_plugin_names('access', NULL, array($this->view->base_table)), '#default_value' => $access['type'], ); - $access_plugin = views_fetch_plugin_data('access', $access['type']); if (!empty($access_plugin['uses options'])) { $form['markup'] = array( @@ -1616,8 +1642,8 @@ class views_plugin_display extends views_plugin { '#suffix' => '</div>', ); } - break; + case 'access_options': $access = $this->get_option('access'); $plugin = $this->get_plugin('access'); @@ -1629,7 +1655,6 @@ class views_plugin_display extends views_plugin { if (!empty($plugin->definition['module'])) { $form['#help_module'] = $plugin->definition['module']; } - $form['access_options'] = array( '#tree' => TRUE, ); @@ -1640,6 +1665,7 @@ class views_plugin_display extends views_plugin { $plugin->options_form($form['access_options'], $form_state); } break; + case 'cache': $form['#title'] .= t('Caching'); $form['cache'] = array( @@ -1647,14 +1673,12 @@ class views_plugin_display extends views_plugin { '#suffix' => '</div>', '#tree' => TRUE, ); - $cache = $this->get_option('cache'); $form['cache']['type'] = array( '#type' => 'radios', '#options' => views_fetch_plugin_names('cache', NULL, array($this->view->base_table)), '#default_value' => $cache['type'], ); - $cache_plugin = views_fetch_plugin_data('cache', $cache['type']); if (!empty($cache_plugin['uses options'])) { $form['markup'] = array( @@ -1664,6 +1688,7 @@ class views_plugin_display extends views_plugin { ); } break; + case 'cache_options': $cache = $this->get_option('cache'); $plugin = $this->get_plugin('cache'); @@ -1675,7 +1700,6 @@ class views_plugin_display extends views_plugin { if (!empty($plugin->definition['module'])) { $form['#help_module'] = $plugin->definition['module']; } - $form['cache_options'] = array( '#tree' => TRUE, ); @@ -1686,6 +1710,7 @@ class views_plugin_display extends views_plugin { $plugin->options_form($form['cache_options'], $form_state); } break; + case 'query': $query_options = $this->get_option('query'); $plugin_name = $query_options['type']; @@ -1699,7 +1724,6 @@ class views_plugin_display extends views_plugin { if (!empty($this->view->query->definition['module'])) { $form['#help_module'] = $this->view->query->definition['module']; } - $form['query'] = array( '#tree' => TRUE, 'type' => array( @@ -1710,10 +1734,10 @@ class views_plugin_display extends views_plugin { '#tree' => TRUE, ), ); - $this->view->query->options_form($form['query']['options'], $form_state); } break; + case 'field_language': $form['#title'] .= t('Field Language'); @@ -1756,6 +1780,7 @@ class views_plugin_display extends views_plugin { $form['field_language']['#markup'] = t("You don't have translatable entity types."); } break; + case 'style_plugin': $form['#title'] .= t('How should this view be styled'); $form['#help_topic'] = 'style'; @@ -1772,8 +1797,8 @@ class views_plugin_display extends views_plugin { '#markup' => '<div class="form-item description">' . t('You may also adjust the !settings for the currently selected style.', array('!settings' => $this->option_link(t('settings'), 'style_options'))) . '</div>', ); } - break; + case 'style_options': $form['#title'] .= t('Style options'); $style = TRUE; @@ -1784,7 +1809,7 @@ class views_plugin_display extends views_plugin { if (!isset($name)) { $name = $this->get_option('row_plugin'); } - // if row, $style will be empty. + // If row, $style will be empty. if (empty($style)) { $form['#title'] .= t('Row style options'); $type = 'row_plugin'; @@ -1803,6 +1828,7 @@ class views_plugin_display extends views_plugin { $plugin->options_form($form[$form_state['section']], $form_state); } break; + case 'row_plugin': $form['#title'] .= t('How should each row in this view be styled'); $form['#help_topic'] = 'style-row'; @@ -1818,8 +1844,8 @@ class views_plugin_display extends views_plugin { '#markup' => '<div class="form-item description">' . t('You may also adjust the !settings for the currently selected row style.', array('!settings' => $this->option_link(t('settings'), 'row_options'))) . '</div>', ); } - break; + case 'link_display': $form['#title'] .= t('Which display to use for path'); foreach ($this->view->display as $display_id => $display) { @@ -1838,14 +1864,14 @@ class views_plugin_display extends views_plugin { } $options = array(); - $count = 0; // This lets us prepare the key as we want it printed. + // This lets us prepare the key as we want it printed. + $count = 0; foreach ($this->view->display_handler->get_handlers('argument') as $arg => $handler) { $options[t('Arguments')]['%' . ++$count] = t('@argument title', array('@argument' => $handler->ui_name())); $options[t('Arguments')]['!' . $count] = t('@argument input', array('@argument' => $handler->ui_name())); } - // Default text. - // We have some options, so make a list. + // Default text. We have some options, so make a list. $output = ''; if (!empty($options)) { $output = t('<p>The following tokens are available for this link.</p>'); @@ -1872,6 +1898,7 @@ class views_plugin_display extends views_plugin { '#dependency' => array('radio:link_display' => array('custom_url')), ); break; + case 'analyze-theme': $form['#title'] .= t('Theming information'); $form['#help_topic'] = 'analyze-theme'; @@ -1902,7 +1929,7 @@ class views_plugin_display extends views_plugin { // The base themes should be initialized in the right order. $base_theme = array_reverse($base_theme); - // This code is copied directly from _drupal_theme_initialize() + // This code is copied directly from _drupal_theme_initialize(). $theme_engine = NULL; // Initialize the theme. @@ -1934,8 +1961,8 @@ class views_plugin_display extends views_plugin { $this->theme_registry = _theme_load_registry($theme, $base_theme, $theme_engine); } - // If there's a theme engine involved, we also need to know its extension - // so we can give the proper filename. + // If there's a theme engine involved, we also need to know its + // extension so we can give the proper filename. $this->theme_extension = '.tpl.php'; if (isset($theme_engine)) { $extension_function = $theme_engine . '_extension'; @@ -2042,6 +2069,7 @@ class views_plugin_display extends views_plugin { $form_state['ok_button'] = TRUE; break; + case 'analyze-theme-display': $form['#title'] .= t('Theming information (display)'); $output = '<p>' . t('Back to !info.', array('!info' => $this->option_link(t('theming information'), 'analyze-theme'))) . '</p>'; @@ -2067,6 +2095,7 @@ class views_plugin_display extends views_plugin { $form_state['ok_button'] = TRUE; break; + case 'analyze-theme-style': $form['#title'] .= t('Theming information (style)'); $output = '<p>' . t('Back to !info.', array('!info' => $this->option_link(t('theming information'), 'analyze-theme'))) . '</p>'; @@ -2094,6 +2123,7 @@ class views_plugin_display extends views_plugin { $form_state['ok_button'] = TRUE; break; + case 'analyze-theme-row': $form['#title'] .= t('Theming information (row style)'); $output = '<p>' . t('Back to !info.', array('!info' => $this->option_link(t('theming information'), 'analyze-theme'))) . '</p>'; @@ -2121,6 +2151,7 @@ class views_plugin_display extends views_plugin { $form_state['ok_button'] = TRUE; break; + case 'analyze-theme-field': $form['#title'] .= t('Theming information (row style)'); $output = '<p>' . t('Back to !info.', array('!info' => $this->option_link(t('theming information'), 'analyze-theme'))) . '</p>'; @@ -2148,6 +2179,7 @@ class views_plugin_display extends views_plugin { '#default_value' => $this->get_option('exposed_block') ? 1 : 0, ); break; + case 'exposed_form': $form['#title'] .= t('Exposed Form'); $form['exposed_form'] = array( @@ -2172,6 +2204,7 @@ class views_plugin_display extends views_plugin { ); } break; + case 'exposed_form_options': $plugin = $this->get_plugin('exposed_form'); $form['#title'] .= t('Exposed form options'); @@ -2189,6 +2222,7 @@ class views_plugin_display extends views_plugin { $plugin->options_form($form['exposed_form_options'], $form_state); } break; + case 'pager': $form['#title'] .= t('Select which pager, if any, to use for this view'); $form['pager'] = array( @@ -2212,8 +2246,8 @@ class views_plugin_display extends views_plugin { '#markup' => t('You may also adjust the !settings for the currently selected pager.', array('!settings' => $this->option_link(t('settings'), 'pager_options'))), ); } - break; + case 'pager_options': $plugin = $this->get_plugin('pager'); $form['#title'] .= t('Pager options'); @@ -2241,7 +2275,7 @@ class views_plugin_display extends views_plugin { /** * Format a list of theme templates for output by the theme info helper. */ - function format_themes($themes) { + public function format_themes($themes) { $registry = $this->theme_registry; $extension = $this->theme_extension; @@ -2269,19 +2303,21 @@ class views_plugin_display extends views_plugin { /** * Validate the options form. */ - function options_validate(&$form, &$form_state) { + public function options_validate(&$form, &$form_state) { switch ($form_state['section']) { case 'display_title': if (empty($form_state['values']['display_title'])) { form_error($form['display_title'], t('Display title may not be empty.')); } break; + case 'css_class': $css_class = $form_state['values']['css_class']; if (preg_match('/[^a-zA-Z0-9-_ ]/', $css_class)) { form_error($form['css_class'], t('CSS classes must be alphanumeric or dashes only.')); } - break; + break; + case 'display_id': if ($form_state['values']['display_id']) { if (preg_match('/[^a-z0-9_]/', $form_state['values']['display_id'])) { @@ -2295,6 +2331,7 @@ class views_plugin_display extends views_plugin { } } break; + case 'style_options': $style = TRUE; case 'row_options': @@ -2304,29 +2341,34 @@ class views_plugin_display extends views_plugin { $plugin->options_validate($form[$form_state['section']], $form_state); } break; + case 'access_options': $plugin = $this->get_plugin('access'); if ($plugin) { $plugin->options_validate($form['access_options'], $form_state); } break; + case 'query': if ($this->view->query) { $this->view->query->options_validate($form['query'], $form_state); } break; + case 'cache_options': $plugin = $this->get_plugin('cache'); if ($plugin) { $plugin->options_validate($form['cache_options'], $form_state); } break; + case 'exposed_form_options': $plugin = $this->get_plugin('exposed_form'); if ($plugin) { $plugin->options_validate($form['exposed_form_options'], $form_state); } break; + case 'pager_options': $plugin = $this->get_plugin('pager'); if ($plugin) { @@ -2344,7 +2386,7 @@ class views_plugin_display extends views_plugin { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { + public function options_submit(&$form, &$form_state) { // Not sure I like this being here, but it seems (?) like a logical place. $cache_plugin = $this->get_plugin('cache'); if ($cache_plugin) { @@ -2358,10 +2400,12 @@ class views_plugin_display extends views_plugin { $this->display->new_id = $form_state['values']['display_id']; } break; + case 'display_title': $this->display->display_title = $form_state['values']['display_title']; $this->set_option('display_description', $form_state['values']['display_description']); break; + case 'access': $access = $this->get_option('access'); if ($access['type'] != $form_state['values']['access']['type']) { @@ -2374,8 +2418,8 @@ class views_plugin_display extends views_plugin { } } } - break; + case 'access_options': $plugin = views_get_plugin('access', $form_state['values'][$section]['type']); if ($plugin) { @@ -2383,6 +2427,7 @@ class views_plugin_display extends views_plugin { $this->set_option('access', $form_state['values'][$section]); } break; + case 'cache': $cache = $this->get_option('cache'); if ($cache['type'] != $form_state['values']['cache']['type']) { @@ -2395,8 +2440,8 @@ class views_plugin_display extends views_plugin { } } } - break; + case 'cache_options': $plugin = views_get_plugin('cache', $form_state['values'][$section]['type']); if ($plugin) { @@ -2404,6 +2449,7 @@ class views_plugin_display extends views_plugin { $this->set_option('cache', $form_state['values'][$section]); } break; + case 'query': $plugin = $this->get_plugin('query'); if ($plugin) { @@ -2419,15 +2465,18 @@ class views_plugin_display extends views_plugin { case 'display_comment': $this->set_option($section, $form_state['values'][$section]); break; + case 'field_language': $this->set_option('field_language', $form_state['values']['field_language']); $this->set_option('field_language_add_to_query', $form_state['values']['field_language_add_to_query']); break; + case 'use_ajax': case 'hide_attachment_summary': case 'hide_admin_links': $this->set_option($section, (bool)$form_state['values'][$section]); break; + case 'use_more': $this->set_option($section, intval($form_state['values'][$section])); $this->set_option('use_more_always', !intval($form_state['values']['use_more_always'])); @@ -2436,9 +2485,11 @@ class views_plugin_display extends views_plugin { case 'distinct': $this->set_option($section, $form_state['values'][$section]); break; + case 'group_by': $this->set_option($section, $form_state['values'][$section]); break; + case 'row_plugin': // This if prevents resetting options to default if they don't change // the plugin. @@ -2455,6 +2506,7 @@ class views_plugin_display extends views_plugin { } } break; + case 'style_plugin': // This if prevents resetting options to default if they don't change // the plugin. @@ -2470,6 +2522,7 @@ class views_plugin_display extends views_plugin { } } break; + case 'style_options': $style = TRUE; case 'row_options': @@ -2480,9 +2533,11 @@ class views_plugin_display extends views_plugin { } $this->set_option($section, $form_state['values'][$section]); break; + case 'exposed_block': $this->set_option($section, (bool) $form_state['values'][$section]); break; + case 'exposed_form': $exposed_form = $this->get_option('exposed_form'); if ($exposed_form['type'] != $form_state['values']['exposed_form']['type']) { @@ -2495,8 +2550,8 @@ class views_plugin_display extends views_plugin { } } } - break; + case 'exposed_form_options': $plugin = $this->get_plugin('exposed_form'); if ($plugin) { @@ -2506,6 +2561,7 @@ class views_plugin_display extends views_plugin { $this->set_option('exposed_form', $exposed_form); } break; + case 'pager': $pager = $this->get_option('pager'); if ($pager['type'] != $form_state['values']['pager']['type']) { @@ -2522,8 +2578,8 @@ class views_plugin_display extends views_plugin { } } } - break; + case 'pager_options': $plugin = $this->get_plugin('pager'); if ($plugin) { @@ -2543,7 +2599,7 @@ class views_plugin_display extends views_plugin { /** * If override/revert was clicked, perform the proper toggle. */ - function options_override($form, &$form_state) { + public function options_override($form, &$form_state) { $this->set_override($form_state['section']); } @@ -2557,7 +2613,7 @@ class views_plugin_display extends views_plugin { * - TRUE: Revert to default. * - FALSE: Mark it as overridden. */ - function set_override($section, $new_state = NULL) { + public function set_override($section, $new_state = NULL) { $options = $this->defaultable_sections($section); if (!$options) { return; @@ -2587,28 +2643,29 @@ class views_plugin_display extends views_plugin { /** * Inject anything into the query that the display handler needs. */ - function query() { + public function query() { foreach ($this->extender as $extender) { $extender->query(); } } /** - * Not all display plugins will support filtering + * Not all display plugins will support filtering. */ - function render_filters() { } + public function render_filters() { + } /** * Not all display plugins will suppert pager rendering. */ - function render_pager() { + public function render_pager() { return TRUE; } /** - * Render the 'more' link + * Render the 'more' link. */ - function render_more_link() { + public function render_more_link() { if ($this->use_more() && ($this->use_more_always() || (!empty($this->view->query->pager) && $this->view->query->pager->has_more_records()))) { $path = $this->get_path(); @@ -2650,7 +2707,6 @@ class views_plugin_display extends views_plugin { } } - /** * Legacy functions. */ @@ -2658,7 +2714,7 @@ class views_plugin_display extends views_plugin { /** * Render the header of the view. */ - function render_header() { + public function render_header() { $empty = !empty($this->view->result); return $this->render_area('header', $empty); } @@ -2666,33 +2722,43 @@ class views_plugin_display extends views_plugin { /** * Render the footer of the view. */ - function render_footer() { + public function render_footer() { $empty = !empty($this->view->result); return $this->render_area('footer', $empty); } - function render_empty() { + /** + * + */ + public function render_empty() { return $this->render_area('empty'); } /** * If this display creates a block, implement one of these. */ - function hook_block_list($delta = 0, $edit = array()) { return array(); } + public function hook_block_list($delta = 0, $edit = array()) { + return array(); + } /** * If this display creates a page with a menu item, implement it here. */ - function hook_menu() { return array(); } + public function hook_menu() { + return array(); + } /** * Render this display. */ - function render() { + public function render() { return theme($this->theme_functions(), array('view' => $this->view)); } - function render_area($area, $empty = FALSE) { + /** + * + */ + public function render_area($area, $empty = FALSE) { $return = ''; foreach ($this->get_handlers($area) as $area) { $return .= $area->render($empty); @@ -2700,11 +2766,10 @@ class views_plugin_display extends views_plugin { return $return; } - /** * Determine if the user has access to this display of the view. */ - function access($account = NULL) { + public function access($account = NULL) { if (!isset($account)) { global $user; $account = $user; @@ -2720,7 +2785,7 @@ class views_plugin_display extends views_plugin { return $plugin->access($account); } - // fallback to all access if no plugin. + // Fallback to all access if no plugin. return TRUE; } @@ -2729,7 +2794,7 @@ class views_plugin_display extends views_plugin { * from execute because they are extremely common and unlikely to be * overridden on an individual display. */ - function pre_execute() { + public function pre_execute() { $this->view->set_use_ajax($this->use_ajax()); if ($this->use_more() && !$this->use_more_always()) { $this->view->get_total_rows = TRUE; @@ -2755,27 +2820,35 @@ class views_plugin_display extends views_plugin { * * The base class cannot be executed. */ - function execute() { } + public function execute() { + } /** - * Fully render the display for the purposes of a live preview or - * some other AJAXy reason. + * Fully render the display. + * + * Used for the purposes of a live preview or some other AJAXy reason. */ - function preview() { return $this->view->render(); } + public function preview() { + return $this->view->render(); + } /** - * Displays can require a certain type of style plugin. By default, they will - * be 'normal'. + * Displays can require a certain type of style plugin. + * + * By default, they will be 'normal'. */ - function get_style_type() { return 'normal'; } + public function get_style_type() { + return 'normal'; + } /** * Make sure the display and all associated handlers are valid. * * @return - * Empty array if the display is valid; an array of error strings if it is not. + * Empty array if the display is valid; an array of error strings if it is + * not. */ - function validate() { + public function validate() { $errors = array(); // Make sure displays that use fields HAVE fields. if ($this->uses_fields()) { @@ -2795,7 +2868,7 @@ class views_plugin_display extends views_plugin { $errors[] = t('Display "@display" uses a path but the path is undefined.', array('@display' => $this->display->display_title)); } - // Validate style plugin + // Validate style plugin. $style = $this->get_plugin(); if (empty($style)) { $errors[] = t('Display "@display" has an invalid style plugin.', array('@display' => $this->display->display_title)); @@ -2814,7 +2887,7 @@ class views_plugin_display extends views_plugin { $errors = array_merge($errors, $result); } - // Validate handlers + // Validate handlers. foreach (views_object_types() as $type => $info) { foreach ($this->get_handlers($type) as $handler) { $result = $handler->validate(); @@ -2837,9 +2910,8 @@ class views_plugin_display extends views_plugin { * * @return bool * Returns whether the identifier is unique on all handlers. - * */ - function is_identifier_unique($id, $identifier) { + public function is_identifier_unique($id, $identifier) { foreach (views_object_types() as $type => $info) { foreach ($this->get_handlers($type) as $key => $handler) { if ($handler->can_expose() && $handler->is_exposed()) { @@ -2862,7 +2934,7 @@ class views_plugin_display extends views_plugin { /** * Provide the block system with any exposed widget blocks for this display. */ - function get_special_blocks() { + public function get_special_blocks() { $blocks = array(); if ($this->uses_exposed_form_in_block()) { @@ -2881,7 +2953,7 @@ class views_plugin_display extends views_plugin { /** * Render any special blocks provided for this display. */ - function view_special_blocks($type) { + public function view_special_blocks($type) { if ($type == '-exp') { // avoid interfering with the admin forms. if (arg(0) == 'admin' && arg(1) == 'structure' && arg(2) == 'views') { @@ -2901,11 +2973,13 @@ class views_plugin_display extends views_plugin { /** * Override of export_option() * - * Because displays do not want to export options that are NOT overridden from the - * default display, we need some special handling during the export process. + * Because displays do not want to export options that are NOT overridden from + * the default display, we need some special handling during the export + * process. */ - function export_option($indent, $prefix, $storage, $option, $definition, $parents) { - // The $prefix is wrong because we store our actual options a little differently: + public function export_option($indent, $prefix, $storage, $option, $definition, $parents) { + // The $prefix is wrong because we store our actual options a little + // differently. $prefix = '$handler->display->display_options'; $output = ''; if (!$parents && !$this->is_default_display()) { @@ -2914,8 +2988,8 @@ class views_plugin_display extends views_plugin { return; } - // If this is not defaulted and is overrideable, flip the switch to say this - // is overridden. + // If this is not defaulted and is overrideable, flip the switch to say + // this is overridden. if ($this->defaultable_sections($option)) { $output .= $indent . $prefix . "['defaults']['$option'] = FALSE;\n"; } @@ -2928,15 +3002,15 @@ class views_plugin_display extends views_plugin { /** * Special method to export items that have handlers. * - * This method was specified in the option_definition() as the method to utilize to - * export fields, filters, sort criteria, relationships and arguments. This passes - * the export off to the individual handlers so that they can export themselves - * properly. + * This method was specified in the option_definition() as the method to + * utilize to export fields, filters, sort criteria, relationships and + * arguments. This passes the export off to the individual handlers so that + * they can export themselves properly. */ - function export_handler($indent, $prefix, $storage, $option, $definition, $parents) { + public function export_handler($indent, $prefix, $storage, $option, $definition, $parents) { $output = ''; - // cut the 's' off because the data is stored as the plural form but we need + // Cut the 's' off because the data is stored as the plural form but we need // the singular form. Who designed that anyway? Oh yeah, I did. :( if ($option != 'header' && $option != 'footer' && $option != 'empty') { $type = substr($option, 0, -1); @@ -2986,7 +3060,7 @@ class views_plugin_display extends views_plugin { * row_options accordingly. The options are told not to export, and the * export for the plugin should export both. */ - function export_style($indent, $prefix, $storage, $option, $definition, $parents) { + public function export_style($indent, $prefix, $storage, $option, $definition, $parents) { $output = ''; $style_plugin = $this->get_plugin(); if ($option == 'style_plugin') { @@ -3025,7 +3099,7 @@ class views_plugin_display extends views_plugin { * array, but for legacy plugins (access and cache) options are stored as * siblings to the type. */ - function export_plugin($indent, $prefix, $storage, $option, $definition, $parents) { + public function export_plugin($indent, $prefix, $storage, $option, $definition, $parents) { $output = ''; $plugin_type = end($parents); $plugin = $this->get_plugin($plugin_type); @@ -3047,7 +3121,10 @@ class views_plugin_display extends views_plugin { return $output; } - function unpack_style($indent, $prefix, $storage, $option, $definition, $parents) { + /** + * + */ + public function unpack_style($indent, $prefix, $storage, $option, $definition, $parents) { $output = ''; $style_plugin = $this->get_plugin(); if ($option == 'style_plugin') { @@ -3074,7 +3151,7 @@ class views_plugin_display extends views_plugin { /** * Special handling for plugin unpacking. */ - function unpack_plugin(&$translatable, $storage, $option, $definition, $parents) { + public function unpack_plugin(&$translatable, $storage, $option, $definition, $parents) { $plugin_type = end($parents); $plugin = $this->get_plugin($plugin_type); if ($plugin) { @@ -3083,18 +3160,18 @@ class views_plugin_display extends views_plugin { } } - /** + /** * Special method to unpack items that have handlers. * - * This method was specified in the option_definition() as the method to utilize to - * export fields, filters, sort criteria, relationships and arguments. This passes - * the export off to the individual handlers so that they can export themselves - * properly. + * This method was specified in the option_definition() as the method to + * utilize to export fields, filters, sort criteria, relationships and + * arguments. This passes the export off to the individual handlers so that + * they can export themselves properly. */ - function unpack_handler(&$translatable, $storage, $option, $definition, $parents) { + public function unpack_handler(&$translatable, $storage, $option, $definition, $parents) { $output = ''; - // cut the 's' off because the data is stored as the plural form but we need + // Cut the 's' off because the data is stored as the plural form but we need // the singular form. Who designed that anyway? Oh yeah, I did. :( if ($option != 'header' && $option != 'footer' && $option != 'empty') { $type = substr($option, 0, -1); @@ -3125,6 +3202,7 @@ class views_plugin_display extends views_plugin { /** * Provide some helpful text for the arguments. + * * The result should contain of an array with * - filter value present: The title of the fieldset in the argument * where you can configure what should be done with a given argument. @@ -3134,7 +3212,7 @@ class views_plugin_display extends views_plugin { * - description: A description about how arguments comes to the display. * For example blocks don't get it from url. */ - function get_argument_text() { + public function get_argument_text() { return array( 'filter value not present' => t('When the filter value is <em>NOT</em> available'), 'filter value present' => t('When the filter value <em>IS</em> available or a default is provided'), @@ -3148,14 +3226,14 @@ class views_plugin_display extends views_plugin { * The result should contain of an array within * - items per page title */ - function get_pager_text() { + public function get_pager_text() { return array( 'items per page title' => t('Items to display'), 'items per page description' => t('The number of items to display. Enter 0 for no limit.') ); } -} +} /** * @} diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_attachment.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_attachment.inc index 8608cfc8973adf3ab3ce154a27c9c84c393b947f..c80771a09eaf89a6baf0a02aede7e5c4fc409802 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_attachment.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_attachment.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the attachment display plugin. + * Definition of views_plugin_display_attachment. */ /** @@ -15,7 +15,11 @@ * @ingroup views_display_plugins */ class views_plugin_display_attachment extends views_plugin_display { - function option_definition () { + + /** + * {@inheritdoc} + */ + public function option_definition () { $options = parent::option_definition(); $options['displays'] = array('default' => array()); @@ -28,11 +32,17 @@ class views_plugin_display_attachment extends views_plugin_display { return $options; } - function execute() { + /** + * {@inheritdoc} + */ + public function execute() { return $this->view->render($this->display->id); } - function attachment_positions($position = NULL) { + /** + * {@inheritdoc} + */ + public function attachment_positions($position = NULL) { $positions = array( 'before' => t('Before'), 'after' => t('After'), @@ -51,8 +61,8 @@ class views_plugin_display_attachment extends views_plugin_display { * * This output is returned as an array. */ - function options_summary(&$categories, &$options) { - // It is very important to call the parent function here: + public function options_summary(&$categories, &$options) { + // It is very important to call the parent function here. parent::options_summary($categories, $options); $categories['attachment'] = array( @@ -119,8 +129,8 @@ class views_plugin_display_attachment extends views_plugin_display { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { - // It is very important to call the parent function here: + public function options_form(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_form($form, $form_state); switch ($form_state['section']) { @@ -133,6 +143,7 @@ class views_plugin_display_attachment extends views_plugin_display { '#default_value' => $this->get_option('inherit_arguments'), ); break; + case 'inherit_exposed_filters': $form['#title'] .= t('Inherit exposed filters'); $form['inherit_exposed_filters'] = array( @@ -142,6 +153,7 @@ class views_plugin_display_attachment extends views_plugin_display { '#default_value' => $this->get_option('inherit_exposed_filters'), ); break; + case 'inherit_pager': $form['#title'] .= t('Inherit pager'); $form['inherit_pager'] = array( @@ -151,6 +163,7 @@ class views_plugin_display_attachment extends views_plugin_display { '#default_value' => $this->get_option('inherit_pager'), ); break; + case 'render_pager': $form['#title'] .= t('Render pager'); $form['render_pager'] = array( @@ -160,6 +173,7 @@ class views_plugin_display_attachment extends views_plugin_display { '#default_value' => $this->get_option('render_pager'), ); break; + case 'attachment_position': $form['#title'] .= t('Position'); $form['attachment_position'] = array( @@ -169,6 +183,7 @@ class views_plugin_display_attachment extends views_plugin_display { '#default_value' => $this->get_option('attachment_position'), ); break; + case 'displays': $form['#title'] .= t('Attach to'); $displays = array(); @@ -191,8 +206,8 @@ class views_plugin_display_attachment extends views_plugin_display { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { - // It is very important to call the parent function here: + public function options_submit(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_submit($form, $form_state); switch ($form_state['section']) { case 'inherit_arguments': @@ -209,7 +224,7 @@ class views_plugin_display_attachment extends views_plugin_display { /** * Attach to another view. */ - function attach_to($display_id) { + public function attach_to($display_id) { $displays = $this->get_option('displays'); if (empty($displays[$display_id])) { @@ -220,8 +235,8 @@ class views_plugin_display_attachment extends views_plugin_display { return; } - // Get a fresh view because our current one has a lot of stuff on it because it's - // already been executed. + // Get a fresh view because our current one has a lot of stuff on it + // because it's already been executed. $view = $this->view->clone_view(); $view->original_args = $view->args; @@ -241,9 +256,11 @@ class views_plugin_display_attachment extends views_plugin_display { case 'before': $this->view->attachment_before .= $attachment; break; + case 'after': $this->view->attachment_after .= $attachment; break; + case 'both': $this->view->attachment_before .= $attachment; $this->view->attachment_after .= $attachment; @@ -254,11 +271,10 @@ class views_plugin_display_attachment extends views_plugin_display { } /** - * Attachment displays only use exposed widgets if - * they are set to inherit the exposed filter settings - * of their parent display. + * Attachment displays only use exposed widgets if they are set to inherit + * the exposed filter settings of their parent display. */ - function uses_exposed() { + public function uses_exposed() { if (!empty($this->options['inherit_exposed_filters']) && parent::uses_exposed()) { return TRUE; } @@ -266,19 +282,26 @@ class views_plugin_display_attachment extends views_plugin_display { } /** - * If an attachment is set to inherit the exposed filter - * settings from its parent display, then don't render and - * display a second set of exposed filter widgets. + * If an attachment is set to inherit the exposed filter settings from its + * parent display, then don't render and display a second set of exposed + * filter widgets. */ - function displays_exposed() { + public function displays_exposed() { return $this->options['inherit_exposed_filters'] ? FALSE : TRUE; } - function use_pager() { + /** + * {@inheritdoc} + */ + public function use_pager() { return !empty($this->use_pager); } - function render_pager() { + /** + * {@inheritdoc} + */ + public function render_pager() { return !empty($this->use_pager) && $this->get_option('render_pager'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_block.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_block.inc index 88d22d0c5f9cc91842a649518d0777e5b1a765ad..9fc01119d80ce82ae4d592f666c5240378ef1611 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_block.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_block.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the block display plugin. + * Definition of views_plugin_display_block. */ /** @@ -11,7 +11,11 @@ * @ingroup views_display_plugins */ class views_plugin_display_block extends views_plugin_display { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['block_description'] = array('default' => '', 'translatable' => TRUE); @@ -25,7 +29,7 @@ class views_plugin_display_block extends views_plugin_display { * but extended block handlers might be able to do interesting * stuff with it. */ - function execute_hook_block_list($delta = 0, $edit = array()) { + public function execute_hook_block_list($delta = 0, $edit = array()) { $delta = $this->view->name . '-' . $this->display->id; $desc = $this->get_option('block_description'); @@ -40,7 +44,7 @@ class views_plugin_display_block extends views_plugin_display { return array( $delta => array( 'info' => $desc, - 'cache' => $this->get_cache_type() + 'cache' => $this->get_cache_type(), ), ); } @@ -48,7 +52,7 @@ class views_plugin_display_block extends views_plugin_display { /** * The display block handler returns the structure necessary for a block. */ - function execute() { + public function execute() { // Prior to this being called, the $view should already be set to this // display, and arguments should be set on the view. $info['content'] = $this->view->render(); @@ -64,8 +68,8 @@ class views_plugin_display_block extends views_plugin_display { * * This output is returned as an array. */ - function options_summary(&$categories, &$options) { - // It is very important to call the parent function here: + public function options_summary(&$categories, &$options) { + // It is very important to call the parent function here. parent::options_summary($categories, $options); $categories['block'] = array( @@ -98,7 +102,7 @@ class views_plugin_display_block extends views_plugin_display { /** * Provide a list of core's block caching modes. */ - function block_caching_modes() { + public function block_caching_modes() { return array( DRUPAL_NO_CACHE => t('Do not cache'), DRUPAL_CACHE_GLOBAL => t('Cache once for everything (global)'), @@ -114,7 +118,7 @@ class views_plugin_display_block extends views_plugin_display { * Provide a single method to figure caching type, keeping a sensible default * for when it's unset. */ - function get_cache_type() { + public function get_cache_type() { $cache_type = $this->get_option('block_caching'); if (empty($cache_type)) { $cache_type = DRUPAL_NO_CACHE; @@ -125,8 +129,8 @@ class views_plugin_display_block extends views_plugin_display { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { - // It is very important to call the parent function here: + public function options_form(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_form($form, $form_state); switch ($form_state['section']) { @@ -138,6 +142,7 @@ class views_plugin_display_block extends views_plugin_display { '#default_value' => $this->get_option('block_description'), ); break; + case 'block_caching': $form['#title'] .= t('Block caching type'); @@ -148,6 +153,7 @@ class views_plugin_display_block extends views_plugin_display { '#default_value' => $this->get_cache_type(), ); break; + case 'exposed_form_options': $this->view->init_handlers(); if (!$this->uses_exposed() && parent::uses_exposed()) { @@ -156,6 +162,7 @@ class views_plugin_display_block extends views_plugin_display { '#markup' => '<div class="messages warning">' . t('Exposed filters in block displays require "Use AJAX" to be set to work correctly.') . '</div>', ); } + break; } } @@ -163,19 +170,21 @@ class views_plugin_display_block extends views_plugin_display { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { - // It is very important to call the parent function here: + public function options_submit(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_submit($form, $form_state); switch ($form_state['section']) { case 'display_id': $this->update_block_bid($form_state['view']->name, $this->display->id, $this->display->new_id); break; + case 'block_description': $this->set_option('block_description', $form_state['values']['block_description']); break; + case 'block_caching': $this->set_option('block_caching', $form_state['values']['block_caching']); - $this->save_block_cache($form_state['view']->name . '-'. $form_state['display_id'], $form_state['values']['block_caching']); + $this->save_block_cache($form_state['view']->name . '-' . $form_state['display_id'], $form_state['values']['block_caching']); break; } } @@ -183,17 +192,17 @@ class views_plugin_display_block extends views_plugin_display { /** * Block views use exposed widgets only if AJAX is set. */ - function uses_exposed() { - if ($this->use_ajax()) { - return parent::uses_exposed(); - } - return FALSE; + public function uses_exposed() { + if ($this->use_ajax()) { + return parent::uses_exposed(); } + return FALSE; + } /** - * Update the block delta when you change the machine readable name of the display. + * Update the block delta when the machine name of the display changes. */ - function update_block_bid($name, $old_delta, $delta) { + public function update_block_bid($name, $old_delta, $delta) { $old_hashes = $hashes = variable_get('views_block_hashes', array()); $old_delta = $name . '-' . $old_delta; @@ -224,21 +233,22 @@ class views_plugin_display_block extends views_plugin_display { /** * Save the block cache setting in the blocks table if this block already - * exists in the blocks table. Dirty fix until http://drupal.org/node/235673 gets in. + * exists in the blocks table. Dirty fix until http://drupal.org/node/235673 + * gets in. */ - function save_block_cache($delta, $cache_setting) { + public function save_block_cache($delta, $cache_setting) { if (strlen($delta) >= 32) { $delta = md5($delta); } - if (db_table_exists('block') && $bid = db_query("SELECT bid FROM {block} WHERE module = 'views' AND delta = :delta", array( - ':delta' => $delta))->fetchField()) { + if (db_table_exists('block') && $bid = db_query("SELECT bid FROM {block} WHERE module = 'views' AND delta = :delta", array(':delta' => $delta))->fetchField()) { db_update('block') ->fields(array( - 'cache' => $cache_setting, + 'cache' => $cache_setting, )) - ->condition('module','views') + ->condition('module', 'views') ->condition('delta', $delta) ->execute(); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_default.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_default.inc index 4b1fc086d3117431f7d1967a9bf940fa45391ab5..9531013ef47af813f4c435e40e634b8106316dcb 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_default.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_default.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the default display plugin. + * Definition of views_plugin_display_default. */ /** @@ -11,11 +11,14 @@ * @ingroup views_display_plugins */ class views_plugin_display_default extends views_plugin_display { + /** * Determine if this display is the 'default' display which contains - * fallback settings + * fallback settings. */ - function is_default_display() { return TRUE; } + public function is_default_display() { + return TRUE; + } /** * The default execute handler fully renders the view. @@ -26,32 +29,34 @@ class views_plugin_display_default extends views_plugin_display { * @endcode * * For more complex usages, a view can be partially built: + * * @code * $view->set_arguments($args); - * $view->build('default'); // Build the query + * $view->build('default'); // Build the query. * $view->pre_execute(); // Pre-execute the query. - * $view->execute(); // Run the query - * $output = $view->render(); // Render the view + * $view->execute(); // Run the query. + * $output = $view->render(); // Render the view. * @endcode * - * If short circuited at any point, look in $view->build_info for - * information about the query. After execute, look in $view->result - * for the array of objects returned from db_query. + * If short circuited at any point, look in $view->build_info for information + * about the query. After execute, look in $view->result for the array of + * objects returned from db_query. * * You can also do: + * * @code * $view->set_arguments($args); - * $output = $view->render('default'); // Render the view + * $output = $view->render('default'); // Render the view. * @endcode * - * This illustrates that render is smart enough to call build and execute - * if these items have not already been accomplished. + * This illustrates that render is smart enough to call build and execute if + * these items have not already been accomplished. * - * Note that execute also must accomplish other tasks, such - * as setting page titles, breadcrumbs, and generating exposed filter - * data if necessary. + * Note that execute also must accomplish other tasks, such as setting page + * titles, breadcrumbs, and generating exposed filter data if necessary. */ - function execute() { + public function execute() { return $this->view->render($this->display->id); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_embed.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_embed.inc index 8b25cf9611171e5168ff88c8c944e6771ad66d57..65cc6cadf662aef53fe28b2bc3606d02c22e5fdb 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_embed.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_embed.inc @@ -1,7 +1,8 @@ <?php + /** * @file - * Contains the embed display plugin. + * Definition of views_plugin_display_embed. */ /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_extender.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_extender.inc index 08e981a7705860e659979691fda9ad3ad4c259b9..05cafd5b3edfaa6d14018867d575a174f28d204f 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_extender.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_extender.inc @@ -11,52 +11,64 @@ * @ingroup views_display_plugins */ class views_plugin_display_extender extends views_plugin { - function init(&$view, &$display) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$display) { $this->view = $view; $this->display = $display; } - /** * Provide a form to edit options for this plugin. */ - function options_definition_alter(&$options) { } + public function options_definition_alter(&$options) { + } /** * Provide a form to edit options for this plugin. */ - function options_form(&$form, &$form_state) { } + public function options_form(&$form, &$form_state) { + } /** * Validate the options form. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** * Handle any special handling on the validate form. */ - function options_submit(&$form, &$form_state) { } + public function options_submit(&$form, &$form_state) { + } /** * Set up any variables on the view prior to execution. */ - function pre_execute() { } + public function pre_execute() { + } /** * Inject anything into the query that the display_extender handler needs. */ - function query() { } + public function query() { + } /** * Provide the default summary for options in the views UI. * * This output is returned as an array. */ - function options_summary(&$categories, &$options) { } + public function options_summary(&$categories, &$options) { + } /** * Static member function to list which sections are defaultable * and what items each section contains. */ - function defaultable_sections(&$sections, $section = NULL) { } + public function defaultable_sections(&$sections, $section = NULL) { + } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_feed.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_feed.inc index 5eb68e32120ee9e838cbe1d9c1f799655ec0c9f8..07e5bc2fa5b59d6945f2801cf4cc7250dcc41cfd 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_feed.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_feed.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the feed display plugin. + * Definition of views_plugin_display_feed. */ /** @@ -13,7 +13,11 @@ * @ingroup views_display_plugins */ class views_plugin_display_feed extends views_plugin_display_page { - function init(&$view, &$display, $options = NULL) { + + /** + * {@inheritdoc} + */ + public function init(&$view, &$display, $options = NULL) { parent::init($view, $display, $options); // Set the default row style. Ideally this would be part of the option @@ -26,15 +30,26 @@ class views_plugin_display_feed extends views_plugin_display_page { } } - function uses_breadcrumb() { return FALSE; } - function get_style_type() { return 'feed'; } + /** + * {@inheritdoc} + */ + public function uses_breadcrumb() { + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function get_style_type() { + return 'feed'; + } /** * Feeds do not go through the normal page theming mechanism. Instead, they * go through their own little theme function and then return NULL so that * Drupal believes that the page has already rendered itself...which it has. */ - function execute() { + public function execute() { $output = $this->view->render(); if (empty($output)) { return MENU_NOT_FOUND; @@ -42,7 +57,10 @@ class views_plugin_display_feed extends views_plugin_display_page { print $output; } - function preview() { + /** + * {@inheritdoc} + */ + public function preview() { if (!empty($this->view->live_preview)) { return '<pre>' . check_plain($this->view->render()) . '</pre>'; } @@ -53,11 +71,14 @@ class views_plugin_display_feed extends views_plugin_display_page { * Instead of going through the standard views_view.tpl.php, delegate this * to the style handler. */ - function render() { + public function render() { return $this->view->style_plugin->render($this->view->result); } - function defaultable_sections($section = NULL) { + /** + * {@inheritdoc} + */ + public function defaultable_sections($section = NULL) { if (in_array($section, array('style_options', 'style_plugin', 'row_options', 'row_plugin',))) { return FALSE; } @@ -74,12 +95,15 @@ class views_plugin_display_feed extends views_plugin_display_page { return $sections; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['displays'] = array('default' => array()); - // Overrides for standard stuff: + // Overrides for standard stuff. $options['style_plugin']['default'] = 'rss'; $options['style_options']['default'] = array('description' => ''); $options['sitename_title']['default'] = FALSE; @@ -92,8 +116,11 @@ class views_plugin_display_feed extends views_plugin_display_page { return $options; } - function options_summary(&$categories, &$options) { - // It is very important to call the parent function here: + /** + * {@inheritdoc} + */ + public function options_summary(&$categories, &$options) { + // It is very important to call the parent function here. parent::options_summary($categories, $options); // Since we're childing off the 'page' type, we'll still *call* our @@ -138,7 +165,7 @@ class views_plugin_display_feed extends views_plugin_display_page { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { // It is very important to call the parent function here. parent::options_form($form, $form_state); @@ -155,6 +182,7 @@ class views_plugin_display_feed extends views_plugin_display_page { $form['title'] = $title; $form['title']['#dependency'] = array('edit-sitename-title' => array(FALSE)); break; + case 'displays': $form['#title'] .= t('Attach to'); $displays = array(); @@ -170,8 +198,10 @@ class views_plugin_display_feed extends views_plugin_display_page { '#default_value' => $this->get_option('displays'), ); break; + case 'path': $form['path']['#description'] = t('This view will be displayed by visiting this path on your site. It is recommended that the path be something like "path/%/%/feed" or "path/%/%/rss.xml", putting one % in the path for each contextual filter you have defined in the view.'); + break; } } @@ -179,13 +209,14 @@ class views_plugin_display_feed extends views_plugin_display_page { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { - // It is very important to call the parent function here: + public function options_submit(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_submit($form, $form_state); switch ($form_state['section']) { case 'title': $this->set_option('sitename_title', $form_state['values']['sitename_title']); break; + case 'displays': $this->set_option($form_state['section'], $form_state['values'][$form_state['section']]); break; @@ -195,7 +226,7 @@ class views_plugin_display_feed extends views_plugin_display_page { /** * Attach to another view. */ - function attach_to($display_id) { + public function attach_to($display_id) { $displays = $this->get_option('displays'); if (empty($displays[$display_id])) { return; @@ -216,7 +247,11 @@ class views_plugin_display_feed extends views_plugin_display_page { } } - function uses_link_display() { + /** + * {@inheritdoc} + */ + public function uses_link_display() { return TRUE; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_page.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_page.inc index 913a5a95d3b5bdbedfb722ae15fb4039f53eec22..e2cc01771b6e56f4e2b169bd91df1f8f9f7ec74c 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_page.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_display_page.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the page display plugin. + * Definition of views_plugin_display_page. */ /** @@ -11,13 +11,25 @@ * @ingroup views_display_plugins */ class views_plugin_display_page extends views_plugin_display { + /** * The page display has a path. */ - function has_path() { return TRUE; } - function uses_breadcrumb() { return TRUE; } + public function has_path() { + return TRUE; + } + + /** + * {@inheritdoc} + */ + public function uses_breadcrumb() { + return TRUE; + } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['path'] = array('default' => ''); @@ -50,7 +62,7 @@ class views_plugin_display_page extends views_plugin_display { /** * Add this display's path information to Drupal's menu system. */ - function execute_hook_menu($callbacks) { + public function execute_hook_menu($callbacks) { $items = array(); // Replace % with the link to our standard views argument loader // views_arg_load -- which lives in views.module @@ -79,7 +91,8 @@ class views_plugin_display_page extends views_plugin_display { $access_plugin = views_get_plugin('access', 'none'); } - // Get access callback might return an array of the callback + the dynamic arguments. + // Get access callback might return an array of the callback + the dynamic + // arguments. $access_plugin_callback = $access_plugin->get_access_callback(); if (is_array($access_plugin_callback)) { @@ -140,14 +153,17 @@ class views_plugin_display_page extends views_plugin_display { default: $items[$path]['type'] = MENU_CALLBACK; break; + case 'normal': $items[$path]['type'] = MENU_NORMAL_ITEM; // Insert item into the proper menu $items[$path]['menu_name'] = $menu['name']; break; + case 'tab': $items[$path]['type'] = MENU_LOCAL_TASK; break; + case 'default tab': $items[$path]['type'] = MENU_DEFAULT_LOCAL_TASK; break; @@ -169,7 +185,7 @@ class views_plugin_display_page extends views_plugin_display { $bit = array_pop($bits); // we can't do this if they tried to make the last path bit variable. - // @todo: We can validate this. + // @todo We can validate this. if ($bit != '%views_arg' && !empty($bits)) { $default_path = implode('/', $bits); $items[$default_path] = array( @@ -192,6 +208,7 @@ class views_plugin_display_page extends views_plugin_display { case 'normal': $items[$default_path]['type'] = MENU_NORMAL_ITEM; break; + case 'tab': $items[$default_path]['type'] = MENU_LOCAL_TASK; break; @@ -212,7 +229,7 @@ class views_plugin_display_page extends views_plugin_display { * a drupal_set_title for the page, and does a views_set_page_view * on the view. */ - function execute() { + public function execute() { // Let the world know that this is the page view we're using. views_set_page_view($this->view); @@ -250,8 +267,8 @@ class views_plugin_display_page extends views_plugin_display { * * This output is returned as an array. */ - function options_summary(&$categories, &$options) { - // It is very important to call the parent function here: + public function options_summary(&$categories, &$options) { + // It is very important to call the parent function here. parent::options_summary($categories, $options); $categories['page'] = array( @@ -280,14 +297,16 @@ class views_plugin_display_page extends views_plugin_display { if (!is_array($menu)) { $menu = array('type' => 'none'); } - switch($menu['type']) { + switch ($menu['type']) { case 'none': default: $menu_str = t('No menu'); break; + case 'normal': $menu_str = t('Normal: @title', array('@title' => $menu['title'])); break; + case 'tab': case 'default tab': $menu_str = t('Tab: @title', array('@title' => $menu['title'])); @@ -300,7 +319,8 @@ class views_plugin_display_page extends views_plugin_display { 'value' => views_ui_truncate($menu_str, 24), ); - // This adds a 'Settings' link to the style_options setting if the style has options. + // This adds a 'Settings' link to the style_options setting if the style + // has options. if ($menu['type'] == 'default tab') { $options['menu']['setting'] = t('Parent menu item'); $options['menu']['links']['tab_options'] = t('Change settings for the parent menu'); @@ -310,8 +330,8 @@ class views_plugin_display_page extends views_plugin_display { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { - // It is very important to call the parent function here: + public function options_form(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_form($form, $form_state); switch ($form_state['section']) { @@ -322,11 +342,12 @@ class views_plugin_display_page extends views_plugin_display { '#type' => 'textfield', '#description' => t('This view will be displayed by visiting this path on your site. You may use "%" in your URL to represent values that will be used for contextual filters: For example, "node/%/feed".'), '#default_value' => $this->get_option('path'), - '#field_prefix' => '<span dir="ltr">' . url(NULL, array('absolute' => TRUE)) . (variable_get('clean_url', 0) ? '' : '?q='), - '#field_suffix' => '</span>‎', - '#attributes' => array('dir'=>'ltr'), + '#field_prefix' => '<span dir="ltr">' . url(NULL, array('absolute' => TRUE)) . (variable_get('clean_url', 0) ? '' : '?q='), + '#field_suffix' => '</span>‎', + '#attributes' => array('dir'=>'ltr'), ); break; + case 'menu': $form['#title'] .= t('Menu item entry'); $form['#help_topic'] = 'menu'; @@ -415,6 +436,7 @@ class views_plugin_display_page extends views_plugin_display { '#dependency_count' => 2, ); break; + case 'tab_options': $form['#title'] .= t('Default tab options'); $tab_options = $this->get_option('tab_options'); @@ -487,8 +509,11 @@ class views_plugin_display_page extends views_plugin_display { } } - function options_validate(&$form, &$form_state) { - // It is very important to call the parent function here: + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_validate($form, $form_state); switch ($form_state['section']) { case 'path': @@ -500,9 +525,10 @@ class views_plugin_display_page extends views_plugin_display { form_error($form['path'], t('"%" may not be used for the first segment of a path.')); } - // automatically remove '/' and trailing whitespace from path. + // Automatically remove '/' and trailing whitespace from path. $form_state['values']['path'] = trim($form_state['values']['path'], '/ '); break; + case 'menu': $path = $this->get_option('path'); if ($form_state['values']['menu']['type'] == 'normal' && strpos($path, '%') !== FALSE) { @@ -524,27 +550,35 @@ class views_plugin_display_page extends views_plugin_display { } } - function options_submit(&$form, &$form_state) { - // It is very important to call the parent function here: + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state) { + // It is very important to call the parent function here. parent::options_submit($form, $form_state); switch ($form_state['section']) { case 'path': $this->set_option('path', $form_state['values']['path']); break; + case 'menu': $this->set_option('menu', $form_state['values']['menu']); - // send ajax form to options page if we use it. + // Send ajax form to options page if we use it. if ($form_state['values']['menu']['type'] == 'default tab') { views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('tab_options')); } break; + case 'tab_options': $this->set_option('tab_options', $form_state['values']['tab_options']); break; } } - function validate() { + /** + * {@inheritdoc} + */ + public function validate() { $errors = parent::validate(); $menu = $this->get_option('menu'); @@ -562,7 +596,10 @@ class views_plugin_display_page extends views_plugin_display { return $errors; } - function get_argument_text() { + /** + * {@inheritdoc} + */ + public function get_argument_text() { return array( 'filter value not present' => t('When the filter value is <em>NOT</em> in the URL'), 'filter value present' => t('When the filter value <em>IS</em> in the URL or a default is provided'), @@ -570,10 +607,14 @@ class views_plugin_display_page extends views_plugin_display { ); } - function get_pager_text() { + /** + * {@inheritdoc} + */ + public function get_pager_text() { return array( 'items per page title' => t('Items per page'), - 'items per page description' => t('The number of items to display per page. Enter 0 for no limit.') + 'items per page description' => t('The number of items to display per page. Enter 0 for no limit.'), ); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form.inc index bc444149a0294cc33e4c12b12a3c0f25162b0e29..563a2af1926650dc5529bb962544517c176b690b 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form.inc @@ -23,19 +23,24 @@ class views_plugin_exposed_form extends views_plugin { /** * Initialize the plugin. * - * @param $view + * @param object $view * The view object. - * @param $display + * @param object $display * The display handler. + * @param array $options + * Any additional options that are being added. */ - function init(&$view, &$display, $options = array()) { + public function init(&$view, &$display, $options = array()) { $this->view = &$view; $this->display = &$display; $this->unpack_options($this->options, $options); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['submit_button'] = array('default' => 'Apply', 'translatable' => TRUE); $options['reset_button'] = array('default' => FALSE, 'bool' => TRUE); @@ -49,7 +54,10 @@ class views_plugin_exposed_form extends views_plugin { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['submit_button'] = array( '#type' => 'textfield', @@ -135,7 +143,7 @@ class views_plugin_exposed_form extends views_plugin { * also assign data to the appropriate handlers for use in building the * query. */ - function render_exposed_form($block = FALSE) { + public function render_exposed_form($block = FALSE) { // Deal with any exposed filters we may have, before building. $form_state = array( 'view' => &$this->view, @@ -169,7 +177,10 @@ class views_plugin_exposed_form extends views_plugin { } } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $view = $this->view; $exposed_data = isset($view->exposed_data) ? $view->exposed_data : array(); $sort_by = isset($exposed_data['sort_by']) ? $exposed_data['sort_by'] : NULL; @@ -182,7 +193,7 @@ class views_plugin_exposed_form extends views_plugin { if (!$sort->is_exposed()) { $sort->query(); } - else if ($key == $sort_by) { + elseif ($key == $sort_by) { if (isset($exposed_data['sort_order']) && in_array($exposed_data['sort_order'], array('ASC', 'DESC'))) { $sort->options['order'] = $exposed_data['sort_order']; } @@ -194,15 +205,34 @@ class views_plugin_exposed_form extends views_plugin { } } - function pre_render($values) { } + /** + * {@inheritdoc} + */ + public function pre_render($values) { + } - function post_render(&$output) { } + /** + * {@inheritdoc} + */ + public function post_render(&$output) { + } - function pre_execute() { } + /** + * {@inheritdoc} + */ + public function pre_execute() { + } - function post_execute() { } + /** + * {@inheritdoc} + */ + public function post_execute() { + } - function exposed_form_alter(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function exposed_form_alter(&$form, &$form_state) { if (!empty($this->options['reset_button'])) { $form['reset'] = array( '#value' => $this->options['reset_button_label'], @@ -220,45 +250,49 @@ class views_plugin_exposed_form extends views_plugin { } if (count($exposed_sorts)) { - if (isset($form_state['input']['sort_by']) && isset($this->view->sort[$form_state['input']['sort_by']])) { - $default_sort_order = $form_state['input']['sort_by']; - } else { + if (isset($form_state['input']['sort_by'])) { + $sort_by = $form_state['input']['sort_by']; + } + else { + $keys = array_keys($exposed_sorts); + $sort_by = array_shift($keys); + } + + if (isset($form_state['input']['sort_order'])) { + $sort_order = $form_state['input']['sort_order']; + } + elseif (isset($this->view->sort[$sort_by])) { + $sort_order = $this->view->sort[$sort_by]->options['order']; + } + else { $first_sort = reset($this->view->sort); - $default_sort_order = $first_sort->options['order']; + $sort_order = $first_sort->options['order']; + } + + if (!isset($form_state['input']['sort_by'])) { + $form_state['input']['sort_by'] = $sort_by; + } + + if (!isset($form_state['input']['sort_order'])) { + $form_state['input']['sort_order'] = $sort_order; } $form['sort_by'] = array( '#type' => 'select', '#options' => $exposed_sorts, '#title' => $this->options['exposed_sorts_label'], - '#default_value' => $default_sort_order, + '#default_value' => $sort_by, ); - $sort_order = array( + $sort_options = array( 'ASC' => $this->options['sort_asc_label'], 'DESC' => $this->options['sort_desc_label'], ); - if (isset($form_state['input']['sort_by']) && isset($this->view->sort[$form_state['input']['sort_by']])) { - if (isset($form_state['input']['sort_order'])) { - $default_sort_order = $form_state['input']['sort_order']; - } else { - $default_sort_order = $this->view->sort[$form_state['input']['sort_by']]->options['order']; - } - } else { - $first_sort = $this->view->sort[key($exposed_sorts)]; - $default_sort_order = $first_sort->options['order']; - } - - if (!isset($form_state['input']['sort_by'])) { - $keys = array_keys($exposed_sorts); - $form_state['input']['sort_by'] = array_shift($keys); - $form_state['input']['sort_order'] = $default_sort_order; - } if ($this->options['expose_sort_order']) { $form['sort_order'] = array( '#type' => 'select', - '#options' => $sort_order, + '#options' => $sort_options, '#title' => t('Order'), - '#default_value' => $default_sort_order, + '#default_value' => $sort_order, ); } $form['submit']['#weight'] = 10; @@ -287,7 +321,10 @@ class views_plugin_exposed_form extends views_plugin { } } - function exposed_form_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function exposed_form_validate(&$form, &$form_state) { if (isset($form_state['pager_plugin'])) { $form_state['pager_plugin']->exposed_form_validate($form, $form_state); } @@ -296,15 +333,14 @@ class views_plugin_exposed_form extends views_plugin { /** * This function is executed when exposed form is submited. * - * @param $form + * @param array $form * Nested array of form elements that comprise the form. - * @param $form_state + * @param array $form_state * A keyed array containing the current state of the form. - * @param $exclude - * Nested array of keys to exclude of insert into - * $view->exposed_raw_input + * @param array $exclude + * Nested array of keys to exclude of insert into $view->exposed_raw_input. */ - function exposed_form_submit(&$form, &$form_state, &$exclude) { + public function exposed_form_submit(&$form, &$form_state, &$exclude) { if (!empty($form_state['values']['op']) && $form_state['values']['op'] == $this->options['reset_button_label']) { $this->reset_form($form, $form_state); } @@ -314,7 +350,10 @@ class views_plugin_exposed_form extends views_plugin { } } - function reset_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function reset_form(&$form, &$form_state) { // _SESSION is not defined for users who are not logged in. // If filters are not overridden, store the 'remember' settings on the @@ -339,6 +378,7 @@ class views_plugin_exposed_form extends views_plugin { $form_state['redirect'] = current_path(); $form_state['values'] = array(); } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_basic.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_basic.inc index 73ae54aa0d02e870a6a014a76dce1765d52caaff..2bf816231054cf865e6bd086528967872d091587 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_basic.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_basic.inc @@ -10,4 +10,6 @@ * * @ingroup views_exposed_form_plugins */ -class views_plugin_exposed_form_basic extends views_plugin_exposed_form { } +class views_plugin_exposed_form_basic extends views_plugin_exposed_form { + // Nothing to see here. +} diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_input_required.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_input_required.inc index ca97674ea705c967961dacb732509e61a4ce0cd8..93a3bc38fb20112f20812c8dd8ca5dcc249e4e79 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_input_required.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_exposed_form_input_required.inc @@ -12,7 +12,10 @@ */ class views_plugin_exposed_form_input_required extends views_plugin_exposed_form { - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['text_input_required'] = array('default' => 'Select any filter and click on Apply to see results', 'translatable' => TRUE); @@ -20,7 +23,10 @@ class views_plugin_exposed_form_input_required extends views_plugin_exposed_form return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['text_input_required'] = array( @@ -33,13 +39,19 @@ class views_plugin_exposed_form_input_required extends views_plugin_exposed_form ); } - function options_submit(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state) { $form_state['values']['exposed_form_options']['text_input_required_format'] = $form_state['values']['exposed_form_options']['text_input_required']['format']; $form_state['values']['exposed_form_options']['text_input_required'] = $form_state['values']['exposed_form_options']['text_input_required']['value']; parent::options_submit($form, $form_state); } - function exposed_filter_applied() { + /** + * {@inheritdoc} + */ + public function exposed_filter_applied() { static $cache = NULL; if (!isset($cache)) { $view = $this->view; @@ -60,7 +72,10 @@ class views_plugin_exposed_form_input_required extends views_plugin_exposed_form return $cache; } - function pre_render($values) { + /** + * {@inheritdoc} + */ + public function pre_render($values) { if (!$this->exposed_filter_applied()) { $options = array( 'id' => 'area', @@ -82,7 +97,10 @@ class views_plugin_exposed_form_input_required extends views_plugin_exposed_form } } - function query() { + /** + * {@inheritdoc} + */ + public function query() { if (!$this->exposed_filter_applied()) { // We return with no query; this will force the empty text. $this->view->built = TRUE; diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization.inc index 08caf9e08a570fcc6a0ad7bbfd816ffbab6ea079..f572a8d1ebae68f70f2cfa503a5e71cf4275720a 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the base class for views localization plugins. + * Definition of views_plugin_localization. */ /** @@ -17,22 +17,29 @@ * The base plugin to handle localization of Views strings. */ class views_plugin_localization extends views_plugin { - // Store for exported strings - var $export_strings = array(); - var $translate = TRUE; + + /** + * Store for exported strings. + */ + public $export_strings = array(); + + /** + * + */ + public $translate = TRUE; /** * Initialize the plugin. * - * @param $view + * @param view $view * The view object. */ - function init(&$view) { + public function init(&$view) { $this->view = &$view; } /** - * Translate a string / text with format + * Translate a string / text with format. * * The $source parameter is an array with the following elements: * - value, source string @@ -40,14 +47,15 @@ class views_plugin_localization extends views_plugin { * - keys. An array of keys to identify the string. Generally constructed from * view name, display_id, and a property, e.g., 'header'. * - * @param $source + * @param string $source * Full data for the string to be translated. * * @return string - * Translated string / text + * Translated string / text. */ - function translate($source) { - // Allow other modules to make changes to the string before and after translation + public function translate($source) { + // Allow other modules to make changes to the string before and after + // translation. $source['pre_process'] = $this->invoke_translation_process($source, 'pre'); $source['translation'] = $this->translate_string($source['value'], $source['keys'], $source['format']); $source['post_process'] = $this->invoke_translation_process($source, 'post'); @@ -57,64 +65,67 @@ class views_plugin_localization extends views_plugin { /** * Translate a string. * - * @param $string + * @param string $string * The string to be translated. - * @param $keys + * @param array $keys * An array of keys to identify the string. Generally constructed from - * view name, display_id, and a property, e.g., 'header'. - * @param $format + * view name, display_id, and a property, e.g. 'header'. + * @param string $format * The input format of the string. This is optional. */ - function translate_string($string, $keys = array(), $format = '') {} + public function translate_string($string, $keys = array(), $format = '') {} /** * Save string source for translation. * - * @param $source + * @param string $source * Full data for the string to be translated. */ - function save($source) { - // Allow other modules to make changes to the string before saving + public function save($source) { + // Allow other modules to make changes to the string before saving. $source['pre_process'] = $this->invoke_translation_process($source, 'pre'); $this->save_string($source['value'], $source['keys'], isset($source['format']) ? $source['format'] : ''); } /** - * Save a string for translation + * Save a string for translation. * - * @param $string + * @param string $string * The string to be translated. - * @param $keys + * @param array $keys * An array of keys to identify the string. Generally constructed from * view name, display_id, and a property, e.g., 'header'. - * @param $format + * @param string $format * The input format of the string. This is optional. */ - function save_string($string, $keys = array(), $format = '') {} + public function save_string($string, $keys = array(), $format = '') {} /** * Delete a string. * - * @param $source + * @param string $source * Full data for the string to be translated. */ - function delete($source) { } + public function delete($source) { + } /** * Collect strings to be exported to code. * - * @param $source + * @param string $source * Full data for the string to be translated. */ - function export($source) { } + public function export($source) { + } /** * Render any collected exported strings to code. * - * @param $indent + * @param string $indent * An optional indentation for prettifying nested code. */ - function export_render($indent = ' ') { } + public function export_render($indent = ' ') { + } /** * Invoke hook_translation_pre_process() or hook_translation_post_process(). @@ -122,7 +133,7 @@ class views_plugin_localization extends views_plugin { * Like node_invoke_nodeapi(), this function is needed to enable both passing * by reference and fetching return values. */ - function invoke_translation_process(&$value, $op) { + public function invoke_translation_process(&$value, $op) { $return = array(); $hook = 'translation_' . $op . '_process'; foreach (module_implements($hook) as $module) { @@ -135,7 +146,10 @@ class views_plugin_localization extends views_plugin { return $return; } - function process_locale_strings($op) { + /** + * + */ + public function process_locale_strings($op) { $this->view->init_display(); foreach ($this->view->display as $display_id => $display) { @@ -154,9 +168,11 @@ class views_plugin_localization extends views_plugin { case 'save': $this->save($data); break; + case 'delete': $this->delete($data); break; + case 'export': $this->export($data); break; @@ -164,6 +180,7 @@ class views_plugin_localization extends views_plugin { } } } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_core.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_core.inc index 87443ca0dd3ceafe30b6c3f62f16dda62791cc13..92feb2d85a6a09bd1a69fdeb4e7a2c8647a6db79 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_core.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_core.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the Drupal core localization plugin. + * Definition of views_plugin_localization_core. */ /** @@ -15,35 +15,35 @@ class views_plugin_localization_core extends views_plugin_localization { /** * Translate a string. * - * @param $string + * @param string $string * The string to be translated. - * @param $keys + * @param array $keys * An array of keys to identify the string. Generally constructed from * view name, display_id, and a property, e.g., 'header'. - * @param $format + * @param string $format * The input format of the string. This is optional. */ - function translate_string($string, $keys = array(), $format = '') { + public function translate_string($string, $keys = array(), $format = '') { return t($string); } /** * Save a string for translation. * - * @param $string + * @param string $string * The string to be translated. - * @param $keys + * @param array $keys * An array of keys to identify the string. Generally constructed from * view name, display_id, and a property, e.g., 'header'. - * @param $format + * @param string $format * The input format of the string. This is optional. */ - function save_string($string, $keys = array(), $format = '') { + public function save_string($string, $keys = array(), $format = '') { global $language; // If the current language is 'en', we need to reset the language // in order to trigger an update. - // TODO: add test for number of languages. + // @todo add test for number of languages. if ($language->language == 'en') { $changed = TRUE; $languages = language_list(); @@ -67,22 +67,23 @@ class views_plugin_localization_core extends views_plugin_localization { * * Deletion is not supported. * - * @param $source + * @param mixed $source * Full data for the string to be translated. */ - function delete($source) { + public function delete($source) { return FALSE; } /** * Collect strings to be exported to code. * - * String identifiers are not supported so strings are anonymously in an array. + * String identifiers are not supported so strings are anonymously in an + * array. * - * @param $source + * @param array $source * Full data for the string to be translated. */ - function export($source) { + public function export($source) { if (!empty($source['value'])) { $this->export_strings[] = $source['value']; } @@ -91,10 +92,10 @@ class views_plugin_localization_core extends views_plugin_localization { /** * Render any collected exported strings to code. * - * @param $indent + * @param string $indent * An optional indentation for prettifying nested code. */ - function export_render($indent = ' ') { + public function export_render($indent = ' ') { $output = ''; if (!empty($this->export_strings)) { $this->export_strings = array_unique($this->export_strings); @@ -106,4 +107,5 @@ class views_plugin_localization_core extends views_plugin_localization { } return $output; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_none.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_none.inc index 620352a261a24c413cc93ffa8389da6a5bec5bf5..4a1a7d9b07658d3c0ba47f255855487340ba82f0 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_none.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_localization_none.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the 'none' localization plugin. + * Definition of views_plugin_localization_none. */ /** @@ -11,26 +11,31 @@ * @ingroup views_localization_plugins */ class views_plugin_localization_none extends views_plugin_localization { - var $translate = FALSE; + + /** + * {@inheritdoc} + */ + public $translate = FALSE; /** * Translate a string; simply return the string. */ - function translate($source) { + public function translate($source) { return $source['value']; } /** * Save a string for translation; not supported. */ - function save($source) { + public function save($source) { return FALSE; } /** * Delete a string; not supported. */ - function delete($source) { + public function delete($source) { return FALSE; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager.inc index 312f54b9f62135b2e8d1817a2e93c8a1f08e0bbe..ab45863984203e770e056b688d3acec81e29b946 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager.inc @@ -17,18 +17,26 @@ * The base plugin to handle pager. */ class views_plugin_pager extends views_plugin { - var $current_page = NULL; - var $total_items = 0; + + /** + * + */ + public $current_page = NULL; + + /** + * + */ + public $total_items = 0; /** * Initialize the plugin. * - * @param $view + * @param view $view * The view object. - * @param $display + * @param object $display * The display handler. */ - function init(&$view, &$display, $options = array()) { + public function init(&$view, &$display, $options = array()) { $this->view = &$view; $this->display = &$display; @@ -41,7 +49,7 @@ class views_plugin_pager extends views_plugin { * All but the leanest pagers should probably return a value here, so * most pagers will not need to override this method. */ - function get_items_per_page() { + public function get_items_per_page() { return isset($this->options['items_per_page']) ? $this->options['items_per_page'] : 0; } @@ -50,7 +58,7 @@ class views_plugin_pager extends views_plugin { * * This is mostly used for things that will override the value. */ - function set_items_per_page($items) { + public function set_items_per_page($items) { $this->options['items_per_page'] = $items; } @@ -60,14 +68,14 @@ class views_plugin_pager extends views_plugin { * Even pagers that don't actually page can skip items at the beginning, * so few pagers will need to override this method. */ - function get_offset() { + public function get_offset() { return isset($this->options['offset']) ? $this->options['offset'] : 0; } /** * Set the page offset, or how many items to skip. */ - function set_offset($offset) { + public function set_offset($offset) { $this->options['offset'] = $offset; } @@ -76,18 +84,18 @@ class views_plugin_pager extends views_plugin { * * If NULL, we do not know what the current page is. */ - function get_current_page() { + public function get_current_page() { return $this->current_page; } /** * Set the current page. * - * @param $number + * @param int $number * If provided, the page number will be set to this. If NOT provided, * the page number will be set from the global page array. */ - function set_current_page($number = NULL) { + public function set_current_page($number = NULL) { if (!is_numeric($number) || $number < 0) { $number = 0; } @@ -99,32 +107,34 @@ class views_plugin_pager extends views_plugin { * * If NULL, we do not yet know what the total number of items are. */ - function get_total_items() { + public function get_total_items() { return $this->total_items; } /** - * Get the pager id, if it exists + * Get the pager id, if it exists. */ - function get_pager_id() { + public function get_pager_id() { return !empty($this->options['id']) ? $this->options['id'] : 0; } /** - * Provide the default form form for validating options + * Provide the default form form for validating options. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** - * Provide the default form form for submitting options + * Provide the default form form for submitting options. */ - function options_submit(&$form, &$form_state) { } + public function options_submit(&$form, &$form_state) { + } /** * Return a string to display as the clickable title for the * pager plugin. */ - function summary_title() { + public function summary_title() { return t('Unknown'); } @@ -133,7 +143,7 @@ class views_plugin_pager extends views_plugin { * * Only a couple of very specific pagers will set this to false. */ - function use_pager() { + public function use_pager() { return TRUE; } @@ -142,7 +152,7 @@ class views_plugin_pager extends views_plugin { * * If a pager needs a count query, a simple query */ - function use_count_query() { + public function use_count_query() { return TRUE; } @@ -150,7 +160,7 @@ class views_plugin_pager extends views_plugin { * Execute the count query, which will be done just prior to the query * itself being executed. */ - function execute_count_query(&$count_query) { + public function execute_count_query(&$count_query) { $this->total_items = $count_query->execute()->fetchField(); if (!empty($this->options['offset'])) { $this->total_items -= $this->options['offset']; @@ -164,8 +174,7 @@ class views_plugin_pager extends views_plugin { * If there are pagers that need global values set, this method can * be used to set them. It will be called when the count query is run. */ - function update_page_info() { - + public function update_page_info() { } /** @@ -173,22 +182,26 @@ class views_plugin_pager extends views_plugin { * * This is called during the build phase and can directly modify the query. */ - function query() { } + public function query() { + } /** * Perform any needed actions just prior to the query executing. */ - function pre_execute(&$query) { } + public function pre_execute(&$query) { + } /** * Perform any needed actions just after the query executing. */ - function post_execute(&$result) { } + public function post_execute(&$result) { + } /** * Perform any needed actions just before rendering. */ - function pre_render(&$result) { } + public function pre_render(&$result) { + } /** * Render the pager. @@ -196,39 +209,62 @@ class views_plugin_pager extends views_plugin { * Called during the view render process, this will render the * pager. * - * @param $input + * @param array $input * Any extra GET parameters that should be retained, such as exposed * input. */ - function render($input) { } + public function render($input) { + } /** * Determine if there are more records available. * * This is primarily used to control the display of a more link. */ - function has_more_records() { + public function has_more_records() { return $this->get_items_per_page() && $this->total_items > (intval($this->current_page) + 1) * $this->get_items_per_page(); } - function exposed_form_alter(&$form, &$form_state) { } + /** + * {@inheritdoc} + */ + public function exposed_form_alter(&$form, &$form_state) { + } - function exposed_form_validate(&$form, &$form_state) { } + /** + * {@inheritdoc} + */ + public function exposed_form_validate(&$form, &$form_state) { + } - function exposed_form_submit(&$form, &$form_state, &$exclude) { } + /** + * {@inheritdoc} + */ + public function exposed_form_submit(&$form, &$form_state, &$exclude) { + } - function uses_exposed() { + /** + * {@inheritdoc} + */ + public function uses_exposed() { return FALSE; } - function items_per_page_exposed() { + /** + * {@inheritdoc} + */ + public function items_per_page_exposed() { return FALSE; } - function offset_exposed() { + /** + * {@inheritdoc} + */ + public function offset_exposed() { return FALSE; } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_full.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_full.inc index 084aa0a486981459fab4069fbdedcff4d2becad6..fff7691d081dfa8e342f07fd38396d5d1718bb66 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_full.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_full.inc @@ -11,14 +11,21 @@ * @ingroup views_pager_plugins */ class views_plugin_pager_full extends views_plugin_pager { - function summary_title() { + + /** + * {@inheritdoc} + */ + public function summary_title() { if (!empty($this->options['offset'])) { return format_plural($this->options['items_per_page'], '@count item, skip @skip', 'Paged, @count items, skip @skip', array('@count' => $this->options['items_per_page'], '@skip' => $this->options['offset'])); } - return format_plural($this->options['items_per_page'], '@count item', 'Paged, @count items', array('@count' => $this->options['items_per_page'])); + return format_plural($this->options['items_per_page'], '@count item', 'Paged, @count items', array('@count' => $this->options['items_per_page'])); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['items_per_page'] = array('default' => 10); $options['offset'] = array('default' => 0); @@ -52,7 +59,7 @@ class views_plugin_pager_full extends views_plugin_pager { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $pager_text = $this->display->handler->get_pager_text(); $form['items_per_page'] = array( @@ -90,7 +97,7 @@ class views_plugin_pager_full extends views_plugin_pager { '#default_value' => $this->options['quantity'], ); - $form['tags'] = array ( + $form['tags'] = array( '#type' => 'fieldset', '#collapsible' => FALSE, '#collapsed' => FALSE, @@ -128,7 +135,7 @@ class views_plugin_pager_full extends views_plugin_pager { '#default_value' => $this->options['tags']['last'], ); - $form['expose'] = array ( + $form['expose'] = array( '#type' => 'fieldset', '#collapsible' => FALSE, '#collapsed' => FALSE, @@ -152,7 +159,7 @@ class views_plugin_pager_full extends views_plugin_pager { '#description' => t('Label to use in the exposed items per page form element.'), '#default_value' => $this->options['expose']['items_per_page_label'], '#dependency' => array( - 'edit-pager-options-expose-items-per-page' => array(1) + 'edit-pager-options-expose-items-per-page' => array(1), ), ); @@ -163,11 +170,10 @@ class views_plugin_pager_full extends views_plugin_pager { '#description' => t('Set between which values the user can choose when determining the items per page. Separated by comma.'), '#default_value' => $this->options['expose']['items_per_page_options'], '#dependency' => array( - 'edit-pager-options-expose-items-per-page' => array(1) + 'edit-pager-options-expose-items-per-page' => array(1), ), ); - $form['expose']['items_per_page_options_all'] = array( '#type' => 'checkbox', '#title' => t('Include all items option'), @@ -199,19 +205,22 @@ class views_plugin_pager_full extends views_plugin_pager { '#description' => t('Label to use in the exposed offset form element.'), '#default_value' => $this->options['expose']['offset_label'], '#dependency' => array( - 'edit-pager-options-expose-offset' => array(1) + 'edit-pager-options-expose-offset' => array(1), ), ); } - function options_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { // Only accept integer values. $error = FALSE; $exposed_options = $form_state['values']['pager_options']['expose']['items_per_page_options']; if (strpos($exposed_options, '.') !== FALSE) { $error = TRUE; } - $options = explode(',',$exposed_options); + $options = explode(',', $exposed_options); if (!$error && is_array($options)) { foreach ($options as $option) { if (!is_numeric($option) || intval($option) == 0) { @@ -237,7 +246,10 @@ class views_plugin_pager_full extends views_plugin_pager { } } - function query() { + /** + * {@inheritdoc} + */ + public function query() { if ($this->items_per_page_exposed()) { if (!empty($_GET['items_per_page']) && $_GET['items_per_page'] > 0) { $this->options['items_per_page'] = $_GET['items_per_page']; @@ -265,7 +277,10 @@ class views_plugin_pager_full extends views_plugin_pager { $this->view->query->set_offset($offset); } - function render($input) { + /** + * {@inheritdoc} + */ + public function render($input) { $pager_theme = views_theme_functions('pager', $this->view, $this->display); // The 0, 1, 3, 4 index are correct. See theme_pager documentation. $tags = array( @@ -286,11 +301,11 @@ class views_plugin_pager_full extends views_plugin_pager { /** * Set the current page. * - * @param $number + * @param int $number * If provided, the page number will be set to this. If NOT provided, * the page number will be set from the global page array. */ - function set_current_page($number = NULL) { + public function set_current_page($number = NULL) { if (isset($number)) { $this->current_page = $number; return; @@ -320,7 +335,10 @@ class views_plugin_pager_full extends views_plugin_pager { } } - function get_pager_total() { + /** + * {@inheritdoc} + */ + public function get_pager_total() { if ($items_per_page = intval($this->get_items_per_page())) { return ceil($this->total_items / $items_per_page); } @@ -336,7 +354,7 @@ class views_plugin_pager_full extends views_plugin_pager { * items available and to update the current page if the requested * page is out of range. */ - function update_page_info() { + public function update_page_info() { if (!empty($this->options['total_pages'])) { if (($this->options['total_pages'] * $this->options['items_per_page']) < $this->total_items) { $this->total_items = $this->options['total_pages'] * $this->options['items_per_page']; @@ -356,34 +374,47 @@ class views_plugin_pager_full extends views_plugin_pager { // Calculate and set the count of available pages. $pager_total[$pager_id] = $this->get_pager_total(); - // See if the requested page was within range: + // See if the requested page was within range. if ($this->current_page < 0) { $this->current_page = 0; } - else if ($this->current_page >= $pager_total[$pager_id]) { - // Pages are numbered from 0 so if there are 10 pages, the last page is 9. + elseif ($this->current_page >= $pager_total[$pager_id]) { + // Pages are numbered from 0 so if there are 10 pages, the last page is + // 9. $this->current_page = $pager_total[$pager_id] - 1; } - // Put this number in to guarantee that we do not generate notices when the pager - // goes to look for it later. + // Put this number in to guarantee that we do not generate notices when + // the pager goes to look for it later. $pager_page_array[$pager_id] = $this->current_page; } } - function uses_exposed() { + /** + * + */ + public function uses_exposed() { return $this->items_per_page_exposed() || $this->offset_exposed(); } - function items_per_page_exposed() { + /** + * + */ + public function items_per_page_exposed() { return !empty($this->options['expose']['items_per_page']); } - function offset_exposed() { + /** + * + */ + public function offset_exposed() { return !empty($this->options['expose']['offset']); } - function exposed_form_alter(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function exposed_form_alter(&$form, &$form_state) { if ($this->items_per_page_exposed()) { $options = explode(',', $this->options['expose']['items_per_page_options']); $sanitized_options = array(); @@ -414,11 +445,15 @@ class views_plugin_pager_full extends views_plugin_pager { } } - function exposed_form_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function exposed_form_validate(&$form, &$form_state) { if (!empty($form_state['values']['offset']) && trim($form_state['values']['offset'])) { if (!is_numeric($form_state['values']['offset']) || $form_state['values']['offset'] < 0) { - form_set_error('offset', t('Offset must be an number greater or equal than 0.')); + form_set_error('offset', t('Offset must be a number greater than or equal to 0.')); } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_mini.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_mini.inc index 87d55410a7edd6dad865fef8848204eb84e8122c..4e7dc35815f1b22965a54b304b28c47ecfb905b7 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_mini.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_mini.inc @@ -11,21 +11,24 @@ * @ingroup views_pager_plugins */ class views_plugin_pager_mini extends views_plugin_pager_full { - function summary_title() { + + /** + * {@inheritdoc} + */ + public function summary_title() { if (!empty($this->options['offset'])) { return format_plural($this->options['items_per_page'], 'Mini pager, @count item, skip @skip', 'Mini pager, @count items, skip @skip', array('@count' => $this->options['items_per_page'], '@skip' => $this->options['offset'])); } - return format_plural($this->options['items_per_page'], 'Mini pager, @count item', 'Mini pager, @count items', array('@count' => $this->options['items_per_page'])); + return format_plural($this->options['items_per_page'], 'Mini pager, @count item', 'Mini pager, @count items', array('@count' => $this->options['items_per_page'])); } /** - * Overrides views_plugin_pager_full::option_definition(). - * - * Overrides the full pager options form by deleting unused settings. + * {@inheritdoc} */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); + // Overrides the full pager options form by deleting unused settings. unset($options['quantity']); unset($options['tags']['first']); unset($options['tags']['last']); @@ -36,25 +39,25 @@ class views_plugin_pager_mini extends views_plugin_pager_full { } /** - * Overrides views_plugin_pager_full::options_form(). - * - * Overrides the full pager options form by deleting unused settings. + * {@inheritdoc} */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); + + // Overrides the full pager options form by deleting unused settings. unset($form['quantity']); unset($form['tags']['first']); unset($form['tags']['last']); } /** - * Overrides views_plugin_pager_full::render(). - * - * Overrides the full pager renderer by changing the theme function - * and leaving out variables that are not used in the mini pager. + * {@inheritdoc} */ - function render($input) { + public function render($input) { + // Overrides the full pager renderer by changing the theme function and + // leaving out variables that are not used in the mini pager. $pager_theme = views_theme_functions('views_mini_pager', $this->view, $this->display); + // The 1, 3 index are correct. // @see theme_pager(). $tags = array( @@ -67,4 +70,5 @@ class views_plugin_pager_mini extends views_plugin_pager_full { 'parameters' => $input, )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_none.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_none.inc index 12b96d04d64b1acc03a3d4f9bf63ae6cf14d2785..3faa301930051248b2ec05ba8b3ff8cd38ebc36d 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_none.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_none.inc @@ -12,21 +12,30 @@ */ class views_plugin_pager_none extends views_plugin_pager { - function init(&$view, &$display, $options = array()) { + /** + * {@inheritdoc} + */ + public function init(&$view, &$display, $options = array()) { parent::init($view, $display, $options); // If the pager is set to none, then it should show all items. $this->set_items_per_page(0); } - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { if (!empty($this->options['offset'])) { return t('All items, skip @skip', array('@skip' => $this->options['offset'])); } return t('All items'); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['offset'] = array('default' => 0); @@ -36,7 +45,7 @@ class views_plugin_pager_none extends views_plugin_pager { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['offset'] = array( '#type' => 'textfield', @@ -46,30 +55,50 @@ class views_plugin_pager_none extends views_plugin_pager { ); } - function use_pager() { + /** + * {@inheritdoc} + */ + public function use_pager() { return FALSE; } - function use_count_query() { + /** + * {@inheritdoc} + */ + public function use_count_query() { return FALSE; } - function get_items_per_page() { + /** + * {@inheritdoc} + */ + public function get_items_per_page() { return 0; } - function execute_count_query(&$count_query) { - // If we are displaying all items, never count. But we can update the count in post_execute. + /** + * {@inheritdoc} + */ + public function execute_count_query(&$count_query) { + // If we are displaying all items, never count. But we can update the count + // in post_execute. } - function post_execute(&$result) { + /** + * {@inheritdoc} + */ + public function post_execute(&$result) { $this->total_items = count($result); } - function query() { + /** + * {@inheritdoc} + */ + public function query() { // The only query modifications we might do are offsets. if (!empty($this->options['offset'])) { $this->view->query->set_offset($this->options['offset']); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_some.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_some.inc index 09452ce35bb389e205724bffedfb4232b6db48a5..12025b2a4a0c94c9903efd1ada0fec696e3800f9 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_some.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_pager_some.inc @@ -11,14 +11,21 @@ * @ingroup views_pager_plugins */ class views_plugin_pager_some extends views_plugin_pager { - function summary_title() { + + /** + * + */ + public function summary_title() { if (!empty($this->options['offset'])) { return format_plural($this->options['items_per_page'], '@count item, skip @skip', '@count items, skip @skip', array('@count' => $this->options['items_per_page'], '@skip' => $this->options['offset'])); } - return format_plural($this->options['items_per_page'], '@count item', '@count items', array('@count' => $this->options['items_per_page'])); + return format_plural($this->options['items_per_page'], '@count item', '@count items', array('@count' => $this->options['items_per_page'])); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['items_per_page'] = array('default' => 10); $options['offset'] = array('default' => 0); @@ -29,7 +36,7 @@ class views_plugin_pager_some extends views_plugin_pager { /** * Provide the default form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $pager_text = $this->display->handler->get_pager_text(); $form['items_per_page'] = array( @@ -47,16 +54,26 @@ class views_plugin_pager_some extends views_plugin_pager { ); } - function use_pager() { + /** + * {@inheritdoc} + */ + public function use_pager() { return FALSE; } - function use_count_query() { + /** + * {@inheritdoc} + */ + public function use_count_query() { return FALSE; } - function query() { + /** + * {@inheritdoc} + */ + public function query() { $this->view->query->set_limit($this->options['items_per_page']); $this->view->query->set_offset($this->options['offset']); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query.inc index 7418e616f3bbb1500019d273e57d684c010d70d6..fe45793d607f1c53fbabf883ac468d9fd153a657 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query.inc @@ -2,7 +2,7 @@ /** * @file - * Defines the base query class, which is the underlying layer in a View. + * Definition of views_plugin_query. */ /** @@ -14,20 +14,21 @@ */ /** - * Object used to create a SELECT query. + * The base query class, which is the underlying layer in a View. */ class views_plugin_query extends views_plugin { + /** * A pager plugin that should be provided by the display. * * @var views_plugin_pager */ - var $pager = NULL; + public $pager = NULL; /** * Constructor; Create the basic query object and fill with default values. */ - function init($base_table, $base_field, $options) { + public function init($base_table, $base_field, $options) { $this->base_table = $base_table; $this->base_field = $base_field; $this->unpack_options($this->options, $options); @@ -37,13 +38,14 @@ class views_plugin_query extends views_plugin { * Generate a query and a countquery from all of the information supplied * to the object. * - * @param $get_count - * Provide a countquery if this is true, otherwise provide a normal query. + * @param bool $get_count + * Provide a countquery if this is TRUE, otherwise provide a normal query. * * @return SelectQuery * A SelectQuery object. */ - function query($get_count = FALSE) { } + public function query($get_count = FALSE) { + } /** * Let modules modify the query just prior to finalizing it. @@ -51,7 +53,8 @@ class views_plugin_query extends views_plugin { * @param view $view * The view which is executed. */ - function alter(&$view) { } + public function alter(&$view) { + } /** * Builds the necessary info to execute the query. @@ -59,7 +62,8 @@ class views_plugin_query extends views_plugin { * @param view $view * The view which is executed. */ - function build(&$view) { } + public function build(&$view) { + } /** * Executes the query and fills the associated view object with according @@ -74,7 +78,8 @@ class views_plugin_query extends views_plugin { * @param view $view * The view which is executed. */ - function execute(&$view) { } + public function execute(&$view) { + } /** * Add a signature to the query, if such a thing is feasible. @@ -85,48 +90,61 @@ class views_plugin_query extends views_plugin { * @param view $view * The view which is executed. */ - function add_signature(&$view) { } + public function add_signature(&$view) { + } /** * Get aggregation info for group by queries. * * If NULL, aggregation is not allowed. */ - function get_aggregation_info() { } + public function get_aggregation_info() { + } /** * Add settings for the ui. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); } - function options_validate(&$form, &$form_state) { } + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { + } - function options_submit(&$form, &$form_state) { } + /** + * {@inheritdoc} + */ + public function options_submit(&$form, &$form_state) { + } - function summary_title() { + /** + * {@inheritdoc} + */ + public function summary_title() { return t('Settings'); } /** * Set a LIMIT on the query, specifying a maximum number of results. */ - function set_limit($limit) { + public function set_limit($limit) { $this->limit = $limit; } /** * Set an OFFSET on the query, specifying a number of results to skip */ - function set_offset($offset) { + public function set_offset($offset) { $this->offset = $offset; } /** * Render the pager, if necessary. */ - function render_pager($exposed_input) { + public function render_pager($exposed_input) { if (!empty($this->pager) && $this->pager->use_pager()) { return $this->pager->render($exposed_input); } @@ -137,18 +155,18 @@ class views_plugin_query extends views_plugin { /** * Create a new grouping for the WHERE or HAVING clause. * - * @param $type + * @param string $type * Either 'AND' or 'OR'. All items within this group will be added * to the WHERE clause with this logical operator. - * @param $group + * @param string $group * An ID to use for this group. If unspecified, an ID will be generated. - * @param $where + * @param string $where * 'where' or 'having'. * - * @return $group + * @return string * The group ID generated. */ - function set_where_group($type = 'AND', $group = NULL, $where = 'where') { + public function set_where_group($type = 'AND', $group = NULL, $where = 'where') { // Set an alias. $groups = &$this->$where; @@ -168,19 +186,20 @@ class views_plugin_query extends views_plugin { /** * Control how all WHERE and HAVING groups are put together. * - * @param $type - * Either 'AND' or 'OR' + * @param string $type + * Either 'AND' or 'OR'. */ - function set_group_operator($type = 'AND') { + public function set_group_operator($type = 'AND') { $this->group_operator = strtoupper($type); } /** * Returns the according entity objects for the given query results. */ - function get_result_entities($results, $relationship = NULL) { + public function get_result_entities($results, $relationship = NULL) { return FALSE; } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query_default.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query_default.inc index 99e0f0ed05422919d3598ab99b5467e8745f2c0d..2911a56033947fcfc217c13b1ea76377bccffb7b 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query_default.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_query_default.inc @@ -2,7 +2,7 @@ /** * @file - * Defines the default query object. + * Definition of views_plugin_query_default. */ /** @@ -15,95 +15,98 @@ class views_plugin_query_default extends views_plugin_query { /** * A list of tables in the order they should be added, keyed by alias. */ - var $table_queue = array(); + public $table_queue = array(); /** - * Holds an array of tables and counts added so that we can create aliases + * Holds an array of tables and counts added so that we can create aliases. */ - var $tables = array(); + public $tables = array(); /** * Holds an array of relationships, which are aliases of the primary * table that represent different ways to join the same table in. */ - var $relationships = array(); + public $relationships = array(); /** * An array of sections of the WHERE query. Each section is in itself * an array of pieces and a flag as to whether or not it should be AND * or OR. */ - var $where = array(); + public $where = array(); + /** * An array of sections of the HAVING query. Each section is in itself * an array of pieces and a flag as to whether or not it should be AND * or OR. */ - var $having = array(); + public $having = array(); + /** * The default operator to use when connecting the WHERE groups. May be * AND or OR. */ - var $group_operator = 'AND'; + public $group_operator = 'AND'; /** * A simple array of order by clauses. */ - var $orderby = array(); + public $orderby = array(); /** * A simple array of group by clauses. */ - var $groupby = array(); - + public $groupby = array(); /** * An array of fields. */ - var $fields = array(); - + public $fields = array(); /** * The table header to use for tablesort. This matters because tablesort * needs to modify the query and needs the header. */ - var $header = array(); + public $header = array(); /** * A flag as to whether or not to make the primary field distinct. */ - var $distinct = FALSE; + public $distinct = FALSE; - var $has_aggregate = FALSE; + /** + * + */ + public $has_aggregate = FALSE; /** * Should this query be optimized for counts, for example no sorts. */ - var $get_count_optimized = NULL; + public $get_count_optimized = NULL; /** * The current used pager plugin. * * @var views_plugin_pager */ - var $pager = NULL; + public $pager = NULL; - /** + /** * An array mapping table aliases and field names to field aliases. */ - var $field_aliases = array(); + public $field_aliases = array(); - /** + /** * Query tags which will be passed over to the dbtng query object. */ - var $tags = array(); + public $tags = array(); /** * Is the view marked as not distinct. * * @var bool */ - var $no_distinct; + public $no_distinct; /** * Defines the distinct type. @@ -115,20 +118,21 @@ class views_plugin_query_default extends views_plugin_query { public $pure_distinct = FALSE; /** - * Constructor; Create the basic query object and fill with default values. + * {@inheritdoc} */ - function init($base_table = 'node', $base_field = 'nid', $options) { + public function init($base_table = 'node', $base_field = 'nid', $options) { parent::init($base_table, $base_field, $options); - $this->base_table = $base_table; // Predefine these above, for clarity. + $this->base_table = $base_table; + // Predefine these above, for clarity. $this->base_field = $base_field; $this->relationships[$base_table] = array( 'link' => NULL, 'table' => $base_table, 'alias' => $base_table, - 'base' => $base_table + 'base' => $base_table, ); - // init the table queue with our primary table. + // Unit the table queue with our primary table. $this->table_queue[$base_table] = array( 'alias' => $base_table, 'table' => $base_table, @@ -136,22 +140,20 @@ class views_plugin_query_default extends views_plugin_query { 'join' => NULL, ); - // init the tables with our primary table + // Init the tables with our primary table. $this->tables[$base_table][$base_table] = array( 'count' => 1, 'alias' => $base_table, ); -/** - * -- we no longer want the base field to appear automatically. - if ($base_field) { - $this->fields[$base_field] = array( - 'table' => $base_table, - 'field' => $base_field, - 'alias' => $base_field, - ); - } - */ + // We no longer want the base field to appear automatically. + // if ($base_field) { + // $this->fields[$base_field] = array( + // 'table' => $base_table, + // 'field' => $base_field, + // 'alias' => $base_field, + // ); + // } $this->count_field = array( 'table' => $base_table, @@ -161,8 +163,9 @@ class views_plugin_query_default extends views_plugin_query { ); } - // ---------------------------------------------------------------- - // Utility methods to set flags and data. + /** + * Utility methods to set flags and data. + */ /** * Set the view to be distinct. @@ -175,7 +178,7 @@ class views_plugin_query_default extends views_plugin_query { * @param bool $pure_distinct * Should only the sql keyword be added. */ - function set_distinct($value = TRUE, $pure_distinct = FALSE) { + public function set_distinct($value = TRUE, $pure_distinct = FALSE) { if (!(isset($this->no_distinct) && $value)) { $this->distinct = $value; $this->pure_distinct = $pure_distinct; @@ -185,7 +188,7 @@ class views_plugin_query_default extends views_plugin_query { /** * Set what field the query will count() on for paging. */ - function set_count_field($table, $field, $alias = NULL) { + public function set_count_field($table, $field, $alias = NULL) { if (empty($alias)) { $alias = $table . '_' . $field; } @@ -198,14 +201,19 @@ class views_plugin_query_default extends views_plugin_query { } /** - * Set the table header; used for click-sorting because it's needed - * info to modify the ORDER BY clause. + * Set the table header. + * + * Used for click-sorting because it's needed info to modify the ORDER BY + * clause. */ - function set_header($header) { + public function set_header($header) { $this->header = $header; } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['disable_sql_rewrite'] = array( 'default' => FALSE, @@ -237,7 +245,7 @@ class views_plugin_query_default extends views_plugin_query { /** * Add settings for the ui. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['disable_sql_rewrite'] = array( @@ -245,7 +253,9 @@ class views_plugin_query_default extends views_plugin_query { '#description' => t('Disabling SQL rewriting will disable node_access checks as well as other modules that implement hook_query_alter().'), '#type' => 'checkbox', '#default_value' => !empty($this->options['disable_sql_rewrite']), - '#suffix' => '<div class="messages warning sql-rewrite-warning js-hide">' . t('WARNING: Disabling SQL rewriting means that node access security is disabled. This may allow users to see data they should not be able to see if your view is misconfigured. Please use this option only if you understand and accept this security risk.') . '</div>', + '#suffix' => '<div class="messages warning sql-rewrite-warning js-hide">' + . t('WARNING: Disabling SQL rewriting means that node access security is disabled. This may allow users to see data they should not be able to see if your view is misconfigured. Please use this option only if you understand and accept this security risk.') + . '</div>', ); $form['distinct'] = array( '#type' => 'checkbox', @@ -284,45 +294,45 @@ class views_plugin_query_default extends views_plugin_query { /** * Special submit handling. */ - function options_submit(&$form, &$form_state) { + public function options_submit(&$form, &$form_state) { $element = array('#parents' => array('query', 'options', 'query_tags')); $value = explode(',', drupal_array_get_nested_value($form_state['values'], $element['#parents'])); $value = array_filter(array_map('trim', $value)); form_set_value($element, $value, $form_state); } - // ---------------------------------------------------------------- - // Table/join adding + /** + * Table/join adding. + */ /** - * A relationship is an alternative endpoint to a series of table - * joins. Relationships must be aliases of the primary table and - * they must join either to the primary table or to a pre-existing - * relationship. + * A relationship is an alternative endpoint to a series of table joins. * - * An example of a relationship would be a nodereference table. - * If you have a nodereference named 'book_parent' which links to a - * parent node, you could set up a relationship 'node_book_parent' - * to 'node'. Then, anything that links to 'node' can link to - * 'node_book_parent' instead, thus allowing all properties of - * both nodes to be available in the query. + * Relationships must be aliases of the primary table and they must join + * either to the primary table or to a pre-existing relationship. * - * @param $alias - * What this relationship will be called, and is also the alias - * for the table. + * An example of a relationship would be a nodereference table. If you have a + * nodereference named 'book_parent' which links to a parent node, you could + * set up a relationship 'node_book_parent' to 'node'. Then, anything that + * links to 'node' can link to 'node_book_parent' instead, thus allowing all + * properties of both nodes to be available in the query. + * + * @param string $alias + * What this relationship will be called, and is also the alias for the + * table. * @param views_join $join * A views_join object (or derived object) to join the alias in. - * @param $base - * The name of the 'base' table this relationship represents; this - * tells the join search which path to attempt to use when finding - * the path to this relationship. - * @param $link_point - * If this relationship links to something other than the primary - * table, specify that table here. For example, a 'track' node - * might have a relationship to an 'album' node, which might - * have a relationship to an 'artist' node. + * @param string $base + * The name of the 'base' table this relationship represents; this tells the + * join search which path to attempt to use when finding the path to this + * relationship. + * @param string $link_point + * If this relationship links to something other than the primary table, + * specify that table here. For example, a 'track' node might have a + * relationship to an 'album' node, which might have a relationship to an + * 'artist' node. */ - function add_relationship($alias, $join, $base, $link_point = NULL) { + public function add_relationship($alias, $join, $base, $link_point = NULL) { if (empty($link_point)) { $link_point = $this->base_table; } @@ -342,8 +352,7 @@ class views_plugin_query_default extends views_plugin_query { $join = $this->adjust_join($join, $link_point); } - // Add the table directly to the queue to avoid accidentally marking - // it. + // Add the table directly to the queue to avoid accidentally marking it. $this->table_queue[$alias] = array( 'table' => $join->table, 'num' => 1, @@ -369,34 +378,34 @@ class views_plugin_query_default extends views_plugin_query { /** * Add a table to the query, ensuring the path exists. * - * This function will test to ensure that the path back to the primary - * table is valid and exists; if you do not wish for this testing to - * occur, use $query->queue_table() instead. + * This function will test to ensure that the path back to the primary table + * is valid and exists; if you do not wish for this testing to occur, use + * $query->queue_table() instead. * - * @param $table + * @param string $table * The name of the table to add. It needs to exist in the global table * array. - * @param $relationship - * An alias of a table; if this is set, the path back to this table will - * be tested prior to adding the table, making sure that all intermediary - * tables exist and are properly aliased. If set to NULL the path to - * the primary table will be ensured. If the path cannot be made, the - * table will NOT be added. + * @param string $relationship + * An alias of a table; if this is set, the path back to this table will be + * tested prior to adding the table, making sure that all intermediary + * tables exist and are properly aliased. If set to NULL the path to the + * primary table will be ensured. If the path cannot be made, the table + * will NOT be added. * @param views_join $join - * In some join configurations this table may actually join back through - * a different method; this is most likely to be used when tracing - * a hierarchy path. (node->parent->parent2->parent3). This parameter - * will specify how this table joins if it is not the default. - * @param $alias + * In some join configurations this table may actually join back through a + * different method; this is most likely to be used when tracing a + * hierarchy path. (node->parent->parent2->parent3). This parameter will + * specify how this table joins if it is not the default. + * @param string $alias * A specific alias to use, rather than the default alias. * - * @return $alias + * @return string * The alias of the table; this alias can be used to access information * about the table and should always be used to refer to the table when * adding parts to the query. Or FALSE if the table was not able to be * added. */ - function add_table($table, $relationship = NULL, $join = NULL, $alias = NULL) { + public function add_table($table, $relationship = NULL, $join = NULL, $alias = NULL) { if (!$this->ensure_path($table, $relationship, $join)) { return FALSE; } @@ -415,27 +424,27 @@ class views_plugin_query_default extends views_plugin_query { * ensure_table() should be used instead of this one, unless you are * absolutely sure this is what you want. * - * @param $table + * @param string $table * The name of the table to add. It needs to exist in the global table * array. - * @param $relationship + * @param string $relationship * The primary table alias this table is related to. If not set, the * primary table will be used. * @param views_join $join - * In some join configurations this table may actually join back through - * a different method; this is most likely to be used when tracing - * a hierarchy path. (node->parent->parent2->parent3). This parameter - * will specify how this table joins if it is not the default. - * @param $alias + * In some join configurations this table may actually join back through a + * different method; this is most likely to be used when tracing a + * hierarchy path. (node->parent->parent2->parent3). This parameter will + * specify how this table joins if it is not the default. + * @param string $alias * A specific alias to use, rather than the default alias. * - * @return $alias + * @return string * The alias of the table; this alias can be used to access information * about the table and should always be used to refer to the table when * adding parts to the query. Or FALSE if the table was not able to be * added. */ - function queue_table($table, $relationship = NULL, $join = NULL, $alias = NULL) { + public function queue_table($table, $relationship = NULL, $join = NULL, $alias = NULL) { // If the alias is set, make sure it doesn't already exist. if (isset($this->table_queue[$alias])) { return $alias; @@ -458,8 +467,8 @@ class views_plugin_query_default extends views_plugin_query { } } - // Check this again to make sure we don't blow up existing aliases for already - // adjusted joins. + // Check this again to make sure we don't blow up existing aliases for + // already adjusted joins. if (isset($this->table_queue[$alias])) { return $alias; } @@ -471,8 +480,8 @@ class views_plugin_query_default extends views_plugin_query { $alias = $this->tables[$relationship][$table]['alias'] . $this->tables[$relationship][$table]['count']; } - // If this is a relationship based table, add a marker with - // the relationship as a primary table for the alias. + // If this is a relationship based table, add a marker with the + // relationship as a primary table for the alias. if ($table != $alias) { $this->mark_table($alias, $this->base_table, $alias); } @@ -498,14 +507,17 @@ class views_plugin_query_default extends views_plugin_query { return $alias; } - function mark_table($table, $relationship, $alias) { + /** + * + */ + public function mark_table($table, $relationship, $alias) { // Mark that this table has been added. if (empty($this->tables[$relationship][$table])) { if (!isset($alias)) { $alias = ''; if ($relationship != $this->base_table) { - // double underscore will help prevent accidental name - // space collisions. + // Double underscore will help prevent accidental name space + // collisions. $alias = $relationship . '__'; } $alias .= $table; @@ -523,33 +535,33 @@ class views_plugin_query_default extends views_plugin_query { } /** - * Ensure a table exists in the queue; if it already exists it won't - * do anything, but if it doesn't it will add the table queue. It will ensure - * a path leads back to the relationship table. + * Ensure a table exists in the queue; if it already exists it won't do + * anything, but if it doesn't it will add the table queue. It will ensure a + * path leads back to the relationship table. * - * @param $table + * @param string $table * The unaliased name of the table to ensure. - * @param $relationship + * @param string $relationship * The relationship to ensure the table links to. Each relationship will - * get a unique instance of the table being added. If not specified, - * will be the primary table. + * get a unique instance of the table being added. If not specified, will + * be the primary table. * @param views_join $join * A views_join object (or derived object) to join the alias in. * - * @return + * @return string * The alias used to refer to this specific table, or NULL if the table * cannot be ensured. */ - function ensure_table($table, $relationship = NULL, $join = NULL) { - // ensure a relationship + public function ensure_table($table, $relationship = NULL, $join = NULL) { + // Ensure a relationship. if (empty($relationship)) { $relationship = $this->base_table; } // If the relationship is the primary table, this actually be a relationship - // link back from an alias. We store all aliases along with the primary table - // to detect this state, because eventually it'll hit a table we already - // have and that's when we want to stop. + // link back from an alias. We store all aliases along with the primary + // table to detect this state, because eventually it'll hit a table we + // already have and that's when we want to stop. if ($relationship == $this->base_table && !empty($this->tables[$relationship][$table])) { return $this->tables[$relationship][$table]['alias']; } @@ -578,31 +590,28 @@ class views_plugin_query_default extends views_plugin_query { $join = $this->adjust_join($join, $relationship); if ($this->ensure_path($table, $relationship, $join)) { - // Attempt to eliminate redundant joins. If this table's - // relationship and join exactly matches an existing table's - // relationship and join, we do not have to join to it again; - // just return the existing table's alias. See - // http://groups.drupal.org/node/11288 for details. + // Attempt to eliminate redundant joins. If this table's relationship + // and join exactly matches an existing table's relationship and join, we + // do not have to join to it again; just return the existing table's + // alias. + // @see http://groups.drupal.org/node/11288 // - // This can be done safely here but not lower down in - // queue_table(), because queue_table() is also used by - // add_table() which requires the ability to intentionally add - // the same table with the same join multiple times. For - // example, a view that filters on 3 taxonomy terms using AND - // needs to join taxonomy_term_data 3 times with the same join. - + // This can be done safely here but not lower down in queue_table(), + // because queue_table() is also used by add_table() which requires the + // ability to intentionally add the same table with the same join + // multiple times. For example, a view that filters on 3 taxonomy terms + // using AND needs to join taxonomy_term_data 3 times with the same join. // scan through the table queue to see if a matching join and // relationship exists. If so, use it instead of this join. - - // TODO: Scanning through $this->table_queue results in an - // O(N^2) algorithm, and this code runs every time the view is - // instantiated (Views 2 does not currently cache queries). - // There are a couple possible "improvements" but we should do - // some performance testing before picking one. + // @todo Scanning through $this->table_queue results in an O(N^2) + // algorithm, and this code runs every time the view is instantiated + // (Views 2 does not currently cache queries). There are a couple + // possible "improvements" but we should do some performance testing + // before picking one. foreach ($this->table_queue as $queued_table) { - // In PHP 4 and 5, the == operation returns TRUE for two objects - // if they are instances of the same class and have the same - // attributes and values. + // In PHP 4 and 5, the == operation returns TRUE for two objects if + // they are instances of the same class and have the same attributes + // and values. if ($queued_table['relationship'] == $relationship && $queued_table['join'] == $join) { return $queued_table['alias']; } @@ -614,12 +623,12 @@ class views_plugin_query_default extends views_plugin_query { /** * Make sure that the specified table can be properly linked to the primary - * table in the JOINs. This function uses recursion. If the tables - * needed to complete the path back to the primary table are not in the - * query they will be added, but additional copies will NOT be added - * if the table is already there. + * table in the JOINs. This function uses recursion. If the tables needed + * to complete the path back to the primary table are not in the query they + * will be added, but additional copies will NOT be added if the table is + * already there. */ - function ensure_path($table, $relationship = NULL, $join = NULL, $traced = array(), $add = array()) { + public function ensure_path($table, $relationship = NULL, $join = NULL, $traced = array(), $add = array()) { if (!isset($relationship)) { $relationship = $this->base_table; } @@ -652,7 +661,7 @@ class views_plugin_query_default extends views_plugin_query { // Have we been this way? if (isset($traced[$join->left_table])) { - // we looped. Broked. + // We looped. Broked. return FALSE; } @@ -668,10 +677,12 @@ class views_plugin_query_default extends views_plugin_query { } /** - * Fix a join to adhere to the proper relationship; the left table can vary - * based upon what relationship items are joined in on. + * Fix a join to adhere to the proper relationship. + * + * The left table can vary based upon what relationship items are joined in + * on. */ - function adjust_join($join, $relationship) { + public function adjust_join($join, $relationship) { if (!empty($join->adjusted)) { return $join; } @@ -683,9 +694,8 @@ class views_plugin_query_default extends views_plugin_query { // Adjusts the left table for our relationship. if ($relationship != $this->base_table) { // If we're linking to the primary table, the relationship to use will - // be the prior relationship. Unless it's a direct link. - - // Safety! Don't modify an original here. + // be the prior relationship. Unless it's a direct link. Safety! Don't + // modify an original here. $join = clone $join; // Do we need to try to ensure a path? @@ -695,7 +705,8 @@ class views_plugin_query_default extends views_plugin_query { $this->ensure_table($join->left_table, $relationship); } - // First, if this is our link point/anchor table, just use the relationship + // First, if this is our link point/anchor table, just use the + // relationship. if ($join->left_table == $this->relationships[$relationship]['table']) { $join->left_table = $relationship; } @@ -716,15 +727,15 @@ class views_plugin_query_default extends views_plugin_query { /** * Retrieve join data from the larger join data cache. * - * @param $table + * @param string $table * The table to get the join information for. - * @param $base_table + * @param string $base_table * The path we're following to get this join. * * @return views_join * A views_join object or child object, if one exists. */ - function get_join_data($table, $base_table) { + public function get_join_data($table, $base_table) { // Check to see if we're linking to a known alias. If so, get the real // table's data instead. if (!empty($this->table_queue[$table])) { @@ -739,7 +750,7 @@ class views_plugin_query_default extends views_plugin_query { * If you need the alias of a table with a particular relationship, use * ensure_table(). */ - function get_table_info($table) { + public function get_table_info($table) { if (!empty($this->table_queue[$table])) { return $this->table_queue[$table]; } @@ -755,27 +766,26 @@ class views_plugin_query_default extends views_plugin_query { /** * Add a field to the query table, possibly with an alias. This will - * automatically call ensure_table to make sure the required table - * exists, *unless* $table is unset. + * automatically call ensure_table to make sure the required table exists, + * *unless* $table is unset. * - * @param $table - * The table this field is attached to. If NULL, it is assumed this will - * be a formula; otherwise, ensure_table is used to make sure the - * table exists. - * @param $field + * @param string $table + * The table this field is attached to. If NULL, it is assumed this will be + * a formula; otherwise, ensure_table is used to make sure the table exists. + * @param string $field * The name of the field to add. This may be a real field or a formula. - * @param $alias + * @param string $alias * The alias to create. If not specified, the alias will be $table_$field * unless $table is NULL. When adding formulae, it is recommended that an * alias be used. - * @param $params + * @param array $params * An array of parameters additional to the field that will control items * such as aggregation functions and DISTINCT. * - * @return $name - * The name that this field can be referred to as. Usually this is the alias. + * @return string + * The name that this field can be referred to as, usually the alias. */ - function add_field($table, $field, $alias = '', $params = array()) { + public function add_field($table, $field, $alias = '', $params = array()) { // We check for this specifically because it gets a special alias. if ($table == $this->base_table && $field == $this->base_field && empty($alias)) { $alias = $this->base_field; @@ -789,13 +799,13 @@ class views_plugin_query_default extends views_plugin_query { $alias = $table . '_' . $field; } - // Make sure an alias is assigned + // Make sure an alias is assigned. $alias = $alias ? $alias : $field; - // PostgreSQL truncates aliases to 63 characters: http://drupal.org/node/571548 - + // PostgreSQL truncates aliases to 63 characters. + // @see http://drupal.org/node/571548 // We limit the length of the original alias up to 60 characters - // to get a unique alias later if its have duplicates + // to get a unique alias later if its have duplicates. $alias = strtolower(substr($alias, 0, 60)); // Create a field info array. @@ -805,9 +815,9 @@ class views_plugin_query_default extends views_plugin_query { 'alias' => $alias, ) + $params; - // Test to see if the field is actually the same or not. Due to - // differing parameters changing the aggregation function, we need - // to do some automatic alias collision detection: + // Test to see if the field is actually the same or not. Due to differing + // parameters changing the aggregation function, we need to do some + // automatic alias collision detection. $base = $alias; $counter = 0; while (!empty($this->fields[$alias]) && $this->fields[$alias] != $field_info) { @@ -825,35 +835,40 @@ class views_plugin_query_default extends views_plugin_query { } /** - * Remove all fields that may've been added; primarily used for summary - * mode where we're changing the query because we didn't get data we needed. + * Remove all fields that may've been added. + * + * Primarily used for summary mode where we're changing the query because we + * didn't get data we needed. */ - function clear_fields() { + public function clear_fields() { $this->fields = array(); } /** - * Add a simple WHERE clause to the query. The caller is responsible for - * ensuring that all fields are fully qualified (TABLE.FIELD) and that - * the table already exists in the query. + * Add a simple WHERE clause to the query. * - * @param $group + * The caller is responsible for ensuring that all fields are fully qualified + * (TABLE.FIELD) and that the table already exists in the query. + * + * @param string $group * The WHERE group to add these to; groups are used to create AND/OR - * sections. Groups cannot be nested. Use 0 as the default group. - * If the group does not yet exist it will be created as an AND group. - * @param $field + * sections. Groups cannot be nested. Use 0 as the default group. If the + * group does not yet exist it will be created as an AND group. + * @param string $field * The name of the field to check. - * @param $value - * The value to test the field against. In most cases, this is a scalar. For more - * complex options, it is an array. The meaning of each element in the array is - * dependent on the $operator. - * @param $operator - * The comparison operator, such as =, <, or >=. It also accepts more complex - * options such as IN, LIKE, or BETWEEN. Defaults to IN if $value is an array - * = otherwise. If $field is a string you have to use 'formula' here. + * @param string $value + * The value to test the field against. In most cases, this is a scalar. For + * more complex options, it is an array. The meaning of each element in the + * array is dependent on the $operator. + * @param string $operator + * The comparison operator, such as =, <, or >=. It also accepts more + * complex options such as IN, LIKE, or BETWEEN. Defaults to IN if $value is + * an array = otherwise. If $field is a string you have to use 'formula' + * here. * * The $field, $value and $operator arguments can also be passed in with a * single DatabaseCondition object, like this: + * * @code * $this->query->add_where( * $this->options['group'], @@ -866,9 +881,9 @@ class views_plugin_query_default extends views_plugin_query { * @see QueryConditionInterface::condition() * @see DatabaseCondition */ - function add_where($group, $field, $value = NULL, $operator = NULL) { - // Ensure all variants of 0 are actually 0. Thus '', 0 and NULL are all - // the default group. + public function add_where($group, $field, $value = NULL, $operator = NULL) { + // Ensure all variants of 0 are actually 0. Thus '', 0 and NULL are all the + // default group. if (empty($group)) { $group = 0; } @@ -889,22 +904,22 @@ class views_plugin_query_default extends views_plugin_query { * Add a complex WHERE clause to the query. * * The caller is responsible for ensuring that all fields are fully qualified - * (TABLE.FIELD) and that the table already exists in the query. - * Internally the dbtng method "where" is used. + * (TABLE.FIELD) and that the table already exists in the query. Internally + * the dbtng method "where" is used. * - * @param $group + * @param string $group * The WHERE group to add these to; groups are used to create AND/OR - * sections. Groups cannot be nested. Use 0 as the default group. - * If the group does not yet exist it will be created as an AND group. - * @param $snippet - * The snippet to check. This can be either a column or - * a complex expression like "UPPER(table.field) = 'value'" - * @param $args + * sections. Groups cannot be nested. Use 0 as the default group. If the + * group does not yet exist it will be created as an AND group. + * @param string $snippet + * The snippet to check. This can be either a column or a complex expression + * like "UPPER(table.field) = 'value'". + * @param array $args * An associative array of arguments. * * @see QueryConditionInterface::where() */ - function add_where_expression($group, $snippet, $args = array()) { + public function add_where_expression($group, $snippet, $args = array()) { // Ensure all variants of 0 are actually 0. Thus '', 0 and NULL are all // the default group. if (empty($group)) { @@ -927,29 +942,30 @@ class views_plugin_query_default extends views_plugin_query { * Add a simple HAVING clause to the query. * * The caller is responsible for ensuring that all fields are fully qualified - * (TABLE.FIELD) and that the table and an appropriate GROUP BY already exist in the query. - * Internally the dbtng method "havingCondition" is used. + * (TABLE.FIELD) and that the table and an appropriate GROUP BY already exist + * in the query. Internally the dbtng method "havingCondition" is used. * - * @param $group + * @param string $group * The HAVING group to add these to; groups are used to create AND/OR - * sections. Groups cannot be nested. Use 0 as the default group. - * If the group does not yet exist it will be created as an AND group. - * @param $field + * sections. Groups cannot be nested. Use 0 as the default group. If the + * group does not yet exist it will be created as an AND group. + * @param string $field * The name of the field to check. - * @param $value - * The value to test the field against. In most cases, this is a scalar. For more - * complex options, it is an array. The meaning of each element in the array is - * dependent on the $operator. - * @param $operator - * The comparison operator, such as =, <, or >=. It also accepts more complex - * options such as IN, LIKE, or BETWEEN. Defaults to IN if $value is an array - * = otherwise. If $field is a string you have to use 'formula' here. + * @param string $value + * The value to test the field against. In most cases, this is a scalar. For + * more complex options, it is an array. The meaning of each element in the + * array is dependent on the $operator. + * @param string $operator + * The comparison operator, such as =, <, or >=. It also accepts more + * complex options such as IN, LIKE, or BETWEEN. Defaults to IN if $value is + * an array = otherwise. If $field is a string you have to use 'formula' + * here. * * @see SelectQueryInterface::havingCondition() */ - function add_having($group, $field, $value = NULL, $operator = NULL) { - // Ensure all variants of 0 are actually 0. Thus '', 0 and NULL are all - // the default group. + public function add_having($group, $field, $value = NULL, $operator = NULL) { + // Ensure all variants of 0 are actually 0. Thus '', 0 and NULL are all the + // default group. if (empty($group)) { $group = 0; } @@ -969,23 +985,24 @@ class views_plugin_query_default extends views_plugin_query { /** * Add a complex HAVING clause to the query. + * * The caller is responsible for ensuring that all fields are fully qualified - * (TABLE.FIELD) and that the table and an appropriate GROUP BY already exist in the query. - * Internally the dbtng method "having" is used. + * (TABLE.FIELD) and that the table and an appropriate GROUP BY already exist + * in the query. Internally the dbtng method "having" is used. * - * @param $group + * @param string $group * The HAVING group to add these to; groups are used to create AND/OR - * sections. Groups cannot be nested. Use 0 as the default group. - * If the group does not yet exist it will be created as an AND group. - * @param $snippet - * The snippet to check. This can be either a column or - * a complex expression like "COUNT(table.field) > 3" - * @param $args + * sections. Groups cannot be nested. Use 0 as the default group. If the + * group does not yet exist it will be created as an AND group. + * @param string $snippet + * The snippet to check. This can be either a column or a complex + * expression like "COUNT(table.field) > 3" + * @param array $args * An associative array of arguments. * * @see QueryConditionInterface::having() */ - function add_having_expression($group, $snippet, $args = array()) { + public function add_having_expression($group, $snippet, $args = array()) { // Ensure all variants of 0 are actually 0. Thus '', 0 and NULL are all // the default group. if (empty($group)) { @@ -1008,31 +1025,32 @@ class views_plugin_query_default extends views_plugin_query { /** * Add an ORDER BY clause to the query. * - * @param $table - * The table this field is part of. If a formula, enter NULL. - * If you want to orderby random use "rand" as table and nothing else. - * @param $field - * The field or formula to sort on. If already a field, enter NULL - * and put in the alias. - * @param $order + * @param string $table + * The table this field is part of. If a formula, enter NULL. If you want to + * orderby random use "rand" as table and nothing else. + * @param string $field + * The field or formula to sort on. If already a field, enter NULL and put + * in the alias. + * @param string $order * Either ASC or DESC. - * @param $alias - * The alias to add the field as. In SQL, all fields in the order by - * must also be in the SELECT portion. If an $alias isn't specified - * one will be generated for from the $field; however, if the - * $field is a formula, this alias will likely fail. - * @param $params + * @param string $alias + * The alias to add the field as. In SQL, all fields in the order by must + * also be in the SELECT portion. If an $alias isn't specified one will be + * generated for from the $field; however, if the $field is a formula, this + * alias will likely fail. + * @param string $params * Any params that should be passed through to the add_field. */ - function add_orderby($table, $field = NULL, $order = 'ASC', $alias = '', $params = array()) { + public function add_orderby($table, $field = NULL, $order = 'ASC', $alias = '', $params = array()) { // Only ensure the table if it's not the special random key. - // @todo: Maybe it would make sense to just add a add_orderby_rand or something similar. + // @todo Maybe it would make sense to just add a add_orderby_rand or + // something similar. if ($table && $table != 'rand') { $this->ensure_table($table); } - // Only fill out this aliasing if there is a table; - // otherwise we assume it is a formula. + // Only fill out this aliasing if there is a table; otherwise we assume it + // is a formula. if (!$alias && $table) { $as = $table . '_' . $field; } @@ -1046,27 +1064,17 @@ class views_plugin_query_default extends views_plugin_query { $this->orderby[] = array( 'field' => $as, - 'direction' => strtoupper($order) + 'direction' => strtoupper($order), ); - - /** - * -- removing, this should be taken care of by field adding now. - * -- leaving commented because I am unsure. - // If grouping, all items in the order by must also be in the - // group by clause. Check $table to ensure that this is not a - // formula. - if ($this->groupby && $table) { - $this->add_groupby($as); - } - */ } /** - * Add a simple GROUP BY clause to the query. The caller is responsible - * for ensuring that the fields are fully qualified and the table is properly - * added. + * Add a simple GROUP BY clause to the query. + * + * The caller is responsible for ensuring that the fields are fully qualified + * and the table is properly added. */ - function add_groupby($clause) { + public function add_groupby($clause) { // Only add it if it's not already in there. if (!in_array($clause, $this->groupby)) { $this->groupby[] = $clause; @@ -1078,7 +1086,7 @@ class views_plugin_query_default extends views_plugin_query { * * @see views_plugin_query_default::add_field() */ - function get_field_alias($table_alias, $field) { + public function get_field_alias($table_alias, $field) { return isset($this->field_aliases[$table_alias][$field]) ? $this->field_aliases[$table_alias][$field] : FALSE; } @@ -1087,14 +1095,14 @@ class views_plugin_query_default extends views_plugin_query { * * @see SelectQuery::addTag() */ - function add_tag($tag) { + public function add_tag($tag) { $this->tags[] = $tag; } /** * Generates a unique placeholder used in the db query. */ - function placeholder($base = 'views') { + public function placeholder($base = 'views') { static $placeholders = array(); if (!isset($placeholders[$base])) { $placeholders[$base] = 0; @@ -1113,10 +1121,10 @@ class views_plugin_query_default extends views_plugin_query { * There is other code in filters which makes sure that the group IDs are * higher than zero. * - * @param $where - * 'where' or 'having'. + * @param string $where + * Either 'where' or 'having'. */ - function build_condition($where = 'where') { + public function build_condition($where = 'where') { $has_condition = FALSE; $has_arguments = FALSE; $has_filter = FALSE; @@ -1130,8 +1138,9 @@ class views_plugin_query_default extends views_plugin_query { $sub_group = $info['type'] == 'OR' ? db_or() : db_and(); foreach ($info['conditions'] as $key => $clause) { // DBTNG doesn't support to add the same subquery twice to the main - // query and the count query, so clone the subquery to have two instances - // of the same object. - http://drupal.org/node/1112854 + // query and the count query, so clone the subquery to have two + // instances of the same object. + // @see http://drupal.org/node/1112854 if (is_object($clause['value']) && $clause['value'] instanceof SelectQuery) { $clause['value'] = clone $clause['value']; } @@ -1172,7 +1181,7 @@ class views_plugin_query_default extends views_plugin_query { /** * Build fields array. */ - function compile_fields($fields_array, $query) { + public function compile_fields($fields_array, $query) { $non_aggregates = array(); foreach ($fields_array as $field) { $string = ''; @@ -1187,7 +1196,7 @@ class views_plugin_query_default extends views_plugin_query { } if (!empty($field['count'])) { - // Retained for compatibility + // Retained for compatibility. $field['function'] = 'count'; // It seems there's no way to abstract the table+column reference // without adding a field, aliasing, and then using the alias. @@ -1205,7 +1214,9 @@ class views_plugin_query_default extends views_plugin_query { } // This is a formula, using no tables. elseif (empty($field['table'])) { - $non_aggregates[] = $fieldname; + if (!in_array($fieldname, $non_aggregates)) { + $non_aggregates[] = $fieldname; + } $placeholders = !empty($field['placeholders']) ? $field['placeholders'] : array(); $query->addExpression($string, $fieldname, $placeholders); } @@ -1213,14 +1224,19 @@ class views_plugin_query_default extends views_plugin_query { elseif ($this->distinct && !in_array($fieldname, $this->groupby)) { // d7cx: This code was there, apparently needed for PostgreSQL // $string = db_driver() == 'pgsql' ? "FIRST($string)" : $string; + if (!in_array($string, $non_aggregates)) { + $non_aggregates[] = $string; + } $query->addField(!empty($field['table']) ? $field['table'] : $this->base_table, $field['field'], $fieldname); } elseif (empty($field['aggregate'])) { - $non_aggregates[] = $fieldname; + if (!in_array($string, $non_aggregates)) { + $non_aggregates[] = $string; + } $query->addField(!empty($field['table']) ? $field['table'] : $this->base_table, $field['field'], $fieldname); } - // @TODO Remove this old code. + // @todo Remove this old code. if (!empty($field['distinct']) && empty($field['function'])) { $distinct[] = $string; } @@ -1242,26 +1258,25 @@ class views_plugin_query_default extends views_plugin_query { * Generate a query and a countquery from all of the information supplied * to the object. * - * @param $get_count + * @param bool $get_count * Provide a countquery if this is true, otherwise provide a normal query. * * @return SelectQuery * A SelectQuery object. */ - function query($get_count = FALSE) { + public function query($get_count = FALSE) { // Check query distinct value. if (empty($this->no_distinct) && $this->distinct && !empty($this->fields)) { - if ($this->pure_distinct === FALSE){ + if ($this->pure_distinct === FALSE) { $base_field_alias = $this->add_field($this->base_table, $this->base_field); $this->add_groupby($base_field_alias); } $distinct = TRUE; } - /** - * An optimized count query includes just the base field instead of all the fields. - * Determine of this query qualifies by checking for a groupby or distinct. - */ + // An optimized count query includes just the base field instead of all the + // fields. Determine of this query qualifies by checking for a groupby or + // distinct. $fields_array = $this->fields; if ($get_count && !$this->groupby) { foreach ($fields_array as $field) { @@ -1281,18 +1296,18 @@ class views_plugin_query_default extends views_plugin_query { $options = array(); $target = 'default'; $key = 'default'; - // Detect an external database and set the + // Detect an external database and set the. if (isset($this->view->base_database)) { $key = $this->view->base_database; } - // Set the slave target if the slave option is set + // Set the slave target if the slave option is set. if (!empty($this->options['slave'])) { $target = 'slave'; } - // Go ahead and build the query. - // db_select doesn't support to specify the key, so use getConnection directly. + // Go ahead and build the query. db_select doesn't support to specify the + // key, so use getConnection directly. $query = Database::getConnection($target, $key) ->select($this->base_table, $this->base_table, $options) ->addTag('views') @@ -1340,7 +1355,7 @@ class views_plugin_query_default extends views_plugin_query { } if (!$this->get_count_optimized) { - // we only add the orderby if we're not counting. + // We only add the orderby if we're not counting. if ($this->orderby) { foreach ($this->orderby as $order) { if ($order['field'] == 'rand_') { @@ -1374,8 +1389,8 @@ class views_plugin_query_default extends views_plugin_query { if (!$get_count) { if (!empty($this->limit) || !empty($this->offset)) { - // We can't have an offset without a limit, so provide a very large limit - // instead. + // We can't have an offset without a limit, so provide a very large + // limit instead. $limit = intval(!empty($this->limit) ? $this->limit : 999999); $offset = intval(!empty($this->offset) ? $this->offset : 0); $query->range($offset, $limit); @@ -1388,7 +1403,7 @@ class views_plugin_query_default extends views_plugin_query { /** * Get the arguments attached to the WHERE and HAVING clauses of this query. */ - function get_where_args() { + public function get_where_args() { $args = array(); foreach ($this->where as $group => $where) { $args = array_merge($args, $where['args']); @@ -1402,7 +1417,7 @@ class views_plugin_query_default extends views_plugin_query { /** * Let modules modify the query just prior to finalizing it. */ - function alter(&$view) { + public function alter(&$view) { foreach (module_implements('views_query_alter') as $module) { $function = $module . '_views_query_alter'; $function($view, $this); @@ -1412,7 +1427,7 @@ class views_plugin_query_default extends views_plugin_query { /** * Builds the necessary info to execute the query. */ - function build(&$view) { + public function build(&$view) { // Make the query distinct if the option was set. if (!empty($this->options['distinct'])) { $this->set_distinct(TRUE, !empty($this->options['pure_distinct'])); @@ -1437,8 +1452,9 @@ class views_plugin_query_default extends views_plugin_query { * Values to set: $view->result, $view->total_rows, $view->execute_time, * $view->current_page. */ - function execute(&$view) { - $external = FALSE; // Whether this query will run against an external database. + public function execute(&$view) { + // Whether this query will run against an external database. + $external = FALSE; $query = $view->build_info['query']; $count_query = $view->build_info['count_query']; @@ -1462,9 +1478,9 @@ class views_plugin_query_default extends views_plugin_query { // If not, then hook_query_node_access_alter() may munge the count by // adding a distinct against an empty query string // (e.g. COUNT DISTINCT(1) ...) and no pager will return. - // See pager.inc > PagerDefault::execute() - // http://api.drupal.org/api/drupal/includes--pager.inc/function/PagerDefault::execute/7 - // See http://drupal.org/node/1046170. + // @see pager.inc > PagerDefault::execute() + // @see http://api.drupal.org/api/drupal/includes--pager.inc/function/PagerDefault::execute/7 + // @see http://drupal.org/node/1046170. $count_query->preExecute(); // Build the count query. @@ -1480,7 +1496,6 @@ class views_plugin_query_default extends views_plugin_query { $start = microtime(TRUE); - try { if ($this->pager->use_count_query() || !empty($view->get_total_rows)) { $this->pager->execute_count_query($count_query); @@ -1518,12 +1533,18 @@ class views_plugin_query_default extends views_plugin_query { $view->execute_time = microtime(TRUE) - $start; } - function add_signature(&$view) { + /** + * + */ + public function add_signature(&$view) { $view->query->add_field(NULL, "'" . $view->name . ':' . $view->current_display . "'", 'view_name'); } - function get_aggregation_info() { - // @todo -- need a way to get database specific and customized aggregation + /** + * + */ + public function get_aggregation_info() { + // @todo Need a way to get database specific and customized aggregation // functions into here. return array( 'group' => array( @@ -1594,15 +1615,14 @@ class views_plugin_query_default extends views_plugin_query { 'filter' => 'views_handler_filter_group_by_numeric', 'sort' => 'views_handler_sort_group_by_numeric', ), - ) + ), ) + views_fetch_plugin_data('query_aggregate'); } /** * Returns the according entity objects for the given query results. - * */ - function get_result_entities($results, $relationship = NULL) { + public function get_result_entities($results, $relationship = NULL) { $base_table = $this->base_table; $base_table_alias = $base_table; @@ -1664,12 +1684,19 @@ class views_plugin_query_default extends views_plugin_query { return array($entity_type, $result); } + } +/** + * + */ function views_query_default_aggregation_method_simple($group_type, $field) { return strtoupper($group_type) . '(' . $field . ')'; } +/** + * + */ function views_query_default_aggregation_method_distinct($group_type, $field) { $group_type = str_replace('_distinct', '', $group_type); return strtoupper($group_type) . '(DISTINCT ' . $field . ')'; diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row.inc index 157cc26d5858db1223a51f6ffca79e5a2a23c519..833a6752ffc8b983ccc51661012ab6f3bcb71dce 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the base row style plugin. + * Definition of views_plugin_row. */ /** @@ -17,14 +17,15 @@ */ /** - * Default plugin to view a single row of a table. This is really just a wrapper around - * a theme function. + * Default plugin to view a single row of a table. This is really just a wrapper + * around a theme function. */ class views_plugin_row extends views_plugin { + /** - * Initialize the row plugin. + * {@inheritdoc} */ - function init(&$view, &$display, $options = NULL) { + public function init(&$view, &$display, $options = NULL) { $this->view = &$view; $this->display = &$display; @@ -32,12 +33,17 @@ class views_plugin_row extends views_plugin { $this->unpack_options($this->options, isset($options) ? $options : $display->handler->get_option('row_options')); } - function uses_fields() { + /** + * {@inheritdoc} + */ + public function uses_fields() { return !empty($this->definition['uses fields']); } - - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); if (isset($this->base_table)) { $options['relationship'] = array('default' => 'none'); @@ -49,7 +55,7 @@ class views_plugin_row extends views_plugin { /** * Provide a form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); if (isset($this->base_table)) { $view = &$form_state['view']; @@ -98,15 +104,20 @@ class views_plugin_row extends views_plugin { /** * Validate the options form. */ - function options_validate(&$form, &$form_state) { } + public function options_validate(&$form, &$form_state) { + } /** * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { } + public function options_submit(&$form, &$form_state) { + } - function query() { + /** + * {@inheritdoc} + */ + public function query() { if (isset($this->base_table)) { if (isset($this->options['relationship']) && isset($this->view->relationship[$this->options['relationship']])) { $relationship = $this->view->relationship[$this->options['relationship']]; @@ -121,10 +132,11 @@ class views_plugin_row extends views_plugin { /** * Allow the style to do stuff before each row is rendered. * - * @param $result + * @param array $result * The full array of results from the query. */ - function pre_render($result) { } + public function pre_render($result) { + } /** * Render a row object. This usually passes through to a theme template @@ -136,7 +148,7 @@ class views_plugin_row extends views_plugin { * @return string * The rendered output of a single row, used by the style plugin. */ - function render($row) { + public function render($row) { return theme($this->theme_functions(), array( 'view' => $this->view, @@ -145,6 +157,7 @@ class views_plugin_row extends views_plugin { 'field_alias' => isset($this->field_alias) ? $this->field_alias : '', )); } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_fields.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_fields.inc index b1c02e1fd111e378194d38eaf438a7df3bd2a6f4..edc854cee360d5b664d94764528d2234a32762fa 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_fields.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_fields.inc @@ -2,11 +2,11 @@ /** * @file - * Contains the base row style plugin. + * Definition of views_plugin_row_fields. */ /** - * The basic 'fields' row plugin + * The basic 'fields' row plugin. * * This displays fields one after another, giving options for inline * or not. @@ -14,7 +14,11 @@ * @ingroup views_row_plugins */ class views_plugin_row_fields extends views_plugin_row { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['inline'] = array('default' => array()); @@ -27,7 +31,7 @@ class views_plugin_row_fields extends views_plugin_row { /** * Provide a form for setting options. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $options = $this->display->handler->get_field_labels(); @@ -80,7 +84,8 @@ class views_plugin_row_fields extends views_plugin_row { * Perform any necessary changes to the form values prior to storage. * There is no need for this function to actually store the data. */ - function options_submit(&$form, &$form_state) { + public function options_submit(&$form, &$form_state) { $form_state['values']['row_options']['inline'] = array_filter($form_state['values']['row_options']['inline']); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_rss_fields.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_rss_fields.inc index 9355e8333f69ac5c8aa67629d8e9a7679042f8b7..4af7c9f8f895f426ac484d3e68446098297711a0 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_rss_fields.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_row_rss_fields.inc @@ -1,14 +1,19 @@ <?php + /** * @file - * Contains an implementation of RSS items based on fields on a row plugin. + * Definition of views_plugin_row_rss_fields. */ /** * Renders an RSS item based on fields. */ class views_plugin_row_rss_fields extends views_plugin_row { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['title_field'] = array('default' => ''); $options['link_field'] = array('default' => ''); @@ -20,7 +25,10 @@ class views_plugin_row_rss_fields extends views_plugin_row { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $initial_labels = array('' => t('- None -')); @@ -89,7 +97,10 @@ class views_plugin_row_rss_fields extends views_plugin_row { ); } - function validate() { + /** + * + */ + public function validate() { $errors = parent::validate(); $required_options = array('title_field', 'link_field', 'description_field', 'creator_field', 'date_field'); foreach ($required_options as $required_option) { @@ -105,7 +116,10 @@ class views_plugin_row_rss_fields extends views_plugin_row { return $errors; } - function render($row) { + /** + * {@inheritdoc} + */ + public function render($row) { static $row_index; if (!isset($row_index)) { $row_index = 0; @@ -165,12 +179,12 @@ class views_plugin_row_rss_fields extends views_plugin_row { /** * Retrieves a views field value from the style plugin. * - * @param $index - * The index count of the row as expected by views_plugin_style::get_field(). - * @param $field_id + * @param int $index + * The index of the row as expected by views_plugin_style::get_field(). + * @param string $field_id * The ID assigned to the required field in the display. */ - function get_field($index, $field_id) { + public function get_field($index, $field_id) { if (empty($this->view->style_plugin) || !is_object($this->view->style_plugin) || empty($field_id)) { return ''; } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style.inc index 5bd708663e5f23cfb562688f6d9a9b0cf5d137ca..6f3cf34c84ce3e1cf06d8a47fe282e8a3be8a61a 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style.inc @@ -8,13 +8,13 @@ /** * @defgroup views_style_plugins Views style plugins * @{ - * Style plugins control how a view is rendered. For example, they - * can choose to display a collection of fields, node_view() output, - * table output, or any kind of crazy output they want. + * Style plugins control how a view is rendered. For example, they can choose to + * display a collection of fields, node_view() output, table output, or any kind + * of crazy output they want. * - * Many style plugins can have an optional 'row' plugin, that displays - * a single record. Not all style plugins can utilize this, so it is - * up to the plugin to set this up and call through to the row plugin. + * Many style plugins can have an optional 'row' plugin, that displays a single + * record. Not all style plugins can utilize this, so it is up to the plugin to + * set this up and call through to the row plugin. * * @see hook_views_plugins() */ @@ -23,29 +23,29 @@ * Base class to define a style plugin handler. */ class views_plugin_style extends views_plugin { + /** * Store all available tokens row rows. */ - var $row_tokens = array(); + public $row_tokens = array(); /** - * Contains the row plugin, if it's initialized - * and the style itself supports it. + * The row plugin, if it's initialized and the style itself supports it. * * @var views_plugin_row */ - var $row_plugin; + public $row_plugin; /** * Initialize a style plugin. * - * @param $view - * @param $display - * @param $options + * @param view $view + * @param object $display + * @param array $options * The style options might come externally as the style can be sourced * from at least two locations. If it's not included, look on the display. */ - function init(&$view, &$display, $options = NULL) { + public function init(&$view, &$display, $options = NULL) { $this->view = &$view; $this->display = &$display; @@ -65,7 +65,10 @@ class views_plugin_style extends views_plugin { ); } - function destroy() { + /** + * + */ + public function destroy() { parent::destroy(); if (isset($this->row_plugin)) { @@ -76,14 +79,14 @@ class views_plugin_style extends views_plugin { /** * Return TRUE if this style also uses a row plugin. */ - function uses_row_plugin() { + public function uses_row_plugin() { return !empty($this->definition['uses row plugin']); } /** * Return TRUE if this style also uses a row plugin. */ - function uses_row_class() { + public function uses_row_class() { return !empty($this->definition['uses row class']); } @@ -92,7 +95,7 @@ class views_plugin_style extends views_plugin { * * @return bool */ - function uses_fields() { + public function uses_fields() { // If we use a row plugin, ask the row plugin. Chances are, we don't // care, it does. $row_uses_fields = FALSE; @@ -108,7 +111,7 @@ class views_plugin_style extends views_plugin { * * Used to ensure we don't fetch tokens when not needed for performance. */ - function uses_tokens() { + public function uses_tokens() { if ($this->uses_row_class()) { $class = $this->options['row_class']; if (strpos($class, '[') !== FALSE || strpos($class, '!') !== FALSE || strpos($class, '%') !== FALSE) { @@ -120,7 +123,7 @@ class views_plugin_style extends views_plugin { /** * Return the token replaced row class for the specified row. */ - function get_row_class($row_index) { + public function get_row_class($row_index) { if ($this->uses_row_class()) { $class = $this->options['row_class']; @@ -129,7 +132,7 @@ class views_plugin_style extends views_plugin { // Explode the value by whitespace, this allows the function to handle // a single class name and multiple class names that are then tokenized. - foreach(explode(' ', $class) as $token_class) { + foreach (explode(' ', $class) as $token_class) { $classes = array_merge($classes, explode(' ', strip_tags($this->tokenize_value($token_class, $row_index)))); } } @@ -148,7 +151,7 @@ class views_plugin_style extends views_plugin { /** * Take a value and apply token replacement logic to it. */ - function tokenize_value($value, $row_index) { + public function tokenize_value($value, $row_index) { if (strpos($value, '[') !== FALSE || strpos($value, '!') !== FALSE || strpos($value, '%') !== FALSE) { $fake_item = array( 'alter_text' => TRUE, @@ -170,13 +173,16 @@ class views_plugin_style extends views_plugin { } /** - * Should the output of the style plugin be rendered even if it's a empty view. + * Should the output of the style plugin be rendered even if it's empty. */ - function even_empty() { + public function even_empty() { return !empty($this->definition['even empty']); } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['grouping'] = array('default' => array()); if ($this->uses_row_class()) { @@ -189,19 +195,23 @@ class views_plugin_style extends views_plugin { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); - // Only fields-based views can handle grouping. Style plugins can also exclude - // themselves from being groupable by setting their "use grouping" definition - // key to FALSE. - // @TODO: Document "uses grouping" in docs.php when docs.php is written. + // Only fields-based views can handle grouping. Style plugins can also + // exclude themselves from being groupable by setting their "use grouping" + // definition key to FALSE. + // @todo Document "uses grouping" in docs.php when docs.php is written. if ($this->uses_fields() && $this->definition['uses grouping']) { $options = array('' => t('- None -')); $field_labels = $this->display->handler->get_field_labels(TRUE); $options += $field_labels; // If there are no fields, we can't group on them. if (count($options) > 1) { - // This is for backward compatibility, when there was just a single select form. + // This is for backward compatibility, when there was just a single + // select form. if (is_string($this->options['grouping'])) { $grouping = $this->options['grouping']; $this->options['grouping'] = array(); @@ -282,7 +292,10 @@ class views_plugin_style extends views_plugin { } } - function options_validate(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_validate(&$form, &$form_state) { // Don't run validation on style plugins without the grouping setting. if (isset($form_state['values']['style_options']['grouping'])) { // Don't save grouping if no field is specified. @@ -299,21 +312,24 @@ class views_plugin_style extends views_plugin { * interfere with the sorts. If so it should build; if it returns * any non-TRUE value, normal sorting will NOT be added to the query. */ - function build_sort() { return TRUE; } + public function build_sort() { + return TRUE; + } /** * Called by the view builder to let the style build a second set of * sorts that will come after any other sorts in the view. */ - function build_sort_post() { } + public function build_sort_post() { + } /** * Allow the style to do stuff before each row is rendered. * - * @param $result + * @param array $result * The full array of results from the query. */ - function pre_render($result) { + public function pre_render($result) { if (!empty($this->row_plugin)) { $this->row_plugin->pre_render($result); } @@ -322,7 +338,7 @@ class views_plugin_style extends views_plugin { /** * Render the display in this style. */ - function render() { + public function render() { if ($this->uses_row_plugin() && empty($this->row_plugin)) { debug('views_plugin_style_default: Missing row plugin'); return; @@ -344,15 +360,15 @@ class views_plugin_style extends views_plugin { * Plugins may override this method if they wish some other way of handling * grouping. * - * @param $sets + * @param array $sets * Array containing the grouping sets to render. - * @param $level + * @param int $level * Integer indicating the hierarchical level of the grouping. * * @return string * Rendered output of given grouping sets. */ - function render_grouping_sets($sets, $level = 0) { + public function render_grouping_sets($sets, $level = 0) { $output = ''; foreach ($sets as $set) { $row = reset($set['rows']); @@ -393,18 +409,19 @@ class views_plugin_style extends views_plugin { /** * Group records as needed for rendering. * - * @param $records + * @param array $records * An array of records from the view to group. - * @param $groupings + * @param array $groupings * An array of grouping instructions on which fields to group. If empty, the * result set will be given a single group with an empty string as a label. - * @param $group_rendered + * @param bool $group_rendered * Boolean value whether to use the rendered or the raw field value for * grouping. If set to NULL the return is structured as before * Views 7.x-3.0-rc2. After Views 7.x-3.0 this boolean is only used if * $groupings is an old-style string or if the rendered option is missing * for a grouping instruction. - * @return + * + * @return array * The grouped record set. * A nested set structure is generated if multiple grouping fields are used. * @@ -429,9 +446,9 @@ class views_plugin_style extends views_plugin { * ) * @endcode */ - function render_grouping($records, $groupings = array(), $group_rendered = NULL) { - // This is for backward compatibility, when $groupings was a string containing - // the ID of a single field. + public function render_grouping($records, $groupings = array(), $group_rendered = NULL) { + // This is for backward compatibility, when $groupings was a string + // containing the ID of a single field. if (is_string($groupings)) { $rendered = $group_rendered === NULL ? TRUE : $group_rendered; $groupings = array(array('field' => $groupings, 'rendered' => $rendered)); @@ -482,10 +499,12 @@ class views_plugin_style extends views_plugin { $set[$grouping]['rows'] = array(); } - // Move the set reference into the row set of the group we just determined. + // Move the set reference into the row set of the group we just + // determined. $set = &$set[$grouping]['rows']; } - // Add the row to the hierarchically positioned row set we just determined. + // Add the row to the hierarchically positioned row set we just + // determined. $set[$index] = $row; } } @@ -499,7 +518,7 @@ class views_plugin_style extends views_plugin { // If this parameter isn't explicitly set modify the output to be fully // backward compatible to code before Views 7.x-3.0-rc2. - // @TODO Remove this as soon as possible e.g. October 2020 + // @todo Remove this as soon as possible e.g. October 2020 if ($group_rendered === NULL) { $old_style_sets = array(); foreach ($sets as $group) { @@ -514,10 +533,10 @@ class views_plugin_style extends views_plugin { /** * Render all of the fields for a given style and store them on the object. * - * @param $result + * @param array $result * The result array from $view->result */ - function render_fields($result) { + public function render_fields($result) { if (!$this->uses_fields()) { return; } @@ -548,12 +567,12 @@ class views_plugin_style extends views_plugin { /** * Get a rendered field. * - * @param $index + * @param int $index * The index count of the row. - * @param $field + * @param string $field * The id of the field. */ - function get_field($index, $field) { + public function get_field($index, $field) { if (!isset($this->rendered_fields)) { $this->render_fields($this->view->result); } @@ -566,19 +585,22 @@ class views_plugin_style extends views_plugin { /** * Get the raw field value. * - * @param $index + * @param int $index * The index count of the row. - * @param $field + * @param string $field * The id of the field. */ - function get_field_value($index, $field) { + public function get_field_value($index, $field) { $this->view->row_index = $index; $value = $this->view->field[$field]->get_value($this->view->result[$index]); unset($this->view->row_index); return $value; } - function validate() { + /** + * {@inheritdoc} + */ + public function validate() { $errors = parent::validate(); if ($this->uses_row_plugin()) { @@ -596,12 +618,16 @@ class views_plugin_style extends views_plugin { return $errors; } - function query() { + /** + * {@inheritdoc} + */ + public function query() { parent::query(); if (isset($this->row_plugin)) { $this->row_plugin->query(); } } + } /** diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_default.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_default.inc index a18f6ccfac0eeed1ccf267ff5f8a8f8cae408aa6..131b9915c517495bb58c433cf5f3be521e95bf13 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_default.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_default.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the default style plugin. + * Definition of views_plugin_style_default. */ /** @@ -12,14 +12,19 @@ * @ingroup views_style_plugins */ class views_plugin_style_default extends views_plugin_style { + /** - * Set default options + * Set default options. */ - function options(&$options) { + public function options(&$options) { parent::options($options); } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_grid.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_grid.inc index a2e43755962d18b7bfa11fc11089797934ff189a..ffa4cf0a9d089e655875058da321f01016581950 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_grid.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_grid.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the grid style plugin. + * Definition of views_plugin_style_grid. */ /** @@ -11,10 +11,11 @@ * @ingroup views_style_plugins */ class views_plugin_style_grid extends views_plugin_style { + /** - * Set default options + * Set default options. */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); $options['columns'] = array('default' => '4'); @@ -29,7 +30,7 @@ class views_plugin_style_grid extends views_plugin_style { /** * Render the given style. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['columns'] = array( '#type' => 'textfield', @@ -67,4 +68,5 @@ class views_plugin_style_grid extends views_plugin_style { '#default_value' => $this->options['summary'], ); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_jump_menu.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_jump_menu.inc index b82facd71a507535cf166884e73c70a3d6362e17..3d83ea345557cf8edd9e8b071861ab241ad8323a 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_jump_menu.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_jump_menu.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the table style plugin. + * Definition of views_plugin_style_jump_menu. */ /** @@ -11,7 +11,11 @@ * @ingroup views_style_plugins */ class views_plugin_style_jump_menu extends views_plugin_style { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['hide'] = array('default' => FALSE, 'bool' => TRUE); @@ -28,7 +32,7 @@ class views_plugin_style_jump_menu extends views_plugin_style { /** * Render the given style. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $handlers = $this->display->handler->get_handlers('field'); if (empty($handlers)) { @@ -103,7 +107,7 @@ class views_plugin_style_jump_menu extends views_plugin_style { * * This is overridden so that we can render our grouping specially. */ - function render() { + public function render() { $sets = $this->render_grouping($this->view->result, $this->options['grouping']); // Turn this all into an $options array for the jump menu. @@ -122,8 +126,8 @@ class views_plugin_style_jump_menu extends views_plugin_style { $path = drupal_substr($path, drupal_strlen($base_path)); } - // use drupal_parse_url() to preserve query and fragment in case the user - // wants to do fun tricks. + // Use drupal_parse_url() to preserve query and fragment in case the + // user wants to do fun tricks. $url_options = drupal_parse_url($path); $path = url($url_options['path'], $url_options); @@ -144,8 +148,8 @@ class views_plugin_style_jump_menu extends views_plugin_style { $default_value = ''; if ($this->options['default_value']) { $lookup_options = array(); - // We need to check if the path is absolute - // or else language is not taken in account. + // We need to check if the path is absolute or else language is not taken + // in account. if (!empty($this->view->display[$this->view->current_display]->display_options['fields'][$this->options['path']]['absolute'])) { $lookup_options['absolute'] = TRUE; } @@ -169,8 +173,12 @@ class views_plugin_style_jump_menu extends views_plugin_style { return $form; } - function render_set($title, $records) { + /** + * + */ + public function render_set($title, $records) { $options = array(); $fields = $this->rendered_fields; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_list.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_list.inc index 2a1dadb88d2307fc9001eac64e63cbcb6ca3d88c..7c8417f09028a104dd2e79ff4e0177fb6f1b1ae9 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_list.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_list.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the list style plugin. + * Definition of views_plugin_style_list. */ /** @@ -11,10 +11,11 @@ * @ingroup views_style_plugins */ class views_plugin_style_list extends views_plugin_style { + /** - * Set default options + * Set default options. */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); $options['type'] = array('default' => 'ul'); @@ -27,7 +28,7 @@ class views_plugin_style_list extends views_plugin_style { /** * Render the given style. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['type'] = array( '#type' => 'radios', @@ -50,4 +51,5 @@ class views_plugin_style_list extends views_plugin_style { '#default_value' => $this->options['class'], ); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_mapping.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_mapping.inc index 513a71ea518c5474ca5f2980fa3eb42fb6cbd619..29ecebc42c40b3482812d0683a690d48cff179c6 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_mapping.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_mapping.inc @@ -27,9 +27,9 @@ abstract class views_plugin_style_mapping extends views_plugin_style { abstract protected function define_mapping(); /** - * Overrides views_plugin_style::option_definition(). + * {@inheritdoc} */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); // Parse the mapping and add a default for each. @@ -50,9 +50,9 @@ abstract class views_plugin_style_mapping extends views_plugin_style { } /** - * Overrides views_plugin_style::options_form(). + * {@inheritdoc} */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); // Get the mapping. @@ -110,11 +110,10 @@ abstract class views_plugin_style_mapping extends views_plugin_style { } /** - * Overrides views_plugin_style::render(). - * - * Provides the mapping definition as an available variable. + * {@inheritdoc} */ - function render() { + public function render() { + // Provides the mapping definition as an available variable. return theme($this->theme_functions(), array( 'view' => $this->view, 'options' => $this->options, diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_rss.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_rss.inc index 79fef3d00332c2c4707b0518e1d9ae57c77f37f4..0092ea4d8d6d6639889bade7393f12571a408b66 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_rss.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_rss.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the RSS style plugin. + * Definition of views_plugin_style_rss. */ /** @@ -11,7 +11,11 @@ * @ingroup views_style_plugins */ class views_plugin_style_rss extends views_plugin_style { - function attach_to($display_id, $path, $title) { + + /** + * + */ + public function attach_to($display_id, $path, $title) { $display = $this->view->display[$display_id]->handler; $url_options = array(); $input = $this->view->get_exposed_input(); @@ -36,12 +40,15 @@ class views_plugin_style_rss extends views_plugin_style { 'rel' => 'alternate', 'type' => 'application/rss+xml', 'title' => $title, - 'href' => $url + 'href' => $url, )); } } - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['description'] = array('default' => '', 'translatable' => TRUE); @@ -49,7 +56,10 @@ class views_plugin_style_rss extends views_plugin_style { return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['description'] = array( @@ -67,7 +77,7 @@ class views_plugin_style_rss extends views_plugin_style { * @return * An array that can be passed to format_xml_elements(). */ - function get_channel_elements() { + public function get_channel_elements() { return array(); } @@ -80,7 +90,7 @@ class views_plugin_style_rss extends views_plugin_style { * @return * An array that can be passed to format_xml_elements(). */ - function get_channel_elements_atom_link() { + public function get_channel_elements_atom_link() { $url_options = array('absolute' => TRUE); $input = $this->view->get_exposed_input(); if ($input) { @@ -107,7 +117,7 @@ class views_plugin_style_rss extends views_plugin_style { * @return string * The string containing the description with the tokens replaced. */ - function get_description() { + public function get_description() { $description = $this->options['description']; // Allow substitutions from the first row. @@ -116,7 +126,10 @@ class views_plugin_style_rss extends views_plugin_style { return $description; } - function render() { + /** + * {@inheritdoc} + */ + public function render() { if (empty($this->row_plugin)) { vpr('views_plugin_style_default: Missing row plugin'); return; @@ -148,9 +161,10 @@ class views_plugin_style_rss extends views_plugin_style { array( 'view' => $this->view, 'options' => $this->options, - 'rows' => $rows + 'rows' => $rows, )); unset($this->view->row_index); return $output; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary.inc index 5081dd62eecc4cd86116815fcb6ecee93fec7328..02e89737042961c8fc645c2c9ec93cf89a2b7e46 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the default summary style plugin, which displays items in an HTML list. + * Definition of views_plugin_style_summary. */ /** @@ -11,7 +11,11 @@ * @ingroup views_style_plugins */ class views_plugin_style_summary extends views_plugin_style { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['base_path'] = array('default' => ''); @@ -22,13 +26,19 @@ class views_plugin_style_summary extends views_plugin_style { return $options; } - function query() { + /** + * {@inheritdoc} + */ + public function query() { if (!empty($this->options['override'])) { $this->view->set_items_per_page(intval($this->options['items_per_page'])); } } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['base_path'] = array( '#type' => 'textfield', '#title' => t('Base path'), @@ -55,22 +65,26 @@ class views_plugin_style_summary extends views_plugin_style { '#title' => t('Items to display'), '#default_value' => $this->options['items_per_page'], '#dependency' => array( - 'edit-options-summary-options-' . str_replace('_', '-', $this->definition['name']) . '-override' => array(1) + 'edit-options-summary-options-' . str_replace('_', '-', $this->definition['name']) . '-override' => array(1), ), ); } - function render() { + /** + * {@inheritdoc} + */ + public function render() { $rows = array(); foreach ($this->view->result as $row) { - // @todo: Include separator as an option. + // @todo Include separator as an option. $rows[] = $row; } return theme($this->theme_functions(), array( 'view' => $this->view, 'options' => $this->options, - 'rows' => $rows + 'rows' => $rows, )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_jump_menu.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_jump_menu.inc index a16a84b1a1d25d5f2763d51772f5a179d9bdb11c..17fdcca9ae0fe3f18c298d45a4995de138fa5aa8 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_jump_menu.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_jump_menu.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the default summary style plugin, which displays items in an HTML list. + * Definition of views_plugin_style_summary_jump_menu. */ /** @@ -11,7 +11,11 @@ * @ingroup views_style_plugins */ class views_plugin_style_summary_jump_menu extends views_plugin_style { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['base_path'] = array('default' => ''); @@ -26,7 +30,10 @@ class views_plugin_style_summary_jump_menu extends views_plugin_style { return $options; } - function query() { + /** + * {@inheritdoc} + */ + public function query() { // Copy the offset option. $pager = array( 'type' => 'none', @@ -35,7 +42,10 @@ class views_plugin_style_summary_jump_menu extends views_plugin_style { $this->display->handler->set_option('pager', $pager); } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { $form['base_path'] = array( '#type' => 'textfield', '#title' => t('Base path'), @@ -93,7 +103,10 @@ class views_plugin_style_summary_jump_menu extends views_plugin_style { ); } - function render() { + /** + * {@inheritdoc} + */ + public function render() { $argument = $this->view->argument[$this->view->build_info['summary_level']]; $url_options = array(); @@ -143,4 +156,5 @@ class views_plugin_style_summary_jump_menu extends views_plugin_style { $form = drupal_get_form('ctools_jump_menu', $options, $settings); return drupal_render($form); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_unformatted.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_unformatted.inc index fc46624566b9fbad950e200f98bf12ec297fe50f..fb16207f93020106ff19fc6ce591853ca54c2efc 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_unformatted.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_summary_unformatted.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the unformatted summary style plugin. + * Definition of views_plugin_style_summary_unformatted. */ /** @@ -11,14 +11,21 @@ * @ingroup views_style_plugins */ class views_plugin_style_summary_unformatted extends views_plugin_style_summary { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['inline'] = array('default' => FALSE, 'bool' => TRUE); $options['separator'] = array('default' => ''); return $options; } - function options_form(&$form, &$form_state) { + /** + * {@inheritdoc} + */ + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['inline'] = array( '#type' => 'checkbox', @@ -31,4 +38,5 @@ class views_plugin_style_summary_unformatted extends views_plugin_style_summary '#default_value' => $this->options['separator'], ); } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_table.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_table.inc index 45ed97634f566c8b8ee824cbafd7dad99397a6f6..75fe389711f73da5d5336523469f0101e817ccd6 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_table.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_plugin_style_table.inc @@ -2,7 +2,7 @@ /** * @file - * Contains the table style plugin. + * Definition of views_plugin_style_table. */ /** @@ -24,7 +24,10 @@ class views_plugin_style_table extends views_plugin_style { */ public $order; - function option_definition() { + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['columns'] = array('default' => array()); @@ -45,7 +48,7 @@ class views_plugin_style_table extends views_plugin_style { * * @return bool */ - function build_sort() { + public function build_sort() { if (!isset($_GET['order']) && ($this->options['default'] == -1 || empty($this->view->field[$this->options['default']]))) { return TRUE; } @@ -62,7 +65,7 @@ class views_plugin_style_table extends views_plugin_style { /** * Add our actual sort criteria */ - function build_sort_post() { + public function build_sort_post() { if (!isset($_GET['order'])) { // check for a 'default' clicksort. If there isn't one, exit gracefully. if (empty($this->options['default'])) { @@ -111,10 +114,10 @@ class views_plugin_style_table extends views_plugin_style { * - Any fields not currently represented must be added. * - Columns must be re-ordered to match the fields. * - * @param $columns + * @param array $columns * An array of all fields; the key is the id of the field and the * value is the id of the column the field should be in. - * @param $fields + * @param array $fields * The fields to use for the columns. If not provided, they will * be requested from the current display. The running render should * send the fields through, as they may be different than what the @@ -123,7 +126,7 @@ class views_plugin_style_table extends views_plugin_style { * @return array * An array of all the sanitized columns. */ - function sanitize_columns($columns, $fields = NULL) { + public function sanitize_columns($columns, $fields = NULL) { $sanitized = array(); if ($fields === NULL) { $fields = $this->display->handler->get_option('fields'); @@ -157,7 +160,7 @@ class views_plugin_style_table extends views_plugin_style { /** * Render the given style. */ - function options_form(&$form, &$form_state) { + public function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $handlers = $this->display->handler->get_handlers('field'); if (empty($handlers)) { @@ -202,7 +205,7 @@ class views_plugin_style_table extends views_plugin_style { $columns = $this->sanitize_columns($this->options['columns']); - // Create an array of allowed columns from the data we know: + // Create an array of allowed columns from the data we know. $field_names = $this->display->handler->get_field_labels(); if (isset($this->options['default'])) { @@ -301,7 +304,10 @@ class views_plugin_style_table extends views_plugin_style { ); } - function even_empty() { + /** + * + */ + public function even_empty() { return parent::even_empty() || !empty($this->options['empty_table']); } } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/file_managed.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/file_managed.inc index 049ce1b523db159d0023ee6eb4f2822ef0e7e02c..191f9abe39192d04b361b972407521cbf1f4088d 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/file_managed.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/file_managed.inc @@ -14,8 +14,7 @@ $plugin = array( 'class' => 'ViewsUiFileManagedViewsWizard', ), 'title' => t('Files'), - 'filters' => array( - ), + 'filters' => array(), 'path_field' => array( 'id' => 'uri', 'table' => 'file_managed', diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node.inc index ccca48dec999114ee95105e10aed6b635765537d..d5b3e3dc69cffc1a07309f80057e8989ab129dae 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node.inc @@ -10,7 +10,7 @@ $plugin = array( 'base_table' => 'node', 'created_column' => 'created', 'available_sorts' => array( - 'title:DESC' => t('Title') + 'title:DESC' => t('Title'), ), 'form_wizard_class' => array( 'file' => 'views_ui_node_views_wizard.class.php', diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node_revision.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node_revision.inc index ddf1d61ce25b2a43465b869cfc12bf03603951f7..3a9ea64b79839f3eb852d0e45c141bee7486f584 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node_revision.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/node_revision.inc @@ -17,7 +17,8 @@ $plugin = array( 'filters' => array( 'status' => array( 'value' => '1', - 'table' => 'node', // @todo - unclear if this should be node or node_revision + 'table' => 'node', +// @todo - unclear if this should be node or node_revision 'field' => 'status', ), ), diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/taxonomy_term.inc b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/taxonomy_term.inc index 599e3543660e71ca22c804ba01cfe35c0b0a343b..687a4e9b38d03778cb8b8ab0bb25b570d3768a1e 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/taxonomy_term.inc +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/taxonomy_term.inc @@ -14,8 +14,7 @@ if (module_exists('taxonomy')) { 'class' => 'ViewsUiTaxonomyTermViewsWizard', ), 'title' => t('Taxonomy terms'), - 'filters' => array( - ), + 'filters' => array(), 'path_field' => array( 'id' => 'tid', 'table' => 'taxonomy_term_data', diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_base_views_wizard.class.php b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_base_views_wizard.class.php index 8893ab8170af9d6c5f9e70cea152050ad264f91d..35989c4b1d679fd29b40a87c79cd7969960d5a47 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_base_views_wizard.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_base_views_wizard.class.php @@ -9,6 +9,10 @@ * Defines a common interface for Views Wizard plugins. */ interface ViewsWizardInterface { + + /** + * Constructor. + */ function __construct($plugin); /** @@ -31,6 +35,7 @@ interface ViewsWizardInterface { * @throws ViewsWizardException in the event of a problem. */ function create_view($form, &$form_state); + } /** @@ -43,6 +48,7 @@ class ViewsWizardException extends Exception { * A very generic Views Wizard class - can be constructed for any base table. */ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { + protected $base_table; protected $entity_type; protected $entity_info = array(); @@ -87,7 +93,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { $form['displays']['page'] = array( '#type' => 'fieldset', - '#attributes' => array('class' => array('views-attachment', 'fieldset-no-legend'),), + '#attributes' => array('class' => array('views-attachment', 'fieldset-no-legend')), '#tree' => TRUE, ); $form['displays']['page']['create'] = array( @@ -102,7 +108,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { // can be hidden en masse when the "Create a page" checkbox is unchecked. $form['displays']['page']['options'] = array( '#type' => 'container', - '#attributes' => array('class' => array('options-set'),), + '#attributes' => array('class' => array('options-set')), '#dependency' => array( 'edit-page-create' => array(1), ), @@ -224,7 +230,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { $form['displays']['block'] = array( '#type' => 'fieldset', - '#attributes' => array('class' => array('views-attachment', 'fieldset-no-legend'),), + '#attributes' => array('class' => array('views-attachment', 'fieldset-no-legend')), '#tree' => TRUE, ); $form['displays']['block']['create'] = array( @@ -238,7 +244,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { // can be hidden en masse when the "Create a block" checkbox is unchecked. $form['displays']['block']['options'] = array( '#type' => 'container', - '#attributes' => array('class' => array('options-set'),), + '#attributes' => array('class' => array('options-set')), '#dependency' => array( 'edit-block-create' => array(1), ), @@ -334,7 +340,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { } /** - * Build the part of the form that allows the user to select the view's filters. + * Build the part of the form that allows the user to select the filters. * * By default, this adds "of type" and "tagged with" filters (when they are * available). @@ -344,7 +350,8 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { $fields = views_fetch_fields($this->base_table, 'filter'); $entity_info = $this->entity_info; - // If the current base table support bundles and has more than one (like user). + // If the current base table support bundles and has more than one (like + // user). if (isset($entity_info['bundle keys']) && isset($entity_info['bundles'])) { // Get all bundles and their human readable names. $options = array('all' => t('All')); @@ -431,7 +438,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { } /** - * Build the part of the form that allows the user to select the view's sort order. + * Build the part of the form that allows the user to select the sort order. * * By default, this adds a "sorted by [date]" filter (when it is available). */ @@ -492,7 +499,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { * arrays of options for that display. */ protected function build_display_options($form, $form_state) { - // Display: Master + // Display: Master. $display_options['default'] = $this->default_display_options($form, $form_state); $display_options['default'] += array( 'filters' => array(), @@ -501,17 +508,17 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { $display_options['default']['filters'] += $this->default_display_filters($form, $form_state); $display_options['default']['sorts'] += $this->default_display_sorts($form, $form_state); - // Display: Page + // Display: Page. if (!empty($form_state['values']['page']['create'])) { $display_options['page'] = $this->page_display_options($form, $form_state); - // Display: Feed (attached to the page) + // Display: Feed (attached to the page). if (!empty($form_state['values']['page']['feed'])) { $display_options['feed'] = $this->page_feed_display_options($form, $form_state); } } - // Display: Block + // Display: Block. if (!empty($form_state['values']['block']['create'])) { $display_options['block'] = $this->block_display_options($form, $form_state); } @@ -573,13 +580,13 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { * Add the array of display options to the view, with appropriate overrides. */ protected function add_displays($view, $display_options, $form, $form_state) { - // Display: Master + // Display: Master. $default_display = $view->new_display('default', 'Master', 'default'); foreach ($display_options['default'] as $option => $value) { $default_display->set_option($option, $value); } - // Display: Page + // Display: Page. if (isset($display_options['page'])) { $display = $view->new_display('page', 'Page', 'page'); // The page display is usually the main one (from the user's point of @@ -587,14 +594,14 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { // so that new displays which are added later automatically inherit them. $this->set_default_options($display_options['page'], $display, $default_display); - // Display: Feed (attached to the page) + // Display: Feed (attached to the page). if (isset($display_options['feed'])) { $display = $view->new_display('feed', 'Feed', 'feed'); $this->set_override_options($display_options['feed'], $display, $default_display); } } - // Display: Block + // Display: Block. if (isset($display_options['block'])) { $display = $view->new_display('block', 'Block', 'block'); // When there is no page, the block display options should become the @@ -622,9 +629,10 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { $display_options['style_plugin'] = 'default'; $display_options['row_plugin'] = 'fields'; - // Add a least one field so the view validates and the user has already a preview. - // Therefore the basefield could provide 'defaults][field]' in it's base settings. - // If there is nothing like this choose the first field with a field handler. + // Add a least one field so the view validates and the user has already a + // preview. Therefore the basefield could provide 'defaults][field]' in + // it's base settings. If there is nothing like this choose the first field + // with a field handler. $data = views_fetch_data($this->base_table); if (isset($data['table']['base']['defaults']['field'])) { $field = $data['table']['base']['defaults']['field']; @@ -682,8 +690,9 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { } } $table_data = views_fetch_data($table); - // Check whether the bundle key filter handler is or an child of it views_handler_filter_in_operator - // If it's not just use a single value instead of an array. + // Check whether the bundle key filter handler is or an child of it + // views_handler_filter_in_operator. If it's not just use a single value + // instead of an array. $handler = $table_data[$bundle_key]['filter']['handler']; if ($handler == 'views_handler_filter_in_operator' || is_subclass_of($handler, 'views_handler_filter_in_operator')) { $value = drupal_map_assoc(array($form_state['values']['show']['type'])); @@ -700,7 +709,7 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { ); } - // @todo: Figure out why this isn't part of node_views_wizard. + // @todo Figure out why this isn't part of node_views_wizard. if (!empty($form_state['values']['show']['tagged_with']['tids'])) { $filters['tid'] = array( 'id' => 'tid', @@ -741,7 +750,8 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { protected function default_display_sorts_user($form, $form_state) { $sorts = array(); - // Don't add a sort if there is no form value or the user selected none as sort. + // Don't add a sort if there is no form value or the user selected none as + // sort. if (!empty($form_state['values']['show']['sort']) && $form_state['values']['show']['sort'] != 'none') { list($column, $sort) = explode(':', $form_state['values']['show']['sort']); // Column either be a column-name or the table-columnn-ame. @@ -826,14 +836,14 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { * so that new displays which the user adds later will be similar to this * one. * - * @param $options + * @param array $options * An array whose keys are the name of each option and whose values are the * desired values to set. - * @param $display + * @param object $display * The display which the options will be applied to. The default display * will actually be assigned the options (and this display will inherit * them) when possible. - * @param $default_display + * @param object$default_display * The default display, which will store the options when possible. */ protected function set_default_options($options, $display, $default_display) { @@ -862,13 +872,13 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { * the views wizard, then the view will wind up with the title stored as the * default (with the page and block both inheriting from it). * - * @param $options + * @param array $options * An array whose keys are the name of each option and whose values are the * desired values. - * @param $display + * @param object $display * The display which the options will apply to. It will get the options by * inheritance from the default display when possible. - * @param $default_display + * @param object $default_display * The default display, from which the options will be inherited when * possible. */ @@ -918,12 +928,12 @@ class ViewsUiBaseViewsWizard implements ViewsWizardInterface { * * @throws ViewsWizardException if the values have not been validated. */ - function create_view($form, &$form_state) { - $view = $this->retrieve_validated_view($form, $form_state); - if (empty($view)) { - throw new ViewsWizardException(t('Attempted to create_view with values that have not been validated')); - } - return $view; - } + function create_view($form, &$form_state) { + $view = $this->retrieve_validated_view($form, $form_state); + if (empty($view)) { + throw new ViewsWizardException(t('Attempted to create_view with values that have not been validated')); + } + return $view; + } } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_comment_views_wizard.class.php b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_comment_views_wizard.class.php index fa26d3332cf44891e20fe4f6c8f7679d253a04ce..4b68e98173b1b93c3711373850257c33426df0be 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_comment_views_wizard.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_comment_views_wizard.class.php @@ -105,4 +105,5 @@ class ViewsUiCommentViewsWizard extends ViewsUiBaseViewsWizard { return $display_options; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_file_managed_views_wizard.class.php b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_file_managed_views_wizard.class.php index 111b6315e4c883967bad1004060388092afd9aa9..12435cb403980c2ce808cf6dae55dcd33773aebe 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_file_managed_views_wizard.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_file_managed_views_wizard.class.php @@ -9,6 +9,7 @@ * Tests creating managed files views with the wizard. */ class ViewsUiFileManagedViewsWizard extends ViewsUiBaseViewsWizard { + protected function default_display_options($form, $form_state) { $display_options = parent::default_display_options($form, $form_state); @@ -37,4 +38,5 @@ class ViewsUiFileManagedViewsWizard extends ViewsUiBaseViewsWizard { return $display_options; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_revision_views_wizard.class.php b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_revision_views_wizard.class.php index 3623f5361f7293934ee010e858750f505eb8bdf8..49d52e070711a573f549df4aa4361f0f9da751db 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_revision_views_wizard.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_revision_views_wizard.class.php @@ -65,4 +65,5 @@ class ViewsUiNodeRevisionViewsWizard extends ViewsUiNodeViewsWizard { return $display_options; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_views_wizard.class.php b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_views_wizard.class.php index 07bb91dfdac41dfa5e333050351f2f3bcc6b2818..ffdd7d1340bfc333e9ef9480ffc3b13918baa659 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_views_wizard.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_node_views_wizard.class.php @@ -118,20 +118,24 @@ class ViewsUiNodeViewsWizard extends ViewsUiBaseViewsWizard { $display_options['row_options']['links'] = !empty($row_options['links']); $display_options['row_options']['comments'] = !empty($row_options['comments']); break; + case 'teasers': $display_options['row_plugin'] = 'node'; $display_options['row_options']['build_mode'] = 'teaser'; $display_options['row_options']['links'] = !empty($row_options['links']); $display_options['row_options']['comments'] = !empty($row_options['comments']); break; + case 'titles_linked': $display_options['row_plugin'] = 'fields'; $display_options['field']['title']['link_to_node'] = 1; break; + case 'titles': $display_options['row_plugin'] = 'fields'; $display_options['field']['title']['link_to_node'] = 0; break; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_taxonomy_term_views_wizard.class.php b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_taxonomy_term_views_wizard.class.php index 8c1d6d564e2b30efc57c7fba6b72566fe5c3b3e9..b73156e371e3f5679e606e66491e42a9f1d209db 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_taxonomy_term_views_wizard.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_taxonomy_term_views_wizard.class.php @@ -39,4 +39,5 @@ class ViewsUiTaxonomyTermViewsWizard extends ViewsUiBaseViewsWizard { return $display_options; } + } diff --git a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_users_views_wizard.class.php b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_users_views_wizard.class.php index 73eff486adf9350d600fbcf8408c584399b316c4..c20c89e0c192c8adf7251853b8a66ff063517cc8 100644 --- a/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_users_views_wizard.class.php +++ b/profiles/wcm_base/modules/contrib/views/plugins/views_wizard/views_ui_users_views_wizard.class.php @@ -9,6 +9,7 @@ * Tests creating user views with the wizard. */ class ViewsUiUsersViewsWizard extends ViewsUiBaseViewsWizard { + protected function default_display_options($form, $form_state) { $display_options = parent::default_display_options($form, $form_state); @@ -39,4 +40,5 @@ class ViewsUiUsersViewsWizard extends ViewsUiBaseViewsWizard { return $display_options; } + } diff --git a/profiles/wcm_base/modules/contrib/views/test_templates/views-view--frontpage.tpl.php b/profiles/wcm_base/modules/contrib/views/test_templates/views-view--frontpage.tpl.php index eb4f58b7b58c58dde95cb319e36c5093656d38af..bfe67b147ef1a715d47415ce206ca7e733019318 100644 --- a/profiles/wcm_base/modules/contrib/views/test_templates/views-view--frontpage.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/test_templates/views-view--frontpage.tpl.php @@ -22,7 +22,7 @@ * - $pager: The pager next/prev links to display, if any * - $exposed: Exposed widget form/info to display * - $feed_icon: Feed icon to display, if any - * - $more: A link to view more, if any + * - $more: A link to view more, if any. * * @ingroup views_templates */ diff --git a/profiles/wcm_base/modules/contrib/views/tests/README.txt b/profiles/wcm_base/modules/contrib/views/tests/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..e292de3442cf83d2a6c78fbda6931d9bbdc5c628 --- /dev/null +++ b/profiles/wcm_base/modules/contrib/views/tests/README.txt @@ -0,0 +1,29 @@ +Views Tests +``````````` +All of the tests may be executed with the following command: + +$ scripts/run-tests.sh --color --url http://example.com/ --php `which php` --concurrency 4 --verbose --directory 'sites/all/modules/contrib/views/tests' 2> /dev/null + +Explanation: + --color + Colorizes the output. Optional. + --url http://example.com/ + The name of the Drupal 7 hostname used locally for running tests, e.g. + "http://drupal7.dev". Required. + --php `which php` + Tells the test runner the path to the PHP binary. Only necessary if the test + runner is unable to find the path automatically or to use an alternative + PHP binary. Optional. + --cuncurrency 4 + Run multiple test processes simultaneously. Four appears to be a good + balance between melting the computer and improving performance. Optional. + --verbose + Display results for all of the assertion statements after the summary + details. Optional. + --directory 'sites/all/modules/contrib/views/tests' + Run all of the commands in the following directory. The path is relative to + the Drupal installation's root directory. This will run all of Views' tests + in one go, rather than either repeating the names of test groups or running + multiple commands. Optional. + 2> /dev/null + Outputs all error messages to /dev/null, i.e. hides them. Optional. diff --git a/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_argument_comment_user_uid.test b/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_argument_comment_user_uid.test index 353d92978fbd057d99d70f8780fb8504a2c71b40..9599499054cb1e2dea15d5d1e9362627fff27d41 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_argument_comment_user_uid.test +++ b/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_argument_comment_user_uid.test @@ -20,10 +20,10 @@ class viewsHandlerArgumentCommentUserUidTest extends ViewsSqlTest { /** * Post comment. * - * @param $node + * @param object $node * Node to post comment on. - * @param $comment - * Comment to save + * @param array $comment + * Comment to save. */ function postComment($node, $comment = array()) { $comment += array( @@ -38,8 +38,8 @@ class viewsHandlerArgumentCommentUserUidTest extends ViewsSqlTest { function setUp() { parent::setUp(); - // Add two users, create a node with the user1 as author and another node with user2 as author. - // For the second node add a comment from user1. + // Add two users, create a node with the user1 as author and another node + // with user2 as author. For the second node add a comment from user1. $this->account = $this->drupalCreateUser(); $this->account2 = $this->drupalCreateUser(); $this->drupalLogin($this->account); @@ -51,7 +51,6 @@ class viewsHandlerArgumentCommentUserUidTest extends ViewsSqlTest { function testCommentUserUidTest() { $view = $this->view_comment_user_uid(); - $this->executeView($view, array($this->account->uid)); $resultset = array( array( @@ -67,7 +66,7 @@ class viewsHandlerArgumentCommentUserUidTest extends ViewsSqlTest { } function view_comment_user_uid() { - $view = new view; + $view = new view(); $view->name = 'test_comment_user_uid'; $view->description = ''; $view->tag = 'default'; @@ -103,4 +102,5 @@ class viewsHandlerArgumentCommentUserUidTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_filter_comment_user_uid.test b/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_filter_comment_user_uid.test index 1f3f75cdb8bad1bcbbc242058723dbd05a534032..4093317eb4309404ef1ca0d1c0bbf132edcc84bf 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_filter_comment_user_uid.test +++ b/profiles/wcm_base/modules/contrib/views/tests/comment/views_handler_filter_comment_user_uid.test @@ -38,4 +38,5 @@ class viewsHandlerFilterCommentUserUidTest extends viewsHandlerArgumentCommentUs return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/field/views_fieldapi.test b/profiles/wcm_base/modules/contrib/views/tests/field/views_fieldapi.test index da4c27b379ffaf3540d2e3da2b953a3222902351..0d049e1092e54ccca4e8b3ce9ea6e94d47b70070 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/field/views_fieldapi.test +++ b/profiles/wcm_base/modules/contrib/views/tests/field/views_fieldapi.test @@ -6,33 +6,40 @@ */ /** - * @TODO - * - Test on a generic entity not on a node. + * @todo Test on a generic entity not on a node. * * What has to be tested: - * - Take sure that every wanted field is added to the according entity type. - * - Take sure the joins are done correct. - * - Use basic fields and take sure that the full wanted object is build. - * - Use relationships between different entity types, for example node and the node author(user). + * - Take sure that every wanted field is added to the according entity type. + * - Take sure the joins are done correct. + * - Use basic fields and take sure that the full wanted object is build. + * - Use relationships between different entity types, for example node and + * the node author(user). */ /** * Provides some helper methods for testing fieldapi integration into views. */ class ViewsFieldApiTestHelper extends ViewsSqlTest { + /** * Stores the field definitions used by the test. + * * @var array */ public $fields; + /** * Stores the instances of the fields. They have * the same keys as the fields. + * * @var array */ public $instances; - protected function CreateUser($extra_edit = array()) { + /** + * + */ + protected function createUser($extra_edit = array()) { $permissions = array('access comments', 'access content', 'post comments', 'skip comment approval'); // Create a role with the given permission set. if (!($rid = $this->drupalCreateRole($permissions))) { @@ -92,6 +99,7 @@ class ViewsFieldApiTestHelper extends ViewsSqlTest { drupal_static_reset('_views_fetch_data_recursion_protected'); drupal_static_reset('_views_fetch_data_fully_loaded'); } + } /** @@ -116,7 +124,6 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { $langcode = LANGUAGE_NONE; - $field_names = $this->setUpFields(); // The first one will be attached to nodes only. @@ -152,7 +159,7 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { // Now create some example nodes/users for the view result. for ($i = 0; $i < 5; $i++) { $edit = array( - // @TODO Write a helper method to create such values. + // @todo Write a helper method to create such values. 'field_name_0' => array($langcode => array((array('value' => $this->randomName())))), 'field_name_2' => array($langcode => array((array('value' => $this->randomName())))), ); @@ -164,7 +171,7 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { 'field_name_1' => array($langcode => array((array('value' => $this->randomName())))), 'field_name_2' => array($langcode => array((array('value' => $this->randomName())))), ); - $this->users[] = $this->CreateUser($edit); + $this->users[] = $this->createUser($edit); } // Reset views data cache. @@ -178,7 +185,7 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { */ function testViewsData() { $data = views_fetch_data(); - + // Check the table and the joins of the first field. // Attached to node only. $field = $this->fields[0]; @@ -210,7 +217,6 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { ); $this->assertEqual($expected_join, $data[$revision_table]['table']['join']['node_revision']); - // Check the table and the joins of the second field. // Attached to both node and user. $field_2 = $this->fields[2]; @@ -230,7 +236,7 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { 'extra' => array( array('field' => 'entity_type', 'value' => 'node'), array('field' => 'deleted', 'value' => 0, 'numeric' => TRUE), - ) + ), ); $this->assertEqual($expected_join, $data[$current_table_2]['table']['join']['node']); $expected_join = array( @@ -239,7 +245,7 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { 'extra' => array( array('field' => 'entity_type', 'value' => 'node'), array('field' => 'deleted', 'value' => 0, 'numeric' => TRUE), - ) + ), ); $this->assertEqual($expected_join, $data[$revision_table_2]['table']['join']['node_revision']); $expected_join = array( @@ -248,32 +254,25 @@ class viewsFieldApiDataTest extends ViewsFieldApiTestHelper { 'extra' => array( array('field' => 'entity_type', 'value' => 'user'), array('field' => 'deleted', 'value' => 0, 'numeric' => TRUE), - ) + ), ); $this->assertEqual($expected_join, $data[$current_table_2]['table']['join']['users']); - // Check the fields - // @todo - - // Check the arguments - // @todo - - // Check the sort criterias - // @todo - - // Check the relationships - // @todo - + // @todo Check the fields. + // @todo Check the arguments. + // @todo Check the sort criterias. + // @todo Check the relationships. } + } /** * Tests the field_field handler. - * @TODO - * Check a entity-type with bundles - * Check a entity-type without bundles - * Check locale:disabled, locale:enabled and locale:enabled with another language - * Check revisions + * + * @todo Check a entity-type with bundles. + * @todo Check a entity-type without bundles. + * @todo Check locale:disabled, locale:enabled and locale:enabled with another language. + * @todo Check revisions. */ class viewsHandlerFieldFieldTest extends ViewsFieldApiTestHelper { public $nodes; @@ -282,7 +281,7 @@ class viewsHandlerFieldFieldTest extends ViewsFieldApiTestHelper { return array( 'name' => 'Fieldapi: Field handler', 'description' => 'Tests the field itself of the fieldapi integration', - 'group' => 'Views Modules' + 'group' => 'Views Modules', ); } @@ -353,7 +352,7 @@ class viewsHandlerFieldFieldTest extends ViewsFieldApiTestHelper { $this->executeView($view); // Take sure that the formatter works as expected. - // @TODO: actually there should be a specific formatter. + // @todo actually there should be a specific formatter. for ($i = 0; $i < 2; $i++) { $rendered_field = $view->style_plugin->get_field($i, $this->fields[0]['field_name']); $this->assertEqual(strlen($rendered_field), 3); @@ -384,7 +383,7 @@ class viewsHandlerFieldFieldTest extends ViewsFieldApiTestHelper { $view->destroy(); - // Test delta limit + offset + // Test delta limit + offset. $view->display['default']->display_options['fields'][$this->fields[3]['field_name']]['group_rows'] = TRUE; $view->display['default']->display_options['fields'][$this->fields[3]['field_name']]['delta_limit'] = 3; $view->display['default']->display_options['fields'][$this->fields[3]['field_name']]['delta_offset'] = 1; @@ -459,7 +458,7 @@ class viewsHandlerFieldFieldTest extends ViewsFieldApiTestHelper { } protected function getFieldView() { - $view = new view; + $view = new view(); $view->name = 'view_fieldapi'; $view->description = ''; $view->tag = 'default'; @@ -491,4 +490,3 @@ class viewsHandlerFieldFieldTest extends ViewsFieldApiTestHelper { } } - diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_area_text.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_area_text.test index 9f30e0c52733b191588401f5be416db0b6bd7c98..c5ebe81cebe657b802143bcdacf35bacc2a47c72 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_area_text.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_area_text.test @@ -22,7 +22,7 @@ class ViewsHandlerAreaTextTest extends ViewsSqlTest { public function testAreaText() { $view = $this->getBasicView(); - // add a text header + // add a text header. $string = $this->randomName(); $view->display['default']->handler->override_option('header', array( 'area' => array( diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_null.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_null.test index e8650a3837a72b9c7592b70ed36d38b2caf6f20b..95db4dfd91beab5ef8b36c67ba8974a71bd3c074 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_null.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_null.test @@ -25,7 +25,7 @@ class ViewsHandlerArgumentNullTest extends ViewsSqlTest { } public function testAreaText() { - // Test validation + // Test validation. $view = $this->getBasicView(); // Add a null argument. diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_string.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_string.test index d078abfe22568c6a63ccb7d5597b7fdd9d9e0c67..4c76ff6a2e981a4f9a96a010eb53bd2ab1e98333 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_string.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_argument_string.test @@ -53,6 +53,7 @@ class ViewsHandlerArgumentStringTest extends ViewsSqlTest { * Provide a test view for testGlossary. * * @see testGlossary + * * @return view */ function viewGlossary() { @@ -93,4 +94,5 @@ class ViewsHandlerArgumentStringTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field.test index 9e6dfca2563a55f617b60219cb211ea906347dc0..df9574f89ef3e00f8e28d797359dd689490f2673 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field.test @@ -6,11 +6,15 @@ */ /** - * Tests the generic field handler + * Tests the generic field handler. * * @see views_handler_field */ class ViewsHandlerFieldTest extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Field', @@ -19,6 +23,9 @@ class ViewsHandlerFieldTest extends ViewsSqlTest { ); } + /** + * + */ protected function setUp() { parent::setUp(); $this->column_map = array( @@ -26,17 +33,12 @@ class ViewsHandlerFieldTest extends ViewsSqlTest { ); } - function testEmpty() { - $this->_testHideIfEmpty(); - $this->_testEmptyText(); - } - /** * Tests the hide if empty functionality. * * This tests alters the result to get easier and less coupled results. */ - function _testHideIfEmpty() { + public function testHideIfEmpty() { $view = $this->getBasicView(); $view->init_display(); $this->executeView($view); @@ -139,7 +141,8 @@ class ViewsHandlerFieldTest extends ViewsSqlTest { $render = $view->field['name']->advanced_render($view->result[0]); $this->assertIdentical($render, $random_name, 'If the rewritten string is not empty, "0" should not be treated as empty.'); - // Test when results are rewritten to an empty string and non-zero empty results are hidden. + // Test when results are rewritten to an empty string and non-zero empty + // results are hidden. $view->field['name']->options['hide_alter_empty'] = TRUE; $view->field['name']->options['hide_empty'] = TRUE; $view->field['name']->options['empty_zero'] = FALSE; @@ -254,7 +257,7 @@ class ViewsHandlerFieldTest extends ViewsSqlTest { /** * Tests the usage of the empty text. */ - function _testEmptyText() { + public function testEmptyText() { $view = $this->getBasicView(); $view->init_display(); $this->executeView($view); @@ -291,7 +294,7 @@ class ViewsHandlerFieldTest extends ViewsSqlTest { /** * Tests views_handler_field::is_value_empty(). */ - function testIsValueEmpty() { + public function testIsValueEmpty() { $view = $this->getBasicView(); $view->init_display(); $view->init_handlers(); diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_boolean.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_boolean.test index 286b9425ce77b5f6f685697a9865bc7aaf888134..38eb38ce433372c2ba1b4cd34419d2ece99ec483 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_boolean.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_boolean.test @@ -18,7 +18,7 @@ class ViewsHandlerFieldBooleanTest extends ViewsSqlTest { } function dataSet() { - // Use default dataset but remove the age from john and paul + // Use default dataset but remove the age from john and paul. $data = parent::dataSet(); $data[0]['age'] = 0; $data[3]['age'] = 0; @@ -105,4 +105,5 @@ class ViewsHandlerFieldBooleanTest extends ViewsSqlTest { $this->assertNotEqual($values['false'], $view->field['age']->advanced_render($view->result[0])); $this->assertNotEqual($values['true'], $view->field['age']->advanced_render($view->result[1])); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_counter.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_counter.test index 2ddcb6f653f8bb36a17d2019566270dbb1c25c01..9a4766aefeeb20b2924391ecf9b09cd19df229cf 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_counter.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_counter.test @@ -48,7 +48,7 @@ class ViewsHandlerFilterCounterTest extends ViewsSqlTest { 'table' => 'views', 'field' => 'counter', 'relationship' => 'none', - 'counter_start' => $rand_start + 'counter_start' => $rand_start, ), 'name' => array( 'id' => 'name', @@ -64,7 +64,8 @@ class ViewsHandlerFilterCounterTest extends ViewsSqlTest { $this->assertEqual(2 + $rand_start, $view->style_plugin->rendered_fields[2]['counter']); } - // @TODO: Write tests for pager. + // @todo Write tests for pager. function testPager() { } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_custom.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_custom.test index b45fd1770d7eee14ac58bb95b216b0f8c34958ba..b8f8a085b5c43bfe6a8999b12d77ed02b70bfe09 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_custom.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_custom.test @@ -44,4 +44,5 @@ class ViewsHandlerFieldCustomTest extends ViewsSqlTest { $this->assertEqual($random, $view->style_plugin->get_field(0, 'name')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_date.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_date.test index 7944142941d73d8f3e1885bd01e0a5232b36e491..54cbf0e58b702693a31958840770563269913198 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_date.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_date.test @@ -9,6 +9,10 @@ * Tests the core views_handler_field_date handler. */ class ViewsHandlerFieldDateTest extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Field: Date', @@ -17,12 +21,18 @@ class ViewsHandlerFieldDateTest extends ViewsSqlTest { ); } + /** + * + */ function viewsData() { $data = parent::viewsData(); $data['views_test']['created']['field']['handler'] = 'views_handler_field_date'; return $data; } + /** + * + */ public function testFieldDate() { $view = $this->getBasicView(); @@ -32,7 +42,8 @@ class ViewsHandlerFieldDateTest extends ViewsSqlTest { 'table' => 'views_test', 'field' => 'created', 'relationship' => 'none', - // c is iso 8601 date format @see http://php.net/manual/en/function.date.php + // c is iso 8601 date format. + // @see http://php.net/manual/en/function.date.php 'custom_date_format' => 'c', 'second_date_format' => 'custom', 'second_date_format_custom' => 'c', @@ -62,13 +73,17 @@ class ViewsHandlerFieldDateTest extends ViewsSqlTest { $intervals = array( 'raw time ago' => format_interval(REQUEST_TIME - $time, 2), 'time ago' => t('%time ago', array('%time' => format_interval(REQUEST_TIME - $time, 2))), - // TODO write tests for them -// 'raw time span' => format_interval(REQUEST_TIME - $time, 2), -// 'time span' => t('%time hence', array('%time' => format_interval(REQUEST_TIME - $time, 2))), + // @todo write tests for them + // 'raw time span' => format_interval(REQUEST_TIME - $time, 2), + // 'time span' => t('%time hence', + // array('%time' => format_interval(REQUEST_TIME - $time, 2))), ); $this->assertRenderedDatesEqual($view, $intervals); } + /** + * + */ protected function assertRenderedDatesEqual($view, $map, $timezone = NULL) { foreach ($map as $date_format => $expected_result) { $check_result_number = 0; @@ -114,4 +129,5 @@ class ViewsHandlerFieldDateTest extends ViewsSqlTest { return $data; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_extension.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_extension.test index ab8b0a9335c5aa5789af42f6cb22f48de782190a..ddc12f9cdf32c486432dd5202ef9de27961645ab 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_extension.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_extension.test @@ -63,4 +63,5 @@ class ViewsHandlerFileExtensionTest extends ViewsSqlTest { $this->assertEqual($view->field['name']->advanced_render($view->result[2]), 'tar.gz'); $this->assertEqual($view->field['name']->advanced_render($view->result[3]), ''); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_size.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_size.test index 8652754fea11df8c59acb16467c62bb6c40e3937..a8828c701791aa188495f93a128e4cdb69c5294e 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_size.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_file_size.test @@ -61,4 +61,5 @@ class ViewsHandlerTestFileSize extends ViewsSqlTest { $this->assertEqual($view->field['age']->advanced_render($view->result[2]), 1000); $this->assertEqual($view->field['age']->advanced_render($view->result[3]), 10000); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_math.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_math.test index ac33ac4a4feb0bc21e5279b4e30f6a078a81bc66..cd39528b0a3541d29ae5290e74afbca6f0cfe1d3 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_math.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_math.test @@ -42,4 +42,5 @@ class ViewsHandlerFieldMath extends ViewsSqlTest { $this->assertEqual($rand1 + $rand2, $view->style_plugin->get_field(0, 'expression')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_url.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_url.test index 527e94fb41265629712e1fd325fb0c2ae25d215b..ad6f71d0467b0f258d4b61038c3370fbdb3a06dc 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_url.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_url.test @@ -57,4 +57,5 @@ class ViewsHandlerFieldUrlTest extends ViewsSqlTest { $this->assertEqual(l('John', 'John'), $view->field['name']->advanced_render($view->result[0])); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_xss.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_xss.test index 65a1ce282900d1e0851ad3ed3a9ffc06a7a62054..c12a4088b567daaaa47e2bd1866c12eac2f943df 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_xss.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_field_xss.test @@ -23,7 +23,7 @@ class ViewsHandlerTestXss extends ViewsSqlTest { $map = array( 'John' => 'John', "Foo\xC0barbaz" => '', - 'Fooÿñ' => 'Fooÿñ' + 'Fooÿñ' => 'Fooÿñ', ); return $map; @@ -57,4 +57,5 @@ class ViewsHandlerTestXss extends ViewsSqlTest { $counter++; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_combine.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_combine.test index 99bf1eb557a61b978ee03c3c19a0147fb0a4ba6f..57d5e6f8f19d93de0897088940626b2530e10c72 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_combine.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_combine.test @@ -102,4 +102,5 @@ class ViewsHandlerFilterCombineTest extends ViewsSqlTest { unset($schema['views_test']['fields']['job']['not null']); return $schema; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_date.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_date.test index 8b92ccb59fca6881f94ec1caa7e5e276f0b72419..ad6a98bc52131bf92543bd68a6603136b0d681a7 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_date.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_date.test @@ -168,7 +168,7 @@ class ViewsHandlerFilterDateTest extends ViewsSqlTest { $view = $this->views_test_between(); $view->save(); - $admin_user = $this->drupalCreateUser(array('administer views', 'administer site configuration')); + $admin_user = $this->drupalCreateUser(array('administer views', 'administer site configuration')); $this->drupalLogin($admin_user); menu_rebuild(); $this->drupalGet('admin/structure/views/view/test_filter_date_between/edit'); @@ -182,7 +182,7 @@ class ViewsHandlerFilterDateTest extends ViewsSqlTest { } function views_test_between() { - $view = new view; + $view = new view(); $view->name = 'test_filter_date_between'; $view->description = ''; $view->tag = ''; @@ -218,4 +218,5 @@ class ViewsHandlerFilterDateTest extends ViewsSqlTest { $view = $this->views_test_between(); return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_equality.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_equality.test index 5bb48c8dfca770a46279a4a16c9448cee5006bb5..a1dbc4e4f6dd02b850979b9b4e976f8553fa9f1c 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_equality.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_equality.test @@ -34,7 +34,7 @@ class ViewsHandlerFilterEqualityTest extends ViewsSqlTest { function testEqual() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'name' => array( 'id' => 'name', @@ -59,7 +59,7 @@ class ViewsHandlerFilterEqualityTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: =, Value: Ringo + // Filter: Name, Operator: =, Value: Ringo. $filters['name']['group_info']['default_group'] = 1; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -76,7 +76,7 @@ class ViewsHandlerFilterEqualityTest extends ViewsSqlTest { function testNotEqual() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'name' => array( 'id' => 'name', @@ -110,7 +110,7 @@ class ViewsHandlerFilterEqualityTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: !=, Value: Ringo + // Filter: Name, Operator: !=, Value: Ringo. $filters['name']['group_info']['default_group'] = 2; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_numeric.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_numeric.test index 2ab1aea00eadd490f674faeb4331800ce134444b..6cfe2d37a1429a0825fe5871af4496928a016ab5 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_numeric.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_numeric.test @@ -38,7 +38,7 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { public function testFilterNumericSimple() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'age' => array( 'id' => 'age', @@ -82,7 +82,7 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { public function testFilterNumericBetween() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'age' => array( 'id' => 'age', @@ -114,11 +114,11 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { ); $this->assertIdenticalResultset($view, $resultset, $this->column_map); - // test not between + // test not between. $view->delete(); $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'age' => array( 'id' => 'age', @@ -160,7 +160,6 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); - $this->executeView($view); $resultset = array( array( @@ -188,7 +187,6 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); - $this->executeView($view); $resultset = array( array( @@ -211,7 +209,7 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { public function testFilterNumericEmpty() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'age' => array( 'id' => 'age', @@ -223,14 +221,13 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { )); $this->executeView($view); - $resultset = array( - ); + $resultset = array(); $this->assertIdenticalResultset($view, $resultset, $this->column_map); $view->delete(); $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'age' => array( 'id' => 'age', @@ -243,7 +240,7 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { $this->executeView($view); $resultset = array( - array( + array( 'name' => 'John', 'age' => 25, ), @@ -272,15 +269,13 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Age, Operator: empty, Value: + // Filter: Age, Operator: empty, Value. $filters['age']['group_info']['default_group'] = 4; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); - $this->executeView($view); - $resultset = array( - ); + $resultset = array(); $this->assertIdenticalResultset($view, $resultset, $this->column_map); } @@ -288,15 +283,14 @@ class ViewsHandlerFilterNumericTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Age, Operator: empty, Value: + // Filter: Age, Operator: empty, Value. $filters['age']['group_info']['default_group'] = 5; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); - $this->executeView($view); $resultset = array( - array( + array( 'name' => 'John', 'age' => 25, ), diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_string.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_string.test index ee74a2825070663f894bc6148ac70580635ffbff..ab6af92af502d1c084ca4e5bf47a6961750c0ede 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_string.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_filter_string.test @@ -75,7 +75,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringEqual() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'name' => array( 'id' => 'name', @@ -100,7 +100,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: =, Value: Ringo + // Filter: Name, Operator: =, Value: Ringo. $filters['name']['group_info']['default_group'] = 1; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -119,7 +119,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringNotEqual() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'name' => array( 'id' => 'name', @@ -153,7 +153,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: !=, Value: Ringo + // Filter: Name, Operator: !=, Value: Ringo. $filters['name']['group_info']['default_group'] = '2'; $view->set_display('page_1'); @@ -182,7 +182,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringContains() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'name' => array( 'id' => 'name', @@ -208,7 +208,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: contains, Value: ing + // Filter: Name, Operator: contains, Value: ing. $filters['name']['group_info']['default_group'] = '3'; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -228,7 +228,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringWord() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -254,7 +254,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -277,10 +277,10 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringGroupedExposedWord() { - $filters = $this->getGroupedExposedFilters(); + $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: contains, Value: ing + // Filter: Name, Operator: contains, Value: ing. $filters['name']['group_info']['default_group'] = '3'; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -299,7 +299,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Description, Operator: contains, Value: actor + // Filter: Description, Operator: contains, Value: actor. $filters['description']['group_info']['default_group'] = '1'; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -319,7 +319,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringStarts() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -344,7 +344,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: starts, Value: George + // Filter: Name, Operator: starts, Value: George. $filters['description']['group_info']['default_group'] = 2; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -362,7 +362,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringNotStarts() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -385,7 +385,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { array( 'name' => 'Paul', ), - // There is no Meredith returned because his description is empty + // There is no Meredith returned because his description is empty. ); $this->assertIdenticalResultset($view, $resultset, $this->column_map); } @@ -394,7 +394,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Name, Operator: not_starts, Value: George + // Filter: Name, Operator: not_starts, Value: George. $filters['description']['group_info']['default_group'] = 3; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -411,7 +411,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { array( 'name' => 'Paul', ), - // There is no Meredith returned because his description is empty + // There is no Meredith returned because his description is empty. ); $this->assertIdenticalResultset($view, $resultset, $this->column_map); } @@ -419,7 +419,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringEnds() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -447,7 +447,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Descriptino, Operator: ends, Value: Beatles + // Filter: Descriptino, Operator: ends, Value: Beatles. $filters['description']['group_info']['default_group'] = 4; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -468,7 +468,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringNotEnds() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -488,7 +488,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { array( 'name' => 'Paul', ), - // There is no Meredith returned because his description is empty + // There is no Meredith returned because his description is empty. ); $this->assertIdenticalResultset($view, $resultset, $this->column_map); } @@ -497,7 +497,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Description, Operator: not_ends, Value: Beatles + // Filter: Description, Operator: not_ends, Value: Beatles. $filters['description']['group_info']['default_group'] = 5; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -511,7 +511,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { array( 'name' => 'Paul', ), - // There is no Meredith returned because his description is empty + // There is no Meredith returned because his description is empty. ); $this->assertIdenticalResultset($view, $resultset, $this->column_map); } @@ -519,7 +519,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringNot() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -539,7 +539,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { array( 'name' => 'Paul', ), - // There is no Meredith returned because his description is empty + // There is no Meredith returned because his description is empty. ); $this->assertIdenticalResultset($view, $resultset, $this->column_map); } @@ -549,7 +549,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Description, Operator: not (does not contains), Value: Beatles + // Filter: Description, Operator: not (does not contains), Value: Beatles. $filters['description']['group_info']['default_group'] = 6; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); @@ -563,7 +563,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { array( 'name' => 'Paul', ), - // There is no Meredith returned because his description is empty + // There is no Meredith returned because his description is empty. ); $this->assertIdenticalResultset($view, $resultset, $this->column_map); @@ -572,7 +572,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringShorter() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'name' => array( 'id' => 'name', @@ -620,7 +620,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringLonger() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'name' => array( 'id' => 'name', @@ -663,7 +663,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { function testFilterStringEmpty() { $view = $this->getBasicView(); - // Change the filtering + // Change the filtering. $view->display['default']->handler->override_option('filters', array( 'description' => array( 'id' => 'description', @@ -687,7 +687,7 @@ class ViewsHandlerFilterStringTest extends ViewsSqlTest { $filters = $this->getGroupedExposedFilters(); $view = $this->getBasicPageView(); - // Filter: Description, Operator: empty, Value: + // Filter: Description, Operator: empty, Value. $filters['description']['group_info']['default_group'] = 7; $view->set_display('page_1'); $view->display['page_1']->handler->override_option('filters', $filters); diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort.test index 70f2aac4f46be541b9aea2f1e5c8c15ddcb4abbe..35708c1e580dfbbce18747655d5233c4b42f1644 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort.test @@ -23,7 +23,7 @@ class ViewsHandlerSortTest extends ViewsSqlTest { public function testNumericOrdering() { $view = $this->getBasicView(); - // Change the ordering + // Change the ordering. $view->display['default']->handler->override_option('sorts', array( 'age' => array( 'order' => 'ASC', @@ -46,7 +46,7 @@ class ViewsHandlerSortTest extends ViewsSqlTest { $view = $this->getBasicView(); - // Reverse the ordering + // Reverse the ordering. $view->display['default']->handler->override_option('sorts', array( 'age' => array( 'order' => 'DESC', @@ -74,7 +74,7 @@ class ViewsHandlerSortTest extends ViewsSqlTest { public function testStringOrdering() { $view = $this->getBasicView(); - // Change the ordering + // Change the ordering. $view->display['default']->handler->override_option('sorts', array( 'name' => array( 'order' => 'ASC', @@ -97,7 +97,7 @@ class ViewsHandlerSortTest extends ViewsSqlTest { $view = $this->getBasicView(); - // Reverse the ordering + // Reverse the ordering. $view->display['default']->handler->override_option('sorts', array( 'name' => array( 'order' => 'DESC', @@ -118,4 +118,5 @@ class ViewsHandlerSortTest extends ViewsSqlTest { 'views_test_age' => 'age', )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_date.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_date.test index 65a94e815d2ccf7eca62f956eae57796e93d4718..4a8c4ca64a0c4c076774a58c36ba2b75fc563e2a 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_date.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_date.test @@ -21,61 +21,66 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { $expected = array(); if (!$reverse) { switch ($granularity) { - case 'second': - $expected = array( - array('name' => 'John'), - array('name' => 'Paul'), - array('name' => 'Meredith'), - array('name' => 'Ringo'), - array('name' => 'George'), - ); - break; - case 'minute': - $expected = array( - array('name' => 'John'), - array('name' => 'Paul'), - array('name' => 'Ringo'), - array('name' => 'Meredith'), - array('name' => 'George'), - ); - break; - case 'hour': - $expected = array( - array('name' => 'John'), - array('name' => 'Ringo'), - array('name' => 'Paul'), - array('name' => 'Meredith'), - array('name' => 'George'), - ); - break; - case 'day': - $expected = array( - array('name' => 'John'), - array('name' => 'Ringo'), - array('name' => 'Paul'), - array('name' => 'Meredith'), - array('name' => 'George'), - ); - break; - case 'month': - $expected = array( - array('name' => 'John'), - array('name' => 'George'), - array('name' => 'Ringo'), - array('name' => 'Paul'), - array('name' => 'Meredith'), - ); - break; - case 'year': - $expected = array( - array('name' => 'John'), - array('name' => 'George'), - array('name' => 'Ringo'), - array('name' => 'Paul'), - array('name' => 'Meredith'), - ); - break; - } + case 'second': + $expected = array( + array('name' => 'John'), + array('name' => 'Paul'), + array('name' => 'Meredith'), + array('name' => 'Ringo'), + array('name' => 'George'), + ); + break; + + case 'minute': + $expected = array( + array('name' => 'John'), + array('name' => 'Paul'), + array('name' => 'Ringo'), + array('name' => 'Meredith'), + array('name' => 'George'), + ); + break; + + case 'hour': + $expected = array( + array('name' => 'John'), + array('name' => 'Ringo'), + array('name' => 'Paul'), + array('name' => 'Meredith'), + array('name' => 'George'), + ); + break; + + case 'day': + $expected = array( + array('name' => 'John'), + array('name' => 'Ringo'), + array('name' => 'Paul'), + array('name' => 'Meredith'), + array('name' => 'George'), + ); + break; + + case 'month': + $expected = array( + array('name' => 'John'), + array('name' => 'George'), + array('name' => 'Ringo'), + array('name' => 'Paul'), + array('name' => 'Meredith'), + ); + break; + + case 'year': + $expected = array( + array('name' => 'John'), + array('name' => 'George'), + array('name' => 'Ringo'), + array('name' => 'Paul'), + array('name' => 'Meredith'), + ); + break; + } } else { switch ($granularity) { @@ -88,6 +93,7 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { array('name' => 'John'), ); break; + case 'minute': $expected = array( array('name' => 'George'), @@ -95,8 +101,9 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { array('name' => 'Meredith'), array('name' => 'Paul'), array('name' => 'John'), - ); + ); break; + case 'hour': $expected = array( array('name' => 'George'), @@ -106,6 +113,7 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { array('name' => 'John'), ); break; + case 'day': $expected = array( array('name' => 'George'), @@ -115,6 +123,7 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { array('name' => 'Meredith'), ); break; + case 'month': $expected = array( array('name' => 'John'), @@ -124,6 +133,7 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { array('name' => 'Meredith'), ); break; + case 'year': $expected = array( array('name' => 'John'), @@ -163,7 +173,7 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { ), )); - // Change the ordering + // Change the ordering. $view->display['default']->handler->override_option('sorts', array( 'created' => array( 'id' => 'created', @@ -195,4 +205,5 @@ class ViewsHandlerSortDateTest extends ViewsSqlTest { } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_random.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_random.test index 19db8a90d47515939e6a606eefb26370141d1555..b7a620df830686b78e541044ade2821a9ac34e5e 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_random.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handler_sort_random.test @@ -9,6 +9,10 @@ * Tests for core views_handler_sort_random handler. */ class ViewsHandlerSortRandomTest extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Sort: random', @@ -77,7 +81,8 @@ class ViewsHandlerSortRandomTest extends ViewsSqlTest { 'views_test_age' => 'views_test_name', )); - // Execute a second random view, we expect the result set to be different again. + // Execute a second random view, we expect the result set to be different + // again. $view_random_2 = $this->getBasicRandomView(); $this->executeView($view_random_2); $this->assertEqual(count($this->dataSet()), count($view_random_2->result), t('The number of returned rows match.')); @@ -86,4 +91,5 @@ class ViewsHandlerSortRandomTest extends ViewsSqlTest { 'views_test_age' => 'views_test_name', )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handlers.test b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handlers.test index f2faee3f769c5538d2c4195f9cc923c3e0d035ad..6f010aca88d431d89d08229d0663fd5633b12dca 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handlers.test +++ b/profiles/wcm_base/modules/contrib/views/tests/handlers/views_handlers.test @@ -2,7 +2,7 @@ /** * @file - * Contains ViewsHandlerTest. + * Definition of ViewsHandlerTest. */ /** @@ -42,7 +42,7 @@ class ViewsHandlerTest extends ViewsSqlTest { public function testHandlerAccess() { $view = $this->getBasicView(); - // add a test area + // add a test area. $view->display['default']->handler->override_option('header', array( 'test_access' => array( 'id' => 'test_access', @@ -61,7 +61,7 @@ class ViewsHandlerTest extends ViewsSqlTest { $view = $this->getBasicView(); - // add a test area + // add a test area. $view->display['default']->handler->override_option('header', array( 'test_access' => array( 'id' => 'test_access', diff --git a/profiles/wcm_base/modules/contrib/views/tests/node/views_node_revision_relations.test b/profiles/wcm_base/modules/contrib/views/tests/node/views_node_revision_relations.test index 6b38396f89dd062f544115813bda809dd8cded94..e3a50c0a16f8bd460751240cfaff6186205e3398 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/node/views_node_revision_relations.test +++ b/profiles/wcm_base/modules/contrib/views/tests/node/views_node_revision_relations.test @@ -174,4 +174,5 @@ class ViewsNodeRevisionRelationsTestCase extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/plugins/views_plugin_display.test b/profiles/wcm_base/modules/contrib/views/tests/plugins/views_plugin_display.test index df33a34175a6fcc758716268fa116c471e4b33dc..7efb2e778dff55f117d2f4b5269d8ac92dc608b3 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/plugins/views_plugin_display.test +++ b/profiles/wcm_base/modules/contrib/views/tests/plugins/views_plugin_display.test @@ -10,6 +10,9 @@ */ class ViewsPluginDisplayTestCase extends ViewsSqlTest { + /** + * + */ public static function getInfo() { return array( 'name' => 'Display plugin', @@ -35,6 +38,7 @@ class ViewsPluginDisplayTestCase extends ViewsSqlTest { * Returns a test view for testFilterGroupsOverriding. * * @see testFilterGroupsOverriding + * * @return view */ function viewFilterGroupsOverriding() { @@ -80,7 +84,9 @@ class ViewsPluginDisplayTestCase extends ViewsSqlTest { } /** - * Based on a bug some filter_groups landed in the overridden display, even the filters weren't overridden. + * Based on a bug some filter_groups landed in the overridden display. + * + * Even the filters weren't overridden. * This caused multiple issues. * Take sure that the value from the default display are used. * @@ -191,4 +197,5 @@ class ViewsPluginDisplayTestCase extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style.test b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style.test index e915d3b8f29bf91ecdd9075910fe2b90d833f27c..20a24eb9f19a20ae04dc9b8f9c99bfc17f2c7942 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style.test +++ b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style.test @@ -185,7 +185,6 @@ class ViewsPluginStyleTestCase extends ViewsPluginStyleTestBase { $expected['Job: Drummer']['rows']['Age: 28']['rows'][2]->views_test_age = '28'; $expected['Job: Drummer']['rows']['Age: 28']['rows'][2]->views_test_id = '3'; - // Alter the results to support the stripped case. if ($stripped) { @@ -206,7 +205,6 @@ class ViewsPluginStyleTestCase extends ViewsPluginStyleTestBase { $view->style_plugin->options['grouping'][1] = array('field' => 'age', 'rendered' => TRUE, 'rendered_strip' => TRUE); } - // The newer api passes the value of the grouping as well. $sets_new_rendered = $view->style_plugin->render_grouping($view->result, $view->style_plugin->options['grouping'], TRUE); @@ -261,4 +259,5 @@ class ViewsPluginStyleTestCase extends ViewsPluginStyleTestBase { $count++; } } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_jump_menu.test b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_jump_menu.test index dd4eca0b37ea1f9e81a002eb6bfb8de639de4879..aadaa56b09754faa6fa41de5eb6754d6ba32ca02 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_jump_menu.test +++ b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_jump_menu.test @@ -17,6 +17,9 @@ class viewsPluginStyleJumpMenuTest extends ViewsSqlTest { */ var $nodes; + /** + * + */ public static function getInfo() { return array( 'name' => 'Jump menu', @@ -25,7 +28,9 @@ class viewsPluginStyleJumpMenuTest extends ViewsSqlTest { ); } - + /** + * + */ public function setUp() { parent::setUp(); $this->nodes = array(); @@ -37,7 +42,6 @@ class viewsPluginStyleJumpMenuTest extends ViewsSqlTest { $this->nodeTitles = array($this->nodes['page'][0]->title, $this->nodes['page'][1]->title, $this->nodes['story'][0]->title, $this->nodes['story'][1]->title); } - /** * Tests jump menues with more then one same path but maybe differnet titles. */ @@ -46,7 +50,8 @@ class viewsPluginStyleJumpMenuTest extends ViewsSqlTest { $view->set_display(); $view->init_handlers(); - // Setup a [path] which would leed to "duplicate" paths, but still the shouldn't be used for grouping. + // Setup a [path] which would leed to "duplicate" paths, but still the + // shouldn't be used for grouping. $view->field['nothing']->options['alter']['text'] = '[path]'; $view->preview(); $form = $view->style_plugin->render($view->result); @@ -65,8 +70,11 @@ class viewsPluginStyleJumpMenuTest extends ViewsSqlTest { } } + /** + * + */ function getJumpMenuView() { - $view = new view; + $view = new view(); $view->name = 'test_jump_menu'; $view->description = ''; $view->tag = 'default'; @@ -148,4 +156,5 @@ class viewsPluginStyleJumpMenuTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_mapping.test b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_mapping.test index 5785075b2ad78c91a74203446f291b416dd2cb58..c73cb57544281514014884e79f677d6391824e24 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_mapping.test +++ b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_mapping.test @@ -27,7 +27,7 @@ class ViewsPluginStyleMappingTest extends ViewsPluginStyleTestBase { protected function viewsPlugins() { return array( - 'style' => array( + 'style' => array( 'test_mapping' => array( 'title' => t('Field mapping'), 'help' => t('Maps specific fields to specific purposes.'), diff --git a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_unformatted.test b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_unformatted.test index 0c0e882547a70d6696fc0fa40ebd2b2c4ab9aceb..eb5cc9946595a1bc8a809baeb6c1430077544b3b 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_unformatted.test +++ b/profiles/wcm_base/modules/contrib/views/tests/styles/views_plugin_style_unformatted.test @@ -42,7 +42,7 @@ class ViewsPluginStyleUnformattedTestCase extends ViewsPluginStyleTestBase { if ($count == 1) { $this->assertTrue(strpos($class, "views-row-first") !== FALSE, 'Take sure that the first class is set right.'); } - else if ($count == $count_result) { + elseif ($count == $count_result) { $this->assertTrue(strpos($class, "views-row-last") !== FALSE, 'Take sure that the last class is set right.'); } diff --git a/profiles/wcm_base/modules/contrib/views/tests/taxonomy/views_handler_relationship_node_term_data.test b/profiles/wcm_base/modules/contrib/views/tests/taxonomy/views_handler_relationship_node_term_data.test index 37e8aa6c6e30b6812900f3ee41e4319c12bec73a..7bce9804b124e317ad6a4335e341b0b36970a0f5 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/taxonomy/views_handler_relationship_node_term_data.test +++ b/profiles/wcm_base/modules/contrib/views/tests/taxonomy/views_handler_relationship_node_term_data.test @@ -34,9 +34,8 @@ class ViewsHandlerRelationshipNodeTermDataTest extends ViewsSqlTest { function setUp() { parent::setUp(); - //$web_user = $this->drupalCreateUser(array('create article content')); - //$this->drupalLogin($web_user); - + // $web_user = $this->drupalCreateUser(array('create article content')); + // $this->drupalLogin($web_user); $vocabulary = taxonomy_vocabulary_machine_name_load('tags'); $this->term_1 = $this->createTerm($vocabulary); $this->term_2 = $this->createTerm($vocabulary); @@ -119,4 +118,5 @@ class ViewsHandlerRelationshipNodeTermDataTest extends ViewsSqlTest { return $view; } -} \ No newline at end of file + +} diff --git a/profiles/wcm_base/modules/contrib/views/tests/test_handlers/views_test_area_access.inc b/profiles/wcm_base/modules/contrib/views/tests/test_handlers/views_test_area_access.inc index 57a0014e107e352e016bca842589263a70e71bae..268c6752d196cdb23293f30c9fed7b8bd06fb286 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/test_handlers/views_test_area_access.inc +++ b/profiles/wcm_base/modules/contrib/views/tests/test_handlers/views_test_area_access.inc @@ -2,22 +2,25 @@ /** * @file - * Contains views_test_area_access + * Definition of views_test_area_access. */ +/** + * A test access plugin. + */ class views_test_area_access extends views_handler_area { /** * {@inheritdoc} */ - function access() { + public function access() { return $this->options['custom_access']; - } + } /** * {@inheritdoc} */ - function option_definition() { + public function option_definition() { $options = parent::option_definition(); $options['custom_access'] = array('default' => TRUE, 'bool' => TRUE); diff --git a/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_dynamic.inc b/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_dynamic.inc index cecec2f960bc4609026bf86b486b36a3f051975c..39f7600f663e09f86f19cf160be0f1e01de9e8d0 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_dynamic.inc +++ b/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_dynamic.inc @@ -9,18 +9,29 @@ * Tests a dynamic access plugin. */ class views_test_plugin_access_test_dynamic extends views_plugin_access { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['access'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function access($account) { + /** + * {@inheritdoc} + */ + public function access($account) { return !empty($this->options['access']) && isset($this->view->args[0]) && $this->view->args[0] == variable_get('test_dynamic_access_argument1', NULL) && isset($this->view->args[1]) && $this->view->args[1] == variable_get('test_dynamic_access_argument2', NULL); } - function get_access_callback() { + /** + * {@inheritdoc} + */ + public function get_access_callback() { return array('views_test_test_dynamic_access_callback', array(!empty($options['access']), 1, 2)); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_static.inc b/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_static.inc index 187d6ea28fb9dbd7cecc838ef5fd2bd6928ecdf1..eb6dde3958bc7dd140cf93866c47c7e03078ffed 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_static.inc +++ b/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_access_test_static.inc @@ -9,18 +9,29 @@ * Tests a static access plugin. */ class views_test_plugin_access_test_static extends views_plugin_access { - function option_definition() { + + /** + * {@inheritdoc} + */ + public function option_definition() { $options = parent::option_definition(); $options['access'] = array('default' => FALSE, 'bool' => TRUE); return $options; } - function access($account) { + /** + * {@inheritdoc} + */ + public function access($account) { return !empty($this->options['access']); } - function get_access_callback() { + /** + * {@inheritdoc} + */ + public function get_access_callback() { return array('views_test_test_static_access_callback', array(!empty($options['access']))); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_style_test_mapping.inc b/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_style_test_mapping.inc index b92678734686912aadfccd77865695907ed3c5ae..46d202af15bfed0a1019502df9c359008f8dcbb6 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_style_test_mapping.inc +++ b/profiles/wcm_base/modules/contrib/views/tests/test_plugins/views_test_plugin_style_test_mapping.inc @@ -11,7 +11,7 @@ class views_test_plugin_style_test_mapping extends views_plugin_style_mapping { /** - * Overrides views_plugin_style_mapping::define_mapping(). + * {@inheritdoc} */ protected function define_mapping() { return array( @@ -49,4 +49,5 @@ class views_test_plugin_style_test_mapping extends views_plugin_style_mapping { } } } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/user/views_handler_field_user_name.test b/profiles/wcm_base/modules/contrib/views/tests/user/views_handler_field_user_name.test index 6ace4716577a970937067fb748abfe7d5be8fbcf..60ec3b251a28e021b3df1e1a3e9c61b08a195415 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/user/views_handler_field_user_name.test +++ b/profiles/wcm_base/modules/contrib/views/tests/user/views_handler_field_user_name.test @@ -43,17 +43,16 @@ class viewsHandlerFieldUserNameTest extends ViewsSqlTest { $anon_name = variable_get('anonymous', t('Anonymous')); $view->result[0]->users_name = ''; $render = $view->field['name']->advanced_render($view->result[0]); - $this->assertIdentical($render, $anon_name , 'For user0 it should use the default anonymous name by default.'); + $this->assertIdentical($render, $anon_name, 'For user0 it should use the default anonymous name by default.'); $view->field['name']->options['overwrite_anonymous'] = TRUE; $anon_name = $view->field['name']->options['anonymous_text'] = $this->randomName(); $render = $view->field['name']->advanced_render($view->result[0]); - $this->assertIdentical($render, $anon_name , 'For user0 it should use the configured anonymous text if overwrite_anonymous is checked.'); - + $this->assertIdentical($render, $anon_name, 'For user0 it should use the configured anonymous text if overwrite_anonymous is checked.'); } function view_user_name() { - $view = new view; + $view = new view(); $view->name = 'test_views_handler_field_user_name'; $view->description = ''; $view->tag = 'default'; @@ -93,4 +92,5 @@ class viewsHandlerFieldUserNameTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/user/views_user.test b/profiles/wcm_base/modules/contrib/views/tests/user/views_user.test index 52c5026730f95b5829342e3e4e116d8ba299ea11..2f0e2cd59e2f52d92dbf2150eb95c05bed269532 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/user/views_user.test +++ b/profiles/wcm_base/modules/contrib/views/tests/user/views_user.test @@ -9,9 +9,20 @@ * Tests basic user module integration into views. */ class ViewsUserTestCase extends ViewsSqlTest { + + /** + * + */ var $users = array(); + + /** + * + */ var $nodes = array(); + /** + * + */ public static function getInfo() { return array( 'name' => 'Tests basic user integration', @@ -20,7 +31,9 @@ class ViewsUserTestCase extends ViewsSqlTest { ); } - + /** + * + */ protected function setUp() { parent::setUp(); @@ -31,7 +44,7 @@ class ViewsUserTestCase extends ViewsSqlTest { } /** - * Add a view which has no explicit relationship to the author and check the result. + * Add a view which has no explicit relationship to the author. * * @todo: Remove the following comment once the relationship is required. * One day a view will require the relationship so it should still work @@ -51,8 +64,11 @@ class ViewsUserTestCase extends ViewsSqlTest { $this->assertIdenticalResultset($view, $expected); } + /** + * + */ function test_view_user_relationship() { - $view = new view; + $view = new view(); $view->name = 'test_user_relationship'; $view->description = ''; $view->tag = 'default'; @@ -140,4 +156,5 @@ class ViewsUserTestCase extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_default.test b/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_default.test index afb24d1e078d0d1bdadfebcc7581d59131913b02..28881935aa57cc4d2b58b07c728b91b832045de6 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_default.test +++ b/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_default.test @@ -9,6 +9,10 @@ * Tests views user argument default plugin. */ class ViewsUserArgumentDefault extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Tests user argument default plugin', @@ -17,11 +21,15 @@ class ViewsUserArgumentDefault extends ViewsSqlTest { ); } + /** + * + */ public function test_plugin_argument_default_current_user() { // Create a user to test. $account = $this->drupalCreateUser(); - // Switch the user, we have to check the global user too, because drupalLogin is only for the simpletest browser. + // Switch the user, we have to check the global user too, because + // drupalLogin is only for the simpletest browser. $this->drupalLogin($account); global $user; $admin = $user; @@ -40,8 +48,11 @@ class ViewsUserArgumentDefault extends ViewsSqlTest { drupal_save_session(TRUE); } + /** + * + */ function view_plugin_argument_default_current_user() { - $view = new view; + $view = new view(); $view->name = 'test_plugin_argument_default_current_user'; $view->description = ''; $view->tag = ''; @@ -87,4 +98,5 @@ class ViewsUserArgumentDefault extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_validate.test b/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_validate.test index 6e157bf5ebd6cc02f8b18a2662a9d01a6976d19b..91aebba9f604e44225cfac85c41e861de341ed40 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_validate.test +++ b/profiles/wcm_base/modules/contrib/views/tests/user/views_user_argument_validate.test @@ -24,7 +24,7 @@ class ViewsUserArgumentValidate extends ViewsSqlTest { function testArgumentValidateUserUid() { $account = $this->account; - // test 'uid' case + // test 'uid' case. $view = $this->view_argument_validate_user('uid'); $view->set_display('default'); $view->pre_execute(); @@ -36,13 +36,13 @@ class ViewsUserArgumentValidate extends ViewsSqlTest { $this->assertFalse($view->argument['null']->validate_arg($account->name)); // Reset safed argument validation. $view->argument['null']->argument_validated = NULL; - // Fail for a valid numeric, but for a user that doesn't exist + // Fail for a valid numeric, but for a user that doesn't exist. $this->assertFalse($view->argument['null']->validate_arg(32)); } function testArgumentValidateUserName() { $account = $this->account; - // test 'name' case + // test 'name' case. $view = $this->view_argument_validate_user('name'); $view->set_display('default'); $view->pre_execute(); @@ -54,13 +54,13 @@ class ViewsUserArgumentValidate extends ViewsSqlTest { $this->assertFalse($view->argument['null']->validate_arg($account->uid)); // Reset safed argument validation. $view->argument['null']->argument_validated = NULL; - // Fail for a valid string, but for a user that doesn't exist + // Fail for a valid string, but for a user that doesn't exist. $this->assertFalse($view->argument['null']->validate_arg($this->randomName())); } function testArgumentValidateUserEither() { $account = $this->account; - // test 'either' case + // test 'either' case. $view = $this->view_argument_validate_user('either'); $view->set_display('default'); $view->pre_execute(); @@ -72,16 +72,16 @@ class ViewsUserArgumentValidate extends ViewsSqlTest { $this->assertTrue($view->argument['null']->validate_arg($account->uid)); // Reset safed argument validation. $view->argument['null']->argument_validated = NULL; - // Fail for a valid string, but for a user that doesn't exist + // Fail for a valid string, but for a user that doesn't exist. $this->assertFalse($view->argument['null']->validate_arg($this->randomName())); // Reset safed argument validation. $view->argument['null']->argument_validated = NULL; - // Fail for a valid uid, but for a user that doesn't exist + // Fail for a valid uid, but for a user that doesn't exist. $this->assertFalse($view->argument['null']->validate_arg(32)); } function view_argument_validate_user($argtype) { - $view = new view; + $view = new view(); $view->name = 'view_argument_validate_user'; $view->description = ''; $view->tag = ''; diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_access.test b/profiles/wcm_base/modules/contrib/views/tests/views_access.test index f02eca9941cf626bea9f77b9538230ab04ca5384..73b23efa917d4034a68609d247e377da0583150b 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_access.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_access.test @@ -17,6 +17,9 @@ class ViewsAccessTest extends ViewsSqlTest { ); } + /** + * {@inheritdoc} + */ public function setUp() { parent::setUp(); diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_analyze.test b/profiles/wcm_base/modules/contrib/views/tests/views_analyze.test index c21a4bb627bb7c12187b7ab765c3cbfb86efb02b..d16103ef85acb76c9503dbfde78de9bbd1a23689 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_analyze.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_analyze.test @@ -20,7 +20,7 @@ class ViewsAnalyzeTest extends ViewsSqlTest { public function setUp() { parent::setUp('views_ui'); module_enable(array('views_ui')); - // @TODO Figure out why it's required to clear the cache here. + // @todo Figure out why it's required to clear the cache here. views_module_include('views_default', TRUE); views_get_all_views(TRUE); menu_rebuild(); @@ -48,4 +48,5 @@ class ViewsAnalyzeTest extends ViewsSqlTest { // This redirects the user back to the main views edit page. $this->drupalPost(NULL, array(), t('Ok')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_argument_default.test b/profiles/wcm_base/modules/contrib/views/tests/views_argument_default.test index 9c0a7ebf4517cecc5b9f21a17cb026cb788d9eb8..f6e1282e335db98ef904bacf5a27f782c421b8c7 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_argument_default.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_argument_default.test @@ -13,7 +13,7 @@ class ViewsArgumentDefaultTest extends ViewsSqlTest { return array( 'name' => 'Argument_default', 'description' => 'Tests pluggable argument_default for views.', - 'group' => 'Views Plugins' + 'group' => 'Views Plugins', ); } @@ -62,7 +62,7 @@ class ViewsArgumentDefaultTest extends ViewsSqlTest { $view->destroy(); - // Make sure that a normal argument provided is used + // Make sure that a normal argument provided is used. $view = $this->view_argument_default_fixed(); $view->set_display('default'); @@ -87,7 +87,7 @@ class ViewsArgumentDefaultTest extends ViewsSqlTest { } function view_argument_default_fixed() { - $view = new view; + $view = new view(); $view->name = 'test_argument_default_fixed'; $view->description = ''; $view->tag = ''; @@ -134,4 +134,5 @@ class ViewsArgumentDefaultTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_argument_validator.test b/profiles/wcm_base/modules/contrib/views/tests/views_argument_validator.test index fb2e4f2b15fd29db2164fcf007c128a69bcf3e2b..6e2eedba3e88462044f11a9f2019836e3e135cea 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_argument_validator.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_argument_validator.test @@ -41,8 +41,8 @@ class ViewsArgumentValidatorTest extends ViewsSqlTest { } function view_test_argument_validate_php($string) { - $code = 'return $argument == \''. $string .'\';'; - $view = new view; + $code = 'return $argument == \'' . $string . '\';'; + $view = new view(); $view->name = 'view_argument_validate_numeric'; $view->description = ''; $view->tag = ''; @@ -74,7 +74,7 @@ class ViewsArgumentValidatorTest extends ViewsSqlTest { } function view_argument_validate_numeric() { - $view = new view; + $view = new view(); $view->name = 'view_argument_validate_numeric'; $view->description = ''; $view->tag = ''; @@ -103,4 +103,5 @@ class ViewsArgumentValidatorTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_basic.test b/profiles/wcm_base/modules/contrib/views/tests/views_basic.test index 5fc60d8e3a66b53820b1d24978390a3bce8f9f58..5d590f9159d1d4983ed340a71a21dad48009514f 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_basic.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_basic.test @@ -2,18 +2,20 @@ /** * @file - * Definition of ViewsBasicTest. */ /** * Basic test class for Views query builder tests. */ +/** + * + */ class ViewsBasicTest extends ViewsSqlTest { public static function getInfo() { return array( 'name' => 'Basic query test', 'description' => 'A basic query test for Views.', - 'group' => 'Views' + 'group' => 'Views', ); } @@ -137,12 +139,12 @@ class ViewsBasicTest extends ViewsSqlTest { 'validate_argument_transform' => 0, 'validate_user_restrict_roles' => 0, 'validate_argument_php' => '', - ) + ), )); $saved_view = clone $view; - // Execute with a view + // Execute with a view. $view->set_arguments(array(27)); $this->executeView($view); @@ -175,4 +177,5 @@ class ViewsBasicTest extends ViewsSqlTest { 'views_test_age' => 'age', )); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_cache.test b/profiles/wcm_base/modules/contrib/views/tests/views_cache.test index 28534a2f3bacf1155a58b4049f9789277ebc8f90..cb1fdfbe0202fab3c920d9669d69f871f07bbb36 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_cache.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_cache.test @@ -11,11 +11,15 @@ * @see views_plugin_cache */ class ViewsCacheTest extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Cache', 'description' => 'Tests pluggable caching for views.', - 'group' => 'Views Plugins' + 'group' => 'Views Plugins', ); } @@ -153,9 +157,9 @@ class ViewsCacheTest extends ViewsSqlTest { * Tests css/js storage and restoring mechanism. */ function testHeaderStorage() { - // Create a view with output caching enabled. - // Some hook_views_pre_render in views_test.module adds the test css/js file. - // so they should be added to the css/js storage. + // Create a view with output caching enabled. Some hook_views_pre_render in + // views_test.module adds the test css/js file, so they should be added to + // the css/js storage. $view = $this->getBasicView(); $view->init_display(); $view->name = 'test_cache_header_storage'; diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_cache.test.js b/profiles/wcm_base/modules/contrib/views/tests/views_cache.test.js index 8dd17c148f598c12bcc70ef63d1af27a71e6b5bb..26644cf6d1baaf1774055c2e65adc75b5e6f22bb 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_cache.test.js +++ b/profiles/wcm_base/modules/contrib/views/tests/views_cache.test.js @@ -1,5 +1,6 @@ /** * @file * Just a placeholder file for the test. + * * @see ViewsCacheTest::testHeaderStorage */ diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_exposed_form.test b/profiles/wcm_base/modules/contrib/views/tests/views_exposed_form.test index afa4f42ff27bd42a7029ffb00a8bd863091176a9..b202564b53bf0148b0efe4de2c22d0e0b26c94e3 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_exposed_form.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_exposed_form.test @@ -9,6 +9,10 @@ * Tests exposed forms. */ class ViewsExposedFormTest extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Exposed forms', @@ -17,10 +21,13 @@ class ViewsExposedFormTest extends ViewsSqlTest { ); } + /** + * + */ public function setUp() { parent::setUp('views_ui'); module_enable(array('views_ui')); - // @TODO Figure out why it's required to clear the cache here. + // @todo Figure out why it's required to clear the cache here. views_module_include('views_default', TRUE); views_get_all_views(TRUE); menu_rebuild(); @@ -75,7 +82,8 @@ class ViewsExposedFormTest extends ViewsSqlTest { $this->drupalGet('test_exposed_remember'); $this->assertFieldByName('type', 'page'); - // Request the page with an unrelated GET argument, filter should still be set. + // Request the page with an unrelated GET argument, filter should still be + // set. $this->drupalGet('test_exposed_remember', array('query' => array('argument' => 'value'))); $this->assertFieldByName('type', 'page'); @@ -101,8 +109,8 @@ class ViewsExposedFormTest extends ViewsSqlTest { // Be sure that the button is called exposed. $this->helperButtonHasLabel('edit-options-expose-button-button', t('Expose filter')); - // The first time the filter UI is displayed, the operator and the - // value forms should be shown. + // The first time the filter UI is displayed, the operator and the value + // forms should be shown. $this->assertFieldById('edit-options-operator-in', '', 'Operator In exists'); $this->assertFieldById('edit-options-operator-not-in', '', 'Operator Not In exists'); $this->assertFieldById('edit-options-value-page', '', 'Checkbox for Page exists'); @@ -112,10 +120,10 @@ class ViewsExposedFormTest extends ViewsSqlTest { $this->drupalPost('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type', $edit, t('Expose filter')); // Check the label of the expose button. $this->helperButtonHasLabel('edit-options-expose-button-button', t('Hide filter')); - // Check the label of the grouped exposed button + // Check the label of the grouped exposed button. $this->helperButtonHasLabel('edit-options-group-button-button', t('Grouped filters')); - // After Expose the filter, Operator and Value should be still here + // After Expose the filter, Operator and Value should be still here. $this->assertFieldById('edit-options-operator-in', '', 'Operator In exists'); $this->assertFieldById('edit-options-operator-not-in', '', 'Operator Not In exists'); $this->assertFieldById('edit-options-value-page', '', 'Checkbox for Page exists'); @@ -141,18 +149,18 @@ class ViewsExposedFormTest extends ViewsSqlTest { $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); $this->drupalPost(NULL, array(), t('Grouped filters')); - // After click on 'Grouped Filters' standard operator and value should not be displayed + // After click on 'Grouped Filters' standard operator and value should not + // be displayed. $this->assertNoFieldById('edit-options-operator-in', '', 'Operator In not exists'); $this->assertNoFieldById('edit-options-operator-not-in', '', 'Operator Not In not exists'); $this->assertNoFieldById('edit-options-value-page', '', 'Checkbox for Page not exists'); $this->assertNoFieldById('edit-options-value-article', '', 'Checkbox for Article not exists'); - // Check that after click on 'Grouped Filters', a new button is shown to // add more items to the list. $this->helperButtonHasLabel('edit-options-group-info-add-group', t('Add another item')); - // Create a grouped filter + // Create a grouped filter. $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); $edit = array(); $edit["options[group_info][group_items][1][title]"] = 'Is Article'; @@ -166,13 +174,13 @@ class ViewsExposedFormTest extends ViewsSqlTest { $edit["options[group_info][group_items][3][value][page]"] = TRUE; $this->drupalPost(NULL, $edit, t('Apply')); - // Validate that all the titles are defined for each group + // Validate that all the titles are defined for each group. $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); $edit = array(); $edit["options[group_info][group_items][1][title]"] = 'Is Article'; $edit["options[group_info][group_items][1][value][article]"] = TRUE; - // This should trigger an error + // This should trigger an error. $edit["options[group_info][group_items][2][title]"] = ''; $edit["options[group_info][group_items][2][value][page]"] = TRUE; @@ -182,11 +190,11 @@ class ViewsExposedFormTest extends ViewsSqlTest { $this->drupalPost(NULL, $edit, t('Apply')); $this->assertRaw(t('The title is required if value for this item is defined.'), t('Group items should have a title')); - // Un-Expose the filter + // Un-Expose the filter. $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); $this->drupalPost(NULL, array(), t('Hide filter')); - // After Un-Expose the filter, Operator and Value should be shown again + // After Un-Expose the filter, Operator and Value should be shown again. $this->assertFieldById('edit-options-operator-in', '', 'Operator In exists after hide filter'); $this->assertFieldById('edit-options-operator-not-in', '', 'Operator Not In exists after hide filter'); $this->assertFieldById('edit-options-value-page', '', 'Checkbox for Page exists after hide filter'); @@ -199,4 +207,5 @@ class ViewsExposedFormTest extends ViewsSqlTest { $this->helperButtonHasLabel('edit-options-expose-button-button', t('Hide sort')); $this->assertFieldById('edit-options-expose-label', '', t('Make sure a label field is shown')); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_glossary.test b/profiles/wcm_base/modules/contrib/views/tests/views_glossary.test index 0fe0fbae6f5021be7d21ce47262bae4a7e1aa0bd..d7d7c64b1e118ebb28028e066b07464b6bd65303 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_glossary.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_glossary.test @@ -37,7 +37,7 @@ class ViewsGlossaryTestCase extends ViewsSqlTest { ); foreach ($nodes_per_char as $char => $count) { $setting = array( - 'type' => $type->type + 'type' => $type->type, ); for ($i = 0; $i < $count; $i++) { $node = $setting; @@ -46,7 +46,7 @@ class ViewsGlossaryTestCase extends ViewsSqlTest { } } - // Execute glossary view + // Execute glossary view. $view = views_get_view('glossary'); $view->set_display('attachment'); $view->execute_display('attachment'); @@ -57,4 +57,5 @@ class ViewsGlossaryTestCase extends ViewsSqlTest { $this->assertEqual($nodes_per_char[$item->title_truncated], $item->num_records); } } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_groupby.test b/profiles/wcm_base/modules/contrib/views/tests/views_groupby.test index 4e09256586fce9bffcc71157d735ef71ad48e558..364e61b38471b1d92e87ce7fcf3f31dcfe2ae459 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_groupby.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_groupby.test @@ -2,20 +2,103 @@ /** * @file - * Tests aggregate functionality of Views. + * Definitions of ViewsQueryGroupByTest and ViewsUiGroupbyTestCase. */ /** * Tests aggregate functionality of views, for example count. */ class ViewsQueryGroupByTest extends ViewsSqlTest { + + /** + * Test meta data. + */ public static function getInfo() { return array( 'name' => 'Groupby', 'description' => 'Tests aggregate functionality of views, for example count.', 'group' => 'Views', ); + } + + // tests ambiguous group by column error (postgresql) + public function testAggregateAmbiguity() { + // Create 4 nodes of type1 + $type1 = $this->drupalCreateContentType(); + + $node_1 = array( + 'type' => $type1->type, + ); + $this->drupalCreateNode($node_1); + $this->drupalCreateNode($node_1); + $this->drupalCreateNode($node_1); + $this->drupalCreateNode($node_1); + + $view = $this->viewsAggregateAmbiguityView(); + $output = $view->execute_display(); + $this->assertEqual(count($view->result), 1, 'Make sure there are no ambiguity problems with the group by operation.'); + } + + public function viewsAggregateAmbiguityView() { + $view = new view(); + $view->name = 'aggregate_ambiguity'; + $view->description = ''; + $view->tag = 'default'; + $view->base_table = 'node'; + $view->human_name = ''; + $view->core = 7; + $view->api_version = '3.0'; + $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */ + + /* Display: Master */ + $handler = $view->new_display('default', 'Master', 'default'); + $handler->display->display_options['use_more_always'] = FALSE; + $handler->display->display_options['group_by'] = TRUE; + $handler->display->display_options['access']['type'] = 'none'; + $handler->display->display_options['cache']['type'] = 'none'; + $handler->display->display_options['query']['type'] = 'views_query'; + $handler->display->display_options['exposed_form']['type'] = 'basic'; + $handler->display->display_options['pager']['type'] = 'full'; + $handler->display->display_options['style_plugin'] = 'default'; + $handler->display->display_options['row_plugin'] = 'fields'; + /* Field: COUNT(Content revision: Nid) */ + $handler->display->display_options['fields']['nid']['id'] = 'nid'; + $handler->display->display_options['fields']['nid']['table'] = 'node_revision'; + $handler->display->display_options['fields']['nid']['field'] = 'nid'; + $handler->display->display_options['fields']['nid']['group_type'] = 'count'; + $handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0; + $handler->display->display_options['fields']['nid']['alter']['make_link'] = 0; + $handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1; + $handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1; + $handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0; + $handler->display->display_options['fields']['nid']['alter']['trim'] = 0; + $handler->display->display_options['fields']['nid']['alter']['html'] = 0; + $handler->display->display_options['fields']['nid']['hide_empty'] = 0; + $handler->display->display_options['fields']['nid']['empty_zero'] = 0; + /* Field: Content: Nid */ + $handler->display->display_options['fields']['nid_1']['id'] = 'nid_1'; + $handler->display->display_options['fields']['nid_1']['table'] = 'node'; + $handler->display->display_options['fields']['nid_1']['field'] = 'nid'; + $handler->display->display_options['fields']['nid_1']['alter']['alter_text'] = 0; + $handler->display->display_options['fields']['nid_1']['alter']['make_link'] = 0; + $handler->display->display_options['fields']['nid_1']['alter']['word_boundary'] = 1; + $handler->display->display_options['fields']['nid_1']['alter']['ellipsis'] = 1; + $handler->display->display_options['fields']['nid_1']['alter']['strip_tags'] = 0; + $handler->display->display_options['fields']['nid_1']['alter']['trim'] = 0; + $handler->display->display_options['fields']['nid_1']['alter']['html'] = 0; + $handler->display->display_options['fields']['nid_1']['hide_empty'] = 0; + $handler->display->display_options['fields']['nid_1']['empty_zero'] = 0; + /* Contextual filter: Content: Type */ + $handler->display->display_options['arguments']['type']['id'] = 'type'; + $handler->display->display_options['arguments']['type']['table'] = 'node'; + $handler->display->display_options['arguments']['type']['field'] = 'type'; + $handler->display->display_options['arguments']['type']['default_action'] = 'summary'; + $handler->display->display_options['arguments']['type']['default_argument_type'] = 'fixed'; + $handler->display->display_options['arguments']['type']['summary']['format'] = 'default_summary'; + + + return $view; } /** @@ -48,7 +131,7 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { $types = array(); foreach ($view->result as $item) { - // num_records is a alias for nid. + // 'num_records' is a alias for nid. $types[$item->node_type] = $item->num_records; } @@ -56,9 +139,15 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { $this->assertEqual($types[$type2->type], 3); } - //public function testAggregateSum() { - //} + /** + * + */ + // public function testAggregateSum() { + // } + /** + * + */ public function viewsAggregateCountView() { $view = new view; $view->name = 'aggregate_count'; @@ -103,7 +192,6 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { $handler->display->display_options['arguments']['type']['default_argument_type'] = 'fixed'; $handler->display->display_options['arguments']['type']['summary']['format'] = 'default_summary'; - return $view; } @@ -144,7 +232,9 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { // There's no need for a function in order to have aggregation. if (empty($group_by)) { $types = array($type1->type, $type2->type); - $results = array_map(function ($item) { return $item->node_type; }, $view->result); + $results = array_map(function ($item) { + return $item->node_type; + }, $view->result); sort($types); sort($results); $this->assertIdentical($results, $types); @@ -160,6 +250,9 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { $this->assertEqual($results[$type2->type], $values[1]); } + /** + * + */ function viewsGroupByViewHelper($group_by = NULL) { $view = new view; $view->name = 'group_by_count'; @@ -219,31 +312,51 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { return $view; } + /** + * + */ public function testGroupByCount() { $this->GroupByTestHelper('count', array(4, 3)); } - function testGroupBySum() { + /** + * + */ + public function testGroupBySum() { $this->GroupByTestHelper('sum', array(10, 18)); } - - function testGroupByAverage() { + /** + * + */ + public function testGroupByAverage() { $this->GroupByTestHelper('avg', array(2.5, 6)); } - function testGroupByMin() { + /** + * + */ + public function testGroupByMin() { $this->GroupByTestHelper('min', array(1, 5)); } - function testGroupByMax() { + /** + * {@inheritdoc} + */ + public function testGroupByMax() { $this->GroupByTestHelper('max', array(4, 7)); } - function testGroupByNone() { + /** + * + */ + public function testGroupByNone() { $this->GroupByTestHelper(); } + /** + * + */ public function testGroupByCountOnlyFilters() { // Check if GROUP BY and HAVING are included when a view // Doesn't display SUM, COUNT, MAX... functions in SELECT statment @@ -264,6 +377,9 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { $this->assertTrue(strpos($view->build_info['query'], 'HAVING'), t('Make sure that HAVING is in the query')); } + /** + * + */ function viewsGroupByCountViewOnlyFilters() { $view = new view; $view->name = 'group_by_in_filters'; @@ -308,12 +424,17 @@ class ViewsQueryGroupByTest extends ViewsSqlTest { return $view; } + } /** - * Tests UI of aggregate functionality.. + * Tests UI of aggregate functionality. */ -class viewsUiGroupbyTestCase extends DrupalWebTestCase { +class ViewsUiGroupbyTestCase extends DrupalWebTestCase { + + /** + * {@inheritdoc} + */ function setUp() { // Enable views_ui. parent::setUp('views_ui', 'views_test'); @@ -323,6 +444,9 @@ class viewsUiGroupbyTestCase extends DrupalWebTestCase { $this->drupalLogin($views_admin); } + /** + * Test meta data. + */ public static function getInfo() { return array( 'name' => 'Groupby UI', @@ -349,4 +473,5 @@ class viewsUiGroupbyTestCase extends DrupalWebTestCase { $this->drupalGet('admin/structure/views/nojs/display/test_views_groupby_save/default/group_by'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_handlers.test b/profiles/wcm_base/modules/contrib/views/tests/views_handlers.test index d54a7dff1c9acefd8c19ac09e1e124e019827962..e0ace985034e6bf2aa05180eb868f6bf7cbb865d 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_handlers.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_handlers.test @@ -48,13 +48,13 @@ class ViewsHandlersTest extends ViewsSqlTest { $empty_stdclass->value = array(); $null = NULL; - // check defaults + // check defaults. $this->assertEqual($empty_stdclass, views_break_phrase_string('', $null)); $handler = views_get_handler('node', 'title', 'argument'); $this->assertEqual($handler, views_break_phrase_string('', $handler)); - // test ors + // test ors. $handler = views_break_phrase_string('word1 word2+word'); $this->assertEqualValue(array('word1', 'word2', 'word'), $handler); $this->assertEqual('or', $handler->operator); @@ -88,7 +88,7 @@ class ViewsHandlersTest extends ViewsSqlTest { $this->assertEqualValue(array('wõrd1', 'wõrd2', 'wõrd'), $handler); $this->assertEqual('and', $handler->operator); - // test a single word + // test a single word. $handler = views_break_phrase_string('word'); $this->assertEqualValue(array('word'), $handler); $this->assertEqual('and', $handler->operator); @@ -103,7 +103,7 @@ class ViewsHandlersTest extends ViewsSqlTest { $empty_stdclass->value = array(); $null = NULL; - // check defaults + // check defaults. $this->assertEqual($empty_stdclass, views_break_phrase('', $null)); $handler = views_get_handler('node', 'title', 'argument'); @@ -113,7 +113,7 @@ class ViewsHandlersTest extends ViewsSqlTest { $n1 = rand(0, 100); $n2 = rand(0, 100); $n3 = rand(0, 100); - // test ors + // test ors. $this->assertEqualValue(array($n1, $n2, $n3), views_break_phrase("$n1 $n2+$n3", $handler)); $this->assertEqual('or', $handler->operator); $this->assertEqualValue(array($n1, $n2, $n3), views_break_phrase("$n1+$n2+$n3", $handler)); @@ -133,7 +133,7 @@ class ViewsHandlersTest extends ViewsSqlTest { /** * Check to see if two values are equal. * - * @param $first + * @param string $first * The first value to check. * @param views_handler $handler * @param string $message @@ -147,4 +147,5 @@ class ViewsHandlersTest extends ViewsSqlTest { protected function assertEqualValue($first, $handler, $message = '', $group = 'Other') { return $this->assert($first == $handler->value, $message ? $message : t('First value is equal to second value'), $group); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_module.test b/profiles/wcm_base/modules/contrib/views/tests/views_module.test index e160964a90e9a5e85cf6e88bb15fb6ab771bb8ca..c3dd99478c723cec86cbc63a5dcb7ede99cdea1f 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_module.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_module.test @@ -45,7 +45,7 @@ class ViewsModuleTest extends ViewsSqlTest { 'khoảng cách từ đại lí đến', 'của hãng bao gồm ba dòng', 'сд асд асд ас', - 'асд асд асд ас' + 'асд асд асд ас', ); // Just test maxlength without word boundry. $alter = array( @@ -91,7 +91,8 @@ class ViewsModuleTest extends ViewsSqlTest { */ function testModuleTemplates() { $views_status = variable_get('views_defaults', array()); - $views_status['frontpage'] = FALSE; // false is enabled + $views_status['frontpage'] = FALSE; + // false is enabled. variable_set('views_defaults', $views_status); $existing = array(); @@ -127,7 +128,6 @@ class ViewsModuleTest extends ViewsSqlTest { } // Test the automatic conversion feature. - // Test the automatic table renaming. $handler = views_get_handler('views_test_previous', 'id', 'field'); $this->assertInstanceHandler($handler, 'views_test', 'id', 'field'); @@ -194,7 +194,6 @@ class ViewsModuleTest extends ViewsSqlTest { $this->assertEqual(variable_get('views_test_views_data_count', 0), 1, 'Views data rebuilt once'); $this->assertFalse(drupal_static('_views_fetch_data_fully_loaded'), 'Views data is not fully loaded'); - // Test if the cache consistency is ensured. There was an issue where // calling _views_fetch_data() first with a table would prevent the function // from properly rebuilt a missing the general cache entry. @@ -238,4 +237,5 @@ class ViewsModuleTest extends ViewsSqlTest { drupal_static_reset('_views_fetch_data_recursion_protected'); drupal_static_reset('_views_fetch_data_fully_loaded'); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_pager.test b/profiles/wcm_base/modules/contrib/views/tests/views_pager.test index fef4915373617454f183a703e7f92265f8503abf..7a99fb67d979f7da6ceae6afd1c119a8562ee15b 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_pager.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_pager.test @@ -9,6 +9,10 @@ * Tests the pluggable pager system. */ class ViewsPagerTest extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Pager', @@ -17,6 +21,9 @@ class ViewsPagerTest extends ViewsSqlTest { ); } + /** + * + */ public function setUp() { parent::setUp('views', 'views_ui', 'views_test'); } @@ -29,11 +36,10 @@ class ViewsPagerTest extends ViewsSqlTest { public function testStorePagerSettings() { $admin_user = $this->drupalCreateUser(array('administer views', 'administer site configuration')); $this->drupalLogin($admin_user); - // Test behaviour described in http://drupal.org/node/652712#comment-2354918. - + // Test behaviour described in + // http://drupal.org/node/652712#comment-2354918. $this->drupalGet('admin/structure/views/view/frontpage/edit'); - $edit = array( 'pager_options[items_per_page]' => 20, ); @@ -70,8 +76,8 @@ class ViewsPagerTest extends ViewsSqlTest { $this->drupalPost('admin/structure/views/nojs/display/test_store_pager_settings/default/pager_options', $edit, t('Apply')); $this->assertText('20 items'); - // add new display and test the settings again, by override it. - $edit = array( ); + // Add new display and test the settings again, by override it. + $edit = array(); // Add a display and override the pager settings. $this->drupalPost('admin/structure/views/view/test_store_pager_settings/edit', $edit, t('Add Page')); $edit = array( @@ -91,11 +97,13 @@ class ViewsPagerTest extends ViewsSqlTest { ); $this->drupalPost('admin/structure/views/nojs/display/test_store_pager_settings/default/pager_options', $edit, t('Apply')); $this->assertText('20 items'); - } + /** + * + */ public function viewsStorePagerSettings() { - $view = new view; + $view = new view(); $view->name = 'test_store_pager_settings'; $view->description = ''; $view->tag = ''; @@ -120,8 +128,8 @@ class ViewsPagerTest extends ViewsSqlTest { * Tests the none-pager-query. */ public function testNoLimit() { - // Create 11 nodes and make sure that everyone is returned. - // We create 11 nodes, because the default pager plugin had 10 items per page. + // Create 11 nodes and make sure that everyone is returned. We create 11 + // nodes, because the default pager plugin had 10 items per page. for ($i = 0; $i < 11; $i++) { $this->drupalCreateNode(); } @@ -153,15 +161,18 @@ class ViewsPagerTest extends ViewsSqlTest { $this->assertEqual($view->query->pager->get_items_per_page(), 0); } + /** + * + */ public function viewsPagerNoLimit() { - $view = new view; + $view = new view(); $view->name = 'test_pager_none'; $view->description = ''; $view->tag = ''; $view->view_php = ''; $view->base_table = 'node'; $view->is_cacheable = FALSE; - $view->api_version =3; + $view->api_version = 3; $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */ /* Display: Master */ @@ -175,6 +186,9 @@ class ViewsPagerTest extends ViewsSqlTest { return $view; } + /** + * + */ public function testViewTotalRowsWithoutPager() { $this->createNodes(23); @@ -186,6 +200,9 @@ class ViewsPagerTest extends ViewsSqlTest { $this->assertEqual($view->total_rows, 23, "'total_rows' is calculated when pager type is 'none' and 'get_total_rows' is TRUE."); } + /** + * + */ public function createNodes($count) { if ($count >= 0) { for ($i = 0; $i < $count; $i++) { @@ -198,8 +215,8 @@ class ViewsPagerTest extends ViewsSqlTest { * Tests the some pager plugin. */ public function testLimit() { - // Create 11 nodes and make sure that everyone is returned. - // We create 11 nodes, because the default pager plugin had 10 items per page. + // Create 11 nodes and make sure that everyone is returned. We create 11 + // nodes, because the default pager plugin had 10 items per page. for ($i = 0; $i < 11; $i++) { $this->drupalCreateNode(); } @@ -229,8 +246,11 @@ class ViewsPagerTest extends ViewsSqlTest { $this->assertFalse($view->query->pager->use_count_query()); } + /** + * + */ public function viewsPagerLimit() { - $view = new view; + $view = new view(); $view->name = 'test_pager_some'; $view->description = ''; $view->tag = ''; @@ -257,8 +277,8 @@ class ViewsPagerTest extends ViewsSqlTest { * Tests the normal pager. */ public function testNormalPager() { - // Create 11 nodes and make sure that everyone is returned. - // We create 11 nodes, because the default pager plugin had 10 items per page. + // Create 11 nodes and make sure that everyone is returned. We create 11 + // nodes, because the default pager plugin had 10 items per page. for ($i = 0; $i < 11; $i++) { $this->drupalCreateNode(); } @@ -290,8 +310,7 @@ class ViewsPagerTest extends ViewsSqlTest { $this->assertEqual(count($view->result), 11, 'All items are return'); - // TODO test number of pages. - + // @todo test number of pages. // Test items per page = 0. $view->destroy(); @@ -313,8 +332,11 @@ class ViewsPagerTest extends ViewsSqlTest { $this->assertEqual(count($view->result), 11); } + /** + * + */ function viewPagerFullZeroItemsPerPage() { - $view = new view; + $view = new view(); $view->name = 'view_pager_full_zero_items_per_page'; $view->description = ''; $view->tag = ''; @@ -353,8 +375,11 @@ class ViewsPagerTest extends ViewsSqlTest { return $view; } + /** + * + */ function viewsPagerFull() { - $view = new view; + $view = new view(); $view->name = 'test_pager_full'; $view->description = ''; $view->tag = ''; @@ -379,8 +404,11 @@ class ViewsPagerTest extends ViewsSqlTest { return $view; } + /** + * + */ function viewsPagerFullFields() { - $view = new view; + $view = new view(); $view->name = 'test_pager_full'; $view->description = ''; $view->tag = ''; @@ -421,22 +449,24 @@ class ViewsPagerTest extends ViewsSqlTest { * Tests the minipager. */ public function testMiniPager() { - // the functionality is the same as the normal pager, so i don't know what to test here. + // The functionality is the same as the normal pager, so i don't know what + // to test here. } /** * Tests rendering with NULL pager. */ public function testRenderNullPager() { - // Create 11 nodes and make sure that everyone is returned. - // We create 11 nodes, because the default pager plugin had 10 items per page. + // Create 11 nodes and make sure that everyone is returned. We create 11 + // nodes, because the default pager plugin had 10 items per page. for ($i = 0; $i < 11; $i++) { $this->drupalCreateNode(); } $view = $this->viewsPagerFullFields(); $view->set_display('default'); $this->executeView($view); - $view->use_ajax = TRUE; // force the value again here + $view->use_ajax = TRUE; + // force the value again here. $view->query->pager = NULL; $output = $view->render(); $this->assertEqual(preg_match('/<ul class="pager">/', $output), 0, t('The pager is not rendered.')); @@ -448,7 +478,6 @@ class ViewsPagerTest extends ViewsSqlTest { function testPagerApi() { $view = $this->viewsPagerFull(); // On the first round don't initialize the pager. - $this->assertEqual($view->get_items_per_page(), NULL, 'If the pager is not initialized and no manual override there is no items per page.'); $rand_number = rand(1, 5); $view->set_items_per_page($rand_number); @@ -491,6 +520,6 @@ class ViewsPagerTest extends ViewsSqlTest { $rand_number = rand(6, 11); $view->query->pager->set_current_page($rand_number); $this->assertEqual($view->get_current_page(), $rand_number, 'Make sure get_current_page uses the settings of set_current_page.'); - } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_plugin_localization_test.inc b/profiles/wcm_base/modules/contrib/views/tests/views_plugin_localization_test.inc index 1987fd8094c9c447d9409e82163930475bfeabca..ce90dff116a17176aff5bf46939d8052a53b5b12 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_plugin_localization_test.inc +++ b/profiles/wcm_base/modules/contrib/views/tests/views_plugin_localization_test.inc @@ -9,15 +9,17 @@ * A stump localisation plugin which has static variables to cache the input. */ class views_plugin_localization_test extends views_plugin_localization { + /** * Store the strings which was translated. */ - var $translated_strings; + public $translated_strings; + /** * Return the string and take sure that the test can find out whether the * string got translated. */ - function translate_string($string, $keys = array(), $format = '') { + public function translate_string($string, $keys = array(), $format = '') { $this->translated_strings[] = $string; return $string . "-translated"; } @@ -25,7 +27,7 @@ class views_plugin_localization_test extends views_plugin_localization { /** * Store the export strings. */ - function export($source) { + public function export($source) { if (!empty($source['value'])) { $this->export_strings[] = $source['value']; } @@ -34,7 +36,8 @@ class views_plugin_localization_test extends views_plugin_localization { /** * Return the stored strings for the simpletest. */ - function get_export_strings() { + public function get_export_strings() { return $this->export_strings; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_query.test b/profiles/wcm_base/modules/contrib/views/tests/views_query.test index db7d656974c5be1b72540a8b5b220dea08e33faa..1146cc05ee55da16a6c21e0285b65b9694206d65 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_query.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_query.test @@ -2,13 +2,24 @@ /** * @file - * Tests for Views query features. + * Abstract class for views testing. */ /** - * Abstract class for views testing. + * */ abstract class ViewsTestCase extends DrupalWebTestCase { + + /** + * + */ + protected $sort_column = NULL; + + /** + * + */ + protected $sort_order = 1; + /** * Helper function: verify a result set returned by view. * @@ -16,13 +27,13 @@ abstract class ViewsTestCase extends DrupalWebTestCase { * column map, taking the order of the rows into account, but not the order * of the columns. * - * @param $view - * An executed View. - * @param $expected_result - * An expected result set. - * @param $column_map - * An associative array mapping the columns of the result set from the view - * (as keys) and the expected result set (as values). + * @param view $view + * An executed View. + * @param array $expected_result + * An expected result set. + * @param array $column_map + * An associative array mapping the columns of the result set from the view + * (as keys) and the expected result set (as values). */ protected function assertIdenticalResultset($view, $expected_result, $column_map = array(), $message = 'Identical result set') { return $this->assertIdenticalResultsetHelper($view, $expected_result, $column_map, $message, 'assertIdentical'); @@ -33,25 +44,29 @@ abstract class ViewsTestCase extends DrupalWebTestCase { * * Inverse of ViewsTestCase::assertIdenticalResultset(). * - * @param $view - * An executed View. - * @param $expected_result - * An expected result set. - * @param $column_map - * An associative array mapping the columns of the result set from the view - * (as keys) and the expected result set (as values). + * @param view $view + * An executed View. + * @param array $expected_result + * An expected result set. + * @param array $column_map + * An associative array mapping the columns of the result set from the view + * (as keys) and the expected result set (as values). */ protected function assertNotIdenticalResultset($view, $expected_result, $column_map = array(), $message = 'Identical result set') { return $this->assertIdenticalResultsetHelper($view, $expected_result, $column_map, $message, 'assertNotIdentical'); } + /** + * + */ protected function assertIdenticalResultsetHelper($view, $expected_result, $column_map, $message, $assert_method) { // Convert $view->result to an array of arrays. $result = array(); foreach ($view->result as $key => $value) { $row = array(); foreach ($column_map as $view_column => $expected_column) { - // The comparison will be done on the string representation of the value. + // The comparison will be done on the string representation of the + // value. $row[$expected_column] = (string) $value->$view_column; } $result[$key] = $row; @@ -61,7 +76,8 @@ abstract class ViewsTestCase extends DrupalWebTestCase { foreach ($expected_result as $key => $value) { $row = array(); foreach ($column_map as $expected_column) { - // The comparison will be done on the string representation of the value. + // The comparison will be done on the string representation of the + // value. $row[$expected_column] = (string) (is_object($value) ? $value->$expected_column : $value[$expected_column]); } $expected_result[$key] = $row; @@ -71,14 +87,14 @@ abstract class ViewsTestCase extends DrupalWebTestCase { $result = array_values($result); $expected_result = array_values($expected_result); - $this->verbose('<pre>Returned data set: ' . print_r($result, TRUE) . "\n\nExpected: ". print_r($expected_result, TRUE)); + $this->verbose('<pre>Returned data set: ' . print_r($result, TRUE) . "\n\nExpected: " . print_r($expected_result, TRUE)); // Do the actual comparison. return $this->$assert_method($result, $expected_result, $message); } /** - * Helper function: order an array of array based on a column. + * Order an array of array based on a column. */ protected function orderResultSet($result_set, $column, $reverse = FALSE) { $this->sort_column = $column; @@ -87,9 +103,6 @@ abstract class ViewsTestCase extends DrupalWebTestCase { return $result_set; } - protected $sort_column = NULL; - protected $sort_order = 1; - /** * Helper comparison function for orderResultSet(). */ @@ -97,20 +110,20 @@ abstract class ViewsTestCase extends DrupalWebTestCase { $value1 = $a[$this->sort_column]; $value2 = $b[$this->sort_column]; if ($value1 == $value2) { - return 0; + return 0; } return $this->sort_order * (($value1 < $value2) ? -1 : 1); } /** - * Helper function to check whether a button with a certain id exists and has a certain label. + * Check whether a button with a certain id exists and has a certain label. */ protected function helperButtonHasLabel($id, $expected_label, $message = 'Label has the expected value: %label.') { return $this->assertFieldById($id, $expected_label, t($message, array('%label' => $expected_label))); } /** - * Helper function to execute a view with debugging. + * Execute a view with debugging. * * @param view $view * @param array $args @@ -121,14 +134,22 @@ abstract class ViewsTestCase extends DrupalWebTestCase { $view->execute(); $this->verbose('<pre>Executed view: ' . ((string) $view->build_info['query']) . '</pre>'); } + } +/** + * + */ abstract class ViewsSqlTest extends ViewsTestCase { + /** + * {@inheritdoc} + */ protected function setUp() { parent::setUp('views', 'views_ui'); - // Define the schema and views data variable before enabling the test module. + // Define the schema and views data variable before enabling the test + // module. variable_set('views_test_schema', $this->schemaDefinition()); variable_set('views_test_views_data', $this->viewsData()); variable_set('views_test_views_plugins', $this->viewsPlugins()); @@ -147,14 +168,14 @@ abstract class ViewsSqlTest extends ViewsTestCase { } /** - * This function allows to enable views ui from a higher class which can't change the setup function anymore. + * This function allows to enable views ui from a higher class which can't + * change the setup function anymore. * - * @TODO - * Convert existing setUp functions. + * @todo Convert existing setUp functions. */ function enableViewsUi() { module_enable(array('views_ui')); - // @TODO Figure out why it's required to clear the cache here. + // @todo Figure out why it's required to clear the cache here. views_module_include('views_default', TRUE); views_get_all_views(TRUE); menu_rebuild(); @@ -202,7 +223,7 @@ abstract class ViewsSqlTest extends ViewsTestCase { ), 'primary key' => array('id'), 'unique keys' => array( - 'name' => array('name') + 'name' => array('name'), ), 'indexes' => array( 'ages' => array('age'), @@ -314,6 +335,9 @@ abstract class ViewsSqlTest extends ViewsTestCase { return $data; } + /** + * + */ protected function viewsPlugins() { return array(); } @@ -422,11 +446,12 @@ abstract class ViewsSqlTest extends ViewsTestCase { views_include('view'); $view = $this->getBasicView(); - // In order to test exposed filters, we have to disable - // the exposed forms cache. + // In order to test exposed filters, we have to disable the exposed forms + // cache. drupal_static_reset('views_exposed_form_cache'); $display = $view->new_display('page', 'Page', 'page_1'); return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_test.info b/profiles/wcm_base/modules/contrib/views/tests/views_test.info index c23f6c03d4381fc1bae18388b51cebe0a3c93341..1b0e8c0100d51fbae988b8be5c07bd8f5b636362 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_test.info +++ b/profiles/wcm_base/modules/contrib/views/tests/views_test.info @@ -5,9 +5,8 @@ core = 7.x dependencies[] = views hidden = TRUE -; Information added by Drupal.org packaging script on 2017-08-23 -version = "7.x-3.18" +; Information added by Drupal.org packaging script on 2018-04-14 +version = "7.x-3.20" core = "7.x" project = "views" -datestamp = "1503495103" - +datestamp = "1523668093" diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_test.module b/profiles/wcm_base/modules/contrib/views/tests/views_test.module index be533e0ce5718c632f82f260c88e3c80f8810972..caa87b959f058daee6d5c73d2592cce3902bd050 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_test.module +++ b/profiles/wcm_base/modules/contrib/views/tests/views_test.module @@ -35,7 +35,7 @@ function views_test_views_data() { $count = variable_get('views_test_views_data_count', 0); $count++; variable_set('views_test_views_data_count', $count); - return variable_get('views_test_views_data', array()); + return variable_get('views_test_views_data', array()); } /** diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_test.views_default.inc b/profiles/wcm_base/modules/contrib/views/tests/views_test.views_default.inc index fa49acb9e956b562cca19bf56515a7c271d47a69..a494a4e3dbfd8a9047efff8e77018441f40c0740 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_test.views_default.inc +++ b/profiles/wcm_base/modules/contrib/views/tests/views_test.views_default.inc @@ -9,7 +9,7 @@ * Implements hook_views_default_views(). */ function views_test_views_default_views() { - $view = new view; + $view = new view(); $view->name = 'test_views_groupby_save'; $view->description = ''; $view->tag = ''; @@ -31,7 +31,7 @@ function views_test_views_default_views() { $views[$view->name] = $view; - $view = new view; + $view = new view(); $view->name = 'test_rename_reset_button'; $view->description = ''; $view->tag = ''; @@ -70,7 +70,7 @@ function views_test_views_default_views() { $views[$view->name] = $view; - $view = new view; + $view = new view(); $view->name = 'test_exposed_admin_ui'; $view->description = ''; $view->tag = ''; @@ -110,7 +110,7 @@ function views_test_views_default_views() { $views[$view->name] = $view; - $view = new view; + $view = new view(); $view->name = 'test_filter_in_operator_ui'; $view->description = ''; $view->tag = ''; @@ -142,7 +142,7 @@ function views_test_views_default_views() { $views[$view->name] = $view; - $view = new view; + $view = new view(); $view->name = 'test_argument_default_current_user'; $view->description = ''; $view->tag = ''; diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_translatable.test b/profiles/wcm_base/modules/contrib/views/tests/views_translatable.test index 983a97e00695088f17952b7ff989bcbdf6981376..9c3422c750e038121f28692858524496017a1da3 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_translatable.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_translatable.test @@ -31,7 +31,7 @@ class ViewsTranslatableTest extends ViewsSqlTest { 'help' => t('This is a test description.'), 'handler' => 'views_plugin_localization_test', 'parent' => 'parent', - 'path' => drupal_get_path('module', 'views') .'/tests', + 'path' => drupal_get_path('module', 'views') . '/tests', ), ), ); @@ -100,7 +100,6 @@ class ViewsTranslatableTest extends ViewsSqlTest { $view->init_display(); // Don't run translation. We just want to get the right keys. - foreach ($view->display as $display_id => $display) { $translatables = array(); $display->handler->unpack_translatables($translatables); @@ -145,7 +144,7 @@ class ViewsTranslatableTest extends ViewsSqlTest { } public function view_unpack_translatable() { - $view = new view; + $view = new view(); $view->name = 'view_unpack_translatable'; $view->description = ''; $view->tag = ''; @@ -218,4 +217,5 @@ class ViewsTranslatableTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_ui.test b/profiles/wcm_base/modules/contrib/views/tests/views_ui.test index 8785539be946e4e93f34c61f6455b8291e613c86..8a7e0e16c9274cf815b4cdcf4a504254984f251c 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_ui.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_ui.test @@ -9,6 +9,10 @@ * Views UI wizard tests. */ class ViewsUIWizardHelper extends DrupalWebTestCase { + + /** + * + */ function setUp() { // Enable views_ui. parent::setUp('views_ui'); @@ -17,12 +21,17 @@ class ViewsUIWizardHelper extends DrupalWebTestCase { $views_admin = $this->drupalCreateUser(array('administer views', 'administer blocks', 'bypass node access', 'access user profiles', 'view revisions')); $this->drupalLogin($views_admin); } + } /** * Tests creating views with the wizard and viewing them on the listing page. */ class ViewsUIWizardBasicTestCase extends ViewsUIWizardHelper { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI wizard basic functionality', @@ -31,6 +40,9 @@ class ViewsUIWizardBasicTestCase extends ViewsUIWizardHelper { ); } + /** + * + */ function testViewsWizardAndListing() { // Check if we can access the main views admin page. $this->drupalGet('admin/structure/views'); @@ -46,7 +58,7 @@ class ViewsUIWizardBasicTestCase extends ViewsUIWizardHelper { $this->assertText(t('Your view was saved. You may edit it from the list below.')); $this->assertText($view1['human_name']); $this->assertText($view1['description']); - foreach(array('delete', 'clone', 'edit') as $operation) { + foreach (array('delete', 'clone', 'edit') as $operation) { $this->assertLinkByHref(url('admin/structure/views/view/' . $view1['name'] . '/' . $operation)); } @@ -146,12 +158,17 @@ class ViewsUIWizardBasicTestCase extends ViewsUIWizardHelper { // Make sure the listing page doesn't show disabled default views. $this->assertNoText('tracker', t('Default tracker view does not show on the listing page.')); } + } /** * Tests enabling, disabling, and reverting default views via the listing page. */ class ViewsUIWizardDefaultViewsTestCase extends ViewsUIWizardHelper { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI default views functionality', @@ -168,10 +185,9 @@ class ViewsUIWizardDefaultViewsTestCase extends ViewsUIWizardHelper { // the listing page). $edit_href = 'admin/structure/views/view/frontpage/edit'; $this->drupalGet('admin/structure/views'); - // TODO: Disabled default views do now appear on the front page. Test this + // @todo Disabled default views do now appear on the front page. Test this // behavior with templates instead. // $this->assertNoLinkByHref($edit_href); - // Enable the front page view, and make sure it is now visible on the main // listing page. $this->drupalGet('admin/structure/views/templates'); @@ -205,7 +221,7 @@ class ViewsUIWizardDefaultViewsTestCase extends ViewsUIWizardHelper { // Now disable the view, and make sure it stops appearing on the main view // listing page but instead goes back to displaying on the disabled views // listing page. - // TODO: Test this behavior with templates instead. + // @todo Test this behavior with templates instead. $this->drupalGet('admin/structure/views'); $this->clickViewsOperationLink(t('Disable'), '/frontpage/'); // $this->assertUrl('admin/structure/views'); @@ -225,15 +241,15 @@ class ViewsUIWizardDefaultViewsTestCase extends ViewsUIWizardHelper { * various views listing pages, and they might have tokens in them. So we * need special code to find the correct one to click. * - * @param $label + * @param string $label * Text between the anchor tags of the desired link. - * @param $unique_href_part + * @param string $unique_href_part * A unique string that is expected to occur within the href of the desired * link. For example, if the link URL is expected to look like * "admin/structure/views/view/frontpage/...", then "/frontpage/" could be * passed as the expected unique string. * - * @return + * @return string * The page content that results from clicking on the link, or FALSE on * failure. Failure also results in a failed assertion. */ @@ -254,18 +270,42 @@ class ViewsUIWizardDefaultViewsTestCase extends ViewsUIWizardHelper { return FALSE; } } + } /** * Tests the ability of the views wizard to create views filtered by taxonomy. */ class ViewsUIWizardTaggedWithTestCase extends ViewsUIWizardHelper { + + /** + * + */ protected $node_type_with_tags; + + /** + * + */ protected $node_type_without_tags; + + /** + * + */ protected $tag_vocabulary; + + /** + * + */ protected $tag_field; + + /** + * + */ protected $tag_instance; + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI wizard taxonomy functionality', @@ -274,6 +314,9 @@ class ViewsUIWizardTaggedWithTestCase extends ViewsUIWizardHelper { ); } + /** + * {@inheritdoc} + */ function setUp() { parent::setUp(); @@ -392,7 +435,7 @@ class ViewsUIWizardTaggedWithTestCase extends ViewsUIWizardHelper { } /** - * Tests that the "tagged with" form element only shows for node types that support it. + * Test the "tagged with" form element only shows for node types that support it. */ function testTaggedWithByNodeType() { // The tagging field is associated with one of our node types only. So the @@ -422,12 +465,17 @@ class ViewsUIWizardTaggedWithTestCase extends ViewsUIWizardHelper { $this->drupalPost(NULL, $view, t('Update "of type" choice')); $this->assertFieldByXpath($tags_xpath); } + } /** * Tests the ability of the views wizard to create views with sorts. */ class ViewsUIWizardSortingTestCase extends ViewsUIWizardHelper { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI wizard sorting functionality', @@ -492,12 +540,17 @@ class ViewsUIWizardSortingTestCase extends ViewsUIWizardHelper { $pos1 = strpos($content, $node1->title); $this->assertTrue($pos3 < $pos2 && $pos2 < $pos1, t('The nodes appear in the expected order in a view that sorts by newest first.')); } + } /** - * Tests the ability of the views wizard to specify the number of items per page. + * Tests the ability of the wizard to specify the number of items per page. */ class ViewsUIWizardItemsPerPageTestCase extends ViewsUIWizardHelper { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI wizard items per page functionality', @@ -577,12 +630,17 @@ class ViewsUIWizardItemsPerPageTestCase extends ViewsUIWizardHelper { $pos3 = strpos($content, $node3->title); $this->assertTrue($pos5 < $pos4 && $pos4 < $pos3, t('The nodes appear in the expected order in the block display.')); } + } /** * Tests the ability of the views wizard to put views in a menu. */ class ViewsUIWizardMenuTestCase extends ViewsUIWizardHelper { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI wizard menu functionality', @@ -625,12 +683,17 @@ class ViewsUIWizardMenuTestCase extends ViewsUIWizardHelper { } $this->assertTrue($found, t('Found a link to %path in the main menu', array('%path' => $view['page[path]']))); } + } /** - * Tests the ability of the views wizard to create views with a jump menu style plugin. + * Tests the ability of the wizard to create views with a jump menu style. */ class ViewsUIWizardJumpMenuTestCase extends ViewsUIWizardHelper { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI wizard jump menu functionality', @@ -683,7 +746,6 @@ class ViewsUIWizardJumpMenuTestCase extends ViewsUIWizardHelper { // Submit the jump menu form, and check that we are redirected to the // expected URL. - $edit = array(); $edit['jump'] = url($path, $options); @@ -786,12 +848,17 @@ class ViewsUIWizardJumpMenuTestCase extends ViewsUIWizardHelper { node_save($node); return 'node/' . $node->nid . '/revisions/' . $node->vid . '/view'; } + } /** * Tests that displays can be correctly overridden via the user interface. */ class ViewsUIWizardOverrideDisplaysTestCase extends ViewsUIWizardHelper { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views UI overridden displays', @@ -948,9 +1015,8 @@ class ViewsUIWizardOverrideDisplaysTestCase extends ViewsUIWizardHelper { * Tests that the revert to all displays select-option works as expected. */ function testRevertAllDisplays() { - // Create a basic view with a page, block. - // Because there is both a title on page and block we expect the title on - // the block be overriden. + // Create a basic view with a page, block. Because there is both a title on + // page and block we expect the title on the block be overriden. $view['human_name'] = $this->randomName(16); $view['name'] = strtolower($this->randomName(16)); $view['page[create]'] = 1; @@ -970,4 +1036,5 @@ class ViewsUIWizardOverrideDisplaysTestCase extends ViewsUIWizardHelper { $this->drupalPost("admin/structure/views/view/{$view['name']}/edit/block", array(), t('Save')); $this->assertText($view['page[title]']); } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_upgrade.test b/profiles/wcm_base/modules/contrib/views/tests/views_upgrade.test index 3f453dbb9bd5ff40c0987bd8efa0fe7cd6310772..0c4da8fb7c129afb21fd1276119b533f7003684a 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_upgrade.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_upgrade.test @@ -11,6 +11,10 @@ * You can find all conversions by searching for "moved to". */ class ViewsUpgradeTestCase extends ViewsSqlTest { + + /** + * + */ public static function getInfo() { return array( 'name' => 'Views Upgrade test', @@ -19,14 +23,21 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { ); } + /** + * {@inheritdoc} + */ protected function setUp() { -// // To import a view the user needs use PHP for settings rights, so enable php module. + // To import a view the user needs use PHP for settings rights, so enable + // PHP module. parent::setUp(); module_enable(array('php')); $this->resetAll(); } + /** + * + */ function viewsData() { $data = parent::viewsData(); $data['views_test']['old_field_1']['moved to'] = array('views_test', 'id'); @@ -41,6 +52,9 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { return $data; } + /** + * + */ function debugField($field) { $keys = array('id', 'table', 'field', 'actual_field', 'original_field', 'real_field'); $info = array(); @@ -59,8 +73,11 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { $view->update(); $view->build(); -// $this->assertEqual('old_field_1', $view->field['old_field_1']->options['id'], "Id shouldn't change during conversion"); -// $this->assertEqual('id', $view->field['old_field_1']->field, 'The field should change during conversion'); + // $this->assertEqual('old_field_1', + // $view->field['old_field_1']->options['id'], + // "Id shouldn't change during conversion"); + // $this->assertEqual('id', $view->field['old_field_1']->field, + // 'The field should change during conversion'); $this->assertEqual('id', $view->field['old_field_1']->real_field); $this->assertEqual('views_test', $view->field['old_field_1']->table); $this->assertEqual('old_field_1', $view->field['old_field_1']->original_field, 'The field should have stored the original_field'); @@ -70,11 +87,13 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { $view->update(); $view->build(); -// $this->assertEqual('old_field_2', $view->field['old_field_2']->options['id']); + // $this->assertEqual('old_field_2', + // $view->field['old_field_2']->options['id']); $this->assertEqual('name', $view->field['old_field_2']->real_field); $this->assertEqual('views_test', $view->field['old_field_2']->table); -// $this->assertEqual('old_field_3', $view->filter['old_field_3']->options['id']); + // $this->assertEqual('old_field_3', + // $view->filter['old_field_3']->options['id']); $this->assertEqual('age', $view->filter['old_field_3']->real_field); $this->assertEqual('views_test', $view->filter['old_field_3']->table); @@ -84,7 +103,8 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { $view->build(); $this->assertEqual('views_test', $view->base_table, 'Make sure that view->base_table gets automatically converted.'); -// $this->assertEqual('id', $view->field['id']->field, 'If we move a whole table fields of this table should work, too.'); + // $this->assertEqual('id', $view->field['id']->field, + // 'If we move a whole table fields of this table should work, too.'); $this->assertEqual('id', $view->field['id']->real_field, 'To run the query right the real_field has to be set right.'); $this->assertEqual('views_test', $view->field['id']->table); } @@ -106,8 +126,11 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { $this->assertText('Recent comments'); } + /** + * + */ public function viewsMovedToField() { - $view = new view; + $view = new view(); $view->name = 'test_views_move_to_field'; $view->description = ''; $view->tag = ''; @@ -127,8 +150,11 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { return $view; } + /** + * + */ public function viewsMovedToHandler() { - $view = new view; + $view = new view(); $view->name = 'test_views_move_to_handler'; $view->description = ''; $view->tag = ''; @@ -152,8 +178,11 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { return $view; } + /** + * + */ public function viewsMovedToTable() { - $view = new view; + $view = new view(); $view->name = 'test_views_move_to_table'; $view->description = ''; $view->tag = ''; @@ -173,6 +202,9 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { return $view; } + /** + * + */ protected function viewUpgradeImport() { $import = ' $view = new view; @@ -272,6 +304,7 @@ class ViewsUpgradeTestCase extends ViewsSqlTest { $handler->display->display_options["block_description"] = "Recent comments view" ;'; - return $import; + return $import; } + } diff --git a/profiles/wcm_base/modules/contrib/views/tests/views_view.test b/profiles/wcm_base/modules/contrib/views/tests/views_view.test index e72e81118787e760a45ace0de6119befd96689e2..489864af7f59eb3bfe94fc207ef1e147b68f7aa1 100644 --- a/profiles/wcm_base/modules/contrib/views/tests/views_view.test +++ b/profiles/wcm_base/modules/contrib/views/tests/views_view.test @@ -2,26 +2,27 @@ /** * @file - * Definition of ViewsViewTest. + * Views class tests. */ /** - * Views class tests. * - * @codingStandardsIgnoreStart */ class ViewsViewTest extends ViewsSqlTest { - // @codingStandardsIgnoreEnd + + /** + * Provide the test's meta information. + */ public static function getInfo() { return array( 'name' => 'Test the view class', - 'description' => 'Tests some functionality of the view class', + 'description' => 'Tests some functionality of the view class', 'group' => 'Views', ); } /** - * Tests the deconstructor to be sure that every kind of heavy objects are removed. + * Ensure that every kind of heavy objects are removed by the destructor. */ function testDestroy() { $view = $this->view_test_destroy(); @@ -39,6 +40,12 @@ class ViewsViewTest extends ViewsSqlTest { $this->assertViewDestroy($view); } + /** + * Assert that a given view is destroyed properly. + * + * @param object $view + * The view to destroy. + */ function assertViewDestroy($view) { $this->assertFalse(isset($view->display['default']->handler), 'Make sure all displays are destroyed.'); $this->assertFalse(isset($view->display['attachment_1']->handler), 'Make sure all displays are destroyed.'); @@ -61,8 +68,11 @@ class ViewsViewTest extends ViewsSqlTest { $this->assertEqual($view->attachment_after, ''); } + /** + * Test deleting a view. + */ function testDelete() { - // Delete a database view + // Delete a database view. $view = $this->view_test_delete(); $view->save(); $view = views_get_view($view->name); @@ -75,10 +85,13 @@ class ViewsViewTest extends ViewsSqlTest { $this->assertNull($view, "Make sure that the old view gets cleared by the reset parameter."); } + /** + * Test validation. + */ function testValidate() { // Test a view with multiple displays. // Validating a view shouldn't change the active display. - // @todo: Create an extra validation view. + // @todo Create an extra validation view. $view = $this->view_test_destroy(); $view->set_display('page_1'); @@ -86,17 +99,20 @@ class ViewsViewTest extends ViewsSqlTest { $this->assertEqual('page_1', $view->current_display, "The display should be constant while validating"); - // @todo: Write real tests for the validation. + // @todo Write real tests for the validation. // In general the following things could be tested: - // - Deleted displays shouldn't be validated + // - Deleted displays shouldn't be validated. // - Multiple displays are validating and the errors are merged together. } /** - * This view provides some filters, fields, arguments, relationships, sorts, areas and attachments. + * Generate an example view. + * + * Includes: + * filters, fields, arguments, relationships, sorts, areas and attachments. */ function view_test_destroy() { - $view = new view; + $view = new view(); $view->name = 'test_destroy'; $view->description = ''; $view->tag = ''; @@ -257,8 +273,12 @@ class ViewsViewTest extends ViewsSqlTest { return $view; } + + /** + * Creates a test view. + */ function view_test_delete() { - $view = new view; + $view = new view(); $view->name = 'test_view_delete'; $view->description = ''; $view->tag = ''; @@ -294,4 +314,5 @@ class ViewsViewTest extends ViewsSqlTest { return $view; } + } diff --git a/profiles/wcm_base/modules/contrib/views/theme/theme.inc b/profiles/wcm_base/modules/contrib/views/theme/theme.inc index befd4d1a25adab67b5d232579ab51e9cf524a88a..7382f01dd52288a24e44fe1e9c864353dcaac8c5 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/theme.inc +++ b/profiles/wcm_base/modules/contrib/views/theme/theme.inc @@ -8,11 +8,11 @@ /** * Provide a full array of possible themes to try for a given hook. * - * @param $hook + * @param string $hook * The hook to use. This is the base theme/template name. - * @param $view + * @param object $view * The view being rendered. - * @param $display + * @param object $display * The display being rendered, if applicable. */ function _views_theme_functions($hook, $view, $display = NULL) { @@ -52,7 +52,7 @@ function template_preprocess_views_view(&$vars) { $vars['name'] = $view->name; $vars['display_id'] = $view->current_display; - // Basic classes + // Basic classes. $vars['css_class'] = ''; $vars['classes_array'] = array(); @@ -81,7 +81,7 @@ function template_preprocess_views_view(&$vars) { $vars['pager'] = ''; - // @todo: Figure out whether this belongs into views_ui_preprocess_views_view. + // @todo Figure out whether this belongs into views_ui_preprocess_views_view. // Render title for the admin preview. $vars['title'] = !empty($view->views_ui_context) ? filter_xss_admin($view->get_title()) : ''; @@ -104,15 +104,15 @@ function template_preprocess_views_view(&$vars) { // Attachments are always updated with the outer view, never by themselves, // so they do not have dom ids. if (empty($view->is_attachment)) { - // Our JavaScript needs to have some means to find the HTML belonging to this - // view. + // Our JavaScript needs to have some means to find the HTML belonging to + // this view. // // It is true that the DIV wrapper has classes denoting the name of the view // and its display ID, but this is not enough to unequivocally match a view // with its HTML, because one view may appear several times on the page. So - // we set up a hash with the current time, $dom_id, to issue a "unique" identifier for - // each view. This identifier is written to both Drupal.settings and the DIV - // wrapper. + // we set up a hash with the current time, $dom_id, to issue a "unique" + // identifier for each view. This identifier is written to both + // Drupal.settings and the DIV wrapper. $vars['dom_id'] = $view->dom_id; $vars['classes_array'][] = 'view-dom-id-' . $vars['dom_id']; } @@ -129,7 +129,9 @@ function template_preprocess_views_view(&$vars) { 'view_args' => check_plain(implode('/', $view->args)), 'view_path' => check_plain($_GET['q']), // Pass through URL to ensure we get e.g. language prefixes. -// 'view_base_path' => isset($view->display['page']) ? substr(url($view->display['page']->display_options['path']), strlen($base_path)) : '', + // 'view_base_path' => isset($view->display['page']) ? + // substr(url($view->display['page']->display_options['path']), + // strlen($base_path)) : '', 'view_base_path' => $view->get_path(), 'view_dom_id' => $vars['dom_id'], // To fit multiple views on a page, the programmer may have @@ -179,16 +181,17 @@ function template_process_views_view(&$vars) { } /** - * Preprocess theme function to print a single record from a row, with fields + * Preprocess theme function to print a single record from a row, with fields. */ function template_preprocess_views_view_fields(&$vars) { $view = $vars['view']; // Loop through the fields for this view. $previous_inline = FALSE; - $vars['fields'] = array(); // ensure it's at least an empty array. + $vars['fields'] = array(); + // Ensure it's at least an empty array. foreach ($view->field as $id => $field) { - // render this even if set to exclude so it can be used elsewhere. + // Render this even if set to exclude so it can be used elsewhere. $field_output = $view->style_plugin->get_field($view->row_index, $id); $empty = $field->is_value_empty($field_output, $field->options['empty_zero']); if (empty($field->options['exclude']) && (!$empty || (empty($field->options['hide_empty']) && empty($vars['options']['hide_empty'])))) { @@ -207,7 +210,7 @@ function template_preprocess_views_view_fields(&$vars) { if ($class) { $class .= ' '; } - $class .= $classes; + $class .= $classes; } $pre = '<' . $object->element_type; @@ -218,7 +221,8 @@ function template_preprocess_views_view_fields(&$vars) { } // Protect ourself somewhat for backward compatibility. This will prevent - // old templates from producing invalid HTML when no element type is selected. + // old templates from producing invalid HTML when no element type is + // selected. if (empty($object->element_type)) { $object->element_type = 'span'; } @@ -228,7 +232,8 @@ function template_preprocess_views_view_fields(&$vars) { $object->raw = $vars['row']->{$view->field[$id]->field_alias}; } else { - $object->raw = NULL; // make sure it exists to reduce NOTICE + // Make sure it exists to reduce NOTICE. + $object->raw = NULL; } if (!empty($vars['options']['separator']) && $previous_inline && $object->inline && $object->content) { @@ -268,8 +273,8 @@ function template_preprocess_views_view_fields(&$vars) { $object->wrapper_suffix = '</' . $object->inline_html . '>'; } - // Set up the label for the value and the HTML to make it easier - // on the template. + // Set up the label for the value and the HTML to make it easier on the + // template. $object->label = check_plain($view->field[$id]->label()); $object->label_html = ''; if ($object->label) { @@ -307,7 +312,6 @@ function template_preprocess_views_view_fields(&$vars) { $vars['fields'][$id] = $object; } } - } /** @@ -320,7 +324,7 @@ function theme_views_view_grouping($vars) { $output = '<div class="view-grouping">'; $output .= '<div class="view-grouping-header">' . $title . '</div>'; - $output .= '<div class="view-grouping-content">' . $content . '</div>' ; + $output .= '<div class="view-grouping-content">' . $content . '</div>'; $output .= '</div>'; return $output; @@ -338,7 +342,7 @@ function template_preprocess_views_view_grouping(&$vars) { * * Interesting bits of info: * $field->field_alias says what the raw value in $row will be. Reach it like - * this: @code { $row->{$field->field_alias} @endcode + * this: @code { $row->{$field->field_alias} @endcode. */ function theme_views_view_field($vars) { $view = $vars['view']; @@ -359,7 +363,7 @@ function template_preprocess_views_view_field(&$vars) { } /** - * Preprocess theme function to print a single record from a row, with fields + * Preprocess theme function to print a single record from a row, with fields. */ function template_preprocess_views_view_summary(&$vars) { $view = $vars['view']; @@ -373,12 +377,15 @@ function template_preprocess_views_view_summary(&$vars) { } $active_urls = drupal_map_assoc(array( - url($_GET['q'], array('alias' => TRUE)), // force system path - url($_GET['q']), // could be an alias + // Force system path. + url($_GET['q'], array('alias' => TRUE)), + // Could be an alias. + url($_GET['q']), )); - // Collect all arguments foreach row, to be able to alter them for example by the validator. - // This is not done per single argument value, because this could cause performance problems. + // Collect all arguments foreach row, to be able to alter them for example by + // the validator. This is not done per single argument value, because this + // could cause performance problems. $row_args = array(); foreach ($vars['rows'] as $id => $row) { @@ -406,8 +413,7 @@ function template_preprocess_views_view_summary(&$vars) { } /** - * Template preprocess theme function to print summary basically - * unformatted. + * Template preprocess theme function to print summary basically unformatted. */ function template_preprocess_views_view_summary_unformatted(&$vars) { $view = $vars['view']; @@ -422,12 +428,15 @@ function template_preprocess_views_view_summary_unformatted(&$vars) { $count = 0; $active_urls = drupal_map_assoc(array( - url($_GET['q'], array('alias' => TRUE)), // force system path - url($_GET['q']), // could be an alias + // Force system path. + url($_GET['q'], array('alias' => TRUE)), + // Could be an alias. + url($_GET['q']), )); - // Collect all arguments foreach row, to be able to alter them for example by the validator. - // This is not done per single argument value, because this could cause performance problems. + // Collect all arguments foreach row, to be able to alter them for example by + // the validator. This is not done per single argument value, because this + // could cause performance problems. $row_args = array(); foreach ($vars['rows'] as $id => $row) { $row_args[$id] = $argument->summary_argument($row); @@ -435,7 +444,7 @@ function template_preprocess_views_view_summary_unformatted(&$vars) { $argument->process_summary_arguments($row_args); foreach ($vars['rows'] as $id => $row) { - // only false on first time: + // Only false on first time. if ($count++) { $vars['rows'][$id]->separator = filter_xss_admin($vars['options']['separator']); } @@ -461,11 +470,11 @@ function template_preprocess_views_view_summary_unformatted(&$vars) { function template_preprocess_views_view_table(&$vars) { $view = $vars['view']; - // We need the raw data for this grouping, which is passed in as $vars['rows']. - // However, the template also needs to use for the rendered fields. We - // therefore swap the raw data out to a new variable and reset $vars['rows'] - // so that it can get rebuilt. - // Store rows so that they may be used by further preprocess functions. + // We need the raw data for this grouping, which is passed in as + // $vars['rows']. However, the template also needs to use for the rendered + // fields. We therefore swap the raw data out to a new variable and reset + // $vars['rows'] so that it can get rebuilt. Store rows so that they may be + // used by further preprocess functions. $result = $vars['result'] = $vars['rows']; $vars['rows'] = array(); $vars['field_classes'] = array(); @@ -493,14 +502,14 @@ function template_preprocess_views_view_table(&$vars) { $renders = $handler->render_fields($result); foreach ($columns as $field => $column) { - // Create a second variable so we can easily find what fields we have and what the - // CSS classes should be. + // Create a second variable so we can easily find what fields we have and + // what the CSS classes should be. $vars['fields'][$field] = drupal_clean_css_identifier($field); if ($active == $field) { $vars['fields'][$field] .= ' active'; } - // render the header labels + // Render the header labels. if ($field == $column && empty($fields[$field]->options['exclude'])) { $label = check_plain(!empty($fields[$field]) ? $fields[$field]->label() : ''); if (empty($options['info'][$field]['sortable']) || !$fields[$field]->click_sortable()) { @@ -540,7 +549,7 @@ function template_preprocess_views_view_table(&$vars) { } $vars['header_classes'][$field] .= $class; } - // Add a CSS align class to each field if one was set + // Add a CSS align class to each field if one was set. if (!empty($options['info'][$field]['align'])) { $vars['header_classes'][$field] .= ' ' . drupal_clean_css_identifier($options['info'][$field]['align']); } @@ -552,17 +561,16 @@ function template_preprocess_views_view_table(&$vars) { $vars['header'][$field] = '<' . $element_label_type . '>' . $vars['header'][$field] . '</' . $element_label_type . '>'; } } - } - // Add a CSS align class to each field if one was set + // Add a CSS align class to each field if one was set. if (!empty($options['info'][$field]['align'])) { $vars['fields'][$field] .= ' ' . drupal_clean_css_identifier($options['info'][$field]['align']); } // Render each field into its appropriate column. foreach ($result as $num => $row) { - // Add field classes + // Add field classes. $vars['field_classes'][$field][$num] = ''; if ($fields[$field]->options['element_default_classes']) { $vars['field_classes'][$field][$num] = "views-field views-field-" . $vars['fields'][$field]; @@ -602,7 +610,8 @@ function template_preprocess_views_view_table(&$vars) { } } - // Remove columns if the option is hide empty column is checked and the field is not empty. + // Remove columns if the option is hide empty column is checked and the + // field is not empty. if (!empty($options['info'][$field]['empty_column'])) { $empty = TRUE; foreach ($vars['rows'] as $num => $columns) { @@ -646,12 +655,11 @@ function template_preprocess_views_view_table(&$vars) { $vars['field_classes'][0][0] = 'views-empty'; } - if (!empty($options['sticky'])) { drupal_add_js('misc/tableheader.js'); $vars['classes_array'][] = "sticky-enabled"; } - $vars['classes_array'][] = 'cols-'. count($vars['header']); + $vars['classes_array'][] = 'cols-' . count($vars['header']); // Add the summary to the list if set. if (!empty($handler->options['summary'])) { @@ -739,25 +747,25 @@ function template_preprocess_views_view_grid(&$vars) { } } - // Apply the row classes + // Apply the row classes. foreach ($rows as $row_number => $row) { $row_classes = array(); if ($default_row_class) { - $row_classes[] = 'row-' . ($row_number + 1); + $row_classes[] = 'row-' . ($row_number + 1); } if ($row_class_special) { if ($row_number == 0) { - $row_classes[] = 'row-first'; + $row_classes[] = 'row-first'; } if (count($rows) == ($row_number + 1)) { - $row_classes[] = 'row-last'; + $row_classes[] = 'row-last'; } } $vars['row_classes'][$row_number] = implode(' ', $row_classes); foreach ($rows[$row_number] as $column_number => $item) { $column_classes = array(); if ($default_row_class) { - $column_classes[] = 'col-'. ($column_number + 1); + $column_classes[] = 'col-' . ($column_number + 1); } if ($row_class_special) { if ($column_number == 0) { @@ -791,7 +799,7 @@ function template_preprocess_views_view_grid(&$vars) { } /** - * Display the simple view of rows one after another + * Display the simple view of rows one after another. */ function template_preprocess_views_view_unformatted(&$vars) { $view = $vars['view']; @@ -832,7 +840,7 @@ function template_preprocess_views_view_unformatted(&$vars) { } /** - * Display the view as an HTML list element + * Display the view as an HTML list element. */ function template_preprocess_views_view_list(&$vars) { $handler = $vars['view']->style_plugin; @@ -861,7 +869,7 @@ function template_preprocess_views_view_list(&$vars) { } /** - * Preprocess an RSS feed + * Preprocess an RSS feed. */ function template_preprocess_views_view_rss(&$vars) { global $base_url; @@ -889,8 +897,8 @@ function template_preprocess_views_view_rss(&$vars) { } $vars['title'] = check_plain($title); - // Figure out which display which has a path we're using for this feed. If there isn't - // one, use the global $base_url + // Figure out which display which has a path we're using for this feed. If + // there isn't one, use the global $base_url. $link_display_id = $view->display_handler->get_link_display(); if ($link_display_id && !empty($view->display[$link_display_id])) { $path = $view->display[$link_display_id]->handler->get_path(); @@ -903,7 +911,8 @@ function template_preprocess_views_view_rss(&$vars) { $url_options['query'] = $view->exposed_raw_input; } - // Compare the link to the default home page; if it's the default home page, just use $base_url. + // Compare the link to the default home page; if it's the default home + // page, just use $base_url. if ($path == variable_get('site_frontpage', 'node')) { $path = ''; } @@ -957,8 +966,8 @@ function template_preprocess_views_exposed_form(&$vars) { $checkboxes .= drupal_render($form[$info['value']]); continue; } - $widget = new stdClass; - // set up defaults so that there's always something there. + $widget = new stdClass(); + // Set up defaults so that there's always something there. $widget->label = $widget->operator = $widget->widget = $widget->description = NULL; $widget->id = isset($form[$info['value']]['#id']) ? $form[$info['value']]['#id'] : ''; @@ -981,8 +990,8 @@ function template_preprocess_views_exposed_form(&$vars) { // Wrap up all the checkboxes we set aside into a widget. if ($checkboxes) { - $widget = new stdClass; - // set up defaults so that there's always something there. + $widget = new stdClass(); + // Set up defaults so that there's always something there. $widget->label = $widget->operator = $widget->widget = NULL; $widget->id = 'checkboxes'; $widget->widget = $checkboxes; @@ -1038,6 +1047,9 @@ function theme_views_form_views_form($variables) { return drupal_render_children($form); } +/** + * theme function for a mini pager. + */ function theme_views_mini_pager($vars) { global $pager_page_array, $pager_total; @@ -1045,12 +1057,11 @@ function theme_views_mini_pager($vars) { $element = $vars['element']; $parameters = $vars['parameters']; - // current is the page we are currently paged to + // Current is the page we are currently paged to. $pager_current = $pager_page_array[$element] + 1; - // max is the maximum page number + // Max is the maximum page number. $pager_max = $pager_total[$element]; // End of marker calculations. - if ($pager_total[$element] > 1) { $li_previous = theme('pager_previous', @@ -1092,6 +1103,7 @@ function theme_views_mini_pager($vars) { 'class' => array('pager-next'), 'data' => $li_next, ); + return theme('item_list', array( 'items' => $items, diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-more.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-more.tpl.php index a2e1703cb946dd9d49896c4e7ff96298f488dcf9..1adfa3ed5ec51ae0dcfe53580f9387842c46a4ce 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-more.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-more.tpl.php @@ -15,8 +15,7 @@ ?> <div class="more-link"> - <a href="<?php print $more_url ?>"<?php if (!empty($new_window)) { ?> target="_blank"<?php - } ?>> + <a href="<?php print $more_url ?>"<?php if (!empty($new_window)): ?> target="_blank"<?php endif; ?>> <?php print $link_text; ?> </a> </div> diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-ui-display-tab-bucket.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-ui-display-tab-bucket.tpl.php index 6d51a1d4f63bb729f12c0f12cb4dfb74e7b09d73..079f57987799275dbde1edf99c1f2bdfd24a8d43 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-ui-display-tab-bucket.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-ui-display-tab-bucket.tpl.php @@ -7,7 +7,7 @@ ?> <div class="<?php print $classes; ?>" <?php print $attributes; ?>> <?php print $item_help_icon; ?> - <?php if(!empty($actions)) : ?> + <?php if (!empty($actions)) : ?> <?php print $actions; ?> <?php endif; ?> <?php if (!empty($title)) : ?> diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-ui-edit-view.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-ui-edit-view.tpl.php index 5c3732ca5a45ae968bf84392d096b0ff91b38946..f433332482e87c74d936896426d39ea13ef2ae4d 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-ui-edit-view.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-ui-edit-view.tpl.php @@ -8,10 +8,11 @@ <div class="views-edit-view"> <?php if ($locked): ?> <div class="view-locked"> - <?php print t('This view is being edited by user !user, and is therefore locked from editing by others. This lock is !age old. Click here to <a href="!break">break this lock</a>.', array('!user' => $locked, '!age' => $lock_age, '!break' => $break)); ?> + <?php print t('This view is being edited by user !user, and is therefore locked from editing by others. This lock is !age old. Click here to <a href="!break">break this lock</a>.', + array('!user' => $locked, '!age' => $lock_age, '!break' => $break)); ?> </div> <?php endif; ?> - <div class="views-basic-info clearfix<?php if (!empty($view->changed)) { print " changed"; }?>"> + <div class="views-basic-info clearfix<?php if (!empty($view->changed)): ?> changed<?php endif; ?>"> <?php if (!is_numeric($view->vid)): ?> <div class="view-changed view-new"><?php print t('New view'); ?></div> <?php else: ?> @@ -28,7 +29,8 @@ <div id="views-ajax-form"> <div id="views-ajax-title"> - <?php // This is initially empty ?> + <?php +// This is initially empty. ?> </div> <div id="views-ajax-pad"> <?php /* This is sent in because it is also sent out through settings and diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view-grid.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view-grid.tpl.php index 09f807a7c281819961edc3240fcfa9bc9748c2e4..f56bd611398b5b118ceee022461db66fb0d20a8d 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view-grid.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view-grid.tpl.php @@ -20,9 +20,9 @@ <tbody> <?php foreach ($rows as $row_number => $columns): ?> - <tr <?php if ($row_classes[$row_number]) { print 'class="' . $row_classes[$row_number] .'"'; } ?>> + <tr <?php if ($row_classes[$row_number]):?> class="<?php print $row_classes[$row_number]; ?>"<?php endif; ?>> <?php foreach ($columns as $column_number => $item): ?> - <td <?php if ($column_classes[$row_number][$column_number]) { print 'class="' . $column_classes[$row_number][$column_number] .'"'; } ?>> + <td <?php if ($column_classes[$row_number][$column_number]): ?> class="<?php print $column_classes[$row_number][$column_number]; ?>"<?php endif; ?>> <?php print $item; ?> </td> <?php endforeach; ?> diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view-list.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view-list.tpl.php index 601279ae69846ff8fc0d8ab3e7237a7a1783de0e..27e2736185170dcade56831e7bc91b5910a320be 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view-list.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view-list.tpl.php @@ -6,6 +6,7 @@ * * - $title : The title of this group of rows. May be empty. * - $options['type'] will either be ul or ol. + * * @ingroup views_templates */ ?> diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view-row-comment.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view-row-comment.tpl.php index 7fe2e81fe944783fb351db5baf06c57e530a83d7..dc1aa394c10719d0693581046286c689929f9e8f 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view-row-comment.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view-row-comment.tpl.php @@ -10,7 +10,7 @@ * a views template, which is why it's not used here, but is a template * 'suggestion' given to the comment template, and is used exactly * the same as any other variant of the comment template file, such as - * node-nodeTYPE.tpl.php + * node-nodeTYPE.tpl.php. * * @ingroup views_templates */ diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view-summary-unformatted.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view-summary-unformatted.tpl.php index 306d76fefae853566d33246d05dbd442f36dd4e8..e20089397e313da62b1bad110824a66d1bea62ee 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view-summary-unformatted.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view-summary-unformatted.tpl.php @@ -11,7 +11,7 @@ ?> <?php foreach ($rows as $id => $row): ?> <?php print (!empty($options['inline']) ? '<span' : '<div') . ' class="views-summary views-summary-unformatted">'; ?> - <?php if (!empty($row->separator)) { print $row->separator; } ?> + <?php if (!empty($row->separator)):?><?php print $row->separator; ?><?php endif; ?> <a href="<?php print $row->url; ?>"<?php print !empty($row_classes[$id]) ? ' class="' . $row_classes[$id] . '"' : ''; ?>><?php print $row->link; ?></a> <?php if (!empty($options['count'])): ?> (<?php print $row->count; ?>) diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view-summary.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view-summary.tpl.php index 22969eb481f5deb54485c4949ea31fead7834e2e..2b61f2d3f32832d125994bff483260f4287b8e7e 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view-summary.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view-summary.tpl.php @@ -10,7 +10,7 @@ <div class="item-list"> <ul class="views-summary"> <?php foreach ($rows as $id => $row): ?> - <li><a href="<?php print $row->url; ?>"<?php print !empty($row_classes[$id]) ? ' class="'. $row_classes[$id] .'"' : ''; ?>><?php print $row->link; ?></a> + <li><a href="<?php print $row->url; ?>"<?php print !empty($row_classes[$id]) ? ' class="' . $row_classes[$id] . '"' : ''; ?>><?php print $row->link; ?></a> <?php if (!empty($options['count'])): ?> (<?php print $row->count?>) <?php endif; ?> diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view-table.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view-table.tpl.php index b3443fcc49d6600d680b096cab0edd35465b1772..370ecd7b421e64cc4950bce7ead5e52c6f936467 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view-table.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view-table.tpl.php @@ -16,18 +16,19 @@ * $rows are keyed by row number, fields within rows are keyed by field ID. * - $field_classes: An array of classes to apply to each field, indexed by * field id, then row number. This matches the index in $rows. + * * @ingroup views_templates */ ?> -<table <?php if ($classes) { print 'class="'. $classes . '" '; } ?><?php print $attributes; ?>> - <?php if (!empty($title) || !empty($caption)) : ?> +<table <?php if ($classes): ?> class="<?php print $classes; ?>"<?php endif ?><?php print $attributes; ?>> + <?php if (!empty($title) || !empty($caption)): ?> <caption><?php print $caption . $title; ?></caption> <?php endif; ?> <?php if (!empty($header)) : ?> <thead> <tr> <?php foreach ($header as $field => $label): ?> - <th <?php if ($header_classes[$field]) { print 'class="'. $header_classes[$field] . '" '; } ?> scope="col"> + <th <?php if ($header_classes[$field]): ?> class="<?php print $header_classes[$field]; ?>"<?php endif; ?> scope="col"> <?php print $label; ?> </th> <?php endforeach; ?> @@ -36,9 +37,9 @@ <?php endif; ?> <tbody> <?php foreach ($rows as $row_count => $row): ?> - <tr <?php if ($row_classes[$row_count]) { print 'class="' . implode(' ', $row_classes[$row_count]) .'"'; } ?>> + <tr <?php if ($row_classes[$row_count]): ?> class="<?php print implode(' ', $row_classes[$row_count]); ?>"<?php endif; ?>> <?php foreach ($row as $field => $content): ?> - <td <?php if ($field_classes[$field][$row_count]) { print 'class="'. $field_classes[$field][$row_count] . '" '; } ?><?php print drupal_attributes($field_attributes[$field][$row_count]); ?>> + <td <?php if ($field_classes[$field][$row_count]): ?> class="<?php print $field_classes[$field][$row_count]; ?>"<?php endif; ?><?php print drupal_attributes($field_attributes[$field][$row_count]); ?>> <?php print $content; ?> </td> <?php endforeach; ?> diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view-unformatted.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view-unformatted.tpl.php index f1cccb8885b36ec4844a5d2724b53b6ba2d422ba..fc8cfc43c037b0ed6c1d7b9c0bee1eeab8530ab2 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view-unformatted.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view-unformatted.tpl.php @@ -11,7 +11,7 @@ <h3><?php print $title; ?></h3> <?php endif; ?> <?php foreach ($rows as $id => $row): ?> - <div<?php if ($classes_array[$id]) { print ' class="' . $classes_array[$id] .'"'; } ?>> + <div<?php if ($classes_array[$id]): ?> class="<?php print $classes_array[$id]; ?>"<?php endif; ?>> <?php print $row; ?> </div> <?php endforeach; ?> diff --git a/profiles/wcm_base/modules/contrib/views/theme/views-view.tpl.php b/profiles/wcm_base/modules/contrib/views/theme/views-view.tpl.php index 579cf12a8d4c844572a7f8b1047d11591aca9d62..96edaabce547484592b98ee560666ba80f689092 100644 --- a/profiles/wcm_base/modules/contrib/views/theme/views-view.tpl.php +++ b/profiles/wcm_base/modules/contrib/views/theme/views-view.tpl.php @@ -22,7 +22,7 @@ * - $pager: The pager next/prev links to display, if any * - $exposed: Exposed widget form/info to display * - $feed_icon: Feed icon to display, if any - * - $more: A link to view more, if any + * - $more: A link to view more, if any. * * @ingroup views_templates */ diff --git a/profiles/wcm_base/modules/contrib/views/views.api.php b/profiles/wcm_base/modules/contrib/views/views.api.php index edbb03f7d014b34a680873f8554dff2e1a30d657..ea53a37cfcc2053bba2bf93ada8039ffcd1ba72f 100644 --- a/profiles/wcm_base/modules/contrib/views/views.api.php +++ b/profiles/wcm_base/modules/contrib/views/views.api.php @@ -244,9 +244,11 @@ * 'title' => t('Node'), * 'help' => t('Display the node with standard node view.'), * 'handler' => 'views_plugin_row_node_view', - * 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules + * // Not necessary for most modules. + * 'path' => drupal_get_path('module', 'views') . '/modules/node', * 'theme' => 'views_view_row_node', - * 'base' => array('node'), // only works with 'node' as base. + * // Only works with 'node' as base. + * 'base' => array('node'), * 'uses options' => TRUE, * 'type' => 'normal', * ), @@ -292,12 +294,12 @@ /** * Describes data tables (or the equivalent) to Views. * - * This hook should be placed in MODULENAME.views.inc and it will be - * auto-loaded. MODULENAME.views.inc must be in the directory specified by the - * 'path' key returned by MODULENAME_views_api(), or the same directory as the - * .module file, if 'path' is unspecified. + * This hook should be placed in MODULENAME.views.inc and it will be auto + * loaded. MODULENAME.views.inc must be in the directory specified by the 'path' + * key returned by MODULENAME_views_api(), or the same directory as the .module + * file, if 'path' is unspecified. * - * @return + * @return array * An associative array describing the data structure. Primary key is the * name used internally by Views for the table(s) – usually the actual table * name. The values for the key entries are described in detail below. @@ -307,17 +309,15 @@ function hook_views_data() { // table: // // CREATE TABLE example_table ( - // nid INT(11) NOT NULL COMMENT 'Primary key; refers to {node}.nid.', + // nid INT(11) NOT NULL COMMENT 'Primary key; refers to {node}.nid.', // plain_text_field VARCHAR(32) COMMENT 'Just a plain text field.', - // numeric_field INT(11) COMMENT 'Just a numeric field.', - // boolean_field INT(1) COMMENT 'Just an on/off field.', - // timestamp_field INT(8) COMMENT 'Just a timestamp field.', + // numeric_field INT(11) COMMENT 'Just a numeric field.', + // boolean_field INT(1) COMMENT 'Just an on/off field.', + // timestamp_field INT(8) COMMENT 'Just a timestamp field.', // PRIMARY KEY(nid) // ); - // First, the entry $data['example_table']['table'] describes properties of // the actual table – not its content. - // The 'group' index will be used as a prefix in the UI for any of this // table's fields, sort criteria, etc. so it's easy to tell where they came // from. @@ -328,7 +328,8 @@ function hook_views_data() { // is not very useful for this table, as it isn't really a distinct object of // its own, but it makes a good example. $data['example_table']['table']['base'] = array( - 'field' => 'nid', // This is the identifier field for the view. + // This is the identifier field for the view. + 'field' => 'nid', 'title' => t('Example table'), 'help' => t('Example table contains example content and can be related to nodes.'), 'weight' => -10, @@ -339,10 +340,10 @@ function hook_views_data() { // table, the fields are automatically available. $data['example_table']['table']['join'] = array( // Index this array by the table name to which this table refers. - // 'left_field' is the primary key in the referenced table. - // 'field' is the foreign key in this table. 'node' => array( + // The primary key in the referenced table. 'left_field' => 'nid', + // The foreign key in this table. 'field' => 'nid', ), ); @@ -362,7 +363,6 @@ function hook_views_data() { // footer or as no result behaviour. // // The handler descriptions are described with examples below. - // Node ID table field. $data['example_table']['nid'] = array( 'title' => t('Example content'), @@ -372,8 +372,10 @@ function hook_views_data() { // other direction, use hook_views_data_alter(), or use the 'implicit' join // method described above. 'relationship' => array( - 'base' => 'node', // The name of the table to join with. - 'base field' => 'nid', // The name of the field on the joined table. + // The name of the table to join with. + 'base' => 'node', + // The name of the field on the joined table. + 'base field' => 'nid', // 'field' => 'nid' -- see hook_views_data_alter(); not needed here. 'handler' => 'views_handler_relationship', 'label' => t('Default label for the relationship'), @@ -388,7 +390,8 @@ function hook_views_data() { 'help' => t('Just a plain text field.'), 'field' => array( 'handler' => 'views_handler_field', - 'click sortable' => TRUE, // This is use by the table display plugin. + // This is use by the table display plugin. + 'click sortable' => TRUE, ), 'sort' => array( 'handler' => 'views_handler_sort', @@ -408,7 +411,7 @@ function hook_views_data() { 'field' => array( 'handler' => 'views_handler_field_numeric', 'click sortable' => TRUE, - ), + ), 'filter' => array( 'handler' => 'views_handler_filter_numeric', ), @@ -427,7 +430,7 @@ function hook_views_data() { ), 'filter' => array( 'handler' => 'views_handler_filter_boolean_operator', - // Note that you can override the field-wide label: + // Note that you can override the field-wide label. 'label' => t('Published'), // This setting is used by the boolean filter handler, as possible option. 'type' => 'yes-no', @@ -468,7 +471,7 @@ function hook_views_data() { * 'path' key returned by MODULENAME_views_api(), or the same directory as the * .module file, if 'path' is unspecified. * - * @param $data + * @param array $data * An array of all Views data, passed by reference. See hook_views_data() for * structure. * @@ -500,9 +503,12 @@ function hook_views_data_alter(&$data) { 'title' => t('Example relationship'), 'help' => t('Example help'), 'relationship' => array( - 'base' => 'example_table', // Table we're joining to. - 'base field' => 'eid', // Field on the joined table. - 'field' => 'fid', // Real field name on the 'foo' table. + // Table we're joining to. + 'base' => 'example_table', + // Field on the joined table. + 'base field' => 'eid', + // Real field name on the 'foo' table. + 'field' => 'fid', 'handler' => 'views_handler_relationship', 'label' => t('Default label for relationship'), 'title' => t('Title seen when adding relationship'), @@ -516,26 +522,26 @@ function hook_views_data_alter(&$data) { /** * Override the default data for a Field API field. * - * Field module's implementation of hook_views_data() invokes this for each + * Field module's Implements hook_views_data() invokes this for each * field in the module that defines the field type (as declared in the field * array). It is not invoked in other modules. * * If no hook implementation exists, hook_views_data() falls back to * field_views_field_default_views_data(). * + * @param array $field + * A field definition array, as returned by field_info_fields(). + * + * @return array + * An array of views data, in the same format as the return value of + * hook_views_data(). + * * @see field_views_data() * @see hook_field_views_data_alter() * @see hook_field_views_data_views_data_alter() - * - * @param $field - * A field definition array, as returned by field_info_fields(). - * - * @return - * An array of views data, in the same format as the return value of - * hook_views_data(). */ function hook_field_views_data($field) { - + return array(); } /** @@ -545,13 +551,13 @@ function hook_field_views_data($field) { * the field, and therefore may be used to alter the default data that * field_views_field_default_views_data() supplies for the field. * - * @param $result - * An array of views table data provided for a single field. This has the same - * format as the return value of hook_views_data(). - * @param $field - * A field definition array, as returned by field_info_fields(). - * @param $module - * The module that defines the field type. + * @param array $result + * An array of views table data provided for a single field. This has the same + * format as the return value of hook_views_data(). + * @param array $field + * A field definition array, as returned by field_info_fields(). + * @param string $module + * The module that defines the field type. * * @see field_views_data() * @see hook_field_views_data() @@ -564,7 +570,7 @@ function hook_field_views_data_alter(&$result, $field, $module) { /** * Alter the views data on a per field basis. * - * Field module's implementation of hook_views_data_alter() invokes this for + * Field module's Implements hook_views_data_alter() invokes this for * each field in the module that defines the field type (as declared in the * field array). It is not invoked in other modules. * @@ -597,7 +603,7 @@ function hook_field_views_data_views_data_alter(&$data, $field) { * .module file, if 'path' is unspecified. All plugin files need to be * referenced in MODULENAME.info with the files[] directive. * - * @return + * @return array * An array on the form $plugins['PLUGIN TYPE']['PLUGIN NAME']. The plugin * must be one of row, display, display_extender, style, argument default, * argument validator, access, query, cache, pager, exposed_form or @@ -619,7 +625,8 @@ function hook_field_views_data_views_data_alter(&$data, $field) { * selectable in the ui, though on the api side they still exists. * - uses options: Set to TRUE to denote that the plugin has an additional * options form. - * - help: A short help text, wrapped in t() used as description on the plugin settings form. + * - help: A short help text, wrapped in t() used as description on the + * plugin settings form. * - help topic: The name of an entry by advanced help for the plugin. * - theme: The name of a theme suggestion to use for the display. * - js: An array with paths to js files that should be included for the @@ -646,8 +653,8 @@ function hook_field_views_data_views_data_alter(&$data, $field) { * should be added. Can for example be 'page' or 'block'. If you don't * specify it there will be contextual links around the rendered view. If * this is not set or regions have been specified, views will display an - * option to 'hide contextual links'. Use an empty array if you do not want - * this. + * option to 'hide contextual links'. Use an empty array if you do not + * want this. * - uses hook menu: Set to TRUE to have the display included by * views_menu_alter(). views_menu_alter executes then execute_hook_menu * on the display object. @@ -664,8 +671,8 @@ function hook_field_views_data_views_data_alter(&$data, $field) { * - uses fields: Set to TRUE to have the style plugin accept field * handlers. * - uses grouping: Set to TRUE to allow the grouping settings for rows. - * - even empty: May have the value 'even empty' to tell Views that the style - * should be rendered even if there are no results. + * - even empty: May have the value 'even empty' to tell Views that the + * style should be rendered even if there are no results. * * - Used by row plugins: * - uses fields: Set to TRUE to have the row plugin accept field handlers. @@ -682,12 +689,14 @@ function hook_views_plugins() { ); return array( - 'module' => 'views', // This just tells our themes are elsewhere. + // This just tells our themes are elsewhere. + 'module' => 'views', 'argument validator' => array( 'taxonomy_term' => array( 'title' => t('Taxonomy term'), 'handler' => 'views_plugin_argument_validate_taxonomy_term', - 'path' => drupal_get_path('module', 'views') . '/modules/taxonomy', // not necessary for most modules + // Declaring path explicitly not necessary for most modules. + 'path' => drupal_get_path('module', 'views') . '/modules/taxonomy', ), ), 'argument default' => array( @@ -711,13 +720,69 @@ function hook_views_plugins_alter(&$plugins) { $plugins['row']['node']['base'][] = 'apachesolr'; } +/** + * Alter existing plugin option definitions. + * + * This can be used to edit default or add new option definitions to existing + * plugins. The reason for doing this is that only overriding the relevent form + * with hook_form_alter() is insufficent because submitted form values will be + * ignored if they haven't been declared as an available option. + * + * An alternative approach you could also take is to extend each plugin + * individually. However if your goal is to override many, or even all plugins, + * this results in a lot of additional code and files. This makes it a lot more + * troublesome to maintain the codebase, as well as interoperability with other + * modules. + * + * @param array $options + * The option definitions to be altered. + * @param $plugin + * A views object of the plugin where the default options are defined. + * + * @see views_object::option_definition() + * @see hook_views_handler_option_definition_alter() + * @see hook_form_alter() + */ +function hook_views_plugin_option_definition_alter(&$options, $plugin) { + // Add a new option definition. + $options['option_name'] = array('default' => ''); +} + +/** + * Alter existing handler option definitions. + * + * This can be used to edit default or add new option definitions to existing + * handers. The reason for doing this is that only overriding the relevent form + * with hook_form_alter() is insufficent because submitted form values will be + * ignored if they haven't been declared as an available option. + * + * An alternative approach you could also take is to extend each handler + * individually. However if your goal is to override many, or even all handlers, + * this results in a lot of additional code and files. This makes it a lot more + * troublesome to maintain the codebase, as well as interoperability with other + * modules. + * + * @param array $options + * The option definitions to be altered. + * @param $handler + * A views object of the handler where the default options are defined. + * + * @see views_handler::option_definition() + * @see hook_views_plugin_option_definition_alter() + * @see hook_form_alter() + */ +function hook_views_handler_option_definition_alter(&$options, $handler) { + // Add a new option definition. + $options['option_name'] = array('default' => ''); +} + /** * Register View API information. * * This is required for your module to have its include files loaded; for * example, when implementing hook_views_default_views(). * - * @return + * @return array * An array with the following possible keys: * - api: (required) The version of the Views API the module implements. * - path: (optional) If includes are stored somewhere other than within the @@ -736,8 +801,9 @@ function hook_views_api() { } /** - * This hook allows modules to provide their own views which can either be used - * as-is or as a "starter" for users to build from. + * Allows modules to provide their own views. + * + * These can either be used as-is or as a "starter" for users to build from. * * This hook should be placed in MODULENAME.views_default.inc and it will be * auto-loaded. MODULENAME.views_default.inc must be in the directory specified @@ -747,7 +813,7 @@ function hook_views_api() { * The $view->disabled boolean flag indicates whether the View should be * enabled (FALSE) or disabled (TRUE) by default. * - * @return + * @return array * An associative array containing the structures of views, as generated from * the Export tab, keyed by the view name. A best practice is to go through * and add t() to all title and label strings, with the exception of menu @@ -755,7 +821,7 @@ function hook_views_api() { */ function hook_views_default_views() { // Begin copy and paste of output from the Export tab of a view. - $view = new view; + $view = new view(); $view->name = 'frontpage'; $view->description = 'Emulates the default Drupal front page; you may set the default home page path to this view to make it your front page.'; $view->tag = 'default'; @@ -819,13 +885,11 @@ function hook_views_default_views() { $handler->display->display_options['sitename_title'] = '1'; // (Export ends here.) - // Add view to list of views to provide. $views[$view->name] = $view; - // ...Repeat all of the above for each view the module should provide. - - // At the end, return array of default views. + // Repeat all of the above for each view the module should provide. At the + // end, return array of default views. return $views; } @@ -855,9 +919,10 @@ function hook_views_default_views_alter(&$views) { /** * Performs replacements in the query before being performed. * - * @param $view + * @param object $view * The View being executed. - * @return + * + * @return array * An array with keys being the strings to replace, and the values the strings * to replace them with. The strings to replace are often surrounded with * '***', as illustrated in the example implementation. @@ -874,10 +939,11 @@ function hook_views_query_substitutions($view) { } /** - * This hook is called to get a list of placeholders and their substitutions, - * used when preprocessing a View with form elements. + * This hook is called to get a list of placeholders and their substitutions. * - * @return + * Used when preprocessing a View with form elements. + * + * @return array * An array with keys being the strings to replace, and the values the strings * to replace them with. */ @@ -888,16 +954,31 @@ function hook_views_form_substitutions() { } /** - * Allows altering a view at the very beginning of views processing, before - * anything is done. + * Allows altering a view at the very beginning of processing a preview. + * + * Occurs before anything is done. + * + * This hook is only triggered when the one of the following are invoked: + * - $view->execute_display() + * - $view->preview() + * + * As such code placed in this hook will not fire during: + * - $view->build() + * - $view->execute() + * - $view->render() + * + * Likely, hook_views_pre_build() or hook_views_pre_execute() are much better + * choices for most use cases since they are always invoked, not just when + * previewing a display. * * Adding output to the view can be accomplished by placing text on * $view->attachment_before and $view->attachment_after. - * @param $view + * + * @param object $view * The view object about to be processed. - * @param $display_id + * @param string $display_id * The machine name of the active display. - * @param $args + * @param array $args * An array of arguments passed into the view. */ function hook_views_pre_view(&$view, &$display_id, &$args) { @@ -906,21 +987,21 @@ function hook_views_pre_view(&$view, &$display_id, &$args) { // (Note that this is not necessarily the best way to solve that task. Feel // free to contribute another example!) if ( - $view->name == 'my_special_view' && - user_access('administer site configuration') && - $display_id == 'public_display' + $view->name == 'my_special_view' + && user_access('administer site configuration') + && $display_id == 'public_display' ) { $view->set_display('private_display'); } } /** - * This hook is called right before the build process, but after displays - * are attached and the display performs its pre_execute phase. + * Called after the display's pre_execute phase but before the build process. * * Adding output to the view can be accomplished by placing text on * $view->attachment_before and $view->attachment_after. - * @param $view + * + * @param object $view * The view object about to be processed. */ function hook_views_pre_build(&$view) { @@ -934,12 +1015,15 @@ function hook_views_pre_build(&$view) { } /** - * This hook is called right after the build process. The query is now fully - * built, but it has not yet been run through db_rewrite_sql. + * This hook is called right after the build process. + * + * The query is now fully built, but it has not yet been run through + * db_rewrite_sql. * * Adding output to the view can be accomplished by placing text on * $view->attachment_before and $view->attachment_after. - * @param $view + * + * @param object $view * The view object about to be processed. */ function hook_views_post_build(&$view) { @@ -957,12 +1041,15 @@ function hook_views_post_build(&$view) { } /** - * This hook is called right before the execute process. The query is now fully - * built, but it has not yet been run through db_rewrite_sql. + * This hook is called right before the execute process. + * + * The query is now fully built, but it has not yet been run through + * db_rewrite_sql. * * Adding output to the view can be accomplished by placing text on * $view->attachment_before and $view->attachment_after. - * @param $view + * + * @param object $view * The view object about to be processed. */ function hook_views_pre_execute(&$view) { @@ -976,14 +1063,16 @@ function hook_views_pre_execute(&$view) { } /** - * This hook is called right after the execute process. The query has - * been executed, but the pre_render() phase has not yet happened for - * handlers. + * This hook is called right after the execute process. + * + * The query has been executed, but the pre_render() phase has not yet happened + * for handlers. * * Adding output to the view can be accomplished by placing text on - * $view->attachment_before and $view->attachment_after. Altering the - * content can be achieved by editing the items of $view->result. - * @param $view + * $view->attachment_before and $view->attachment_after. Altering the content + * can be achieved by editing the items of $view->result. + * + * @param object $view * The view object about to be processed. */ function hook_views_post_execute(&$view) { @@ -997,16 +1086,18 @@ function hook_views_post_execute(&$view) { } /** - * This hook is called right before the render process. The query has been - * executed, and the pre_render() phase has already happened for handlers, so - * all data should be available. + * This hook is called right before the render process. + * + * The query has been executed, and the pre_render() phase has already happened + * for handlers, so all data should be available. * * Adding output to the view can be accomplished by placing text on * $view->attachment_before and $view->attachment_after. Altering the content * can be achieved by editing the items of $view->result. * * This hook can be utilized by themes. - * @param $view + * + * @param object $view * The view object about to be processed. */ function hook_views_pre_render(&$view) { @@ -1037,11 +1128,12 @@ function hook_views_pre_render(&$view) { * so all ids used in the query should be discoverable. * * This hook can be utilized by themes. - * @param $view + * + * @param object $view * The view object about to be processed. - * @param $output + * @param string $output * A flat string with the rendered output of the view. - * @param $cache + * @param array $cache * The cache settings. */ function hook_views_post_render(&$view, &$output, &$cache) { @@ -1061,10 +1153,11 @@ function hook_views_post_render(&$view, &$output, &$cache) { * 'path' key returned by MODULENAME_views_api(), or the same directory as the * .module file, if 'path' is unspecified. * - * @param $view + * @param object $view * The view object about to be processed. - * @param $query + * @param object $query * An object describing the query. + * * @see hook_views_query_substitutions() */ function hook_views_query_alter(&$view, &$query) { @@ -1090,8 +1183,9 @@ function hook_views_query_alter(&$view, &$query) { } /** - * Alter the information box that (optionally) appears with a view preview, - * including query and performance statistics. + * Alter the information box that (optionally) appears with a view preview. + * + * Includes query and performance statistics. * * This hook should be placed in MODULENAME.views.inc and it will be * auto-loaded. MODULENAME.views.inc must be in the directory specified by the @@ -1101,14 +1195,15 @@ function hook_views_query_alter(&$view, &$query) { * Warning: $view is not a reference in PHP4 and cannot be modified here. But it * IS a reference in PHP5, and can be modified. Please be careful with it. * - * @param $rows + * @param array $rows * An associative array with two keys: * - query: An array of rows suitable for theme('table'), containing * information about the query and the display title and path. * - statistics: An array of rows suitable for theme('table'), containing * performance statistics. - * @param $view + * @param object $view * The view object. + * * @see theme_table() */ function hook_views_preview_info_alter(&$rows, $view) { @@ -1121,15 +1216,16 @@ function hook_views_preview_info_alter(&$rows, $view) { } /** - * This hooks allows to alter the links at the top of the view edit form. Some - * modules might want to add links there. + * This hooks allows to alter the links at the top of the view edit form. + * + * Some modules might want to add links there. * - * @param $links + * @param array $links * An array of links which will be displayed at the top of the view edit form. * Each entry should be on a form suitable for theme('link'). - * @param view $view + * @param object $view * The full view object which is currently edited. - * @param $display_id + * @param string $display_id * The current display id which is edited. For example that's 'default' or * 'page_1'. */ @@ -1141,12 +1237,11 @@ function hook_views_ui_display_top_links_alter(&$links, $view, $display_id) { } /** - * This hook allows to alter the commands which are used on a views ajax - * request. + * Allows altering the commands which are used on a views AJAX request. * - * @param $commands - * An array of ajax commands - * @param $view view + * @param array $commands + * An array of ajax commands. + * @param object $view * The view which is requested. */ function hook_views_ajax_data_alter(&$commands, $view) { @@ -1165,9 +1260,12 @@ function hook_views_ajax_data_alter(&$commands, $view) { * This hook should fire whenever a view is enabled, disabled, created, * updated, or deleted. * + * @param string $cid + * The cache identifier that is being cleared. + * * @see views_invalidate_cache() */ -function hook_views_invalidate_cache() { +function hook_views_invalidate_cache($cid) { cache_clear_all('views:*', 'cache_mymodule', TRUE); } diff --git a/profiles/wcm_base/modules/contrib/views/views.info b/profiles/wcm_base/modules/contrib/views/views.info index 021c64e9db04f99cec118c1ccef72e59c390c725..1dd74a50c24088a2e6b12509f61dc7b483322284 100644 --- a/profiles/wcm_base/modules/contrib/views/views.info +++ b/profiles/wcm_base/modules/contrib/views/views.info @@ -328,9 +328,8 @@ files[] = tests/views_cache.test files[] = tests/views_view.test files[] = tests/views_ui.test -; Information added by Drupal.org packaging script on 2017-08-23 -version = "7.x-3.18" +; Information added by Drupal.org packaging script on 2018-04-14 +version = "7.x-3.20" core = "7.x" project = "views" -datestamp = "1503495103" - +datestamp = "1523668093" diff --git a/profiles/wcm_base/modules/contrib/views/views.install b/profiles/wcm_base/modules/contrib/views/views.install index 35c570c387a2009e113c1c8361ea00485f86e534..92c7abc1872959475e29bcdf35ab742a9ca5c038 100644 --- a/profiles/wcm_base/modules/contrib/views/views.install +++ b/profiles/wcm_base/modules/contrib/views/views.install @@ -19,20 +19,18 @@ function views_install() { /** * Implements hook_schema(). - * - * Generate the current version of the database schema from - * the sequence of schema update functions. Uses a similar - * method to install.inc's drupal_get_schema_versions() to - * establish the update sequence. - * - * To change the schema, add a new views_schema_N() - * function to match the associated views_update_N() - * - * @param $caller_function - * The name of the function that called us. - * Used internally, if requesting a specific schema version. */ -function views_schema($caller_function = FALSE) { +function views_schema($caller_function = NULL) { + // Generate the current version of the database schema from the sequence of + // schema update functions. Uses a similar method to install.inc's + // drupal_get_schema_versions() to establish the update sequence. + // + // To change the schema, add a new views_schema_N() function to match the + // associated views_update_N(). + // + // @param string $caller_function + // The name of the function that called us. Used internally, if requesting a + // specific schema version. static $get_current; static $schemas = array(); @@ -55,19 +53,19 @@ function views_schema($caller_function = FALSE) { if ($schemas) { sort($schemas, SORT_NUMERIC); - // If a specific version was requested, drop any later - // updates from the sequence. + // If a specific version was requested, drop any later updates from the + // sequence. if ($caller_function) { do { $schema = array_pop($schemas); - } while ($schemas && $caller_function != 'views_schema_'. $schema); + } while ($schemas && $caller_function != 'views_schema_' . $schema); } } } // Call views_schema_<n>, for the highest available <n>. if ($schema = array_pop($schemas)) { - $function = 'views_schema_'. $schema; + $function = 'views_schema_' . $schema; return $function(); } @@ -76,12 +74,14 @@ function views_schema($caller_function = FALSE) { /** * Views 2's initial schema. + * * Called directly by views_update_6000() for updates from Drupal 5. * * Important: Do not edit this schema! * - * Updates to the views schema must be provided as views_schema_6xxx() functions, - * which views_schema() automatically sees and applies. See below for examples. + * Updates to the views schema must be provided as views_schema_6xxx() + * functions, which views_schema() automatically sees and applies. See below for + * examples. * * Please do document updates with comments in this function, however. */ @@ -102,11 +102,11 @@ function views_schema_6000() { 'current_version' => '3.0', ), 'object' => 'view', - // the callback to load the displays + // the callback to load the displays. 'subrecords callback' => 'views_load_display_records', - // the variable that holds enabled/disabled status + // the variable that holds enabled/disabled status. 'status' => 'views_defaults', - // CRUD callbacks + // CRUD callbacks. 'create callback' => 'views_new_view', 'save callback' => 'views_save_view', 'delete callback' => 'views_delete_view', @@ -148,7 +148,8 @@ function views_schema_6000() { ), 'base_table' => array( 'type' => 'varchar', - 'length' => '32', // Updated to '64' in views_schema_6005() + 'length' => '32', + // Updated to '64' in views_schema_6005() 'default' => '', 'not null' => TRUE, 'description' => 'What table this view is based on, such as node, user, comment, or term.', @@ -161,7 +162,8 @@ function views_schema_6000() { ), ), 'primary key' => array('vid'), - 'unique key' => array('name' => array('name')), // Updated to 'unique keys' in views_schema_6003() + 'unique key' => array('name' => array('name')), + // Updated to 'unique keys' in views_schema_6003() ); $schema['views_display'] = array( @@ -241,7 +243,8 @@ function views_schema_6000() { 'description' => 'The time this cache was created or updated.', ), 'data' => array( - 'type' => 'blob', // Updated to 'text' (with size => 'big') in views_schema_6004() + 'type' => 'blob', + // Updated to 'text' (with size => 'big') in views_schema_6004() 'description' => 'Serialized data being stored.', 'serialize' => TRUE, ), @@ -294,7 +297,7 @@ function views_update_6001() { update_sql("UPDATE {blocks} SET delta = CONCAT(delta, '-block_1') WHERE module = 'views'"); } -/* +/** * NOTE: Update 6002 removed because it did not always work. * Update 6004 implements the change correctly. */ @@ -337,7 +340,7 @@ function views_update_6004() { } /** - * Enlarge the base_table column + * Enlarge the base_table column. */ function views_schema_6005() { $schema = views_schema(__FUNCTION__); @@ -444,7 +447,7 @@ function views_update_6009() { } /** - * Remove the view_php field + * Remove the view_php field. */ function views_schema_6010() { $schema = views_schema(__FUNCTION__); @@ -454,7 +457,7 @@ function views_schema_6010() { } /** - * Remove the view_php and is_cacheable field + * Remove the view_php and is_cacheable field. */ function views_update_6010() { db_drop_field('views_view', 'view_php'); @@ -578,7 +581,7 @@ function views_update_7000() { } /** - * Fix missing items from Views administrative breadcrumb + * Fix missing items from Views administrative breadcrumb. */ function views_update_7001() { $depth = db_select('menu_links') @@ -619,7 +622,7 @@ function views_schema_7301() { } /** - * Enlarge the name column + * Enlarge the name column. */ function views_update_7301() { $new_field = array( @@ -633,9 +636,9 @@ function views_update_7301() { } /** - * Remove headers field from cache tables + * Remove headers field from cache tables. * - * @see system_update_7054(). + * @see system_update_7054() */ function views_update_7302() { if (db_field_exists('cache_views', 'headers')) { diff --git a/profiles/wcm_base/modules/contrib/views/views.module b/profiles/wcm_base/modules/contrib/views/views.module index 2093aa742be454a3294ce431c1e4746c0284e086..58cfed4fc40ce84e781bdc45fe152fb7dfa86163 100644 --- a/profiles/wcm_base/modules/contrib/views/views.module +++ b/profiles/wcm_base/modules/contrib/views/views.module @@ -36,7 +36,7 @@ function views_help($path, $arg) { } /** - * Advertise the current views api version + * Advertise the current views api version. */ function views_api_version() { return '3.0'; @@ -81,7 +81,9 @@ function views_api_minimum_version() { } /** - * Implement hook_theme(). Register views theming functions. + * Implements hook_theme(). + * + * Register views theming functions. */ function views_theme($existing, $type, $theme, $path) { $path = drupal_get_path('module', 'views'); @@ -93,9 +95,13 @@ function views_theme($existing, $type, $theme, $path) { 'path' => $path . '/theme', ); - // Our extra version of pager from pager.inc + // Our extra version of pager from pager.inc. $hooks['views_mini_pager'] = $base + array( - 'variables' => array('tags' => array(), 'element' => 0, 'parameters' => array()), + 'variables' => array( + 'tags' => array(), + 'element' => 0, + 'parameters' => array(), + ), 'pattern' => 'views_mini_pager__', ); @@ -104,28 +110,48 @@ function views_theme($existing, $type, $theme, $path) { // $view is an object but the core contextual_preprocess() function only // attaches contextual links when the primary theme argument is an array. 'display' => array('view_array' => array(), 'view' => NULL), - 'style' => array('view' => NULL, 'options' => NULL, 'rows' => NULL, 'title' => NULL), - 'row' => array('view' => NULL, 'options' => NULL, 'row' => NULL, 'field_alias' => NULL), + 'style' => array( + 'view' => NULL, + 'options' => NULL, + 'rows' => NULL, + 'title' => NULL, + ), + 'row' => array( + 'view' => NULL, + 'options' => NULL, + 'row' => NULL, + 'field_alias' => NULL, + ), 'exposed_form' => array('view' => NULL, 'options' => NULL), 'pager' => array( - 'view' => NULL, 'options' => NULL, - 'tags' => array(), 'quantity' => 10, 'element' => 0, 'parameters' => array() + 'view' => NULL, + 'options' => NULL, + 'tags' => array(), + 'quantity' => 10, + 'element' => 0, + 'parameters' => array(), ), ); - // Default view themes + // Default view themes. $hooks['views_view_field'] = $base + array( 'pattern' => 'views_view_field__', 'variables' => array('view' => NULL, 'field' => NULL, 'row' => NULL), ); $hooks['views_view_grouping'] = $base + array( 'pattern' => 'views_view_grouping__', - 'variables' => array('view' => NULL, 'grouping' => NULL, 'grouping_level' => NULL, 'rows' => NULL, 'title' => NULL), + 'variables' => array( + 'view' => NULL, + 'grouping' => NULL, + 'grouping_level' => NULL, + 'rows' => NULL, + 'title' => NULL, + ), ); $plugins = views_fetch_plugin_data(); - // Register theme functions for all style plugins + // Register theme functions for all style plugins. foreach ($plugins as $type => $info) { foreach ($info as $plugin => $def) { if (isset($def['theme']) && (!isset($def['register theme']) || !empty($def['register theme']))) { @@ -180,7 +206,11 @@ function views_theme($existing, $type, $theme, $path) { $hooks['views_more'] = $base + array( 'template' => 'views-more', 'pattern' => 'views_more__', - 'variables' => array('more_url' => NULL, 'link_text' => 'more', 'view' => NULL), + 'variables' => array( + 'more_url' => NULL, + 'link_text' => 'more', + 'view' => NULL, + ), ); // Add theme suggestions which are part of modules. @@ -195,16 +225,16 @@ function views_theme($existing, $type, $theme, $path) { /** * Scans a directory of a module for template files. * - * @param $cache + * @param array $cache * The existing cache of theme hooks to test against. - * @param $path + * @param string $path * The path to search. * * @see drupal_find_theme_templates() */ function _views_find_module_templates($cache, $path) { $templates = array(); - $regex = '/' . '\.tpl\.php' . '$' . '/'; + $regex = '/\.tpl\.php$/'; // Because drupal_system_listing works the way it does, we check for real // templates separately from checking for patterns. @@ -242,11 +272,12 @@ function _views_find_module_templates($cache, $path) { // for the purposes of searching. $pattern = strtr($info['pattern'], '_', '-'); - $matches = preg_grep('/^'. $pattern .'/', $patterns); + $matches = preg_grep('/^' . $pattern . '/', $patterns); if ($matches) { foreach ($matches as $match) { $file = substr($match, 0, strpos($match, '.')); - // Put the underscores back in for the hook name and register this pattern. + // Put the underscores back in for the hook name and register this + // pattern. $templates[strtr($file, '-', '_')] = array( 'template' => $file, 'path' => dirname($files[$match]->uri), @@ -315,6 +346,8 @@ function views_plugin_list() { } /** + * Preprocess a node. + * * A theme preprocess function to automatically allow view-based node * templates if called from a view. * @@ -330,8 +363,8 @@ function views_preprocess_node(&$vars) { if (!empty($vars['node']->view->current_display)) { $vars['theme_hook_suggestions'][] = 'node__view__' . $vars['node']->view->name . '__' . $vars['node']->view->current_display; - // If a node is being rendered in a view, and the view does not have a path, - // prevent drupal from accidentally setting the $page variable: + // If a node is being rendered in a view, and the view does not have a + // path, prevent drupal from accidentally setting the $page variable. if ($vars['page'] && $vars['view_mode'] == 'full' && !$vars['view']->display_handler->has_path()) { $vars['page'] = FALSE; } @@ -345,11 +378,14 @@ function views_preprocess_node(&$vars) { } /** + * Preprocess a comment. + * * A theme preprocess function to automatically allow view-based node * templates if called from a view. */ function views_preprocess_comment(&$vars) { - // The 'view' attribute of the node is added in template_preprocess_views_view_row_comment() + // The 'view' attribute of the node is added in + // template_preprocess_views_view_row_comment(). if (!empty($vars['node']->view) && !empty($vars['node']->view->name)) { $vars['view'] = &$vars['node']->view; $vars['theme_hook_suggestions'][] = 'comment__view__' . $vars['node']->view->name; @@ -360,7 +396,7 @@ function views_preprocess_comment(&$vars) { } /** - * Implement hook_permission(). + * Implements hook_permission(). */ function views_permission() { return array( @@ -378,7 +414,7 @@ function views_permission() { } /** - * Implement hook_menu(). + * Implements hook_menu(). */ function views_menu() { $items = array(); @@ -392,8 +428,8 @@ function views_menu() { 'type' => MENU_CALLBACK, 'file' => 'includes/ajax.inc', ); - // Path is not admin/structure/views due to menu complications with the wildcards from - // the generic ajax callback. + // Path is not admin/structure/views due to menu complications with the + // wildcards from the generic ajax callback. $items['admin/views/ajax/autocomplete/user'] = array( 'page callback' => 'views_ajax_autocomplete_user', 'theme callback' => 'ajax_base_page_theme', @@ -416,7 +452,7 @@ function views_menu() { } /** - * Implement hook_menu_alter(). + * Implements hook_menu_alter(). */ function views_menu_alter(&$callbacks) { $our_paths = array(); @@ -425,18 +461,14 @@ function views_menu_alter(&$callbacks) { list($view, $display_id) = $data; $result = $view->execute_hook_menu($display_id, $callbacks); if (is_array($result)) { - // The menu system doesn't support having two otherwise - // identical paths with different placeholders. So we - // want to remove the existing items from the menu whose - // paths would conflict with ours. - - // First, we must find any existing menu items that may - // conflict. We use a regular expression because we don't - // know what placeholders they might use. Note that we - // first construct the regex itself by replacing %views_arg - // in the display path, then we use this constructed regex - // (which will be something like '#^(foo/%[^/]*/bar)$#') to - // search through the existing paths. + // The menu system doesn't support having two otherwise identical paths + // with different placeholders. So we want to remove the existing items + // from the menu whose paths would conflict with ours. First, we must find + // any existing menu items that may conflict. We use a regular expression + // because we don't know what placeholders they might use. Note that we + // first construct the regex itself by replacing %views_arg in the display + // path, then we use this constructed regex (which will be something like + // '#^(foo/%[^/]*/bar)$#') to search through the existing paths. $regex = '#^(' . preg_replace('#%views_arg#', '%[^/]*', implode('|', array_keys($result))) . ')$#'; $matches = preg_grep($regex, array_keys($callbacks)); @@ -457,10 +489,10 @@ function views_menu_alter(&$callbacks) { // This item already exists, so it must be one that we added. // We change the various callback arguments to pass an array // of possible display IDs instead of a single ID. - $callbacks[$path]['page arguments'][1] = (array)$callbacks[$path]['page arguments'][1]; + $callbacks[$path]['page arguments'][1] = (array) $callbacks[$path]['page arguments'][1]; $callbacks[$path]['page arguments'][1][] = $display_id; $callbacks[$path]['access arguments'][] = $item['access arguments'][0]; - $callbacks[$path]['load arguments'][1] = (array)$callbacks[$path]['load arguments'][1]; + $callbacks[$path]['load arguments'][1] = (array) $callbacks[$path]['load arguments'][1]; $callbacks[$path]['load arguments'][1][] = $display_id; } $our_paths[$path] = TRUE; @@ -476,22 +508,24 @@ function views_menu_alter(&$callbacks) { } /** + * Load a views argument. + * * Helper function for menu loading. This will automatically be * called in order to 'load' a views argument; primarily it * will be used to perform validation. * - * @param $value + * @param string $value * The actual value passed. - * @param $name + * @param string $name * The name of the view. This needs to be specified in the 'load function' * of the menu entry. - * @param $display_id + * @param string $display_id * The display id that will be loaded for this menu item. - * @param $index + * @param int $index * The menu argument index. This counts from 1. */ function views_arg_load($value, $name, $display_id, $index) { - static $views = array(); + static $views = array(); $display_ids = is_array($display_id) ? $display_id : array($display_id); $display_id = reset($display_ids); @@ -547,12 +581,12 @@ function views_arg_load($value, $name, $display_id, $index) { /** * Page callback: Displays a page view, given a name and display id. * - * @param $name + * @param string $name * The name of a view. - * @param $display_id + * @param string $display_id * The display id of a view. * - * @return + * @return string|int * Either the HTML of a fully-executed view, or MENU_NOT_FOUND. */ function views_page($name, $display_id) { @@ -616,8 +650,8 @@ function views_preprocess_html(&$variables) { } /** -* Implements hook_preprocess_HOOK() for page.tpl.php. -*/ + * Implements hook_preprocess_HOOK() for page.tpl.php. + */ function views_preprocess_page(&$variables) { // If the page contains a view as its main content, contextual links may have // been attached to the page as a whole; for example, by views_page_alter(). @@ -649,7 +683,7 @@ function views_contextual_links_view_alter(&$element, $items) { } /** - * Implement hook_block_info(). + * Implements hook_block_info(). */ function views_block_info() { // Try to avoid instantiating all the views just to get the blocks info. @@ -662,7 +696,7 @@ function views_block_info() { $items = array(); $views = views_get_all_views(); foreach ($views as $view) { - // disabled views get nothing. + // Disabled views get nothing. if (!empty($view->disabled)) { continue; } @@ -691,7 +725,7 @@ function views_block_info() { // can also be 32. So for very long deltas, change to md5 hashes. $hashes = array(); - // get the keys because we're modifying the array and we don't want to + // Get the keys because we're modifying the array and we don't want to // confuse PHP too much. $keys = array_keys($items); foreach ($keys as $delta) { @@ -719,11 +753,10 @@ function views_block_info() { } /** - * Implement hook_block_view(). + * Implements hook_block_view(). */ function views_block_view($delta) { - $start = microtime(TRUE); - // if this is 32, this should be an md5 hash. + // If this is 32, this should be an md5 hash. if (strlen($delta) == 32) { $hashes = variable_get('views_block_hashes', array()); if (!empty($hashes[$delta])) { @@ -758,7 +791,7 @@ function views_block_view($delta) { return; } list($name, $display_id) = $explode; - // Load the view + // Load the view. if ($view = views_get_view($name)) { if ($view->access($display_id)) { $output = $view->execute_display($display_id); @@ -775,18 +808,18 @@ function views_block_view($delta) { /** * Converts Views block content to a renderable array with contextual links. * - * @param $block + * @param array $block * An array representing the block, with the same structure as the return * value of hook_block_view(). This will be modified so as to force * $block['content'] to be a renderable array, containing the optional * '#contextual_links' property (if there are any contextual links associated * with the block). - * @param $view + * @param object $view * The view that was used to generate the block content. - * @param $display_id + * @param string $display_id * The ID of the display within the view that was used to generate the block * content. - * @param $block_type + * @param string $block_type * The type of the block. If it's block it's a regular views display, * but 'special_block_-exp' exist as well. */ @@ -833,12 +866,12 @@ function views_add_block_contextual_links(&$block, $view, $display_id, $block_ty * later on (for example, alter hooks which run later during the same page * request). * - * @param $render_element + * @param array $render_element * The renderable array to which contextual links will be added. This array * should be suitable for passing in to drupal_render() and will normally * contain a representation of the view display whose contextual links are * being requested. - * @param $location + * @param string $location * The location in which the calling function intends to render the view and * its contextual links. The core system supports three options for this * parameter: @@ -858,9 +891,9 @@ function views_add_block_contextual_links(&$block, $view, $display_id, $block_ty * declare, via the 'contextual links locations' array key, which view * displays support having their contextual links rendered in the location * you have defined. - * @param $view + * @param object $view * The view whose contextual links will be added. - * @param $display_id + * @param string $display_id * The ID of the display within $view whose contextual links will be added. * * @see hook_views_plugins() @@ -878,7 +911,7 @@ function views_add_contextual_links(&$render_element, $location, $view, $display $plugin = views_fetch_plugin_data('display', $view->display[$display_id]->display_plugin); // If contextual links locations are not set, provide a sane default. (To // avoid displaying any contextual links at all, a display plugin can still - // set 'contextual links locations' to, e.g., an empty array.) + // set 'contextual links locations' to, e.g., an empty array). $plugin += array('contextual links locations' => array('view')); // On exposed_forms blocks contextual links should always be visible. $plugin['contextual links locations'][] = 'special_block_-exp'; @@ -920,13 +953,14 @@ function views_add_contextual_links(&$render_element, $location, $view, $display /** * Returns an array of language names. * - * This is a one to one copy of locale_language_list because we can't rely on enabled locale module. + * This is a one to one copy of locale_language_list because we can't rely on + * enabled locale module. * - * @param $field - * 'name' => names in current language, localized - * 'native' => native names - * @param $all - * Boolean to return all languages or only enabled ones + * @param string $field + * Either 'name' for localized names in current language or 'native' for + * native names. + * @param bool $all + * Boolean to return all languages or only enabled ones. * * @see locale_language_list() */ @@ -953,7 +987,7 @@ function views_flush_caches() { } /** - * Implements hook_field_create_instance. + * Implements hook_field_create_instance(). */ function views_field_create_instance($instance) { cache_clear_all('*', 'cache_views', TRUE); @@ -961,7 +995,7 @@ function views_field_create_instance($instance) { } /** - * Implements hook_field_update_instance. + * Implements hook_field_update_instance(). */ function views_field_update_instance($instance, $prior_instance) { cache_clear_all('*', 'cache_views', TRUE); @@ -969,7 +1003,7 @@ function views_field_update_instance($instance, $prior_instance) { } /** - * Implements hook_field_delete_instance. + * Implements hook_field_delete_instance(). */ function views_field_delete_instance($instance) { cache_clear_all('*', 'cache_views', TRUE); @@ -978,10 +1012,14 @@ function views_field_delete_instance($instance) { /** * Invalidate the views cache, forcing a rebuild on the next grab of table data. + * + * @param string $cid + * The cache identifier we want to clear. If no given, it will default to '*' + * which will clear the entire cache_views bin. */ -function views_invalidate_cache() { +function views_invalidate_cache($cid = '*') { // Clear the views cache. - cache_clear_all('*', 'cache_views', TRUE); + cache_clear_all($cid, 'cache_views', TRUE); // Clear the page and block cache. cache_clear_all(); @@ -990,7 +1028,7 @@ function views_invalidate_cache() { variable_set('menu_rebuild_needed', TRUE); // Allow modules to respond to the Views cache being cleared. - module_invoke_all('views_invalidate_cache'); + module_invoke_all('views_invalidate_cache', $cid); } /** @@ -1065,7 +1103,7 @@ function views_check_perm($perms, $account = NULL) { /** * Access callback for the views_plugin_access_role access plugin. - + * * Determine if the specified user has access to a view on the basis of any of * the requested roles. If the $account argument is omitted, the current user * is used. @@ -1077,10 +1115,10 @@ function views_check_roles($rids, $account = NULL) { $roles[] = $account->uid ? DRUPAL_AUTHENTICATED_RID : DRUPAL_ANONYMOUS_RID; return user_access('access all views', $account) || array_intersect(array_filter($rids), $roles); } -// ------------------------------------------------------------------ -// Functions to help identify views that are running or ran /** + * Set page view. + * * Set the current 'page view' that is being displayed so that it is easy * for other modules or the theme to identify. */ @@ -1094,6 +1132,8 @@ function &views_set_page_view($view = NULL) { } /** + * Get page view. + * * Find out what, if any, page view is currently in use. Please note that * this returns a reference, so be careful! You can unintentionally modify the * $view object. @@ -1106,10 +1146,13 @@ function &views_get_page_view() { } /** + * Set current view. + * * Set the current 'current view' that is being built/rendered so that it is - * easy for other modules or items in drupal_eval to identify + * easy for other modules or items in drupal_eval to identify. * * @return view + * The current view. */ function &views_set_current_view($view = NULL) { static $cache = NULL; @@ -1121,24 +1164,28 @@ function &views_set_current_view($view = NULL) { } /** + * Get current view. + * * Find out what, if any, current view is currently in use. Please note that * this returns a reference, so be careful! You can unintentionally modify the * $view object. * * @return view + * The current view. */ function &views_get_current_view() { return views_set_current_view(); } -// ------------------------------------------------------------------ -// Include file helpers - /** * Include views .inc files as necessary. */ function views_include($file) { - ctools_include($file, 'views'); + static $views_path; + if (!isset($views_path)) { + $views_path = DRUPAL_ROOT . '/' . drupal_get_path('module', 'views'); + } + include_once $views_path . '/includes/' . $file . '.inc'; } /** @@ -1175,7 +1222,7 @@ function views_get_module_apis($api = 'views', $reset = FALSE) { function views_add_css($file) { // We set preprocess to FALSE because we are adding the files conditionally, // and we don't want to generate duplicate cache files. - // TODO: at some point investigate adding some files unconditionally and + // @todo at some point investigate adding some files unconditionally and // allowing preprocess. drupal_add_css(drupal_get_path('module', 'views') . "/css/$file.css", array('preprocess' => FALSE)); } @@ -1219,22 +1266,18 @@ function views_include_handlers($reset = FALSE) { $finished = TRUE; } -// ----------------------------------------------------------------------- -// Views handler functions - /** * Fetch a handler from the data cache. * - * @param $table + * @param string $table * The name of the table this handler is from. - * @param $field + * @param string $field * The name of the field this handler is from. - * @param $key - * The type of handler. i.e, sort, field, argument, filter, relationship - * @param $override - * Override the actual handler object with this class. Used for - * aggregation when the handler is redirected to the aggregation - * handler. + * @param string $key + * The type of handler. i.e, sort, field, argument, filter, relationship. + * @param mixed $override + * Override the actual handler object with this class. Used for aggregation + * when the handler is redirected to the aggregation handler. * * @return views_handler * An instance of a handler object. May be views_handler_broken. @@ -1246,8 +1289,6 @@ function views_get_handler($table, $field, $key, $override = NULL) { $handler = NULL; views_include('handlers'); - // Support old views_data entries conversion. - // Support conversion on table level. if (isset($data['moved to'])) { $moved = array($data['moved to'], $field); @@ -1265,7 +1306,7 @@ function views_get_handler($table, $field, $key, $override = NULL) { if (!empty($moved)) { list($moved_table, $moved_field) = $moved; if (!empty($recursion_protection[$moved_table][$moved_field])) { - // recursion detected! + // Recursion detected! return NULL; } @@ -1273,7 +1314,7 @@ function views_get_handler($table, $field, $key, $override = NULL) { $handler = views_get_handler($moved_table, $moved_field, $key, $override); $recursion_protection = array(); if ($handler) { - // store these values so we know what we were originally called. + // Store these values so we know what we were originally called. $handler->original_table = $table; $handler->original_field = $field; if (empty($handler->actual_table)) { @@ -1284,7 +1325,7 @@ function views_get_handler($table, $field, $key, $override = NULL) { return $handler; } - // Set up a default handler: + // Set up a default handler. if (empty($data[$field][$key]['handler'])) { $data[$field][$key]['handler'] = 'views_handler_' . $key; } @@ -1300,8 +1341,9 @@ function views_get_handler($table, $field, $key, $override = NULL) { return $handler; } - // DEBUG -- identify missing handlers - vpr("Missing handler: @table @field @key", array('@table' => $table, '@field' => $field, '@key' => $key)); + // DEBUG -- identify missing handlers. + $placeholders = array('@table' => $table, '@field' => $field, '@key' => $key); + vpr("Missing handler: @table @field @key", $placeholders); $broken = array( 'title' => t('Broken handler @table.@field', array('@table' => $table, '@field' => $field)), 'handler' => 'views_handler_' . $key . '_broken', @@ -1312,16 +1354,13 @@ function views_get_handler($table, $field, $key, $override = NULL) { } /** - * Fetch Views' data from the cache + * Fetch Views' data from the cache. */ function views_fetch_data($table = NULL, $move = TRUE, $reset = FALSE) { views_include('cache'); return _views_fetch_data($table, $move, $reset); } -// ----------------------------------------------------------------------- -// Views plugin functions - /** * Fetch the plugin data from cache. */ @@ -1331,17 +1370,17 @@ function views_fetch_plugin_data($type = NULL, $plugin = NULL, $reset = FALSE) { } /** - * Fetch a list of all base tables available + * Fetch a list of all base tables available. * - * @param $type - * Either 'display', 'style' or 'row' - * @param $key - * For style plugins, this is an optional type to restrict to. May be 'normal', - * 'summary', 'feed' or others based on the needs of the display. - * @param $base + * @param string $type + * Either 'display', 'style' or 'row'. + * @param string $key + * For style plugins, this is an optional type to restrict to. May be + * 'normal', 'summary', 'feed' or others based on the needs of the display. + * @param array $base * An array of possible base tables. * - * @return + * @return array * A keyed array of in the form of 'base_table' => 'Description'. */ function views_fetch_plugin_names($type, $key = NULL, $base = array()) { @@ -1363,16 +1402,16 @@ function views_fetch_plugin_names($type, $key = NULL, $base = array()) { asort($plugins[$type]); return $plugins[$type]; } - // fall-through + + // Fall-through. return array(); } /** - * Get a handler for a plugin + * Get a handler for a plugin. * * @return views_plugin - * - * The created plugin object. + * The created plugin object. */ function views_get_plugin($type, $plugin, $reset = FALSE) { views_include('handlers'); @@ -1385,7 +1424,8 @@ function views_get_plugin($type, $plugin, $reset = FALSE) { /** * Load the current enabled localization plugin. * - * @return The name of the localization plugin. + * @return string + * The name of the localization plugin. */ function views_get_localization_plugin() { $plugin = variable_get('views_localization_plugin', ''); @@ -1402,9 +1442,6 @@ function views_get_localization_plugin() { return $plugin; } -// ----------------------------------------------------------------------- -// Views database functions - /** * Get all view templates. * @@ -1445,19 +1482,20 @@ function views_new_view() { } /** - * Return a list of all views and display IDs that have a particular - * setting in their display's plugin settings. + * Get applicable views. + * + * Return a list of all views and display IDs that have a particular setting in + * their display's plugin settings. * - * @return - * @code - * array( - * array($view, $display_id), - * array($view, $display_id), - * ); - * @endcode + * @return array + * An array with the following structure. + * array( + * array($view, $display_id), + * array($view, $display_id), + * ); */ function views_get_applicable_views($type) { - // @todo: Use a smarter flagging system so that we don't have to + // @todo Use a smarter flagging system so that we don't have to // load every view for this. $result = array(); $views = views_get_all_views(); @@ -1498,7 +1536,7 @@ function views_get_applicable_views($type) { /** * Return an array of all views as fully loaded $view objects. * - * @param $reset + * @param bool $reset * If TRUE, reset the static cache forcing views to be reloaded. */ function views_get_all_views($reset = FALSE) { @@ -1523,29 +1561,31 @@ function views_get_disabled_views() { } /** + * Get options array. + * * Return an array of view as options array, that can be used by select, * checkboxes and radios as #options. * * @param bool $views_only - * If TRUE, only return views, not displays. + * If TRUE, only return views, not displays. * @param string $filter - * Filters the views on status. Can either be 'all' (default), 'enabled' or - * 'disabled' - * @param mixed $exclude_view - * view or current display to exclude - * either a - * - views object (containing $exclude_view->name and $exclude_view->current_display) - * - views name as string: e.g. my_view - * - views name and display id (separated by ':'): e.g. my_view:default + * Filters the views on status. Can either be 'all' (default), 'enabled' or + * 'disabled'. + * @param mixed $exclude_view + * View or current display to exclude + * either a + * - views object (containing name and current_display) + * - views name as string: e.g. my_view + * - views name and display id (separated by ':'): e.g. my_view:default. * @param bool $optgroup - * If TRUE, returns an array with optgroups for each view (will be ignored for - * $views_only = TRUE). Can be used by select + * If TRUE, returns an array with optgroups for each view (will be ignored for + * $views_only = TRUE). Can be used by select. * @param bool $sort - * If TRUE, the list of views is sorted ascending. + * If TRUE, the list of views is sorted ascending. * * @return array - * an associative array for use in select. - * - key: view name and display id separated by ':', or the view name only + * An associative array for use in select. + * - key: view name and display id separated by ':', or the view name only */ function views_get_views_as_options($views_only = FALSE, $filter = 'all', $exclude_view = NULL, $optgroup = FALSE, $sort = FALSE) { @@ -1557,6 +1597,7 @@ function views_get_views_as_options($views_only = FALSE, $filter = 'all', $exclu $func = "views_get_{$filter}_views"; $views = $func(); break; + default: return array(); } @@ -1621,10 +1662,11 @@ function views_view_is_disabled($view) { * isn't called 'views_load()' primarily because it might get a view * from the default views which aren't technically loaded from the database. * - * @param $name + * @param string $name * The name of the view. - * @param $reset + * @param bool $reset * If TRUE, reset this entry in the load cache. + * * @return view * A reference to the $view object. Use $reset if you're sure you want * a fresh one. @@ -1730,22 +1772,19 @@ function views_export_status($view, $status) { views_invalidate_cache(); } -// ------------------------------------------------------------------ -// Views debug helper functions - /** * Provide debug output for Views. * * This relies on devel.module * or on the debug() function if you use a simpletest. * - * @param $message + * @param mixed $message * The message/variable which should be debugged. * This either could be * * an array/object which is converted to pretty output - * * a translation source string which is used together with the parameter placeholders. - * - * @param $placeholder + * * a translation source string which is used together with the parameter + * placeholders. + * @param array $placeholders * The placeholders which are used for the translation source string. */ function views_debug($message, $placeholders = array()) { @@ -1758,7 +1797,7 @@ function views_debug($message, $placeholders = array()) { $output = $message; watchdog('views_logging', $output, $placeholders); } - else if ($devel_region == 'drupal_debug') { + elseif ($devel_region == 'drupal_debug') { $output = empty($output) ? t($message, $placeholders) : $output; dd($output); } @@ -1774,14 +1813,14 @@ function views_debug($message, $placeholders = array()) { } /** - * Shortcut to views_debug() + * Shortcut to views_debug(). */ function vpr($message, $placeholders = array()) { views_debug($message, $placeholders); } /** - * Debug messages + * Debug messages. */ function vsm($message) { if (module_exists('devel')) { @@ -1792,7 +1831,8 @@ function vsm($message) { function views_trace() { $message = ''; foreach (debug_backtrace() as $item) { - if (!empty($item['file']) && !in_array($item['function'], array('vsm_trace', 'vpr_trace', 'views_trace'))) { + $traces = array('vsm_trace', 'vpr_trace', 'views_trace'); + if (!empty($item['file']) && !in_array($item['function'], $traces)) { $message .= basename($item['file']) . ": " . (empty($item['class']) ? '' : ($item['class'] . '->')) . "$item[function] line $item[line]" . "\n"; } } @@ -1807,10 +1847,9 @@ function vpr_trace() { dpr(views_trace()); } -// ------------------------------------------------------------------ -// Views form (View with form elements) - /** + * Determine whether the view has form elements. + * * Returns TRUE if the passed-in view contains handlers with views form * implementations, FALSE otherwise. */ @@ -1832,6 +1871,7 @@ function views_view_has_form_elements($view) { /** * This is the entry function. Just gets the form for the current step. + * * The form is always assumed to be multistep, even if it has only one * step (the default 'views_form_views_form' step). That way it is actually * possible for modules to have a multistep form if they need to. @@ -1859,6 +1899,7 @@ function views_form($form, &$form_state, $view, $output) { /** * Callback for the main step of a Views form. + * * Invoked by views_form(). */ function views_form_views_form($form, &$form_state, $view, $output) { @@ -1948,6 +1989,7 @@ function views_form_views_form($form, &$form_state, $view, $output) { /** * Validate handler for the first step of the views form. + * * Calls any existing views_form_validate functions located * on the views fields. */ @@ -1973,6 +2015,7 @@ function views_form_views_form_validate($form, &$form_state) { /** * Submit handler for the first step of the views form. + * * Calls any existing views_form_submit functions located * on the views fields. */ @@ -1996,9 +2039,6 @@ function views_form_views_form_submit($form, &$form_state) { } } -// ------------------------------------------------------------------ -// Exposed widgets form - /** * Form builder for the exposed widgets form. * @@ -2008,7 +2048,8 @@ function views_exposed_form($form, &$form_state) { // Don't show the form when batch operations are in progress. if ($batch = batch_get() && isset($batch['current_set'])) { return array( - // Set the theme callback to be nothing to avoid errors in template_preprocess_views_exposed_form(). + // Set the theme callback to be nothing to avoid errors in + // template_preprocess_views_exposed_form(). '#theme' => '', ); } @@ -2023,7 +2064,7 @@ function views_exposed_form($form, &$form_state) { // Let form plugins know this is for exposed widgets. $form_state['exposed'] = TRUE; - // Check if the form was already created + // Check if the form was already created. if ($cache = views_exposed_form_cache($view->name, $view->current_display)) { return $cache; } @@ -2060,8 +2101,9 @@ function views_exposed_form($form, &$form_state) { } } + // Form submit, #name is an empty string to prevent showing up in $_GET. $form['submit'] = array( - '#name' => '', // prevent from showing up in $_GET. + '#name' => '', '#type' => 'submit', '#value' => t('Apply'), '#id' => drupal_html_id('edit-submit-' . $view->name), @@ -2070,7 +2112,6 @@ function views_exposed_form($form, &$form_state) { $form['#action'] = url($view->display_handler->get_url()); $form['#theme'] = views_theme_functions('views_exposed_form', $view, $display); $form['#id'] = drupal_clean_css_identifier('views_exposed_form-' . check_plain($view->name) . '-' . check_plain($display->id)); -// $form['#attributes']['class'] = array('views-exposed-form'); // If using AJAX, we need the form plugin. if ($view->use_ajax) { @@ -2081,14 +2122,14 @@ function views_exposed_form($form, &$form_state) { $exposed_form_plugin = $form_state['exposed_form_plugin']; $exposed_form_plugin->exposed_form_alter($form, $form_state); - // Save the form + // Save the form. views_exposed_form_cache($view->name, $view->current_display, $form); return $form; } /** - * Implement hook_form_alter for the exposed form. + * Implements hook_form_alter() for views_exposed_form(). * * Since the exposed form is a GET form, we don't want it to send a wide * variety of information. @@ -2100,7 +2141,7 @@ function views_form_views_exposed_form_alter(&$form, &$form_state) { } /** - * Validate handler for exposed filters + * Validate handler for exposed filters. */ function views_exposed_form_validate(&$form, &$form_state) { foreach (array('field', 'filter') as $type) { @@ -2114,7 +2155,7 @@ function views_exposed_form_validate(&$form, &$form_state) { } /** - * Submit handler for exposed filters + * Submit handler for exposed filters. */ function views_exposed_form_submit(&$form, &$form_state) { foreach (array('field', 'filter') as $type) { @@ -2126,8 +2167,16 @@ function views_exposed_form_submit(&$form, &$form_state) { $form_state['view']->exposed_data = $form_state['values']; $form_state['view']->exposed_raw_input = array(); - - $exclude = array('q', 'submit', 'form_build_id', 'form_id', 'form_token', 'exposed_form_plugin', '', 'reset'); + $exclude = array( + 'q', + 'submit', + 'form_build_id', + 'form_id', + 'form_token', + 'exposed_form_plugin', + '', + 'reset', + ); $exposed_form_plugin = $form_state['exposed_form_plugin']; $exposed_form_plugin->exposed_form_submit($form, $form_state, $exclude); @@ -2141,13 +2190,14 @@ function views_exposed_form_submit(&$form, &$form_state) { /** * Save the Views exposed form for later use. * - * @param $views_name - * String. The views name. - * @param $display_name - * String. The current view display name. - * @param $form_output - * Array (optional). The form structure. Only needed when inserting the value. - * @return + * @param string $views_name + * The views name. + * @param string $display_name + * The current view display name. + * @param array $form_output + * An optional form structure. Only needed when inserting the value. + * + * @return array|bool * Array. The form structure, if any. Otherwise, return FALSE. */ function views_exposed_form_cache($views_name, $display_name, $form_output = NULL) { @@ -2155,19 +2205,15 @@ function views_exposed_form_cache($views_name, $display_name, $form_output = NUL // be cleared between each test. $views_exposed = &drupal_static(__FUNCTION__); - // Save the form output + // Save the form output. if (!empty($form_output)) { $views_exposed[$views_name][$display_name] = $form_output; - return; } - // Return the form output, if any + // Return the form output, if any. return empty($views_exposed[$views_name][$display_name]) ? FALSE : $views_exposed[$views_name][$display_name]; } -// ------------------------------------------------------------------ -// Misc helpers - /** * Build a list of theme function names for use most everywhere. */ @@ -2252,9 +2298,9 @@ function _views_query_tag_alter_condition(QueryAlterableInterface $query, &$cond * to do that, you will need to do what this function does manually, by * loading the view, getting the preview and then getting $view->get_title(). * - * @param $name + * @param string $name * The name of the view to embed. - * @param $display_id + * @param string $display_id * The display id to embed. If unsure, use 'default', as it will always be * valid. But things like 'page' or 'block' should work here. * @param ... @@ -2262,9 +2308,11 @@ function _views_query_tag_alter_condition(QueryAlterableInterface $query, &$cond */ function views_embed_view($name, $display_id = 'default') { $args = func_get_args(); - array_shift($args); // remove $name + // Remove $name. + array_shift($args); if (count($args)) { - array_shift($args); // remove $display_id + // Remove $display_id. + array_shift($args); } $view = views_get_view($name); @@ -2289,14 +2337,17 @@ function views_embed_view($name, $display_id = 'default') { * Everything after #views-tab- is the display ID, e.g. page_1. * @param ... * Any additional parameters will be passed as arguments. + * * @return array * An array containing an object for each view item. */ function views_get_view_result($name, $display_id = NULL) { $args = func_get_args(); - array_shift($args); // remove $name + // Remove $name. + array_shift($args); if (count($args)) { - array_shift($args); // remove $display_id + // Remove $display_id. + array_shift($args); } $view = views_get_view($name); @@ -2361,22 +2412,28 @@ function views_var_export($var, $prefix = '', $init = TRUE) { } /** - * Prepare a string for use as a valid CSS identifier (element, class or ID name). - * This function is similar to a core version but with more sane filter values. + * Prepare a string for use as a valid CSS identifier. * + * This function is similar to a core version but with more sane filter values. * http://www.w3.org/TR/CSS21/syndata.html#characters shows the syntax for valid - * CSS identifiers (including element names, classes, and IDs in selectors.) + * CSS identifiers (including element names, classes, and IDs in selectors). * - * @param $identifier + * @param string $identifier * The identifier to clean. - * @param $filter + * @param array $filter * An array of string replacements to use on the identifier. - * @return + * + * @return string * The cleaned identifier. * * @see drupal_clean_css_identifier() */ -function views_clean_css_identifier($identifier, $filter = array(' ' => '-', '/' => '-', '[' => '-', ']' => '')) { +function views_clean_css_identifier($identifier, $filter = array( + ' ' => '-', + '/' => '-', + '[' => '-', + ']' => '', +)) { // By default, we filter using Drupal's coding standards. $identifier = strtr($identifier, $filter); @@ -2394,19 +2451,19 @@ function views_clean_css_identifier($identifier, $filter = array(' ' => '-', '/' } /** - * Implement hook_views_exportables(). + * Implements hook_views_exportables(). */ function views_views_exportables($op = 'list', $views = NULL, $name = 'foo') { $all_views = views_get_all_views(); if ($op == 'list') { foreach ($all_views as $name => $view) { - // in list, $views is a list of tags. + // In list, $views is a list of tags. if (empty($views) || in_array($view->tag, $views)) { $return[$name] = array( 'name' => check_plain($name), 'desc' => check_plain($view->description), - 'tag' => check_plain($view->tag) + 'tag' => check_plain($view->tag), ); } } @@ -2433,7 +2490,7 @@ function views_views_exportables($op = 'list', $views = NULL, $name = 'foo') { } /** - * #process callback to see if we need to check_plain() the options. + * Process callback to see if we need to check_plain() the options. * * Since FAPI is inconsistent, the #options are sanitized for you in all cases * _except_ checkboxes. We have form elements that are sometimes 'select' and @@ -2451,19 +2508,18 @@ function views_process_check_options($element, &$form_state) { /** * Trim the field down to the specified length. * - * @param $alter + * @param array $alter * - max_length: Maximum length of the string, the rest gets truncated. * - word_boundary: Trim only on a word boundary. * - ellipsis: Show an ellipsis (...) at the end of the trimmed string. * - html: Take sure that the html is correct. - * - * @param $value + * @param string $value * The string which should be trimmed. */ function views_trim_text($alter, $value) { if (drupal_strlen($value) > $alter['max_length']) { $value = drupal_substr($value, 0, $alter['max_length']); - // TODO: replace this with cleanstring of ctools + // @todo Replace this with cleanstring of CTools. if (!empty($alter['word_boundary'])) { $regex = "(.*)\b.+"; if (function_exists('mb_ereg')) { @@ -2477,7 +2533,7 @@ function views_trim_text($alter, $value) { $value = $matches[1]; } } - // Remove scraps of HTML entities from the end of a strings + // Remove scraps of HTML entities from the end of a strings. $value = rtrim(preg_replace('/(?:<(?!.+>)|&(?!.+;)).*$/us', '', $value)); if (!empty($alter['ellipsis'])) { @@ -2500,7 +2556,7 @@ function views_array_key_plus($array) { $keys = array_keys($array); rsort($keys); foreach ($keys as $key) { - $array[$key+1] = $array[$key]; + $array[$key + 1] = $array[$key]; unset($array[$key]); } asort($array); @@ -2508,14 +2564,15 @@ function views_array_key_plus($array) { } /** - * Report to CTools that we use hook_views_api instead of hook_ctools_plugin_api() + * Implements hook_ctools_plugin_api_hook_name(). + * + * Report to CTools that we use hook_views_api instead of + * hook_ctools_plugin_api(). */ function views_ctools_plugin_api_hook_name() { return 'views_api'; } -// Declare API compatibility on behalf of core modules: - /** * Implements hook_views_api(). * @@ -2523,84 +2580,179 @@ function views_ctools_plugin_api_hook_name() { */ function views_views_api() { return array( - // in your modules do *not* use views_api_version()!!! + // In your modules do *not* use views_api_version()!!! 'api' => views_api_version(), 'path' => drupal_get_path('module', 'views') . '/modules', ); } if (!function_exists('aggregator_views_api')) { - function aggregator_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Aggregator module. + */ + function aggregator_views_api() { + return views_views_api(); + } } if (!function_exists('book_views_api')) { - function book_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Book module. + */ + function book_views_api() { + return views_views_api(); + } } if (!function_exists('comment_views_api')) { - function comment_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Comment module. + */ + function comment_views_api() { + return views_views_api(); + } } if (!function_exists('field_views_api')) { - function field_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Field module. + */ + function field_views_api() { + return views_views_api(); + } } if (!function_exists('file_views_api')) { - function file_views_api() { return views_views_api(); } + /** + * Provide Views integration for the File module. + */ + function file_views_api() { + return views_views_api(); + } } if (!function_exists('filter_views_api')) { - function filter_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Filter module. + */ + function filter_views_api() { + return views_views_api(); + } } if (!function_exists('image_views_api')) { - function image_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Image module. + */ + function image_views_api() { + return views_views_api(); + } } if (!function_exists('locale_views_api')) { - function locale_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Locale module. + */ + function locale_views_api() { + return views_views_api(); + } } if (!function_exists('node_views_api')) { - function node_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Node module. + */ + function node_views_api() { + return views_views_api(); + } } if (!function_exists('poll_views_api')) { - function poll_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Poll module. + */ + function poll_views_api() { + return views_views_api(); + } } if (!function_exists('profile_views_api')) { - function profile_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Profile module. + */ + function profile_views_api() { + return views_views_api(); + } } if (!function_exists('search_views_api')) { - function search_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Search module. + */ + function search_views_api() { + return views_views_api(); + } } if (!function_exists('statistics_views_api')) { - function statistics_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Statistics module. + */ + function statistics_views_api() { + return views_views_api(); + } } if (!function_exists('system_views_api')) { - function system_views_api() { return views_views_api(); } + /** + * Provide Views integration for the System module. + */ + function system_views_api() { + return views_views_api(); + } } if (!function_exists('tracker_views_api')) { - function tracker_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Tracker module. + */ + function tracker_views_api() { + return views_views_api(); + } } if (!function_exists('taxonomy_views_api')) { - function taxonomy_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Taxonomy module. + */ + function taxonomy_views_api() { + return views_views_api(); + } } if (!function_exists('translation_views_api')) { - function translation_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Translation module. + */ + function translation_views_api() { + return views_views_api(); + } } if (!function_exists('user_views_api')) { - function user_views_api() { return views_views_api(); } + /** + * Provide Views integration for the User module. + */ + function user_views_api() { + return views_views_api(); + } } if (!function_exists('contact_views_api')) { - function contact_views_api() { return views_views_api(); } + /** + * Provide Views integration for the Contact module. + */ + function contact_views_api() { + return views_views_api(); + } } diff --git a/profiles/wcm_base/modules/contrib/views/views_ui.info b/profiles/wcm_base/modules/contrib/views/views_ui.info index 21705eae97e576664ffab8952ee16a4ad573b26d..addebb2b2e13509f9e8c6f13875107afa59dba06 100644 --- a/profiles/wcm_base/modules/contrib/views/views_ui.info +++ b/profiles/wcm_base/modules/contrib/views/views_ui.info @@ -8,9 +8,8 @@ dependencies[] = views files[] = views_ui.module files[] = plugins/views_wizard/views_ui_base_views_wizard.class.php -; Information added by Drupal.org packaging script on 2017-08-23 -version = "7.x-3.18" +; Information added by Drupal.org packaging script on 2018-04-14 +version = "7.x-3.20" core = "7.x" project = "views" -datestamp = "1503495103" - +datestamp = "1523668093" diff --git a/profiles/wcm_base/modules/contrib/views/views_ui.module b/profiles/wcm_base/modules/contrib/views/views_ui.module index c33526a4741aaf88ee64009e8e9823e8f5a4d953..387e669791e3d3ebabbf846a4cb739766b23fd22 100644 --- a/profiles/wcm_base/modules/contrib/views/views_ui.module +++ b/profiles/wcm_base/modules/contrib/views/views_ui.module @@ -435,8 +435,7 @@ function views_ui_preprocess_views_view(&$vars) { /** * Theme preprocess for theme_views_ui_view_preview_section(). * - * @TODO - * Perhaps move this to includes/admin.inc or theme/theme.inc + * @todo Perhaps move this to includes/admin.inc or theme/theme.inc. */ function template_preprocess_views_ui_view_preview_section(&$vars) { switch ($vars['section']) { @@ -483,12 +482,12 @@ function template_preprocess_views_ui_view_preview_section(&$vars) { break; case 'attachment_before': - // @todo: Add links to the attachment configuration page. + // @todo Add links to the attachment configuration page. $vars['title'] = t('Attachment before'); break; case 'attachment_after': - // @todo: Add links to the attachment configuration page. + // @todo Add links to the attachment configuration page. $vars['title'] = t('Attachment after'); break; } @@ -524,9 +523,8 @@ function theme_views_ui_view_preview_section($vars) { * @param string $title * Add a bolded title of this section. * - * @TODO - * Bring in relationships - * Refactor this function to use much stuff of views_ui_edit_form_get_bucket. + * @todo Bring in relationships. + * @todo Refactor this function to use much of views_ui_edit_form_get_bucket. */ function views_ui_view_preview_section_handler_links($view, $type, $title = FALSE) { $display = $view->display_handler->display; diff --git a/profiles/wcm_base/modules/contrib/workbench/workbench.module b/profiles/wcm_base/modules/contrib/workbench/workbench.module index 442c902952781725dbded59f847bd91b6c7e7085..2b766fc4a058e44918cc2928da73ee77fa6f21e3 100644 --- a/profiles/wcm_base/modules/contrib/workbench/workbench.module +++ b/profiles/wcm_base/modules/contrib/workbench/workbench.module @@ -107,7 +107,7 @@ function workbench_block_info() { function workbench_block_view($delta = '') { $items = module_invoke_all('workbench_block'); if (empty($items)) { - return; + return array(); } $block = array( 'subject' => '', diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap.info index 44d72585f81269cd0f9245e85c840c05f49f442f..0374a6a130d741493fd21ff4b810bc5abafb8d18 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap.info @@ -14,9 +14,8 @@ files[] = xmlsitemap.test recommends[] = robotstxt configure = admin/config/search/xmlsitemap -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_custom/xmlsitemap_custom.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_custom/xmlsitemap_custom.info index e77f4ca4f73af954392b0ca45bfd46d5fa7ad28b..a4f1cc7a8f3ef2a71bc1d1ccbf247bd96004eaf9 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_custom/xmlsitemap_custom.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_custom/xmlsitemap_custom.info @@ -9,9 +9,8 @@ files[] = xmlsitemap_custom.install files[] = xmlsitemap_custom.test configure = admin/config/search/xmlsitemap/custom -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/tests/xmlsitemap_engines_test.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/tests/xmlsitemap_engines_test.info index 19a3afad185d6c87e9dd8a82ab6096097463c3ac..d84c090b6b9861f4308248ab58365f3ad2a60af5 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/tests/xmlsitemap_engines_test.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/tests/xmlsitemap_engines_test.info @@ -6,9 +6,8 @@ files[] = xmlsitemap_engines_test.module version = VERSION hidden = TRUE -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/xmlsitemap_engines.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/xmlsitemap_engines.info index e8894d60233c79b3676f2d3193cad135fcaae5eb..432fcdb2b5e4e0fdfba35416eec41c5b7745d07b 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/xmlsitemap_engines.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_engines/xmlsitemap_engines.info @@ -10,9 +10,8 @@ files[] = tests/xmlsitemap_engines.test recommends[] = site_verify configure = admin/config/search/xmlsitemap/engines -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_i18n/xmlsitemap_i18n.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_i18n/xmlsitemap_i18n.info index c3f79af1143f97afd4287807e5c0822b0b43f662..92cf83d3ec35cc3c10d223fe0fd5ee5cd11873d0 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_i18n/xmlsitemap_i18n.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_i18n/xmlsitemap_i18n.info @@ -7,9 +7,8 @@ dependencies[] = i18n files[] = xmlsitemap_i18n.module files[] = xmlsitemap_i18n.test -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_menu/xmlsitemap_menu.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_menu/xmlsitemap_menu.info index cdcfd8db060345401b6c3195e50df595b52a4f07..94c465ed9a0b683489e5c14f6332550fef720808 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_menu/xmlsitemap_menu.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_menu/xmlsitemap_menu.info @@ -8,9 +8,8 @@ files[] = xmlsitemap_menu.module files[] = xmlsitemap_menu.install files[] = xmlsitemap_menu.test -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_modal/xmlsitemap_modal.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_modal/xmlsitemap_modal.info index 5ef0d9283b160585313dda7bfb793dec286b974b..470e947bb34c53a45454d94b446550681a313b21 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_modal/xmlsitemap_modal.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_modal/xmlsitemap_modal.info @@ -7,9 +7,8 @@ dependencies[] = ctools files[] = xmlsitemap_modal.module hidden = TRUE -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.info index 7a3ac0ffbf61459edb9511f0d7663d2fc81e4105..cafb200e0dcc67a8ffbe88440f907cf48a1b9661 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.info @@ -7,9 +7,8 @@ files[] = xmlsitemap_node.module files[] = xmlsitemap_node.install files[] = xmlsitemap_node.test -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.module b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.module index 20f5f05a30d11903a955ad4aa8f646ef9201d993..64bad67727ee2128464824f52225bd60cefe21fa 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.module +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.module @@ -14,10 +14,31 @@ function xmlsitemap_node_entity_info_alter(array &$entity_info) { /** * Implements hook_cron(). * - * Process old nodes not found in the {xmlsitemap} table. + * Process nodes that need to be added to or updated in the {xmlsitemap} table. */ function xmlsitemap_node_cron() { - xmlsitemap_node_xmlsitemap_index_links(xmlsitemap_var('batch_limit')); + $limit = xmlsitemap_var('batch_limit'); + + // Process nodes that have been queued in hook_node_update(). + $queue = DrupalQueue::get('xmlsitemap_node'); + while ($limit > 0 && $item = $queue->claimItem()) { + $limit--; + try { + $node = node_load($item->data); + $link = xmlsitemap_node_create_link($node); + xmlsitemap_link_save($link, array($link['type'] => $node)); + $queue->deleteItem($item); + } + catch (Exception $e) { + // In case of exception log it and leave the item in the queue + // to be processed again later. + watchdog_exception('xmlsitemap_node', $e); + } + } + + // Add nodes that are missing from the {xmlsitemap} table. + // This catches nodes that were created prior to this module being enabled. + xmlsitemap_node_xmlsitemap_index_links($limit); } /** @@ -55,8 +76,11 @@ function xmlsitemap_node_node_insert(stdClass $node) { * Implements hook_node_update(). */ function xmlsitemap_node_node_update(stdClass $node) { - $link = xmlsitemap_node_create_link($node); - xmlsitemap_link_save($link, array($link['type'] => $node)); + // Node access can not be accurately determined in hook_node_update() because + // node grants have not yet been written to the table, so we defer creation of + // a sitemap link and process during cron. + $queue = DrupalQueue::get('xmlsitemap_node'); + $queue->createItem($node->nid); } /** @@ -195,11 +219,6 @@ function xmlsitemap_node_create_link(stdClass $node) { $node->xmlsitemap['changefreq'] = $node->nid ? xmlsitemap_calculate_changefreq($timestamps) : 0; $node->xmlsitemap['changecount'] = $node->nid ? count($timestamps) - 1 : 0; - // Node access must be reset since it a user may have changed published status, etc. - //$access = &drupal_static('node_access'); - //unset($access[0][$node->nid]); - //node_access_acquire_grants($node); - // The following values must always be checked because they are volatile. $node->xmlsitemap['loc'] = $uri['path']; $node->xmlsitemap['lastmod'] = count($timestamps) ? max($timestamps) : 0; diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_taxonomy/xmlsitemap_taxonomy.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_taxonomy/xmlsitemap_taxonomy.info index 214775fe58ef14d2c9b6be9f0c0960d2a54c7312..97d74d654a4484ce57ef437347cf153b320c80ce 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_taxonomy/xmlsitemap_taxonomy.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_taxonomy/xmlsitemap_taxonomy.info @@ -8,9 +8,8 @@ files[] = xmlsitemap_taxonomy.module files[] = xmlsitemap_taxonomy.install files[] = xmlsitemap_taxonomy.test -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_user/xmlsitemap_user.info b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_user/xmlsitemap_user.info index 83615710cb330f2a3b1f9f973d8626cd2b524d0a..34886360a3bf45c2c1905b4c38935fd12a89cf01 100644 --- a/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_user/xmlsitemap_user.info +++ b/profiles/wcm_base/modules/contrib/xmlsitemap/xmlsitemap_user/xmlsitemap_user.info @@ -7,9 +7,8 @@ files[] = xmlsitemap_user.module files[] = xmlsitemap_user.install files[] = xmlsitemap_user.test -; Information added by Drupal.org packaging script on 2016-05-25 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2018-07-18 +version = "7.x-2.4" core = "7.x" project = "xmlsitemap" -datestamp = "1464191061" - +datestamp = "1531917526" diff --git a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.module b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.module index 0f96f9fb993c6640c40b62066c35467918b16417..6aeed5eef6e6ba71a58c6ab3d933c68693c12d0c 100644 --- a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.module +++ b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.module @@ -17,6 +17,26 @@ function ocio_news_preprocess_node(&$vars) { } } +/** + * Implements hook_views_pre_render(). + * + * Hide author from byline DisplaySuite field if value of the byline node field is '<none>' + */ +function ocio_news_views_pre_render(&$view) { + if ($view->name == 'ocio_news_archive') { + foreach ($view->field as &$field) { + if ($field->field_info['field_name'] == 'field_byline') { + foreach ($view->result as &$row) { + $field_name = 'field_' . $field->field; + if ($row->{$field_name}[0]['raw']['value'] == '<none>') { + $row->{$field_name}[0]['rendered']['#markup'] = ''; + } + } + } + } + } +} + /** * Implements hook_tokens_alter(). * diff --git a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc index 952d07af14552a39cacc0817ee769aea9ea3fcfc..d3ba6c07a76967461c48a8c1441a6ed7d0439ca9 100644 --- a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc +++ b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc @@ -92,6 +92,7 @@ function ocio_news_views_default_views() { $handler->display->display_options['filters']['field_tags_tid']['expose']['label'] = 'Tags'; $handler->display->display_options['filters']['field_tags_tid']['expose']['operator'] = 'field_tags_tid_op'; $handler->display->display_options['filters']['field_tags_tid']['expose']['identifier'] = 'tag'; + $handler->display->display_options['filters']['field_tags_tid']['expose']['multiple'] = TRUE; $handler->display->display_options['filters']['field_tags_tid']['expose']['remember_roles'] = array( 2 => '2', 1 => 0, @@ -102,6 +103,7 @@ function ocio_news_views_default_views() { 8 => 0, 3 => 0, ); + $handler->display->display_options['filters']['field_tags_tid']['reduce_duplicates'] = TRUE; $handler->display->display_options['filters']['field_tags_tid']['type'] = 'select'; $handler->display->display_options['filters']['field_tags_tid']['vocabulary'] = 'ocio_tags'; @@ -299,6 +301,7 @@ function ocio_news_views_default_views() { 'created' => 'created', ); $handler->display->display_options['row_options']['separator'] = '<span class="pipe"> | </span>'; + $handler->display->display_options['row_options']['hide_empty'] = TRUE; $handler->display->display_options['defaults']['row_options'] = FALSE; $handler->display->display_options['defaults']['fields'] = FALSE; /* Field: Field: Image */ diff --git a/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.strongarm.inc b/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.strongarm.inc index 094c12a0d27adf59a8c109eab255b2f3a646f642..31ff4226a5bf5f8b8c15a2188ef5ea03bd7d1d3d 100644 --- a/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.strongarm.inc +++ b/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.strongarm.inc @@ -28,9 +28,7 @@ function ocio_wysiwyg_strongarm() { $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */ $strongarm->api_version = 1; $strongarm->name = 'simplify_nodes_global'; - $strongarm->value = array( - 0 => 'format', - ); + $strongarm->value = array(); $export['simplify_nodes_global'] = $strongarm; return $export; diff --git a/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.features.metatag.inc b/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.features.metatag.inc index d5ed521d991c3e8ee169368ea9d940944449ef06..7c2b133679baee23c6b4681d72a1d1642e566ef1 100644 --- a/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.features.metatag.inc +++ b/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.features.metatag.inc @@ -563,35 +563,6 @@ function wcm_metatags_metatag_export_default() { ), ); - // Exported Metatag config instance: node:news_client_cached_article. - $config['node:news_client_cached_article'] = array( - 'instance' => 'node:news_client_cached_article', - 'disabled' => FALSE, - 'config' => array( - 'title' => array( - 'value' => '[node:title] | [site:name]', - ), - 'description' => array( - 'value' => '[node:news_client_body_summary]', - ), - 'og:description' => array( - 'value' => '[node:news_client_body_summary]', - ), - 'twitter:card' => array( - 'value' => 'summary_large_image', - ), - 'twitter:description' => array( - 'value' => '[node:news_client_body_summary]', - ), - 'twitter:image' => array( - 'value' => '[node:news_client_featured_image_url]', - ), - 'twitter:image:alt' => array( - 'value' => '[node:news_client_featured_image_alt]', - ), - ), - ); - // Exported Metatag config instance: node:ocio_landing_page. $config['node:ocio_landing_page'] = array( 'instance' => 'node:ocio_landing_page', diff --git a/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.info b/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.info index 1693e37c282baf974e11ec3decd7e69f873c0d8f..6f2a6c71df90550b7353eff56d908ded17201b89 100644 --- a/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.info +++ b/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.info @@ -18,7 +18,6 @@ features[metatag][] = global:frontpage features[metatag][] = node features[metatag][] = node:article features[metatag][] = node:faq -features[metatag][] = node:news_client_cached_article features[metatag][] = node:ocio_landing_page features[metatag][] = taxonomy_term features[metatag][] = user diff --git a/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.strongarm.inc b/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.strongarm.inc index ac5754c0c2d38f2a30ef6cd61b34e6ffc45de99a..046e0482ca64601d1591c7ec62b105e59434db4d 100644 --- a/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.strongarm.inc +++ b/profiles/wcm_base/modules/custom/wcm_metatags/wcm_metatags.strongarm.inc @@ -328,7 +328,7 @@ function wcm_metatags_strongarm() { $strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */ $strongarm->api_version = 1; $strongarm->name = 'metatag_extended_permissions'; - $strongarm->value = 0; + $strongarm->value = 1; $export['metatag_extended_permissions'] = $strongarm; $strongarm = new stdClass(); diff --git a/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.features.user_permission.inc b/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.features.user_permission.inc index 8daddc9ed57bf5758ae7594d4216892b6d3d81c6..7026b74266ed2b8bc077ea03941d98a0a2e94109 100644 --- a/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.features.user_permission.inc +++ b/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.features.user_permission.inc @@ -631,6 +631,15 @@ function wcm_permissions_user_default_permissions() { 'module' => 'menu', ); + // Exported permission: 'administer meta tags'. + $permissions['administer meta tags'] = array( + 'name' => 'administer meta tags', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + // Exported permission: 'administer module filter'. $permissions['administer module filter'] = array( 'name' => 'administer module filter', @@ -773,13 +782,6 @@ function wcm_permissions_user_default_permissions() { 'module' => 'panelizer', ); - // Exported permission: 'administer panelizer taxonomy_term faq defaults'. - $permissions['administer panelizer taxonomy_term faq defaults'] = array( - 'name' => 'administer panelizer taxonomy_term faq defaults', - 'roles' => array(), - 'module' => 'panelizer', - ); - // Exported permission: 'administer panelizer taxonomy_term panopoly_categories breadcrumbs'. $permissions['administer panelizer taxonomy_term panopoly_categories breadcrumbs'] = array( 'name' => 'administer panelizer taxonomy_term panopoly_categories breadcrumbs', @@ -2433,6 +2435,1167 @@ function wcm_permissions_user_default_permissions() { 'module' => 'linkchecker', ); + // Exported permission: 'edit meta tag: abstract'. + $permissions['edit meta tag: abstract'] = array( + 'name' => 'edit meta tag: abstract', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: article:author'. + $permissions['edit meta tag: article:author'] = array( + 'name' => 'edit meta tag: article:author', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: article:expiration_time'. + $permissions['edit meta tag: article:expiration_time'] = array( + 'name' => 'edit meta tag: article:expiration_time', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: article:modified_time'. + $permissions['edit meta tag: article:modified_time'] = array( + 'name' => 'edit meta tag: article:modified_time', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: article:published_time'. + $permissions['edit meta tag: article:published_time'] = array( + 'name' => 'edit meta tag: article:published_time', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: article:publisher'. + $permissions['edit meta tag: article:publisher'] = array( + 'name' => 'edit meta tag: article:publisher', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: article:section'. + $permissions['edit meta tag: article:section'] = array( + 'name' => 'edit meta tag: article:section', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: article:tag'. + $permissions['edit meta tag: article:tag'] = array( + 'name' => 'edit meta tag: article:tag', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: book:author'. + $permissions['edit meta tag: book:author'] = array( + 'name' => 'edit meta tag: book:author', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: book:isbn'. + $permissions['edit meta tag: book:isbn'] = array( + 'name' => 'edit meta tag: book:isbn', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: book:release_date'. + $permissions['edit meta tag: book:release_date'] = array( + 'name' => 'edit meta tag: book:release_date', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: book:tag'. + $permissions['edit meta tag: book:tag'] = array( + 'name' => 'edit meta tag: book:tag', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: cache-control'. + $permissions['edit meta tag: cache-control'] = array( + 'name' => 'edit meta tag: cache-control', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: canonical'. + $permissions['edit meta tag: canonical'] = array( + 'name' => 'edit meta tag: canonical', + 'roles' => array( + 'administrator' => 'administrator', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: content-language'. + $permissions['edit meta tag: content-language'] = array( + 'name' => 'edit meta tag: content-language', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: description'. + $permissions['edit meta tag: description'] = array( + 'name' => 'edit meta tag: description', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: expires'. + $permissions['edit meta tag: expires'] = array( + 'name' => 'edit meta tag: expires', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: fb:admins'. + $permissions['edit meta tag: fb:admins'] = array( + 'name' => 'edit meta tag: fb:admins', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: fb:app_id'. + $permissions['edit meta tag: fb:app_id'] = array( + 'name' => 'edit meta tag: fb:app_id', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: fb:pages'. + $permissions['edit meta tag: fb:pages'] = array( + 'name' => 'edit meta tag: fb:pages', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: generator'. + $permissions['edit meta tag: generator'] = array( + 'name' => 'edit meta tag: generator', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: geo.placename'. + $permissions['edit meta tag: geo.placename'] = array( + 'name' => 'edit meta tag: geo.placename', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: geo.position'. + $permissions['edit meta tag: geo.position'] = array( + 'name' => 'edit meta tag: geo.position', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: geo.region'. + $permissions['edit meta tag: geo.region'] = array( + 'name' => 'edit meta tag: geo.region', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: icbm'. + $permissions['edit meta tag: icbm'] = array( + 'name' => 'edit meta tag: icbm', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: image_src'. + $permissions['edit meta tag: image_src'] = array( + 'name' => 'edit meta tag: image_src', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: keywords'. + $permissions['edit meta tag: keywords'] = array( + 'name' => 'edit meta tag: keywords', + 'roles' => array( + 'administrator' => 'administrator', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: news_keywords'. + $permissions['edit meta tag: news_keywords'] = array( + 'name' => 'edit meta tag: news_keywords', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: next'. + $permissions['edit meta tag: next'] = array( + 'name' => 'edit meta tag: next', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:audio'. + $permissions['edit meta tag: og:audio'] = array( + 'name' => 'edit meta tag: og:audio', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:audio:secure_url'. + $permissions['edit meta tag: og:audio:secure_url'] = array( + 'name' => 'edit meta tag: og:audio:secure_url', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:audio:type'. + $permissions['edit meta tag: og:audio:type'] = array( + 'name' => 'edit meta tag: og:audio:type', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:country_name'. + $permissions['edit meta tag: og:country_name'] = array( + 'name' => 'edit meta tag: og:country_name', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:description'. + $permissions['edit meta tag: og:description'] = array( + 'name' => 'edit meta tag: og:description', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:determiner'. + $permissions['edit meta tag: og:determiner'] = array( + 'name' => 'edit meta tag: og:determiner', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:email'. + $permissions['edit meta tag: og:email'] = array( + 'name' => 'edit meta tag: og:email', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:fax_number'. + $permissions['edit meta tag: og:fax_number'] = array( + 'name' => 'edit meta tag: og:fax_number', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:image'. + $permissions['edit meta tag: og:image'] = array( + 'name' => 'edit meta tag: og:image', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:image:height'. + $permissions['edit meta tag: og:image:height'] = array( + 'name' => 'edit meta tag: og:image:height', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:image:secure_url'. + $permissions['edit meta tag: og:image:secure_url'] = array( + 'name' => 'edit meta tag: og:image:secure_url', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:image:type'. + $permissions['edit meta tag: og:image:type'] = array( + 'name' => 'edit meta tag: og:image:type', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:image:url'. + $permissions['edit meta tag: og:image:url'] = array( + 'name' => 'edit meta tag: og:image:url', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:image:width'. + $permissions['edit meta tag: og:image:width'] = array( + 'name' => 'edit meta tag: og:image:width', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:latitude'. + $permissions['edit meta tag: og:latitude'] = array( + 'name' => 'edit meta tag: og:latitude', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:locale'. + $permissions['edit meta tag: og:locale'] = array( + 'name' => 'edit meta tag: og:locale', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:locale:alternate'. + $permissions['edit meta tag: og:locale:alternate'] = array( + 'name' => 'edit meta tag: og:locale:alternate', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:locality'. + $permissions['edit meta tag: og:locality'] = array( + 'name' => 'edit meta tag: og:locality', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:longitude'. + $permissions['edit meta tag: og:longitude'] = array( + 'name' => 'edit meta tag: og:longitude', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:phone_number'. + $permissions['edit meta tag: og:phone_number'] = array( + 'name' => 'edit meta tag: og:phone_number', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:postal_code'. + $permissions['edit meta tag: og:postal_code'] = array( + 'name' => 'edit meta tag: og:postal_code', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:region'. + $permissions['edit meta tag: og:region'] = array( + 'name' => 'edit meta tag: og:region', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:see_also'. + $permissions['edit meta tag: og:see_also'] = array( + 'name' => 'edit meta tag: og:see_also', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:site_name'. + $permissions['edit meta tag: og:site_name'] = array( + 'name' => 'edit meta tag: og:site_name', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:street_address'. + $permissions['edit meta tag: og:street_address'] = array( + 'name' => 'edit meta tag: og:street_address', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:title'. + $permissions['edit meta tag: og:title'] = array( + 'name' => 'edit meta tag: og:title', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:type'. + $permissions['edit meta tag: og:type'] = array( + 'name' => 'edit meta tag: og:type', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:updated_time'. + $permissions['edit meta tag: og:updated_time'] = array( + 'name' => 'edit meta tag: og:updated_time', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:url'. + $permissions['edit meta tag: og:url'] = array( + 'name' => 'edit meta tag: og:url', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:video:height'. + $permissions['edit meta tag: og:video:height'] = array( + 'name' => 'edit meta tag: og:video:height', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:video:secure_url'. + $permissions['edit meta tag: og:video:secure_url'] = array( + 'name' => 'edit meta tag: og:video:secure_url', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:video:type'. + $permissions['edit meta tag: og:video:type'] = array( + 'name' => 'edit meta tag: og:video:type', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:video:url'. + $permissions['edit meta tag: og:video:url'] = array( + 'name' => 'edit meta tag: og:video:url', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: og:video:width'. + $permissions['edit meta tag: og:video:width'] = array( + 'name' => 'edit meta tag: og:video:width', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: original-source'. + $permissions['edit meta tag: original-source'] = array( + 'name' => 'edit meta tag: original-source', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: pragma'. + $permissions['edit meta tag: pragma'] = array( + 'name' => 'edit meta tag: pragma', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: prev'. + $permissions['edit meta tag: prev'] = array( + 'name' => 'edit meta tag: prev', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: profile:first_name'. + $permissions['edit meta tag: profile:first_name'] = array( + 'name' => 'edit meta tag: profile:first_name', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: profile:gender'. + $permissions['edit meta tag: profile:gender'] = array( + 'name' => 'edit meta tag: profile:gender', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: profile:last_name'. + $permissions['edit meta tag: profile:last_name'] = array( + 'name' => 'edit meta tag: profile:last_name', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: profile:username'. + $permissions['edit meta tag: profile:username'] = array( + 'name' => 'edit meta tag: profile:username', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: rating'. + $permissions['edit meta tag: rating'] = array( + 'name' => 'edit meta tag: rating', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: referrer'. + $permissions['edit meta tag: referrer'] = array( + 'name' => 'edit meta tag: referrer', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: refresh'. + $permissions['edit meta tag: refresh'] = array( + 'name' => 'edit meta tag: refresh', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: revisit-after'. + $permissions['edit meta tag: revisit-after'] = array( + 'name' => 'edit meta tag: revisit-after', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: rights'. + $permissions['edit meta tag: rights'] = array( + 'name' => 'edit meta tag: rights', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: robots'. + $permissions['edit meta tag: robots'] = array( + 'name' => 'edit meta tag: robots', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: shortlink'. + $permissions['edit meta tag: shortlink'] = array( + 'name' => 'edit meta tag: shortlink', + 'roles' => array( + 'administrator' => 'administrator', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: standout'. + $permissions['edit meta tag: standout'] = array( + 'name' => 'edit meta tag: standout', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: title'. + $permissions['edit meta tag: title'] = array( + 'name' => 'edit meta tag: title', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:country'. + $permissions['edit meta tag: twitter:app:country'] = array( + 'name' => 'edit meta tag: twitter:app:country', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:id:googleplay'. + $permissions['edit meta tag: twitter:app:id:googleplay'] = array( + 'name' => 'edit meta tag: twitter:app:id:googleplay', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:id:ipad'. + $permissions['edit meta tag: twitter:app:id:ipad'] = array( + 'name' => 'edit meta tag: twitter:app:id:ipad', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:id:iphone'. + $permissions['edit meta tag: twitter:app:id:iphone'] = array( + 'name' => 'edit meta tag: twitter:app:id:iphone', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:name:googleplay'. + $permissions['edit meta tag: twitter:app:name:googleplay'] = array( + 'name' => 'edit meta tag: twitter:app:name:googleplay', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:name:ipad'. + $permissions['edit meta tag: twitter:app:name:ipad'] = array( + 'name' => 'edit meta tag: twitter:app:name:ipad', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:name:iphone'. + $permissions['edit meta tag: twitter:app:name:iphone'] = array( + 'name' => 'edit meta tag: twitter:app:name:iphone', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:url:googleplay'. + $permissions['edit meta tag: twitter:app:url:googleplay'] = array( + 'name' => 'edit meta tag: twitter:app:url:googleplay', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:url:ipad'. + $permissions['edit meta tag: twitter:app:url:ipad'] = array( + 'name' => 'edit meta tag: twitter:app:url:ipad', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:app:url:iphone'. + $permissions['edit meta tag: twitter:app:url:iphone'] = array( + 'name' => 'edit meta tag: twitter:app:url:iphone', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:card'. + $permissions['edit meta tag: twitter:card'] = array( + 'name' => 'edit meta tag: twitter:card', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:creator'. + $permissions['edit meta tag: twitter:creator'] = array( + 'name' => 'edit meta tag: twitter:creator', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:creator:id'. + $permissions['edit meta tag: twitter:creator:id'] = array( + 'name' => 'edit meta tag: twitter:creator:id', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:data1'. + $permissions['edit meta tag: twitter:data1'] = array( + 'name' => 'edit meta tag: twitter:data1', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:data2'. + $permissions['edit meta tag: twitter:data2'] = array( + 'name' => 'edit meta tag: twitter:data2', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:description'. + $permissions['edit meta tag: twitter:description'] = array( + 'name' => 'edit meta tag: twitter:description', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image'. + $permissions['edit meta tag: twitter:image'] = array( + 'name' => 'edit meta tag: twitter:image', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image0'. + $permissions['edit meta tag: twitter:image0'] = array( + 'name' => 'edit meta tag: twitter:image0', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image1'. + $permissions['edit meta tag: twitter:image1'] = array( + 'name' => 'edit meta tag: twitter:image1', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image2'. + $permissions['edit meta tag: twitter:image2'] = array( + 'name' => 'edit meta tag: twitter:image2', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image3'. + $permissions['edit meta tag: twitter:image3'] = array( + 'name' => 'edit meta tag: twitter:image3', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image:alt'. + $permissions['edit meta tag: twitter:image:alt'] = array( + 'name' => 'edit meta tag: twitter:image:alt', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image:height'. + $permissions['edit meta tag: twitter:image:height'] = array( + 'name' => 'edit meta tag: twitter:image:height', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:image:width'. + $permissions['edit meta tag: twitter:image:width'] = array( + 'name' => 'edit meta tag: twitter:image:width', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:label1'. + $permissions['edit meta tag: twitter:label1'] = array( + 'name' => 'edit meta tag: twitter:label1', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:label2'. + $permissions['edit meta tag: twitter:label2'] = array( + 'name' => 'edit meta tag: twitter:label2', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:player'. + $permissions['edit meta tag: twitter:player'] = array( + 'name' => 'edit meta tag: twitter:player', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:player:height'. + $permissions['edit meta tag: twitter:player:height'] = array( + 'name' => 'edit meta tag: twitter:player:height', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:player:stream'. + $permissions['edit meta tag: twitter:player:stream'] = array( + 'name' => 'edit meta tag: twitter:player:stream', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:player:stream:content_type'. + $permissions['edit meta tag: twitter:player:stream:content_type'] = array( + 'name' => 'edit meta tag: twitter:player:stream:content_type', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:player:width'. + $permissions['edit meta tag: twitter:player:width'] = array( + 'name' => 'edit meta tag: twitter:player:width', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:site'. + $permissions['edit meta tag: twitter:site'] = array( + 'name' => 'edit meta tag: twitter:site', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:site:id'. + $permissions['edit meta tag: twitter:site:id'] = array( + 'name' => 'edit meta tag: twitter:site:id', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:title'. + $permissions['edit meta tag: twitter:title'] = array( + 'name' => 'edit meta tag: twitter:title', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: twitter:url'. + $permissions['edit meta tag: twitter:url'] = array( + 'name' => 'edit meta tag: twitter:url', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:actor'. + $permissions['edit meta tag: video:actor'] = array( + 'name' => 'edit meta tag: video:actor', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:actor:role'. + $permissions['edit meta tag: video:actor:role'] = array( + 'name' => 'edit meta tag: video:actor:role', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:director'. + $permissions['edit meta tag: video:director'] = array( + 'name' => 'edit meta tag: video:director', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:duration'. + $permissions['edit meta tag: video:duration'] = array( + 'name' => 'edit meta tag: video:duration', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:release_date'. + $permissions['edit meta tag: video:release_date'] = array( + 'name' => 'edit meta tag: video:release_date', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:series'. + $permissions['edit meta tag: video:series'] = array( + 'name' => 'edit meta tag: video:series', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:tag'. + $permissions['edit meta tag: video:tag'] = array( + 'name' => 'edit meta tag: video:tag', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tag: video:writer'. + $permissions['edit meta tag: video:writer'] = array( + 'name' => 'edit meta tag: video:writer', + 'roles' => array( + 'administrator' => 'administrator', + ), + 'module' => 'metatag', + ); + + // Exported permission: 'edit meta tags'. + $permissions['edit meta tags'] = array( + 'name' => 'edit meta tags', + 'roles' => array( + 'administrator' => 'administrator', + 'editor' => 'editor', + 'site builder' => 'site builder', + 'site manager' => 'site manager', + ), + 'module' => 'metatag', + ); + // Exported permission: 'edit mimemail user settings'. $permissions['edit mimemail user settings'] = array( 'name' => 'edit mimemail user settings', diff --git a/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.info b/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.info index 6262b0957bfeb5f1600dbd1473a33e0b8ad1d900..1cfcd071fa769d0d2be56461c8815bd32eb7d872 100644 --- a/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.info +++ b/profiles/wcm_base/modules/custom/wcm_permissions/wcm_permissions.info @@ -149,6 +149,7 @@ features[user_permission][] = administer mailsystem features[user_permission][] = administer manualcrop settings features[user_permission][] = administer media browser features[user_permission][] = administer menu +features[user_permission][] = administer meta tags features[user_permission][] = administer module filter features[user_permission][] = administer modules features[user_permission][] = administer nodes @@ -164,7 +165,6 @@ features[user_permission][] = administer panelizer node ocio_landing_page defaul features[user_permission][] = administer panelizer node ocio_landing_page layout features[user_permission][] = administer panelizer node ocio_landing_page overview features[user_permission][] = administer panelizer node ocio_landing_page settings -features[user_permission][] = administer panelizer taxonomy_term faq defaults features[user_permission][] = administer panelizer taxonomy_term panopoly_categories breadcrumbs features[user_permission][] = administer panelizer taxonomy_term panopoly_categories content features[user_permission][] = administer panelizer taxonomy_term panopoly_categories context @@ -321,6 +321,129 @@ features[user_permission][] = edit fieldable tile_pane features[user_permission][] = edit fieldable tile_pane_plus_text_area features[user_permission][] = edit fieldable video features[user_permission][] = edit link settings +features[user_permission][] = edit meta tag: abstract +features[user_permission][] = edit meta tag: article:author +features[user_permission][] = edit meta tag: article:expiration_time +features[user_permission][] = edit meta tag: article:modified_time +features[user_permission][] = edit meta tag: article:published_time +features[user_permission][] = edit meta tag: article:publisher +features[user_permission][] = edit meta tag: article:section +features[user_permission][] = edit meta tag: article:tag +features[user_permission][] = edit meta tag: book:author +features[user_permission][] = edit meta tag: book:isbn +features[user_permission][] = edit meta tag: book:release_date +features[user_permission][] = edit meta tag: book:tag +features[user_permission][] = edit meta tag: cache-control +features[user_permission][] = edit meta tag: canonical +features[user_permission][] = edit meta tag: content-language +features[user_permission][] = edit meta tag: description +features[user_permission][] = edit meta tag: expires +features[user_permission][] = edit meta tag: fb:admins +features[user_permission][] = edit meta tag: fb:app_id +features[user_permission][] = edit meta tag: fb:pages +features[user_permission][] = edit meta tag: generator +features[user_permission][] = edit meta tag: geo.placename +features[user_permission][] = edit meta tag: geo.position +features[user_permission][] = edit meta tag: geo.region +features[user_permission][] = edit meta tag: icbm +features[user_permission][] = edit meta tag: image_src +features[user_permission][] = edit meta tag: keywords +features[user_permission][] = edit meta tag: news_keywords +features[user_permission][] = edit meta tag: next +features[user_permission][] = edit meta tag: og:audio +features[user_permission][] = edit meta tag: og:audio:secure_url +features[user_permission][] = edit meta tag: og:audio:type +features[user_permission][] = edit meta tag: og:country_name +features[user_permission][] = edit meta tag: og:description +features[user_permission][] = edit meta tag: og:determiner +features[user_permission][] = edit meta tag: og:email +features[user_permission][] = edit meta tag: og:fax_number +features[user_permission][] = edit meta tag: og:image +features[user_permission][] = edit meta tag: og:image:height +features[user_permission][] = edit meta tag: og:image:secure_url +features[user_permission][] = edit meta tag: og:image:type +features[user_permission][] = edit meta tag: og:image:url +features[user_permission][] = edit meta tag: og:image:width +features[user_permission][] = edit meta tag: og:latitude +features[user_permission][] = edit meta tag: og:locale +features[user_permission][] = edit meta tag: og:locale:alternate +features[user_permission][] = edit meta tag: og:locality +features[user_permission][] = edit meta tag: og:longitude +features[user_permission][] = edit meta tag: og:phone_number +features[user_permission][] = edit meta tag: og:postal_code +features[user_permission][] = edit meta tag: og:region +features[user_permission][] = edit meta tag: og:see_also +features[user_permission][] = edit meta tag: og:site_name +features[user_permission][] = edit meta tag: og:street_address +features[user_permission][] = edit meta tag: og:title +features[user_permission][] = edit meta tag: og:type +features[user_permission][] = edit meta tag: og:updated_time +features[user_permission][] = edit meta tag: og:url +features[user_permission][] = edit meta tag: og:video:height +features[user_permission][] = edit meta tag: og:video:secure_url +features[user_permission][] = edit meta tag: og:video:type +features[user_permission][] = edit meta tag: og:video:url +features[user_permission][] = edit meta tag: og:video:width +features[user_permission][] = edit meta tag: original-source +features[user_permission][] = edit meta tag: pragma +features[user_permission][] = edit meta tag: prev +features[user_permission][] = edit meta tag: profile:first_name +features[user_permission][] = edit meta tag: profile:gender +features[user_permission][] = edit meta tag: profile:last_name +features[user_permission][] = edit meta tag: profile:username +features[user_permission][] = edit meta tag: rating +features[user_permission][] = edit meta tag: referrer +features[user_permission][] = edit meta tag: refresh +features[user_permission][] = edit meta tag: revisit-after +features[user_permission][] = edit meta tag: rights +features[user_permission][] = edit meta tag: robots +features[user_permission][] = edit meta tag: shortlink +features[user_permission][] = edit meta tag: standout +features[user_permission][] = edit meta tag: title +features[user_permission][] = edit meta tag: twitter:app:country +features[user_permission][] = edit meta tag: twitter:app:id:googleplay +features[user_permission][] = edit meta tag: twitter:app:id:ipad +features[user_permission][] = edit meta tag: twitter:app:id:iphone +features[user_permission][] = edit meta tag: twitter:app:name:googleplay +features[user_permission][] = edit meta tag: twitter:app:name:ipad +features[user_permission][] = edit meta tag: twitter:app:name:iphone +features[user_permission][] = edit meta tag: twitter:app:url:googleplay +features[user_permission][] = edit meta tag: twitter:app:url:ipad +features[user_permission][] = edit meta tag: twitter:app:url:iphone +features[user_permission][] = edit meta tag: twitter:card +features[user_permission][] = edit meta tag: twitter:creator +features[user_permission][] = edit meta tag: twitter:creator:id +features[user_permission][] = edit meta tag: twitter:data1 +features[user_permission][] = edit meta tag: twitter:data2 +features[user_permission][] = edit meta tag: twitter:description +features[user_permission][] = edit meta tag: twitter:image +features[user_permission][] = edit meta tag: twitter:image0 +features[user_permission][] = edit meta tag: twitter:image1 +features[user_permission][] = edit meta tag: twitter:image2 +features[user_permission][] = edit meta tag: twitter:image3 +features[user_permission][] = edit meta tag: twitter:image:alt +features[user_permission][] = edit meta tag: twitter:image:height +features[user_permission][] = edit meta tag: twitter:image:width +features[user_permission][] = edit meta tag: twitter:label1 +features[user_permission][] = edit meta tag: twitter:label2 +features[user_permission][] = edit meta tag: twitter:player +features[user_permission][] = edit meta tag: twitter:player:height +features[user_permission][] = edit meta tag: twitter:player:stream +features[user_permission][] = edit meta tag: twitter:player:stream:content_type +features[user_permission][] = edit meta tag: twitter:player:width +features[user_permission][] = edit meta tag: twitter:site +features[user_permission][] = edit meta tag: twitter:site:id +features[user_permission][] = edit meta tag: twitter:title +features[user_permission][] = edit meta tag: twitter:url +features[user_permission][] = edit meta tag: video:actor +features[user_permission][] = edit meta tag: video:actor:role +features[user_permission][] = edit meta tag: video:director +features[user_permission][] = edit meta tag: video:duration +features[user_permission][] = edit meta tag: video:release_date +features[user_permission][] = edit meta tag: video:series +features[user_permission][] = edit meta tag: video:tag +features[user_permission][] = edit meta tag: video:writer +features[user_permission][] = edit meta tags features[user_permission][] = edit mimemail user settings features[user_permission][] = edit node machine name features[user_permission][] = edit own article content @@ -451,3 +574,4 @@ features[user_permission][] = view private files features[user_permission][] = view revisions features[user_permission][] = view the administration theme features[variable][] = private_files_download_permission_by_user_checks +features_exclude[dependencies][metatag] = metatag diff --git a/profiles/wcm_base/modules/panopoly/panopoly_admin/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_admin/CHANGELOG.txt index fabea2890df281f00045b6816ec6ca7b29500650..2101f4bb662891fcababcf402d073b5638b8af0f 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_admin/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_admin/CHANGELOG.txt @@ -1,3 +1,14 @@ +7.x-1.55, 2018-07-04 +------------------- +- No changes since last release. + +7.x-1.54, 2018-05-10 +------------------- +- Update Breakpoints module to 7.x-1.6. +- Update Breakpoints module to 7.x-1.4. +- Update Module Filter to 7.x-2.1. +- Update Date Popup Authored module to 7.x-1.2. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.info b/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.info index 2adefc755d69d9d911393dc9609ec2de5ae4ea24..b5b9eb48de2d5a3970cae3a61aeede723e8c7ad4 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.info @@ -37,9 +37,8 @@ features[page_manager_pages][] = panopoly_admin_layout_library features[page_manager_pages][] = panopoly_admin_page_library features[page_manager_pages][] = panopoly_admin_pane_library -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_admin" -datestamp = "1519310599" - +datestamp = "1530728120" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.make b/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.make index 6b7914d1684306ec092f4f3238e52eb9bf9241ea..d644c0aa1d051295fcd34cb8fd5b63e3a3994a62 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.make +++ b/profiles/wcm_base/modules/panopoly/panopoly_admin/panopoly_admin.make @@ -8,17 +8,14 @@ core = 7.x projects[backports][version] = 1.0-alpha1 projects[backports][subdir] = contrib -projects[module_filter][version] = 2.0 +projects[module_filter][version] = 2.1 projects[module_filter][subdir] = contrib projects[simplified_menu_admin][version] = 1.0 projects[simplified_menu_admin][subdir] = contrib -projects[date_popup_authored][version] = 1.x-dev +projects[date_popup_authored][version] = 1.2 projects[date_popup_authored][subdir] = contrib -projects[date_popup_authored][download][type] = git -projects[date_popup_authored][download][revision] = baf315c -projects[date_popup_authored][download][branch] = 7.x-1.x projects[admin_views][version] = 1.6 projects[admin_views][subdir] = contrib @@ -40,9 +37,8 @@ projects[navbar][download][branch] = 7.x-1.x projects[navbar][patch][1757466] = http://drupal.org/files/navbar-conflict-1757466-14.patch projects[navbar][patch][2050559] = http://drupal.org/files/z-index-heart-cools-2050559-1.patch -projects[breakpoints][version] = 1.3 +projects[breakpoints][version] = 1.6 projects[breakpoints][subdir] = contrib -projects[breakpoints][patch][2415363] = https://www.drupal.org/files/issues/2415363-breakpoints-menu_rebuild-13.patch projects[admin_menu][version] = 3.0-rc5 projects[admin_menu][subdir] = contrib diff --git a/profiles/wcm_base/modules/panopoly/panopoly_core/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_core/CHANGELOG.txt index 96c114e47ee05d55dba870d0da2cdb9ea46305d8..c058b586a9d3f2088851f06de4ec68ac2242f0e4 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_core/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_core/CHANGELOG.txt @@ -1,3 +1,22 @@ +7.x-1.55, 2018-07-04 +------------------- +- Update UUID to version 1.1. + +7.x-1.54, 2018-05-10 +------------------- +- Date popup hover issue. +- Update Views to version 3.20. +- Update to migrate 2.9. +- Update Apps module to 7.x-1.1. +- Update devel to version 1.6. +- Update field_group to version 1.6. +- Update libraries to version 2.3. +- Update date to version 2.10. +- Update views_bulk_operations to version 3.4. +- Update to ctools 7.x-1.14. +- Update views to version 3.18 (add Views patch). +- Update views to version 3.18. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_core/css/panopoly-jquery-ui-theme.css b/profiles/wcm_base/modules/panopoly/panopoly_core/css/panopoly-jquery-ui-theme.css index 5e93ed2c7f46817374b353cb1202f3b071748a50..d7e33d9110e53282c21b269617fee854fe32d98c 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_core/css/panopoly-jquery-ui-theme.css +++ b/profiles/wcm_base/modules/panopoly/panopoly_core/css/panopoly-jquery-ui-theme.css @@ -489,7 +489,7 @@ button.ui-button::-moz-focus-inner { .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { - border: none; + border: 1px solid transparent; background: #cccccc; font-weight: normal; color: #333333; diff --git a/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.info b/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.info index d7a6ef81c37dee56125c305de789bcffb94e18ad..dc3b37b122c5883fdfde7a03f007ab765906ad0b 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.info @@ -82,9 +82,8 @@ features_exclude[variable][panelizer_taxonomy_term:panopoly_categories_allowed_t features_exclude[variable][panelizer_defaults_taxonomy_term_panopoly_categories] = panelizer_defaults_taxonomy_term_panopoly_categories features_exclude[variable][pathauto_taxonomy_term_panopoly_categories_pattern] = pathauto_taxonomy_term_panopoly_categories_pattern -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_core" -datestamp = "1519310616" - +datestamp = "1530728132" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.make b/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.make index 2c4617b5b9645916ee7f6bdfbd7f1f8a31169af2..6472558d45e4c99d1ede4cfbcbcefad1a27de19a 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.make +++ b/profiles/wcm_base/modules/panopoly/panopoly_core/panopoly_core.make @@ -5,11 +5,8 @@ core = 7.x ; Panels and Chaos Tools Magic -projects[ctools][version] = 1.12 +projects[ctools][version] = 1.14 projects[ctools][subdir] = contrib -projects[ctools][patch][2607626] = https://www.drupal.org/files/issues/ctools-close-modal-2607626-5.patch -projects[ctools][patch][2787045] = https://www.drupal.org/files/issues/ctools-jquery_compatibility-2787045-14.patch -projects[ctools][patch][2897965] = https://www.drupal.org/files/issues/ctools-wizard-destination-2897965-2.patch projects[panels][version] = 3.9 projects[panels][subdir] = contrib @@ -36,9 +33,9 @@ projects[fape][subdir] = contrib ; Views Magic -projects[views][version] = 3.17 +projects[views][version] = 3.20 projects[views][subdir] = contrib -projects[views][patch][2037469] = http://drupal.org/files/views-exposed-sorts-2037469-1.patch +projects[views][patch][2037469] = https://www.drupal.org/files/issues/views-exposed-sorts-2037469-26.patch projects[views_autocomplete_filters][version] = 1.2 projects[views_autocomplete_filters][subdir] = contrib @@ -46,7 +43,7 @@ projects[views_autocomplete_filters][patch][2374709] = http://www.drupal.org/fil projects[views_autocomplete_filters][patch][2317351] = http://www.drupal.org/files/issues/views_autocomplete_filters-content-pane-2317351-4.patch projects[views_autocomplete_filters][patch][2404893] = https://www.drupal.org/files/issues/2404893-grammar_correction-11.patch -projects[views_bulk_operations][version] = 3.3 +projects[views_bulk_operations][version] = 3.4 projects[views_bulk_operations][subdir] = contrib ; The Usual Suspects @@ -60,7 +57,7 @@ projects[token][subdir] = contrib projects[entity][version] = 1.9 projects[entity][subdir] = contrib -projects[libraries][version] = 2.2 +projects[libraries][version] = 2.3 projects[libraries][subdir] = contrib projects[transliteration][version] = 3.2 @@ -68,16 +65,14 @@ projects[transliteration][subdir] = contrib ; Field modules -projects[date][version] = 2.9 +projects[date][version] = 2.10 projects[date][subdir] = contrib -projects[date][patch][2375235] = https://www.drupal.org/files/issues/calendar_pager_broken-2375235-35.patch projects[entityreference][version] = 1.5 projects[entityreference][subdir] = contrib -projects[field_group][version] = 1.5 +projects[field_group][version] = 1.6 projects[field_group][subdir] = contrib -projects[field_group][patch][2649648] = https://www.drupal.org/files/issues/php7_uniform_variable-2649648-5.patch projects[link][version] = 1.4 projects[link][subdir] = contrib @@ -85,9 +80,8 @@ projects[link][patch][2666912] = https://www.drupal.org/files/issues/revert-url- ; Harness the Power of Features and Apps with Default Content -projects[apps][version] = 1.0 +projects[apps][version] = 1.1 projects[apps][subdir] = contrib -projects[apps][patch][2753413] = https://www.drupal.org/files/issues/apps-manifest-2753413-3.patch projects[features][version] = 2.10 projects[features][subdir] = contrib @@ -104,7 +98,7 @@ projects[defaultcontent][subdir] = contrib projects[defaultcontent][patch][1754428] = http://drupal.org/files/1754428-allow-node-export-alter.patch projects[defaultcontent][patch][1757782] = http://drupal.org/files/1757782-cannot-import-menu-hierarchy-8.patch -projects[migrate][version] = "2.8" +projects[migrate][version] = "2.9" projects[migrate][type] = "module" projects[migrate][subdir] = "contrib" @@ -119,7 +113,7 @@ projects[jquery_update][version] = 2.7 projects[jquery_update][subdir] = contrib ; Recommended Modules -projects[devel][version] = 1.5 +projects[devel][version] = 1.6 projects[devel][subdir] = contrib projects[distro_update][version] = 1.0-beta4 @@ -128,5 +122,5 @@ projects[distro_update][subdir] = contrib projects[features_override][version] = 2.0-rc3 projects[features_override][subdir] = contrib -projects[uuid][version] = 1.0-alpha6 +projects[uuid][version] = 1.1 projects[uuid][subdir] = contrib diff --git a/profiles/wcm_base/modules/panopoly/panopoly_magic/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_magic/CHANGELOG.txt index eae3b9359dbd85ee24ef96c5060417708be0bdbf..6a23fe920e8bddc28261eac78a709709b31b0666 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_magic/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_magic/CHANGELOG.txt @@ -1,3 +1,12 @@ +7.x-1.55, 2018-07-04 +------------------- +- Improve accessibility of the 'Single' and 'Manual' preview modes. +- Add alt text for custom preview images. + +7.x-1.54, 2018-05-10 +------------------- +- Linkit and live preview with panes style tests failing on Travis. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly-magic.js b/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly-magic.js index 7a7a03b642b29610a023e15816e0f42caf6ca5dd..19feb6f3dfda8e396009f60d767a9e4557caaf25 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly-magic.js +++ b/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly-magic.js @@ -1,7 +1,6 @@ (function ($) { Drupal.behaviors.panopolyMagic = { attach: function (context, settings) { - /** * Title Hax for Panopoly * @@ -13,16 +12,6 @@ $('h1.title').hide().clone().prependTo('.pane-node-title .pane-content'); $('.pane-node-title h1.title').show(); } - - // Focus on the 'Add' button for a single widget preview, after it's loaded. - if (settings.panopoly_magic && settings.panopoly_magic.pane_add_preview_mode === 'single' && settings.panopoly_magic.pane_add_preview_subtype) { - // Need to defer until current set of behaviors is done, because Panels - // will move the focus to the first widget by default. - setTimeout(function () { - var link_class = 'add-content-link-' + settings.panopoly_magic.pane_add_preview_subtype.replace(/_/g, '-') + '-icon-text-button'; - $('#modal-content .panopoly-magic-preview-link .content-type-button a.' + link_class, context).focus(); - }, 0); - } } }; })(jQuery); @@ -123,18 +112,49 @@ }; } - /** * Improves the Auto Submit Experience for CTools Modals */ Drupal.behaviors.panopolyMagicAutosubmit = { attach: function (context, settings) { + // Move focus to preview after it's shown. + $('body').once(function () { + if (typeof Drupal.CTools !== 'undefined' && typeof Drupal.CTools.Modal !== 'undefined' && typeof Drupal.CTools.Modal.modal_display) { + var modal_display = Drupal.CTools.Modal.modal_display; + Drupal.CTools.Modal.modal_display = function (ajax, response, status) { + var url = ajax.url, + params = {}, + widget_name; + + // Do the parent operation. + modal_display(ajax, response, status); + + // Parse the GET arguments. + url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(str, key, value) { + params[key] = value; + }) + if (params['panopoly_magic_preview'] == 'manual') { + widget_name = decodeURIComponent(params['preview_panes']).split(',').pop(); + widget_name.replace(':', '-'); + widget_name.replace(/[^a-zA-Z0-9_]/g, ''); + // Need to defer until current set of behaviors is done, because Panels + // will move the focus to the first widget by default. + setTimeout(function () { + $('#modal-content .panopoly-magic-preview-' + widget_name + ' :focusable:first').focus(); + }, 0); + } + else if (params['panopoly_magic_preview'] == 'single') { + // Ditto. + setTimeout(function () { + $('#modal-content .panopoly-magic-preview :focusable:first').focus(); + }, 0); + } + }; + } + }); + // Replaces click with mousedown for submit so both normal and ajax work. $('.ctools-auto-submit-click', context) - // Exclude the 'Style' type form because then you have to press the - // "Next" button multiple times. - // @todo: Should we include the places this works rather than excluding? - .filter(function () { return $(this).closest('form').attr('id').indexOf('panels-edit-style-type-form') !== 0; }) .click(function(event) { if ($(this).hasClass('ajax-processed')) { event.stopImmediatePropagation(); diff --git a/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.info b/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.info index 083508f59da94843333bb132209fc04861c9c2bc..e73218c894052dd79ce16812106a19f602862ddd 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.info @@ -15,9 +15,8 @@ stylesheets[all][] = css/panopoly-modal.css features[features_api][] = api:2 files[] = plugins/views/panopoly_magic_plugin_display_panel_pane.inc -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_magic" -datestamp = "1519310668" - +datestamp = "1530728661" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.module b/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.module index 4e8336590294a7cc4963a4208c50bbbdcd3ed994..f30ddcd71a5586ac0a91dc8e5875cda471a92c67 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.module +++ b/profiles/wcm_base/modules/panopoly/panopoly_magic/panopoly_magic.module @@ -42,22 +42,8 @@ function panopoly_magic_init() { drupal_add_js($modal_style, 'setting'); // Tell Javascript which 'Add content' preview mode we're using. - switch (variable_get('panopoly_magic_pane_add_preview', PANOPOLY_ADD_PREVIEW_DEFAULT)) { - case PANOPOLY_ADD_PREVIEW_SINGLE: - $pane_add_preview = 'single'; - break; - case PANOPOLY_ADD_PREVIEW_DISABLED: - $pane_add_preview = 'disabled'; - break; - case PANOPOLY_ADD_PREVIEW_AUTOMATIC: - $pane_add_preview = 'automatic'; - break; - case PANOPOLY_ADD_PREVIEW_MANUAL: - $pane_add_preview = 'manual'; - break; - } drupal_add_js(array('panopoly_magic' => array( - 'pane_add_preview_mode' => $pane_add_preview, + 'pane_add_preview_mode' => _panopoly_magic_add_content_preview_mode_name(), )), 'setting'); } @@ -1548,7 +1534,7 @@ function panopoly_magic_preview_callback_fpp($type, $subtype, $plugin, $renderer return NULL; } - // Set a property to it's possible to tell that the FPP is being rendered + // Set a property so it's possible to tell that the FPP is being rendered // in a preview, for example, in the template. $fpp->panopoly_magic_preview = TRUE; @@ -1567,7 +1553,10 @@ function panopoly_magic_preview_callback_fpp($type, $subtype, $plugin, $renderer * Default 'preview callback' for when a 'preview image' is used. */ function panopoly_magic_preview_callback_image($type, $subtype, $plugin, $renderer) { - return theme('image', array('path' => $plugin['preview image'])); + if (empty($plugin['preview image alt'])) { + $plugin['preview image alt'] = NULL; + } + return theme('image', array('path' => $plugin['preview image'], 'alt' => $plugin['preview image alt'])); } /** @@ -1662,13 +1651,14 @@ function panopoly_magic_preprocess_panels_add_content_modal(&$vars) { // Convert the link to generate a preview of itself. $options = array( 'query' => array( + 'panopoly_magic_preview' => _panopoly_magic_add_content_preview_mode_name($use_preview), 'type_name' => $widget_vars['type_name'], 'subtype_name' => $widget_vars['subtype_name'], ), 'attributes' => array('class' => array('use-ajax button')), 'html' => TRUE, ); - $widget_vars['title'] = l(filter_xss_admin($widget_vars['title']), current_path(), $options); + $widget_vars['title'] = l(t('<span class="element-invisible">Preview</span> !widget <span class="element-invisible">widget</span>', array('!widget' => filter_xss_admin($widget_vars['title']))), current_path(), $options); } elseif ($use_preview == PANOPOLY_ADD_PREVIEW_AUTOMATIC || in_array($widget_vars['subtype_name'], $preview_panes)) { _panopoly_magic_render_preview_pane($widget_vars, $vars['renderer']); @@ -1678,13 +1668,17 @@ function panopoly_magic_preprocess_panels_add_content_modal(&$vars) { // If we can't preview then generate a preview link. $preview = empty($query['preview_panes']) ? $widget_vars['subtype_name'] : $query['preview_panes'] . ',' . $widget_vars['subtype_name']; $options = array( - 'query' => array('preview_panes' => $preview), + 'query' => array( + 'panopoly_magic_preview' => _panopoly_magic_add_content_preview_mode_name($use_preview), + 'preview_panes' => $preview + ), 'attributes' => array( 'class' => array('use-ajax button'), 'title' => t('Preview @widget widget', array('@widget' => $key)), ), + 'html' => TRUE, ); - $widget_vars['preview'] = '<div class="modal-content-preview-button">' . l(t('Preview'), current_path(), $options) . '</div>'; + $widget_vars['preview'] = '<div class="modal-content-preview-button">' . l(t('Preview <span class="element-invisible">!widget widget</span>', array('!widget' => filter_xss_admin($key))), current_path(), $options) . '</div>'; } } } @@ -1725,6 +1719,11 @@ function template_preprocess_panopoly_magic_preview(&$vars) { $vars['classes_array'][] = 'widget-preview-single'; } + // A class identifying the widget. + if (isset($vars['preview_subtype_name'])) { + $vars['classes_array'][] = 'panopoly-magic-preview-' . str_replace(':', '-', $vars['preview_subtype_name']); + } + // For backcompat with themes that depend on the fieldset markup. $vars['use_legacy_fieldset'] = variable_get('panopoly_magic_preview_use_legacy_fieldset', FALSE); } @@ -1816,6 +1815,7 @@ function panopoly_magic_process_panels_add_content_modal(&$vars) { 'title' => $legend_title, 'add_link' => $add_content_link, 'preview' => $preview, + 'preview_subtype_name' => $content[$title]['subtype_name'], )); } } @@ -1878,6 +1878,29 @@ function panopoly_magic_view_mode_options($entity_type = 'node') { return $options; } +/** + * Helper function to get name of the 'Add content' preview mode. + */ +function _panopoly_magic_add_content_preview_mode_name($value = NULL) { + if (is_null($value)) { + $value = variable_get('panopoly_magic_pane_add_preview', PANOPOLY_ADD_PREVIEW_DEFAULT); + } + + switch ($value) { + case PANOPOLY_ADD_PREVIEW_SINGLE: + return 'single'; + + case PANOPOLY_ADD_PREVIEW_DISABLED: + return 'disabled'; + + case PANOPOLY_ADD_PREVIEW_AUTOMATIC: + return 'automatic'; + + case PANOPOLY_ADD_PREVIEW_MANUAL: + return 'manual'; + } +} + /** * Implements hook_views_api(). */ diff --git a/profiles/wcm_base/modules/panopoly/panopoly_pages/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_pages/CHANGELOG.txt index 7a1402f89597b4aab7ef25b35c07f5834f68442a..5e928dcab398d288a826a7dad8407588091548de 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_pages/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_pages/CHANGELOG.txt @@ -1,3 +1,11 @@ +7.x-1.55, 2018-07-04 +------------------- +- No changes since last release. + +7.x-1.54, 2018-05-10 +------------------- +- No changes since last release. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_pages/panopoly_pages.info b/profiles/wcm_base/modules/panopoly/panopoly_pages/panopoly_pages.info index 4fe4bdc36a187050051e660d58eb209b26598ee4..701f1f8d40084c77006dddd7ad9c83884a16b9c8 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_pages/panopoly_pages.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_pages/panopoly_pages.info @@ -81,9 +81,8 @@ features_exclude[variable][pathauto_node_panopoly_landing_page_pattern] = pathau features_exclude[variable][pathauto_node_panopoly_page_pattern] = pathauto_node_panopoly_page_pattern features_exclude[variable][pathauto_taxonomy_term_panopoly_categories_pattern] = pathauto_taxonomy_term_panopoly_categories_pattern -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_pages" -datestamp = "1519310687" - +datestamp = "1530728672" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_search/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_search/CHANGELOG.txt index fe327d3f8290f2cfe4e54fc571241ad4145f9fe9..86eb10de8959d16f5741727f16ce59cca0da4e27 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_search/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_search/CHANGELOG.txt @@ -1,3 +1,11 @@ +7.x-1.55, 2018-07-04 +------------------- +- No changes since last release. + +7.x-1.54, 2018-05-10 +------------------- +- Update search_api to version 1.24. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.info b/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.info index a9401cbec98e2f97d241e2f15777167650869000..cbe99c9186582c8ea437e6185cb3ccb8a3bc3ec9 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.info @@ -54,9 +54,8 @@ features[variable][] = search_cron_limit features[views_view][] = panopoly_database_search features[views_view][] = panopoly_search -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_search" -datestamp = "1519310710" - +datestamp = "1530728684" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.make b/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.make index c5009dc525fa450c56bd93012684f1a24ebe6c88..d9a3a65ea6e4825dcf93596f4841c87cdf4fec85 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.make +++ b/profiles/wcm_base/modules/panopoly/panopoly_search/panopoly_search.make @@ -8,7 +8,7 @@ core = 7.x projects[facetapi][version] = 1.5 projects[facetapi][subdir] = contrib -projects[search_api][version] = 1.21 +projects[search_api][version] = 1.24 projects[search_api][subdir] = contrib projects[search_api_solr][version] = 1.12 diff --git a/profiles/wcm_base/modules/panopoly/panopoly_test/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_test/CHANGELOG.txt index 2386a9755e73a8a7e4d83c839b26c2649e41ea08..2c178c1a56b3ca00a201a102c1629d11dc2c4667 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_test/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_test/CHANGELOG.txt @@ -1,3 +1,15 @@ +7.x-1.55, 2018-07-04 +------------------- +- No changes since last release. + +7.x-1.54, 2018-05-10 +------------------- +- Fix issues with waiting for AJAX in an iframe (Behat). +- Linkit and live preview with panes style tests failing on Travis. +- Declare $javascript property in panopoly_test.behat.inc. +- Widgets can be saved without any content. +- Update TableField to 7.x-3.1. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/linkit.feature b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/linkit.feature index f091fe07a92b1bdeb73142cf10cc8f9f52a3c035..2775902e0860629a20f22f765eb18bcad135fdf0 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/linkit.feature +++ b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/linkit.feature @@ -40,5 +40,4 @@ Feature: Link to page on the site #And I press "Publish" And I press "edit-submit" Then I should see "https://drupal.org/project/panopoly" in the "a" element with the "title" attribute set to "Testing title" in the "Bryant Content" region - When I click "https://drupal.org/project/panopoly" - Then the "h1" element should contain "Panopoly" + And I should see "https://drupal.org/project/panopoly" in the "a" element with the "href" attribute set to "https://drupal.org/project/panopoly" in the "Bryant Content" region diff --git a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/panopoly_magic/livepreview.feature b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/panopoly_magic/livepreview.feature index 858abd755471db5ce2c1d1b5973255d68cd0e200..a40a7e9af30c526ad01c9ced5c09645eef4c8fa6 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/panopoly_magic/livepreview.feature +++ b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/panopoly_magic/livepreview.feature @@ -14,13 +14,14 @@ Feature: Live preview Then I should see "Configure new Add table" When I fill in "Title" with "Widget title" And I wait for live preview to finish - Then I should see "Widget title" in the "Live preview" region - When I fill in "field_basic_table_table[und][0][tablefield][cell_0_0]" with "c-1-r-1" + Then I should see "Table is a required field." in the "Live preview" region + When I fill in "field_basic_table_table[und][0][tablefield][tabledata][row_0][col_0]" with "c-1-r-1" And I wait for live preview to finish + Then I should see "Widget title" in the "Live preview" region # We need to check the table header case insensitively, because it's not # uncommon to make table headers capitalized. - Then I should see text matching "/c-1-r-1/i" in the "Live preview" region - When I fill in "field_basic_table_table[und][0][tablefield][cell_0_1]" with "c-2-r-1" + And I should see text matching "/c-1-r-1/i" in the "Live preview" region + When I fill in "field_basic_table_table[und][0][tablefield][tabledata][row_0][col_1]" with "c-2-r-1" And I wait for live preview to finish Then I should see text matching "/c-2-r-1/i" in the "Live preview" region # Test that we can make the title into a link @@ -126,7 +127,12 @@ Feature: Live preview Then I should not see "Widget title" in the "Live preview" region When I press "Update Preview" And I wait for live preview to finish + Then I should see "Text field is required." in the "Live preview" region + When I fill in the "edit-field-basic-text-text-und-0-value" WYSIWYG editor with "Hello Text" + And I press "Update Preview" + And I wait for live preview to finish Then I should see "Widget title" in the "Live preview" region + And I should see "Hello Text" in the "Live preview" region @api @javascript @panopoly_magic @panopoly_widgets Scenario: Automatic live preview should validation errors immediately @@ -444,6 +450,7 @@ Feature: Live preview Then I should see "Configure new Add text" When I fill in the following: | Title | Here's a title & then some | + And I fill in the "edit-field-basic-text-text-und-0-value" WYSIWYG editor with "Hello Text" And I check the box "Make title a link" And I wait for AJAX to finish Then I should see "Here's a title & then some" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/table_widget.feature b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/table_widget.feature index b775c73ddcb9aa82d2194ccb343b26770e413215..db4060be054de8ee50b44f21f506292a43222766 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/table_widget.feature +++ b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/features/table_widget.feature @@ -16,12 +16,12 @@ Feature: Add table widget Scenario: Add table to a page When I fill in the following: | Title | Widget title | - | field_basic_table_table[und][0][tablefield][cell_0_0] | c-1-r-1 | - | field_basic_table_table[und][0][tablefield][cell_0_1] | c-2-r-1 | - | field_basic_table_table[und][0][tablefield][cell_1_0] | c-1-r-2 | - | field_basic_table_table[und][0][tablefield][cell_1_1] | c-2-r-2 | - | field_basic_table_table[und][0][tablefield][cell_2_0] | c-1-r-3 | - | field_basic_table_table[und][0][tablefield][cell_2_1] | c-2-r-3 | + | field_basic_table_table[und][0][tablefield][tabledata][row_0][col_0] | c-1-r-1 | + | field_basic_table_table[und][0][tablefield][tabledata][row_0][col_1] | c-2-r-1 | + | field_basic_table_table[und][0][tablefield][tabledata][row_1][col_0] | c-1-r-2 | + | field_basic_table_table[und][0][tablefield][tabledata][row_1][col_1] | c-2-r-2 | + | field_basic_table_table[und][0][tablefield][tabledata][row_2][col_0] | c-1-r-3 | + | field_basic_table_table[und][0][tablefield][tabledata][row_2][col_1] | c-2-r-3 | And I press "Add" in the "CTools modal" region And I press "Save" And I wait for the Panels IPE to deactivate @@ -37,12 +37,12 @@ Feature: Add table widget And I press "Rebuild Table" Then I should see "Table structure rebuilt." When I fill in the following: - | field_basic_table_table[und][0][tablefield][cell_0_0] | c-1-r-1 | - | field_basic_table_table[und][0][tablefield][cell_0_1] | c-2-r-1 | - | field_basic_table_table[und][0][tablefield][cell_0_2] | c-3-r-1 | - | field_basic_table_table[und][0][tablefield][cell_1_0] | c-1-r-2 | - | field_basic_table_table[und][0][tablefield][cell_1_1] | c-2-r-2 | - | field_basic_table_table[und][0][tablefield][cell_1_2] | c-3-r-2 | + | field_basic_table_table[und][0][tablefield][tabledata][row_0][col_0] | c-1-r-1 | + | field_basic_table_table[und][0][tablefield][tabledata][row_0][col_1] | c-2-r-1 | + | field_basic_table_table[und][0][tablefield][tabledata][row_0][col_2] | c-3-r-1 | + | field_basic_table_table[und][0][tablefield][tabledata][row_1][col_0] | c-1-r-2 | + | field_basic_table_table[und][0][tablefield][tabledata][row_1][col_1] | c-2-r-2 | + | field_basic_table_table[und][0][tablefield][tabledata][row_1][col_2] | c-3-r-2 | And I press "Add" in the "CTools modal" region And I press "Save" And I wait for the Panels IPE to deactivate diff --git a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/steps/panopoly_test.behat.inc b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/steps/panopoly_test.behat.inc index 331505baa34a02bc834312683ea7b644380277f2..b68f263bc2d67274fed561cdf05d148ab6d41d50 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_test/behat/steps/panopoly_test.behat.inc +++ b/profiles/wcm_base/modules/panopoly/panopoly_test/behat/steps/panopoly_test.behat.inc @@ -22,6 +22,13 @@ class TestSubContext extends RawDrupalContext implements DrupalSubContextInterfa */ private $drupal = NULL; + /** + * Tracks if we're in a Javascript scenario or not. + * + * @var bool + */ + private $javascript = FALSE; + /** * Contains the name of the currently selected iframe. * @@ -133,10 +140,15 @@ class TestSubContext extends RawDrupalContext implements DrupalSubContextInterfa * @AfterStep */ public function afterStepWaitForJavascript($event) { - if (isset($this->javascript) && $this->javascript && empty($this->iframe)) { + if (isset($this->javascript) && $this->javascript) { $text = $event->getStep()->getText(); if (preg_match('/(follow|press|click|submit|viewing|visit|reload|attach)/i', $text)) { $this->iWaitForAjax(); + + // For whatever reason, the above isn't very accurate inside iframes. + if (!empty($this->iframe)) { + sleep(3); + } } } } @@ -584,6 +596,7 @@ class TestSubContext extends RawDrupalContext implements DrupalSubContextInterfa public function iSwitchToTheFrame($frame) { $this->getSession()->switchToIFrame($frame); $this->iframe = $frame; + sleep(3); } /** diff --git a/profiles/wcm_base/modules/panopoly/panopoly_test/panopoly_test.info b/profiles/wcm_base/modules/panopoly/panopoly_test/panopoly_test.info index f3d1ade11b9bd6bc4b5f96c628a33e6367c89515..97a51abb0dd33bbe3f10d3f1b3fccf5138a600c6 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_test/panopoly_test.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_test/panopoly_test.info @@ -99,9 +99,8 @@ features_exclude[dependencies][panopoly_pages] = panopoly_pages features_exclude[dependencies][panelizer] = panelizer hidden = 1 -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_test" -datestamp = "1519310733" - +datestamp = "1530728925" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_theme/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_theme/CHANGELOG.txt index 13502b409399948682ac7025088e5bdcd684b756..4f61a27c4506a9ef342e0652d11ea5346d7f9799 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_theme/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_theme/CHANGELOG.txt @@ -1,3 +1,11 @@ +7.x-1.55, 2018-07-04 +------------------- +- No changes since last release. + +7.x-1.54, 2018-05-10 +------------------- +- No changes since last release. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_theme/panopoly_theme.info b/profiles/wcm_base/modules/panopoly/panopoly_theme/panopoly_theme.info index a8d62a19321eb1f30d8149eddafc0ca68074ab81..be39b32b1aa87f5f1ece439e060410dc46d08982 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_theme/panopoly_theme.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_theme/panopoly_theme.info @@ -11,9 +11,8 @@ stylesheets[all][] = css/panopoly-accordian.css stylesheets[all][] = css/panopoly-layouts.css features[features_api][] = api:2 -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_theme" -datestamp = "1519310753" - +datestamp = "1530728938" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_widgets/CHANGELOG.txt b/profiles/wcm_base/modules/panopoly/panopoly_widgets/CHANGELOG.txt index 96f63ca05f8fd2c8f33e1cfecdff24bcf1d232a3..e572621a17716b00d7ee30f3c07e858479b5c3ce 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_widgets/CHANGELOG.txt +++ b/profiles/wcm_base/modules/panopoly/panopoly_widgets/CHANGELOG.txt @@ -1,3 +1,16 @@ +7.x-1.55, 2018-07-04 +------------------- +- No changes since last release. + +7.x-1.54, 2018-05-10 +------------------- +- Upgrade media and media_youtube in panopoly_widgets. +- Update to Drupal core 7.59 and Media for SA-CORE-2018-004. +- File and Image widgets show PHP notices when underlying file has been deleted. +- Widgets can be saved without any content. +- Update and patch Simple GMAP. +- Update TableField to 7.x-3.1. + 7.x-1.51, 2018-02-22 ------------------- - No changes since last release. diff --git a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_base.inc b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_base.inc index 0aa3c62ea264ee60311858877097cbff7739d1b6..6ddb4d5f426e688a1f5d959a219e0f10edfc6bd4 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_base.inc +++ b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_base.inc @@ -195,10 +195,7 @@ function panopoly_widgets_field_default_field_bases() { 'indexes' => array(), 'locked' => 0, 'module' => 'tablefield', - 'settings' => array( - 'cell_processing' => 0, - 'lock_values' => 0, - ), + 'settings' => array(), 'translatable' => 0, 'type' => 'tablefield', ); diff --git a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_instance.inc b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_instance.inc index aabd9f7252a200ad7a117592be0a5b92fd9a2714..57ea2cd87ad9b9c3a71cf1920f9035a21b6c1dff 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_instance.inc +++ b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.features.field_instance.inc @@ -28,7 +28,7 @@ function panopoly_widgets_field_default_field_instances() { 'entity_type' => 'fieldable_panels_pane', 'field_name' => 'field_basic_file_file', 'label' => 'File', - 'required' => 0, + 'required' => 1, 'settings' => array( 'description_field' => 0, 'file_directory' => 'general', @@ -263,6 +263,7 @@ function panopoly_widgets_field_default_field_instances() { 'module' => 'simple_gmap', 'settings' => array( 'iframe_height' => 400, + 'iframe_title' => 'Google Map of [address]', 'iframe_width' => 600, 'include_link' => 0, 'include_map' => 1, @@ -272,6 +273,7 @@ function panopoly_widgets_field_default_field_instances() { 'langcode' => 'en', 'link_text' => 'View larger map', 'map_type' => 'm', + 'static_scale' => 1, 'zoom_level' => 14, ), 'type' => 'simple_gmap', @@ -281,7 +283,7 @@ function panopoly_widgets_field_default_field_instances() { 'entity_type' => 'fieldable_panels_pane', 'field_name' => 'field_map_address', 'label' => 'Address', - 'required' => 0, + 'required' => 1, 'settings' => array( 'text_processing' => 0, 'user_register_form' => FALSE, @@ -350,7 +352,7 @@ function panopoly_widgets_field_default_field_instances() { 'entity_type' => 'fieldable_panels_pane', 'field_name' => 'field_quick_links_links', 'label' => 'Links', - 'required' => 0, + 'required' => 1, 'settings' => array( 'absolute_url' => 1, 'attributes' => array( @@ -500,21 +502,31 @@ function panopoly_widgets_field_default_field_instances() { 'default_value' => array( 0 => array( 'tablefield' => array( - 'cell_0_0' => '', - 'cell_0_1' => '', - 'cell_1_0' => '', - 'cell_1_1' => '', - 'cell_2_0' => '', - 'cell_2_1' => '', + 'caption' => NULL, 'import' => array( 'rebuild_field_basic_table_table_0' => 'Upload CSV', 'tablefield_csv_field_basic_table_table_0' => '', ), + 'paste' => NULL, 'rebuild' => array( 'count_cols' => 2, 'count_rows' => 3, 'rebuild' => 'Rebuild Table', ), + 'tabledata' => array( + 'row_0' => array( + 'col_0' => '', + 'col_1' => '', + ), + 'row_1' => array( + 'col_0' => '', + 'col_1' => '', + ), + 'row_2' => array( + 'col_0' => '', + 'col_1' => '', + ), + ), ), ), ), @@ -524,7 +536,19 @@ function panopoly_widgets_field_default_field_instances() { 'default' => array( 'label' => 'hidden', 'module' => 'tablefield', - 'settings' => array(), + 'settings' => array( + 'export_csv' => 0, + 'header_orientation' => 'Horizontal', + 'hide_cols_skip_head' => 0, + 'hide_empty_cols' => 0, + 'hide_empty_rows' => 0, + 'hide_header' => 0, + 'sortable' => FALSE, + 'sticky_header' => 1, + 'striping' => 1, + 'trim_trailing_cols' => 1, + 'trim_trailing_rows' => 1, + ), 'type' => 'tablefield_default', 'weight' => 0, ), @@ -532,14 +556,18 @@ function panopoly_widgets_field_default_field_instances() { 'entity_type' => 'fieldable_panels_pane', 'field_name' => 'field_basic_table_table', 'label' => 'Table', - 'required' => 0, + 'required' => 1, 'settings' => array( 'user_register_form' => FALSE, ), 'widget' => array( 'active' => 0, 'module' => 'tablefield', - 'settings' => array(), + 'settings' => array( + 'cell_processing' => 0, + 'lock_values' => 0, + 'restrict_rebuild' => 0, + ), 'type' => 'tablefield', 'weight' => -4, ), @@ -564,7 +592,7 @@ function panopoly_widgets_field_default_field_instances() { 'entity_type' => 'fieldable_panels_pane', 'field_name' => 'field_basic_text_text', 'label' => 'Text', - 'required' => 0, + 'required' => 1, 'settings' => array( 'text_processing' => 1, 'user_register_form' => FALSE, @@ -599,7 +627,7 @@ function panopoly_widgets_field_default_field_instances() { 'entity_type' => 'fieldable_panels_pane', 'field_name' => 'field_video_file', 'label' => 'Video', - 'required' => 0, + 'required' => 1, 'settings' => array( 'description_field' => 0, 'file_directory' => '', diff --git a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.info b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.info index 5748555e82a3307267340930d68dcf2246dea04b..70f984904947fdf7d4be7139a47394ff2e28408e 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.info +++ b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.info @@ -125,9 +125,8 @@ features[linkit_profiles][] = content_fields features[views_view][] = panopoly_widgets_general_content features_exclude[dependencies][linkit] = linkit -; Information added by Drupal.org packaging script on 2018-02-22 -version = "7.x-1.51" +; Information added by Drupal.org packaging script on 2018-07-04 +version = "7.x-1.55" core = "7.x" project = "panopoly_widgets" -datestamp = "1519310799" - +datestamp = "1530730128" diff --git a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.install b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.install index 5e7b67b6a98593dfcb7cc49d6dccdd1cbc5f743e..7465dc064bd6a3708daec515fcbd199ffb3924e8 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.install +++ b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.install @@ -107,6 +107,10 @@ function panopoly_widgets_update_dependencies() { 'linkit' => 7301, ); } + $deps['panopoly_widgets'][7021] = array( + // Wait for tablefield to update itself. + 'tablefield' => 7006, + ); return $deps; } @@ -442,3 +446,42 @@ function panopoly_widgets_update_7020() { } } } + +/** + * Grant new tablefield permission to admin roles. Update field settings. + */ +function panopoly_widgets_update_7021() { + // Make sure new permissions from tablefield get added to the admin role. + if (function_exists('user_modules_installed')) { + user_modules_installed(array('tablefield')); + } + + $instance_info = field_info_instance('fieldable_panels_pane', 'field_basic_table_table', 'table'); + $instance_info['display']['default']['settings']['sticky_header'] = 1; + $instance_info['display']['default']['settings']['striping'] = 1; + $instance_info['display']['default']['settings']['trim_trailing_cols'] = 1; + $instance_info['display']['default']['settings']['trim_trailing_rows'] = 1; + + field_update_instance($instance_info); +} + +/** + * Mark important widget fields as required. + */ +function panopoly_widgets_update_7022() { + $required_bundle_fields = array( + 'basic_file' => array('field_basic_file_file'), + 'map' => array('field_map_address'), + 'quick_links' => array('field_quick_links_links'), + 'table' => array('field_basic_table_table'), + 'text' => array('field_basic_text_text'), + 'video' => array('field_video_file'), + ); + foreach ($required_bundle_fields as $bundle => $required_fields) { + foreach ($required_fields as $field_name) { + $instance_info = field_info_instance('fieldable_panels_pane', $field_name, $bundle); + $instance_info['required'] = 1; + field_update_instance($instance_info); + } + } +} diff --git a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.make b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.make index 497d7914b4434bdcae6be406b4dae0b8d29fe101..29e83641ebea850c8bd85812c64b6f8f904b8fcb 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.make +++ b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.make @@ -5,11 +5,13 @@ core = 7.x ; Panopoly - Contrib - Fields -projects[tablefield][version] = 2.4 +projects[tablefield][version] = 3.1 projects[tablefield][subdir] = contrib +projects[tablefield][patch][2923462] = https://www.drupal.org/files/issues/tablefield-7.x-3.1-duplicate-ids-2923462-14.patch -projects[simple_gmap][version] = 1.2 +projects[simple_gmap][version] = 1.4 projects[simple_gmap][subdir] = contrib +projects[simple_gmap][patch][2902178] = https://www.drupal.org/files/issues/simple_gmap-iframe-title-2902178-15.patch ; Panopoly - Contrib - Widgets @@ -18,16 +20,16 @@ projects[menu_block][subdir] = contrib ; Panopoly - Contrib - Files & Media -projects[file_entity][version] = 2.12 +projects[file_entity][version] = 2.21 projects[file_entity][subdir] = contrib -projects[media][version] = 2.13 +projects[media][version] = 2.19 projects[media][subdir] = contrib -projects[media][patch][2372907] = https://www.drupal.org/files/issues/media-replace-fake-button-2372907-2.patch -projects[media_youtube][version] = 3.0 +projects[media_youtube][version] = 3.7 projects[media_youtube][subdir] = contrib projects[media_vimeo][version] = 2.1 projects[media_vimeo][subdir] = contrib projects[media_vimeo][patch][2446199] = https://www.drupal.org/files/issues/no_exception_handling-2446199-1.patch +projects[media_vimeo][patch][2913855] = https://www.drupal.org/files/issues/media_vimeo_https-2913855-3.patch diff --git a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.module b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.module index ebad978b4266fd39b0e2f83cff09cf7289f87ae6..7083527165a898321b8bf1281497b485e639c264 100644 --- a/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.module +++ b/profiles/wcm_base/modules/panopoly/panopoly_widgets/panopoly_widgets.module @@ -159,6 +159,65 @@ function panopoly_widgets_ctools_content_subtype_alter(&$subtype, &$plugin) { } } +/** + * Implements hook_ctools_plugin_post_alter(). + */ +function panopoly_widgets_ctools_plugin_post_alter(&$plugin, &$info) { + if ($info['module'] == 'ctools' && $info['type'] == 'content_types' && $plugin['module'] == 'fieldable_panels_panes' && $plugin['name'] == 'fieldable_panels_pane') { + $plugin['original render callback'] = $plugin['render callback']; + $plugin['render callback'] = 'panopoly_widgets_fieldable_panels_pane_render'; + } +} + +/** + * Gets a list of all the required file fields for the given bundle. + */ +function panopoly_widgets_get_required_file_fields($bundle) { + $required_file_fields = array(); + + $field_instances = field_info_instances('fieldable_panels_pane', $bundle); + foreach ($field_instances as $field_name => $field_instance) { + $field_info = field_info_field($field_name); + if (in_array($field_info['type'], array('file', 'image')) && !empty($field_instance['required'])) { + $required_file_fields[] = $field_name; + } + } + + return $required_file_fields; +} + +/** + * Render callback for fieldable panels panes. + */ +function panopoly_widgets_fieldable_panels_pane_render($subtype, $conf, $panels_args = array(), $context = array()) { + $entity = fieldable_panels_panes_load_from_subtype($subtype); + + // If the entity has some required file fields, check them. + $required_file_fields = panopoly_widgets_get_required_file_fields($entity->bundle); + $missing_required = FALSE; + if (!empty($required_file_fields)) { + foreach ($required_file_fields as $required_file_field) { + $items = field_get_items('fieldable_panels_pane', $entity, $required_file_field); + + // Check if the required file field is empty or the file doesn't exist. + if (empty($items[0]) || empty($items[0]['fid']) || !file_load($items[0]['fid'])) { + $missing_required = TRUE; + break; + } + } + } + + // If a required file field is missing, then we return nothing. + if ($missing_required) { + return NULL; + } + + // Otherwise, hand off to the original render callback. + $plugin = ctools_get_content_type('fieldable_panels_pane'); + $original_render_callback = $plugin['original render callback']; + return $original_render_callback($subtype, $conf, $panels_args, $context); +} + /** * Implementation of hook_form_alter() */ diff --git a/profiles/wcm_base/themes/wcm_omega/js/wcm-omega-menu.behaviors.js b/profiles/wcm_base/themes/wcm_omega/js/wcm-omega-menu.behaviors.js index a8a5147ceb9ead25cf0a884b00eff44cb1b91cba..6fd70ea8a6ac1255aa037eb0bfcc34f5792a444c 100644 --- a/profiles/wcm_base/themes/wcm_omega/js/wcm-omega-menu.behaviors.js +++ b/profiles/wcm_base/themes/wcm_omega/js/wcm-omega-menu.behaviors.js @@ -20,12 +20,16 @@ group.get(index).focus(); } - function isTopItem(item) { + function isL1Item(item) { return $(item).hasClass('sf-depth-1'); } + function isL2Item(item) { + return $(item).hasClass('sf-depth-2'); + } + function isParentItem(item) { - return $(item).is('.sf-depth-1.menuparent'); + return $(item).hasClass('menuparent'); } var menu = $('ul#superfish-1'); @@ -33,9 +37,11 @@ var parents = items.filter('.sf-depth-1'); items.on('keydown', function(e){ + var isL1 = isL1Item(this); + var isL2 = isL2Item(this); var isParent = isParentItem(this); - var isTop = isTopItem(this); var key = e.which; + var children; if (key > 36 && key < 41) { e.preventDefault(); @@ -43,27 +49,21 @@ // left/right keys if (key % 2) { - if (isTop) { + if (isL1) { index = parents.index(this); } - else { - index = parents.index($(this).parents('li.sf-depth-1').find('.sf-depth-1').get(0)); + else if (isL2) { + index = parents.index($(this).parents('li.sf-depth-1').find('a.sf-depth-1')); } index = index + key - 38; - navigate(parents, index); } // up/down keys else { - var children = $(this).parents('.main-menu-second-ul').find('a'); - - if (!children.length){ - children = $(this).next('.main-menu-second-ul').find('a'); - } - index = children.index(this) + key - 39; - - if (isParent || !isTop) { + if (isL1 && isParent || isL2) { + children = $(this).parents('ul').find('a.sf-depth-2'); + index = children.index(this) + key - 39; navigate(children, index); } } @@ -72,7 +72,7 @@ else if (key == 27) { e.preventDefault(); - if (!isParent) { + if (!(isL1 && isParent)) { $(this).parents('li.sf-depth-1').find('.sf-depth-1').focus(); } } @@ -83,11 +83,11 @@ } // ENTER key else if (key == 13) { - if (isParent) { + if (isL1 && isParent) { e.preventDefault(); - var e = $.Event('keydown'); - e.which = 40; - $(this).trigger(e); + + children = $(this).parents('ul').find('a.sf-depth-2'); + navigate(children, 0); } } }); diff --git a/profiles/wcm_base/wcm_base.make b/profiles/wcm_base/wcm_base.make index 55edd9dc00e19e8fddf4c00b0dca28757f2930d2..1484d8273b2c412def46446cbbd21f0d01db7c40 100644 --- a/profiles/wcm_base/wcm_base.make +++ b/profiles/wcm_base/wcm_base.make @@ -20,7 +20,7 @@ projects[context][subdir] = contrib projects[context_omega][version] = 1.1 projects[context_omega][subdir] = contrib -projects[ctools][version] = 1.13 +projects[ctools][version] = 1.14 projects[ctools][subdir] = contrib projects[date][version] = 2.10 @@ -35,6 +35,10 @@ projects[draggableviews][version] = 2.x-dev projects[draggableviews][subdir] = contrib projects[draggableviews][patch][2734155] = http://drupal.org/files/issues/draggableviews-n2734155-11.patch +projects[entity][version] = 1.9 +projects[entity][subdir] = contrib +projects[entity][patch][1312374] = http://drupal.org/files/issues/entity-1312374-42-fatal-error-if-missing-property-callback.patch + projects[ds][version] = 2.15 projects[ds][subdir] = contrib @@ -168,9 +172,9 @@ projects[token][subdir] = contrib projects[token_filter][version] = 1.1 projects[token_filter][subdir] = contrib -projects[views][version] = 3.18 +projects[views][version] = 3.20 projects[views][subdir] = contrib -projects[views][patch][2037469] = http://drupal.org/files/issues/views-exposed-sorts-2037469-16.diff +projects[views][patch][2037469] = http://drupal.org/files/issues/views-exposed-sorts-2037469-26.patch projects[views_accordion][version] = 1.1 projects[views_accordion][subdir] = contrib @@ -191,7 +195,7 @@ projects[webform][patch][1147994] = http://drupal.org/files/issues/2018-05-09/we projects[zurb_responsive_tables][version] = 1.x-dev projects[zurb_responsive_tables][subdir] = contrib -projects[xmlsitemap][version] = 2.3 +projects[xmlsitemap][version] = 2.4 projects[xmlsitemap][subdir] = contrib @@ -470,31 +474,31 @@ libraries[ocio_modernizr][download][branch] = 7.x-1.x ; The Panopoly Foundation -projects[panopoly_core][version] = 1.51 +projects[panopoly_core][version] = 1.55 projects[panopoly_core][subdir] = panopoly -projects[panopoly_theme][version] = 1.51 +projects[panopoly_theme][version] = 1.55 projects[panopoly_theme][subdir] = panopoly -projects[panopoly_magic][version] = 1.51 +projects[panopoly_magic][version] = 1.55 projects[panopoly_magic][subdir] = panopoly -projects[panopoly_widgets][version] = 1.51 +projects[panopoly_widgets][version] = 1.55 projects[panopoly_widgets][subdir] = panopoly -projects[panopoly_admin][version] = 1.51 +projects[panopoly_admin][version] = 1.55 projects[panopoly_admin][subdir] = panopoly ; The Panopoly Toolset -projects[panopoly_pages][version] = 1.51 +projects[panopoly_pages][version] = 1.55 projects[panopoly_pages][subdir] = panopoly -projects[panopoly_search][version] = 1.51 +projects[panopoly_search][version] = 1.55 projects[panopoly_search][subdir] = panopoly ; For running the automated tests. -projects[panopoly_test][version] = 1.51 +projects[panopoly_test][version] = 1.55 projects[panopoly_test][subdir] = panopoly