1.20.x view.inc | view::init_query() |
Do some common building initialization.
File
- modules/
views/ includes/ view.inc, line 921 - Provides the view object type and associated methods.
Class
- view
- 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.
Code
function init_query() {
if (!empty($this->query)) {
$class = get_class($this->query);
if ($class && $class != 'stdClass') {
// return if query is already initialized.
return TRUE;
}
}
// Create and initialize the query object.
$views_data = views_fetch_data($this->base_table);
$this->base_field = !empty($views_data['table']['base']['field']) ? $views_data['table']['base']['field'] : '';
if (!empty($views_data['table']['base']['database'])) {
$this->base_database = $views_data['table']['base']['database'];
}
// Load the options.
$query_options = $this->display_handler->get_option('query');
// Create and initialize the query object.
$plugin = !empty($views_data['table']['base']['query class']) ? $views_data['table']['base']['query class'] : 'views_query';
$this->query = views_get_plugin('query', $plugin);
if (empty($this->query)) {
return FALSE;
}
$this->query->init($this->base_table, $this->base_field, $query_options['options']);
return TRUE;
}