
diff --git a/views.module b/views.module
index 20258df..3e04b98 100644
--- a/views.module
+++ b/views.module
@@ -465,16 +465,31 @@ function views_menu_alter(&$callbacks) {
* The menu argument index. This counts from 1.
*/
function views_arg_load($value, $name, $display_id, $index) {
- static $views = array();
-
- // Make sure we haven't already loaded this views argument for a similar menu
- // item elsewhere.
- $key = $name . ':' . $display_id . ':' . $value . ':' . $index;
- if (isset($views[$key])) {
- return $views[$key];
+ static $views = array();
+
+ $display_ids = is_array($display_id) ? $display_id : array($display_id);
+ $display_id = reset($display_ids);
+
+ foreach ($display_ids as $id) {
+ // Make sure we haven't already loaded this views argument for a similar
+ // menu item elsewhere. Since access is always checked for the current user,
+ // we are sure that the static cache contains valid entries.
+ $key = $name . ':' . $id . ':' . $value . ':' . $index;
+ if (isset($views[$key])) {
+ return $views[$key];
+ }
+ // Lazy load the view object to avoid unnecessary work.
+ if (!isset($view)) {
+ $view = views_get_view($name);
+ }
+ // Pick the first display we have access to.
+ if ($view && count($display_ids) > 1 && $view->access($id)) {
+ $display_id = $id;
+ break;
+ }
}
- if ($view = views_get_view($name)) {
+ if ($view) {
$view->set_display($display_id);
$view->init_handlers();
¿Como demonios modificamos el código para meter esas lineas que han variado? ¿1 a 1? ¡menudo lio!
No! afortunadamente tenemos el comando patch que nos solventará ese cacao.... el uso es sencillo
1º Cogemos el archivo que haya que modificar y le hacemos una copia de seguridad, por si acaso.
#cp fichero fichero.bak2º Volcamos el parche en un fichero nuestro
#vim miparche (y dentro copiamos el texto)3º Parcheamos el fichero
#patch fichero_original mi_parcheViendo algo asi:
patching file views.moduleY con eso ya tendremos el fichero parcheado con el bug solventado. Etiquetas: sistemas
Volver






Puedes decidir qué tecnologías opcionales permites. Las cookies necesarias no pueden desactivarse porque se utilizan para guardar tu elección.
Permiten recordar tus preferencias de privacidad.
Permiten utilizar Google Analytics para obtener estadísticas sobre el uso de la web.
Permite cargar contenido proporcionado por terceros, como los mapas de Google.