diff --git a/includes/handlers.inc b/includes/handlers.inc index 129b83abb5d..c7b96ff4faa 100644 --- a/includes/handlers.inc +++ b/includes/handlers.inc @@ -70,7 +70,8 @@ function _views_create_handler($definition, $type = 'handler', $handler_type = N $handler = new $definition['override handler']; } else { - $handler = new $definition['handler']; + // @todo: $definition['handler'] is kind of a bad. + $handler = new $definition['handler']($definition, $definition['handler']); } $handler->set_definition($definition); diff --git a/includes/plugins.inc b/includes/plugins.inc index 09faa135690..44f6016407a 100644 --- a/includes/plugins.inc +++ b/includes/plugins.inc @@ -268,7 +268,7 @@ function views_views_plugins() { 'title' => t('SQL Query'), 'help' => t('Query will be generated and run using the Drupal database API.'), 'class' => 'views_plugin_query_default', - 'class' => 'Drupal\views\Plugins\views\query\SqlQuery', + 'class' => 'Drupal\views\Plugins\views\query\Sql', ), ), 'cache' => array( diff --git a/lib/Drupal/views/Plugins/views/area/AreaPluginBase.php b/lib/Drupal/views/Plugins/views/area/AreaPluginBase.php index 48d3b4a716f..db757a8c92b 100644 --- a/lib/Drupal/views/Plugins/views/area/AreaPluginBase.php +++ b/lib/Drupal/views/Plugins/views/area/AreaPluginBase.php @@ -8,6 +8,7 @@ namespace Drupal\views\Plugins\views\area; use Drupal\views\Plugins\views\Plugin; +use Drupal\views\Plugins\views\Handler; /** * @defgroup views_area_handlers Views area handlers @@ -21,7 +22,7 @@ use Drupal\views\Plugins\views\Plugin; * * @ingroup views_area_handlers */ -class AreaPluginBase extends Plugin { +class AreaPluginBase extends Handler { /** * Get this field's label. */ diff --git a/lib/Drupal/views/Plugins/views/argument/ArgumentPluginBase.php b/lib/Drupal/views/Plugins/views/argument/ArgumentPluginBase.php index 9d0c3ce5075..6f2f70f9379 100644 --- a/lib/Drupal/views/Plugins/views/argument/ArgumentPluginBase.php +++ b/lib/Drupal/views/Plugins/views/argument/ArgumentPluginBase.php @@ -7,7 +7,8 @@ namespace Drupal\views\Plugins\views\argument; -use Drupal\views\Plugins\Plugin; +use Drupal\views\Plugins\views\Plugin; +use Drupal\views\Plugins\views\Handler; /** * @defgroup views_argument_handlers Views argument handlers @@ -39,7 +40,7 @@ use Drupal\views\Plugins\Plugin; * * @ingroup views_argument_handlers */ -class ArgumentPluginBase extends Plugin { +class ArgumentPluginBase extends Handler { var $validator = NULL; var $argument = NULL; diff --git a/lib/Drupal/views/Plugins/views/display/DisplayPluginBase.php b/lib/Drupal/views/Plugins/views/display/DisplayPluginBase.php index b9ab08f3fcf..7ce0cb6bd74 100644 --- a/lib/Drupal/views/Plugins/views/display/DisplayPluginBase.php +++ b/lib/Drupal/views/Plugins/views/display/DisplayPluginBase.php @@ -9,7 +9,7 @@ namespace Drupal\views\Plugins\views\display; use Drupal\views\View; use Drupal\views\Plugins\views\Plugin; -use Drupal\views\Plugins\views\query\QueryPluginType; +use Drupal\views\Plugins\Type\QueryPluginManager; /** * @defgroup views_display_plugins Views display plugins @@ -881,6 +881,10 @@ class DisplayPluginBase extends Plugin { // access & cache store their options as siblings with the // type; all others use an 'options' array. if ($type != 'access' && $type != 'cache') { + if (!isset($options['options'])) { +// debug($type); +// debug($options); + } $options = $options['options']; } } @@ -889,7 +893,7 @@ class DisplayPluginBase extends Plugin { $plugin = views_get_plugin($type, $name); } else { - $plugin_type = new QueryPluginType(); + $plugin_type = new QueryPluginManager(); $plugin = $plugin_type->createInstance($name); } diff --git a/lib/Drupal/views/Plugins/views/field/FieldPluginBase.php b/lib/Drupal/views/Plugins/views/field/FieldPluginBase.php index 6ad95f1de83..c8da38caded 100644 --- a/lib/Drupal/views/Plugins/views/field/FieldPluginBase.php +++ b/lib/Drupal/views/Plugins/views/field/FieldPluginBase.php @@ -8,6 +8,7 @@ namespace Drupal\views\Plugins\views\field; use Drupal\views\Plugins\views\Plugin; +use Drupal\views\Plugins\views\Handler; /** * @defgroup views_field_handlers Views field handlers @@ -46,7 +47,7 @@ define('VIEWS_HANDLER_RENDER_TEXT_PHASE_EMPTY', 2); * * @ingroup views_field_handlers */ -class FieldPluginBase extends Plugin { +class FieldPluginBase extends Handler { var $field_alias = 'unknown'; var $aliases = array(); @@ -1624,7 +1625,7 @@ 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 { +class views_handler_field_broken extends FieldPluginBase { function ui_name($short = FALSE) { return t('Broken/missing handler'); } @@ -1648,7 +1649,7 @@ class views_handler_field_broken extends views_handler_field { * * @ingroup views_field_handlers */ -class views_handler_field_file_size extends views_handler_field { +class views_handler_field_file_size extends FieldPluginBase { function option_definition() { $options = parent::option_definition(); @@ -1691,7 +1692,7 @@ class views_handler_field_file_size extends views_handler_field { * * @ingroup views_field_handlers */ -class views_handler_field_xss extends views_handler_field { +class views_handler_field_xss extends FieldPluginBase { function render($values) { $value = $this->get_value($values); return $this->sanitize_value($value, 'xss'); diff --git a/modules/node/views_handler_field_node.inc b/modules/node/views_handler_field_node.inc index f712a538724..9785faf7182 100644 --- a/modules/node/views_handler_field_node.inc +++ b/modules/node/views_handler_field_node.inc @@ -5,6 +5,8 @@ * Contains the basic 'node' field handler. */ +use Drupal\views\Plugins\views\field\FieldPluginBase; + /** * Field handler to provide simple renderer that allows linking to a node. * Definition terms: @@ -12,7 +14,7 @@ * * @ingroup views_field_handlers */ -class views_handler_field_node extends views_handler_field { +class views_handler_field_node extends FieldPluginBase { function init(&$view, &$options) { parent::init($view, $options); diff --git a/views.module b/views.module index a43d7463dbe..7c25d6d17d6 100644 --- a/views.module +++ b/views.module @@ -1364,18 +1364,40 @@ function views_get_plugin($type, $plugin, $reset = FALSE) { */ function views_get_plugin_manager($type) { switch ($type) { - case 'style': - $manager = new StylePluginManager(); - break; case 'display': $manager = new DisplayPluginManager(); break; - case 'localization': - $manager = new LocalizationPluginManager(); + case 'style': + $manager = new StylePluginManager(); break; case 'row': $manager = new RowPluginManager(); break; + case 'argument default': + $manager = new ArgumentDefaultPluginManager(); + break; + case 'argument validator': + $manager = new ArgumentValidatorPluginManager(); + break; + case 'access': + $manager = new AccessPluginManager(); + break; + case 'query': + $manager = new QueryPluginManager(); + break; + case 'cache': + $manager = new CachePluginManager(); + break; + // @todo: find out whether to use underscores or spaces. + case 'exposed_form': + $manager = new ExposedFormPluginManager(); + break; + case 'pager': + $manager = new PagerPluginManager(); + break; + case 'localization': + $manager = new LocalizationPluginManager(); + break; } return $manager;