Chris@0: getStorage('view'); Chris@0: $module_handler = \Drupal::moduleHandler(); Chris@0: foreach ($modules as $module) { Chris@0: $config_dir = drupal_get_path('module', $module) . '/test_views'; Chris@0: if (!is_dir($config_dir) || !$module_handler->moduleExists($module)) { Chris@0: continue; Chris@0: } Chris@0: Chris@0: $file_storage = new FileStorage($config_dir); Chris@0: $available_views = $file_storage->listAll('views.view.'); Chris@0: foreach ($views as $id) { Chris@0: $config_name = 'views.view.' . $id; Chris@0: if (in_array($config_name, $available_views)) { Chris@0: $storage Chris@0: ->create($file_storage->read($config_name)) Chris@0: ->save(); Chris@0: } Chris@0: } Chris@0: } Chris@0: } Chris@0: Chris@0: // Rebuild the router once. Chris@0: \Drupal::service('router.builder')->rebuild(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Returns the schema definition. Chris@0: * Chris@0: * @internal Chris@0: */ Chris@0: public static function schemaDefinition() { Chris@0: $schema['views_test_data'] = [ Chris@0: 'description' => 'Basic test table for Views tests.', Chris@0: 'fields' => [ Chris@0: 'id' => [ Chris@0: 'type' => 'serial', Chris@0: 'unsigned' => TRUE, Chris@0: 'not null' => TRUE, Chris@0: ], Chris@0: 'name' => [ Chris@0: 'description' => "A person's name", Chris@0: 'type' => 'varchar_ascii', Chris@0: 'length' => 255, Chris@0: 'not null' => TRUE, Chris@0: 'default' => '', Chris@0: ], Chris@0: 'age' => [ Chris@0: 'description' => "The person's age", Chris@0: 'type' => 'int', Chris@0: 'unsigned' => TRUE, Chris@0: 'not null' => TRUE, Chris@0: 'default' => 0, Chris@0: ], Chris@0: 'job' => [ Chris@0: 'description' => "The person's job", Chris@0: 'type' => 'varchar', Chris@0: 'length' => 255, Chris@0: 'not null' => TRUE, Chris@0: 'default' => 'Undefined', Chris@0: ], Chris@0: 'created' => [ Chris@0: 'description' => "The creation date of this record", Chris@0: 'type' => 'int', Chris@0: 'unsigned' => TRUE, Chris@0: 'not null' => TRUE, Chris@0: 'default' => 0, Chris@0: ], Chris@0: 'status' => [ Chris@0: 'description' => "The status of this record", Chris@0: 'type' => 'int', Chris@0: 'unsigned' => TRUE, Chris@0: 'not null' => TRUE, Chris@0: 'default' => 0, Chris@0: ], Chris@0: ], Chris@0: 'primary key' => ['id'], Chris@0: 'unique keys' => [ Chris@17: 'name' => ['name'], Chris@0: ], Chris@0: 'indexes' => [ Chris@0: 'ages' => ['age'], Chris@0: ], Chris@0: ]; Chris@0: return $schema; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Returns the views data definition. Chris@0: */ Chris@0: public static function viewsData() { Chris@0: // Declaration of the base table. Chris@0: $data['views_test_data']['table'] = [ Chris@0: 'group' => 'Views test', Chris@0: 'base' => [ Chris@0: 'field' => 'id', Chris@0: 'title' => 'Views test data', Chris@0: 'help' => 'Users who have created accounts on your site.', Chris@0: ], Chris@0: ]; Chris@0: Chris@0: // Declaration of fields. Chris@0: $data['views_test_data']['id'] = [ Chris@0: 'title' => 'ID', Chris@0: 'help' => 'The test data ID', Chris@0: 'field' => [ Chris@0: 'id' => 'numeric', Chris@0: ], Chris@0: 'argument' => [ Chris@0: 'id' => 'numeric', Chris@0: ], Chris@0: 'filter' => [ Chris@0: 'id' => 'numeric', Chris@0: ], Chris@0: 'sort' => [ Chris@0: 'id' => 'standard', Chris@0: ], Chris@0: ]; Chris@0: $data['views_test_data']['name'] = [ Chris@0: 'title' => 'Name', Chris@0: 'help' => 'The name of the person', Chris@0: 'field' => [ Chris@0: 'id' => 'standard', Chris@0: ], Chris@0: 'argument' => [ Chris@0: 'id' => 'string', Chris@0: ], Chris@0: 'filter' => [ Chris@0: 'id' => 'string', Chris@0: ], Chris@0: 'sort' => [ Chris@0: 'id' => 'standard', Chris@0: ], Chris@0: ]; Chris@0: $data['views_test_data']['age'] = [ Chris@0: 'title' => 'Age', Chris@0: 'help' => 'The age of the person', Chris@0: 'field' => [ Chris@0: 'id' => 'numeric', Chris@0: ], Chris@0: 'argument' => [ Chris@0: 'id' => 'numeric', Chris@0: ], Chris@0: 'filter' => [ Chris@0: 'id' => 'numeric', Chris@0: ], Chris@0: 'sort' => [ Chris@0: 'id' => 'standard', Chris@0: ], Chris@0: ]; Chris@0: $data['views_test_data']['job'] = [ Chris@0: 'title' => 'Job', Chris@0: 'help' => 'The job of the person', Chris@0: 'field' => [ Chris@0: 'id' => 'standard', Chris@0: ], Chris@0: 'argument' => [ Chris@0: 'id' => 'string', Chris@0: ], Chris@0: 'filter' => [ Chris@0: 'id' => 'string', Chris@0: ], Chris@0: 'sort' => [ Chris@0: 'id' => 'standard', Chris@0: ], Chris@0: ]; Chris@0: $data['views_test_data']['created'] = [ Chris@0: 'title' => 'Created', Chris@0: 'help' => 'The creation date of this record', Chris@0: 'field' => [ Chris@0: 'id' => 'date', Chris@0: ], Chris@0: 'argument' => [ Chris@0: 'id' => 'date', Chris@0: ], Chris@0: 'filter' => [ Chris@0: 'id' => 'date', Chris@0: ], Chris@0: 'sort' => [ Chris@0: 'id' => 'date', Chris@0: ], Chris@0: ]; Chris@0: $data['views_test_data']['status'] = [ Chris@0: 'title' => 'Status', Chris@0: 'help' => 'The status of this record', Chris@0: 'field' => [ Chris@0: 'id' => 'boolean', Chris@0: ], Chris@0: 'filter' => [ Chris@0: 'id' => 'boolean', Chris@0: ], Chris@0: 'sort' => [ Chris@0: 'id' => 'standard', Chris@0: ], Chris@0: ]; Chris@0: return $data; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Returns a very simple test dataset. Chris@0: */ Chris@0: public static function dataSet() { Chris@0: return [ Chris@0: [ Chris@0: 'name' => 'John', Chris@0: 'age' => 25, Chris@0: 'job' => 'Singer', Chris@0: 'created' => gmmktime(0, 0, 0, 1, 1, 2000), Chris@0: 'status' => 1, Chris@0: ], Chris@0: [ Chris@0: 'name' => 'George', Chris@0: 'age' => 27, Chris@0: 'job' => 'Singer', Chris@0: 'created' => gmmktime(0, 0, 0, 1, 2, 2000), Chris@0: 'status' => 0, Chris@0: ], Chris@0: [ Chris@0: 'name' => 'Ringo', Chris@0: 'age' => 28, Chris@0: 'job' => 'Drummer', Chris@0: 'created' => gmmktime(6, 30, 30, 1, 1, 2000), Chris@0: 'status' => 1, Chris@0: ], Chris@0: [ Chris@0: 'name' => 'Paul', Chris@0: 'age' => 26, Chris@0: 'job' => 'Songwriter', Chris@0: 'created' => gmmktime(6, 0, 0, 1, 1, 2000), Chris@0: 'status' => 0, Chris@0: ], Chris@0: [ Chris@0: 'name' => 'Meredith', Chris@0: 'age' => 30, Chris@0: 'job' => 'Speaker', Chris@0: 'created' => gmmktime(6, 30, 10, 1, 1, 2000), Chris@0: 'status' => 1, Chris@0: ], Chris@0: ]; Chris@0: } Chris@0: Chris@0: }