set_display($display_id); // Put all arguments and filters and then execute. $view->set_arguments($args, FALSE); $view->set_exposed_input($filters); $offset = (int) $offset; if ($offset) { $view->set_offset($offset); } // Support for Views 2 $limit = (int) $limit; if ($limit) { if (method_exists($view, 'set_use_pager')) { // If offset is set we can't have a user pager. if (empty($offset)) { $view->set_use_pager(TRUE); $view->set_items_per_page($limit); } else { // Disable the user pager. $view->set_use_pager(FALSE); } } else { $view->set_items_per_page($limit); } } if (!($theme_output)) { $view->pre_execute(); $row_plugin = $view->display_handler->get_option('row_plugin'); // If row plugin is node, then we should load each node if ($row_plugin == 'node') { $view->execute(); $result = $view->result; $nodes = array(); foreach ($view->result as $row) { $nodes[] = services_node_load(node_load($row->nid)); } $result = $nodes; } elseif ($row_plugin == 'fields') { $fields = $view->field; $view->execute(); $item = new stdClass(); $labels = array(); $no_permitidas= array ( "á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú", "ñ", "Ñ", "À", "Ã", "Ì", "Ò", "Ù", "Ù", "à ", "è", "ì", "ò", "ù", "ç", "Ç", "â", "ê", "î", "ô", "û", "Â", "Ê", "ÃŽ", "Ô", "Û", "ü", "ö", "Ö", "ï", "ä", "«", "Ò", "Ï", "Ä", "Ë", "?", " ", "ò", ); $permitidas= array ( "a", "e", "i", "o", "u", "A", "E", "I", "O", "U", "n", "N", "A", "A", "I", "O", "U", "A™", "A ", "A", "A", "A", "A", "s", "S", "A", "e", "A", "A´", "A", "A", "A", "AZ", "A", "A", "u", "A", "A", "A", "A", "_", "O", "A", "A", "A", "_", "_", "A", ); foreach ($view->result as $index => $row) { $item = new stdClass(); foreach ($fields as $field_id => $field) { if (!$field->options['exclude']) { if (!isset($labels[$field_id])) { if (!empty($field->options['label'])) { $field_label = strtolower($field->options['label']); } elseif ($field->field_alias) { $field_label = $field->field_alias; } else { $field_label = $field_id; } //$field_label = check_plain($field_label); $labels[$field_id] = str_replace($no_permitidas, $permitidas, $field_label); } $field->pre_render($row); $item->{$labels[$field_id]} = $field->render($row); } } $items[] = $item; } if ($items) { $result = $items; } } } elseif ($theme_output == 'view') { $view->set_display($display_id); $view->execute(); return $view; } else { // We want to keep the result an array. $result[] = $view->preview($display_id); } return $result; }