Index: path_redirect.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/path_redirect/path_redirect.install,v retrieving revision 1.2.2.13 diff -u -r1.2.2.13 path_redirect.install --- path_redirect.install 27 Jan 2008 03:43:16 -0000 1.2.2.13 +++ path_redirect.install 8 Mar 2008 01:49:28 -0000 @@ -9,7 +9,7 @@ rid int(10) NOT NULL, path varchar(255) NOT NULL, redirect varchar(255) NOT NULL, - query varchar(50) NOT NULL, + query varchar(255) NOT NULL, fragment varchar(50) NOT NULL, type int(10) NOT NULL, PRIMARY KEY (path), @@ -21,7 +21,7 @@ rid SERIAL UNIQUE, path varchar(255) NOT NULL PRIMARY KEY, redirect varchar(255) NOT NULL, - query varchar(50) NOT NULL, + query varchar(255) NOT NULL, fragment varchar(50) NOT NULL, type smallint NOT NULL );"); @@ -81,12 +81,22 @@ } /** - * Clear the menu cache since paths have changed. + * Clear the menu cache since paths have changed; increase query string length. */ function path_redirect_update_4() { cache_clear_all(NULL, 'cache_menu'); drupal_set_message(t('Menu paths for the Path Redirect module have been updated.')); - return array(); + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': + $ret[] = update_sql("ALTER TABLE {path_redirect} MODIFY query varchar(255) NOT NULL"); + break; + case 'pgsql': + $ret[] = update_sql("ALTER TABLE {path_redirect} ALTER query TYPE varchar(255)"); + break; + } + drupal_set_message(t('Database tables for the Path Redirect module have been updated.')); + return $ret; } function path_redirect_uninstall() { Index: path_redirect.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/path_redirect/path_redirect.module,v retrieving revision 1.3.2.29 diff -u -r1.3.2.29 path_redirect.module --- path_redirect.module 8 Mar 2008 00:42:08 -0000 1.3.2.29 +++ path_redirect.module 8 Mar 2008 01:49:29 -0000 @@ -54,7 +54,7 @@ path_redirect_goto($r->redirect, ($r->query ? $r->query: NULL), ($r->fragment ? $r->fragment : NULL), $r->type); } } - else if (url($r->redirect) == url($path)) { + else if ($r && url($r->redirect) == url($path)) { watchdog('path_redirect', t('Redirect to %redirect is causing an infinite loop; redirect cancelled.', array('%redirect' => $r->redirect)), WATCHDOG_WARNING, l(t('edit'), 'admin/build/path-redirect/edit/'. $r->rid)); } else if ($r && variable_get('path_redirect_allow_bypass', 0) && !empty($_GET['redirect']) && $_GET['redirect'] === 'no') { @@ -225,7 +225,7 @@ $form['redirect']['query'] = array( '#type' => 'textfield', '#size' => 12, - '#maxlength' => 50, + '#maxlength' => 255, '#default_value' => $edit['query'], );