Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
441b63ac
Commit
441b63ac
authored
Aug 12, 2004
by
Steven Wittens
Browse files
Moving all legacy handlers into legacy.module.
parent
d651b9dc
Changes
7
Hide whitespace changes
Inline
Side-by-side
database/updates.inc
View file @
441b63ac
...
...
@@ -72,7 +72,8 @@
"2004-08-07"
=>
"update_98"
,
"2004-08-09"
=>
"update_99"
,
"2004-08-10"
=>
"update_100"
,
"2004-08-11"
=>
"update_101"
"2004-08-11"
=>
"update_101"
,
"2004-08-12"
=>
"update_102"
);
function
update_32
()
{
...
...
@@ -1545,6 +1546,10 @@ function update_101() {
return
$ret
;
}
function
update_102
()
{
INSERT
INTO
{
system
}
(
filename
,
name
,
type
,
description
,
status
,
throttle
,
bootstrap
)
VALUES
(
'modules/legacy.module'
,
'legacy'
,
'module'
,
''
,
1
,
0
,
0
);
}
function
update_sql
(
$sql
)
{
$edit
=
$_POST
[
"edit"
];
$result
=
db_query
(
$sql
);
...
...
modules/filter.module
View file @
441b63ac
...
...
@@ -768,15 +768,13 @@ function theme_filter_tips($tips, $long = false, $extra = '') {
* Validates user-supplied HTML, transforming it as necessary.
* - PHP evaluator:
* Executes PHP code.
* - Legacy filter:
* Handles URL upgrades from Drupal 4.1.
* - Line break converter:
* Converts newlines into paragraph and break tags.
*/
function
filter_filter
(
$op
,
$delta
=
0
,
$format
=
-
1
,
$text
=
''
)
{
switch
(
$op
)
{
case
'list'
:
return
array
(
0
=>
t
(
'HTML filter'
),
1
=>
t
(
'PHP evaluator'
),
2
=>
t
(
'Legacy filter'
),
3
=>
t
(
'Line break converter'
));
return
array
(
0
=>
t
(
'HTML filter'
),
1
=>
t
(
'PHP evaluator'
),
3
=>
t
(
'Line break converter'
));
case
'no cache'
:
return
$delta
==
1
;
// No caching for the PHP evaluator.
...
...
@@ -787,8 +785,6 @@ function filter_filter($op, $delta = 0, $format = -1, $text = '') {
return
t
(
'Allows you to restrict if users can post HTML and which tags to filter out.'
);
case
1
:
return
t
(
'Runs a piece of PHP code. The usage of this filter should be restricted to administrators only!'
);
case
2
:
return
t
(
'Replaces URLs from Drupal 4.1 (and lower) with updated equivalents.'
);
case
3
:
return
t
(
'Converts line breaks into HTML (i.e. <br> and <p> tags).'
);
default
:
...
...
@@ -801,8 +797,6 @@ function filter_filter($op, $delta = 0, $format = -1, $text = '') {
return
_filter_html
(
$text
,
$format
);
case
1
:
return
drupal_eval
(
$text
);
case
2
:
return
_filter_old_urls
(
$text
,
$format
);
case
3
:
return
_filter_autop
(
$text
);
default
:
...
...
@@ -855,70 +849,6 @@ function _filter_html($text, $format) {
return
trim
(
$text
);
}
/**
* Rewrite legacy URLs.
*
* This is a *temporary* filter to rewrite old-style URLs to new-style
* URLs (clean URLs). Currently, URLs are being rewritten dynamically
* (ie. "on output"), however when these rewrite rules have been tested
* enough, we will use them to permanently rewrite the links in node
* and comment bodies.
*/
function
_filter_old_urls
(
$text
)
{
if
(
!
variable_get
(
'rewrite_old_urls'
,
0
))
{
return
$text
;
}
global
$base_url
;
$end
=
substr
(
$base_url
,
12
);
if
(
variable_get
(
'clean_url'
,
'0'
)
==
'0'
)
{
// Relative URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"
?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2"
,
$text
);
// Absolute URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
$end
/?q=
\\
2"
,
$text
);
}
else
{
// Relative URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2"
,
$text
);
// Absolute URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2"
,
$text
);
}
return
$text
;
}
/**
* Convert line breaks into <p> and <br> in an intelligent fashion.
* From: http://photomatt.net/scripts/autop
...
...
modules/filter/filter.module
View file @
441b63ac
...
...
@@ -768,15 +768,13 @@ function theme_filter_tips($tips, $long = false, $extra = '') {
* Validates user-supplied HTML, transforming it as necessary.
* - PHP evaluator:
* Executes PHP code.
* - Legacy filter:
* Handles URL upgrades from Drupal 4.1.
* - Line break converter:
* Converts newlines into paragraph and break tags.
*/
function
filter_filter
(
$op
,
$delta
=
0
,
$format
=
-
1
,
$text
=
''
)
{
switch
(
$op
)
{
case
'list'
:
return
array
(
0
=>
t
(
'HTML filter'
),
1
=>
t
(
'PHP evaluator'
),
2
=>
t
(
'Legacy filter'
),
3
=>
t
(
'Line break converter'
));
return
array
(
0
=>
t
(
'HTML filter'
),
1
=>
t
(
'PHP evaluator'
),
3
=>
t
(
'Line break converter'
));
case
'no cache'
:
return
$delta
==
1
;
// No caching for the PHP evaluator.
...
...
@@ -787,8 +785,6 @@ function filter_filter($op, $delta = 0, $format = -1, $text = '') {
return
t
(
'Allows you to restrict if users can post HTML and which tags to filter out.'
);
case
1
:
return
t
(
'Runs a piece of PHP code. The usage of this filter should be restricted to administrators only!'
);
case
2
:
return
t
(
'Replaces URLs from Drupal 4.1 (and lower) with updated equivalents.'
);
case
3
:
return
t
(
'Converts line breaks into HTML (i.e. <br> and <p> tags).'
);
default
:
...
...
@@ -801,8 +797,6 @@ function filter_filter($op, $delta = 0, $format = -1, $text = '') {
return
_filter_html
(
$text
,
$format
);
case
1
:
return
drupal_eval
(
$text
);
case
2
:
return
_filter_old_urls
(
$text
,
$format
);
case
3
:
return
_filter_autop
(
$text
);
default
:
...
...
@@ -855,70 +849,6 @@ function _filter_html($text, $format) {
return
trim
(
$text
);
}
/**
* Rewrite legacy URLs.
*
* This is a *temporary* filter to rewrite old-style URLs to new-style
* URLs (clean URLs). Currently, URLs are being rewritten dynamically
* (ie. "on output"), however when these rewrite rules have been tested
* enough, we will use them to permanently rewrite the links in node
* and comment bodies.
*/
function
_filter_old_urls
(
$text
)
{
if
(
!
variable_get
(
'rewrite_old_urls'
,
0
))
{
return
$text
;
}
global
$base_url
;
$end
=
substr
(
$base_url
,
12
);
if
(
variable_get
(
'clean_url'
,
'0'
)
==
'0'
)
{
// Relative URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"
?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2"
,
$text
);
// Absolute URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
$end
/?q=
\\
2"
,
$text
);
}
else
{
// Relative URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2"
,
$text
);
// Absolute URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2"
,
$text
);
}
return
$text
;
}
/**
* Convert line breaks into <p> and <br> in an intelligent fashion.
* From: http://photomatt.net/scripts/autop
...
...
modules/legacy.module
0 → 100644
View file @
441b63ac
<?php
// $Id$
/**
* @file
* Provides legacy handlers for upgrades from older Drupal installations.
*/
/**
* Implementation of hook_help().
*/
function
legacy_help
(
$section
)
{
switch
(
$section
)
{
case
'admin/modules#description'
:
return
t
(
'Provides legacy handlers for upgrades from older Drupal installations.'
);
}
}
/**
* Implementation of hook_menu().
*
* Registers menu paths used in earlier Drupal versions.
*/
function
legacy_menu
()
{
$items
=
array
();
// Map "node/view/52" to "node/52".
$items
[]
=
array
(
'path'
=>
'node/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'drupal_goto'
,
'callback arguments'
=>
array
(
'node/'
.
arg
(
2
),
NULL
,
NULL
),
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "book/view/52" to "node/52".
$items
[]
=
array
(
'path'
=>
'book/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'drupal_goto'
,
'callback arguments'
=>
array
(
'node/'
.
arg
(
2
),
NULL
,
NULL
),
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "user/view/52" to "user/52".
$items
[]
=
array
(
'path'
=>
'user/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'drupal_goto'
,
'callback arguments'
=>
array
(
'user/'
.
arg
(
2
),
NULL
,
NULL
),
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "taxonomy/page/or/52,97" to "taxonomy/term/52+97".
$items
[]
=
array
(
'path'
=>
'taxonomy/page'
,
'title'
=>
t
(
'taxonomy'
),
'callback'
=>
'legacy_taxonomy_page'
,
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "taxonomy/feed/or/52,97" to "taxonomy/term/52+97/0/feed".
$items
[]
=
array
(
'path'
=>
'taxonomy/feed'
,
'title'
=>
t
(
'taxonomy'
),
'callback'
=>
'legacy_taxonomy_feed'
,
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
return
$items
;
}
/**
* Menu callback; redirects users to new taxonomy page paths.
*/
function
legacy_taxonomy_page
(
$operation
=
'or'
,
$str_tids
=
''
)
{
if
(
$operation
==
'or'
)
{
$str_tids
=
str_replace
(
','
,
'+'
,
$str_tids
);
}
drupal_goto
(
'taxonomy/term/'
.
$str_tids
);
}
/**
* Menu callback; redirects users to new taxonomy feed paths.
*/
function
legacy_taxonomy_feed
(
$operation
=
'or'
,
$str_tids
=
''
)
{
if
(
$operation
==
'or'
)
{
$str_tids
=
str_replace
(
','
,
'+'
,
$str_tids
);
}
drupal_goto
(
'taxonomy/term/'
.
$str_tids
.
'/0/feed'
);
}
/**
* Implementation of hook_filter(). Handles URL upgrades from Drupal 4.1.
*/
function
legacy_filter
(
$op
,
$delta
=
0
,
$format
=
-
1
,
$text
=
''
)
{
switch
(
$op
)
{
case
'list'
:
return
array
(
t
(
'Legacy filter'
));
case
'description'
:
return
t
(
'Replaces URLs from Drupal 4.1 (and lower) with updated equivalents.'
);
case
'process'
:
return
_legacy_filter_old_urls
(
$text
,
$format
);
case
'settings'
:
return
;
default
:
return
$text
;
}
}
/**
* Rewrite legacy URLs.
*
* This is a *temporary* filter to rewrite old-style URLs to new-style
* URLs (clean URLs). Currently, URLs are being rewritten dynamically
* (ie. "on output"), however when these rewrite rules have been tested
* enough, we will use them to permanently rewrite the links in node
* and comment bodies.
*/
function
_legacy_filter_old_urls
(
$text
)
{
if
(
!
variable_get
(
'rewrite_old_urls'
,
0
))
{
return
$text
;
}
global
$base_url
;
$end
=
substr
(
$base_url
,
12
);
if
(
variable_get
(
'clean_url'
,
'0'
)
==
'0'
)
{
// Relative URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"
?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2"
,
$text
);
// Absolute URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
$end
/?q=
\\
2"
,
$text
);
}
else
{
// Relative URLs:
// Rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"\\
1/view/
\\
2/
\\
4"
,
$text
);
// Rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2"
,
$text
);
// Absolute URLs:
// Rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/
\\
1/view/
\\
2/
\\
4"
,
$text
);
// Rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2"
,
$text
);
}
return
$text
;
}
?>
modules/legacy/legacy.module
0 → 100644
View file @
441b63ac
<?php
// $Id$
/**
* @file
* Provides legacy handlers for upgrades from older Drupal installations.
*/
/**
* Implementation of hook_help().
*/
function
legacy_help
(
$section
)
{
switch
(
$section
)
{
case
'admin/modules#description'
:
return
t
(
'Provides legacy handlers for upgrades from older Drupal installations.'
);
}
}
/**
* Implementation of hook_menu().
*
* Registers menu paths used in earlier Drupal versions.
*/
function
legacy_menu
()
{
$items
=
array
();
// Map "node/view/52" to "node/52".
$items
[]
=
array
(
'path'
=>
'node/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'drupal_goto'
,
'callback arguments'
=>
array
(
'node/'
.
arg
(
2
),
NULL
,
NULL
),
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "book/view/52" to "node/52".
$items
[]
=
array
(
'path'
=>
'book/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'drupal_goto'
,
'callback arguments'
=>
array
(
'node/'
.
arg
(
2
),
NULL
,
NULL
),
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "user/view/52" to "user/52".
$items
[]
=
array
(
'path'
=>
'user/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'drupal_goto'
,
'callback arguments'
=>
array
(
'user/'
.
arg
(
2
),
NULL
,
NULL
),
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "taxonomy/page/or/52,97" to "taxonomy/term/52+97".
$items
[]
=
array
(
'path'
=>
'taxonomy/page'
,
'title'
=>
t
(
'taxonomy'
),
'callback'
=>
'legacy_taxonomy_page'
,
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
// Map "taxonomy/feed/or/52,97" to "taxonomy/term/52+97/0/feed".
$items
[]
=
array
(
'path'
=>
'taxonomy/feed'
,
'title'
=>
t
(
'taxonomy'
),
'callback'
=>
'legacy_taxonomy_feed'
,
'access'
=>
TRUE
,
'type'
=>
MENU_CALLBACK
);
return
$items
;
}
/**
* Menu callback; redirects users to new taxonomy page paths.
*/
function
legacy_taxonomy_page
(
$operation
=
'or'
,
$str_tids
=
''
)
{
if
(
$operation
==
'or'
)
{
$str_tids
=
str_replace
(
','
,
'+'
,
$str_tids
);
}
drupal_goto
(
'taxonomy/term/'
.
$str_tids
);
}
/**
* Menu callback; redirects users to new taxonomy feed paths.
*/
function
legacy_taxonomy_feed
(
$operation
=
'or'
,
$str_tids
=
''
)
{
if
(
$operation
==
'or'
)
{
$str_tids
=
str_replace
(
','
,
'+'
,
$str_tids
);
}
drupal_goto
(
'taxonomy/term/'
.
$str_tids
.
'/0/feed'
);
}
/**
* Implementation of hook_filter(). Handles URL upgrades from Drupal 4.1.
*/
function
legacy_filter
(
$op
,
$delta
=
0
,
$format
=
-
1
,
$text
=
''
)
{
switch
(
$op
)
{
case
'list'
:
return
array
(
t
(
'Legacy filter'
));
case
'description'
:
return
t
(
'Replaces URLs from Drupal 4.1 (and lower) with updated equivalents.'
);
case
'process'
:
return
_legacy_filter_old_urls
(
$text
,
$format
);
case
'settings'
:
return
;
default
:
return
$text
;
}
}
/**
* Rewrite legacy URLs.
*
* This is a *temporary* filter to rewrite old-style URLs to new-style
* URLs (clean URLs). Currently, URLs are being rewritten dynamically
* (ie. "on output"), however when these rewrite rules have been tested
* enough, we will use them to permanently rewrite the links in node
* and comment bodies.
*/
function
_legacy_filter_old_urls
(
$text
)
{
if
(
!
variable_get
(
'rewrite_old_urls'
,
0
))
{
return
$text
;
}
global
$base_url
;
$end
=
substr
(
$base_url
,
12
);
if
(
variable_get
(
'clean_url'
,
'0'
)
==
'0'
)
{
// Relative URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"
?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
?q=
\\
2"
,
$text
);
// Absolute URLs:
// rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/?q=
\\
1/view/
\\
2/
\\
4"
,
$text
);
// rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/?q=
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"
$end
/?q=
\\
2"
,
$text
);
}
else
{
// Relative URLs:
// Rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
\"
(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
\"\\
1/view/
\\
2/
\\
4"
,
$text
);
// Rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
\"
module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
\"\\
2"
,
$text
);
// Absolute URLs:
// Rewrite 'node.php?id=<number>[&cid=<number>]' style URLs:
$text
=
eregi_replace
(
"
$end
/(node)\.php\?id=([[:digit:]]+)(&cid=)?([[:digit:]]*)"
,
"
$end
/
\\
1/view/
\\
2/
\\
4"
,
$text
);
// Rewrite 'module.php?mod=<name>{&<op>=<value>}' style URLs:
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4/
\\
6"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2/
\\
4"
,
$text
);
$text
=
ereg_replace
(
"
$end
/module\.php\?(&?[[:alpha:]]+=([[:alnum:]]+))"
,
"
$end
/
\\
2"
,
$text
);
}
return
$text
;
}
?>
modules/node.module
View file @
441b63ac
...
...
@@ -681,12 +681,6 @@ function node_menu() {
}
}
// Legacy handler for old "node/view/52" paths.
$items
[]
=
array
(
'path'
=>
'node/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'node_old_url'
,
'access'
=>
user_access
(
'access content'
),
'type'
=>
MENU_CALLBACK
);
return
$items
;
}
...
...
@@ -1435,10 +1429,6 @@ function node_page_default() {
return
$output
;
}
function
node_old_url
(
$nid
=
0
)
{
drupal_goto
(
"node/
$nid
"
);
}
/**
* Menu callback; dispatches control to the appropriate operation handler.
*/
...
...
modules/node/node.module
View file @
441b63ac
...
...
@@ -681,12 +681,6 @@ function node_menu() {
}
}
// Legacy handler for old "node/view/52" paths.
$items
[]
=
array
(
'path'
=>
'node/view'
,
'title'
=>
t
(
'view'
),
'callback'
=>
'node_old_url'
,
'access'
=>
user_access
(
'access content'
),
'type'
=>
MENU_CALLBACK
);
return
$items
;
}
...
...
@@ -1435,10 +1429,6 @@ function node_page_default() {
return
$output
;
}
function
node_old_url
(
$nid
=
0
)
{
drupal_goto
(
"node/
$nid
"
);
}
/**
* Menu callback; dispatches control to the appropriate operation handler.
*/
...
...
Write
Preview
Markdown
is supported
0%