You are here

function viewreference_get_element_args in View reference 6.2

Same name and namespace in other branches
  1. 6.3 viewreference.module \viewreference_get_element_args()
  2. 6 viewreference.module \viewreference_get_element_args()
  3. 7.3 viewreference.module \viewreference_get_element_args()

Convert arguments text field entry to an array of arguments

3 calls to viewreference_get_element_args()
theme_viewreference_formatter_default in ./viewreference.module
Theme function for 'default' viewreference field formatter.
theme_viewreference_formatter_full in ./viewreference.module
Theme function for 'full' viewreference field formatter.
theme_viewreference_formatter_link in ./viewreference.module
Theme function for 'link' nodereference field formatter.

File

./viewreference.module, line 776
Defines a field type for referencing a view from a node.

Code

function viewreference_get_element_args($element) {
  $string =& $element['#item']['arguments'];
  $settings = unserialize(db_result(db_query("SELECT global_settings FROM {content_node_field} WHERE field_name = '%s'", $element['#field_name'])));
  $delimiter =& $settings['delimiter'];
  $dsv_arguments =& $settings['dsv_arguments'];
  $php_arguments =& $settings['php_arguments'];
  $arguments = '';
  $args = array();
  if ($php_arguments) {
    $variables = array(
      'node' => $element['#node'],
    );
    $arguments = viewreference_eval($string, $variables);
  }
  else {
    if ($dsv_arguments) {
      $arguments = $string;
    }
  }
  if ($arguments) {
    $args = explode($delimiter, $arguments);
    foreach ($args as $k => $v) {
      $args[$k] = trim($v);
    }
  }
  return $args;
}