diff options
Diffstat (limited to 'modules/legacy.module')
-rw-r--r-- | modules/legacy.module | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/modules/legacy.module b/modules/legacy.module deleted file mode 100644 index add982cfb..000000000 --- a/modules/legacy.module +++ /dev/null @@ -1,202 +0,0 @@ -<?php -// $Id$ - -/** - * @file - * Provides legacy handlers for upgrades from older Drupal installations. - */ - -/** - * Implementation of hook_help(). - */ -function legacy_help($section) { - switch ($section) { - case 'admin/help#legacy': - $output = '<p>'. t('The legacy module provides legacy handlers for upgrades from older installations. These handlers help automatically redirect references to pages from old installations and prevent <em>page not found</em> errors for your site.') .'</p>'; - $output .= '<p>'. t('The legacy module handles legacy style taxonomy page, taxonomy feed, and blog feed paths. It also handles URL upgrades from Drupal 4.1. It rewrites old-style URLs to new-style URLs (clean URLs). ') .'</p>'; - $output .= t('<p>Example Mappings:</p> -<ul> -<li><em>taxonomy/page/or/52,97</em> to <em>taxonomy/term/52+97</em>.</li> -<li><em>taxonomy/feed/or/52,97</em> to <em>taxonomy/term/52+97/0/feed</em>.</li> -<li><em>blog/feed/52</em> to <em>blog/52/feed</em>.</li> -<li><em>node/view/52</em> to <em>node/52</em>.</li> -<li><em>book/view/52</em> to <em>node/52</em>.</li> -<li><em>user/view/52</em> to <em>user/52</em>.</li> -</ul> -'); - $output .= '<p>'. t('Legacy module has no configurable options.') .'</p>'; - $output .= '<p>'. t('For more information please read the configuration and customization handbook <a href="%legacy">Legacy page</a>.', array('%legacy' => 'http://drupal.org/handbook/modules/legacy/')) .'</p>'; - return $output; - 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($may_cache) { - $items = array(); - - if ($may_cache) { - // 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); - - // Map "blog/feed/52" to "blog/52/feed". - $items[] = array('path' => 'blog/feed', 'title' => t('blog'), - 'callback' => 'legacy_blog_feed', - 'access' => TRUE, 'type' => MENU_CALLBACK); - } - else { - // 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); - } - - 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'); -} - -/** - * Menu callback; redirects users to new blog feed paths. - */ -function legacy_blog_feed($str_uid = '') { - // if URL is of form blog/feed/52 redirect - // if URL is of form blog/feed we have to call blog_feed_last(). - if (is_numeric($str_uid)) { - drupal_goto('blog/'. $str_uid .'/feed'); - } - else { - module_invoke('blog', 'feed_last'); - } -} - -/** - * 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); - - 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; -} - - |