function _custom_breadcrumbs_views_parse_args in Custom Breadcrumbs 6.2
Same name and namespace in other branches
- 7.2 custom_breadcrumbs_common.inc \_custom_breadcrumbs_views_parse_args()
Returns the appropriate type and value of each view argument.
Parameters
$display_argument_ids: An array of ids for each argument of the view.
$viewargs: The $display->handler->view->args array.
Return value
$arg_values An associative array of two elements, 'types' and 'values', each an array with elements corresponding to the views arguments.
2 calls to _custom_breadcrumbs_views_parse_args()
- custom_breadcrumbs_taxonomy_views_pre_render in custom_breadcrumbs_taxonomy/
custom_breadcrumbs_taxonomy.module - Implements hook_views_pre_render().
- _custom_breadcrumbs_views_token_types in ./
custom_breadcrumbs_common.inc - Obtains the appropriate objects for token type replacement for a view display.
File
- ./
custom_breadcrumbs_common.inc, line 95 - Common helper functions used by custom breadcrumbs submodules.
Code
function _custom_breadcrumbs_views_parse_args($arguments, $viewargs) {
$arg_values = array(
'types' => array(),
'values' => array(),
);
foreach ($arguments as $arg_id => $argument) {
if (!empty($viewargs)) {
$arg = array_shift($viewargs);
$arg_id_3 = drupal_substr($arg_id, 0, 3);
if ($arg_id_3 == 'tid' || drupal_substr($arg_id, 0, 19) == 'term_node_tid_depth') {
$terms = taxonomy_terms_parse_string($arg);
$arg_values['types'][] = 'tid';
$arg_values['values'][] = empty($terms['tids']) ? NULL : $terms['tids'][0];
}
elseif (drupal_substr($arg_id, 0, 4) == 'name') {
if (drupal_substr($argument['table'], 0, 5) == 'term_') {
$terms = taxonomy_get_term_by_name($arg);
$arg_values['types'][] = 'tid';
$arg_values['values'][] = empty($terms) ? NULL : $terms[0]->tid;
}
}
elseif ($arg_id_3 == 'vid' || $arg_id_3 == 'uid' || $arg_id_3 == 'nid') {
$arg_values['types'][] = $arg_id_3;
$arg_values['values'][] = $arg;
}
}
}
return $arg_values;
}