| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 | 
							- <?php if (!defined('PmWiki')) exit();
 
- /*  Copyright 2005-2006 Patrick R. Michaud (pmichaud@pobox.com)
 
-     This file is part of PmWiki; you can redistribute it and/or modify
 
-     it under the terms of the GNU General Public License as published
 
-     by the Free Software Foundation; either version 2 of the License, or
 
-     (at your option) any later version.  See pmwiki.php for full details.
 
-     This script handles various "fixup transitions" that might need to 
 
-     occur to help existing sites smoothly upgrade to newer releases of 
 
-     PmWiki.  Rather than put the workarounds in the main code files, we 
 
-     try to centralize them here so we can see what's deprecated and a
 
-     simple switch (?trans=0 in the url) can tell the admin if his site 
 
-     is relying on an outdated feature or way of doing things.
 
-     Transitions defined in this script:
 
-       $Transition['vspace']             - restore <p class='vspace'></p>
 
-       $Transition['version'] < 2001006  - all transitions listed above
 
-       $Transition['fplbygroup']         - restore FPLByGroup function
 
-       $Transition['version'] < 2000915  - all transitions listed above
 
-     
 
-       $Transition['mainrc']             - keep using Main.AllRecentChanges
 
-       $Transition['mainapprovedurls']   - keep using Main.ApprovedUrls
 
-       $Transition['pageeditfmt']        - default $PageEditFmt value
 
-       $Transition['mainpages']          - other default pages in Main
 
-       $Transition['version'] < 1999944  - all transitions listed above
 
-     To get all of the transitions for compatibility with a previous
 
-     version of PmWiki, simply set $Transition['version'] in a local
 
-     configuration file to the version number you want compatibility
 
-     with.  All of the transitions associated with that version will
 
-     then be enabled. Example:
 
-             # Keep compatibility with PmWiki version 2.0.13
 
-             $Transition['version'] = 2000013;
 
-     To explicitly enable or disable specific transitions, set
 
-     the corresponding $Transition[] element to 1 or 0.  This will 
 
-     override the $Transition['version'] item listed above.  For 
 
-     example, to enable just the 'pageeditfmt' transition, use
 
-             $Transition['pageeditfmt'] = 1;
 
- */
 
- ## if ?trans=0 is specified, then we don't do any fixups.
 
- if (@$_REQUEST['trans']==='0') return;
 
- ## Transitions from 2.1.12
 
- if (@$Transition['version'] < 2001012) 
 
-   SDVA($Transition, array('nodivnest' => 1));
 
- ## nodivnest:
 
- ##   This restores the PmWiki 2.1.11 behavior that doesn't
 
- ##   allow nesting of divs and tables.
 
- if (@$Transition['nodivnest']) {
 
-   function TCells($name,$attr) {
 
-     global $MarkupFrame;
 
-     $attr = preg_replace('/([a-zA-Z]=)([^\'"]\\S*)/',"\$1'\$2'",$attr);
 
-     $tattr = @$MarkupFrame[0]['tattr'];
 
-     $name = strtolower($name);
 
-     $out = '<:block>';
 
-     if (strncmp($name, 'cell', 4) != 0 || @$MarkupFrame[0]['closeall']['div']) {
 
-       $out .= @$MarkupFrame[0]['closeall']['div'];
 
-       unset($MarkupFrame[0]['closeall']['div']);
 
-       $out .= @$MarkupFrame[0]['closeall']['table'];
 
-       unset($MarkupFrame[0]['closeall']['table']);
 
-     }
 
-     if ($name == 'div') {
 
-       $MarkupFrame[0]['closeall']['div'] = "</div>";
 
-       $out .= "<div $attr>";
 
-     }
 
-     if ($name == 'table') $MarkupFrame[0]['tattr'] = $attr;
 
-     if (strncmp($name, 'cell', 4) == 0) {
 
-       if (strpos($attr, "valign=")===false) $attr .= " valign='top'";
 
-       if (!@$MarkupFrame[0]['closeall']['table']) {
 
-         $MarkupFrame[0]['closeall']['table'] = "</td></tr></table>";
 
-         $out .= "<table $tattr><tr><td $attr>";
 
-       } else if ($name == 'cellnr') $out .= "</td></tr><tr><td $attr>";
 
-       else $out .= "</td><td $attr>";
 
-     }
 
-     return $out;
 
-   }
 
-   Markup('table', '<block',
 
-     '/^\\(:(table|cell|cellnr|tableend|div|divend)(\\s.*?)?:\\)/ie',
 
-     "TCells('$1',PSS('$2'))");
 
- }
 
- ## Transitions from 2.1.7
 
- if (@$Transition['version'] < 2001007)
 
-   SDVA($Transition, array('vspace' => 1));
 
- ## vspace:
 
- ##   This restores PmWiki's use of <p class='vspace'></p> to mark
 
- ##   vertical space in the output.
 
- if (@$Transition['vspace']) $HTMLVSpace = "<p class='vspace'></p>";
 
- ## Transitions from 2.1.beta15
 
- if (@$Transition['version'] < 2000915) 
 
-   SDVA($Transition, array('fplbygroup' => 1));
 
- ## fplbygroup:
 
- ##   The FPLByGroup function was removed in 2.1.beta15, this restores it.
 
- if (@$Transition['fplbygroup'] && !function_exists('FPLByGroup')) {
 
-   SDV($FPLFormatOpt['bygroup'], array('fn' => 'FPLByGroup'));
 
-   function FPLByGroup($pagename, &$matches, $opt) {
 
-     global $FPLByGroupStartFmt, $FPLByGroupEndFmt, $FPLByGroupGFmt,
 
-       $FPLByGroupIFmt, $FPLByGroupOpt;
 
-     SDV($FPLByGroupStartFmt,"<dl class='fplbygroup'>");
 
-     SDV($FPLByGroupEndFmt,'</dl>');
 
-     SDV($FPLByGroupGFmt,"<dt><a href='\$ScriptUrl/\$Group'>\$Group</a> /</dt>\n");
 
-     SDV($FPLByGroupIFmt,"<dd><a href='\$PageUrl'>\$Name</a></dd>\n");
 
-     SDVA($FPLByGroupOpt, array('readf' => 0, 'order' => 'name'));
 
-     $matches = MakePageList($pagename, 
 
-                             array_merge((array)$FPLByGroupOpt, $opt), 0);
 
-     if (@$opt['count']) array_splice($matches, $opt['count']);
 
-     if (count($matches)<1) return '';
 
-     $out = '';
 
-     foreach($matches as $pn) {
 
-       $pgroup = FmtPageName($FPLByGroupGFmt, $pn);
 
-       if ($pgroup != @$lgroup) { $out .= $pgroup; $lgroup = $pgroup; }
 
-       $out .= FmtPageName($FPLByGroupIFmt, $pn);
 
-     }
 
-     return FmtPageName($FPLByGroupStartFmt, $pagename) . $out .
 
-            FmtPageName($FPLByGroupEndFmt, $pagename);
 
-   }
 
- }
 
- ## Transitions from 2.0.beta44
 
- if (@$Transition['version'] < 1999944) 
 
-   SDVA($Transition, array('mainrc' => 1, 'mainapprovedurls' => 1,
 
-     'pageeditfmt' => 1, 'mainpages' => 1));
 
- ## mainrc:
 
- ##   2.0.beta44 switched Main.AllRecentChanges to be 
 
- ##   $SiteGroup.AllRecentChanges.  This setting keeps Main.AllRecentChanges
 
- ##   if it exists.
 
- if (@$Transition['mainrc'] && PageExists('Main.AllRecentChanges')) {
 
-   SDV($RecentChangesFmt['Main.AllRecentChanges'],
 
-     '* [[$Group.$Name]]  . . . $CurrentTime $[by] $AuthorLink');
 
- }
 
- ## siteapprovedurls:
 
- ##   2.0.beta44 switched Main.ApprovedUrls to be $SiteGroup.ApprovedUrls .
 
- ##   This setting keeps using Main.ApprovedUrls if it exists.
 
- if (@$Transition['mainapprovedurls'] && PageExists('Main.ApprovedUrls')) {
 
-   $ApprovedUrlPagesFmt = (array)$ApprovedUrlPagesFmt;
 
-   if (PageExists(FmtPageName($ApprovedUrlPagesFmt[0], $pagename))) 
 
-     $ApprovedUrlPagesFmt[] = 'Main.ApprovedUrls';
 
-   else array_unshift($ApprovedUrlPagesFmt, 'Main.ApprovedUrls');
 
- }
 
- ## pageeditfmt:
 
- ##   2.0.beta44 switched to using wiki markup forms for page editing.
 
- ##   However, some sites and skins have customized values of $PageEdit.
 
- ##   This setting restores the default values.
 
- if (@$Transition['pageeditfmt']) {
 
-   SDV($PageEditFmt, "<div id='wikiedit'>
 
-     <a id='top' name='top'></a>
 
-     <h1 class='wikiaction'>$[Editing \$FullName]</h1>
 
-     <form method='post' action='\$PageUrl?action=edit'>
 
-     <input type='hidden' name='action' value='edit' />
 
-     <input type='hidden' name='n' value='\$FullName' />
 
-     <input type='hidden' name='basetime' value='\$EditBaseTime' />
 
-     \$EditMessageFmt
 
-     <textarea id='text' name='text' rows='25' cols='60'
 
-       onkeydown='if (event.keyCode==27) event.returnValue=false;'
 
-       >\$EditText</textarea><br />
 
-     $[Author]: <input type='text' name='author' value='\$Author' />
 
-     <input type='checkbox' name='diffclass' value='minor' \$DiffClassMinor />
 
-       $[This is a minor edit]<br />
 
-     <input type='submit' name='post' value=' $[Save] ' />
 
-     <input type='submit' name='preview' value=' $[Preview] ' />
 
-     <input type='reset' value=' $[Reset] ' /></form></div>");
 
-   if (@$_POST['preview']) 
 
-     SDV($PagePreviewFmt, "<div id='wikipreview'>
 
-       <h2 class='wikiaction'>$[Preview \$FullName]</h2>
 
-       <p><b>$[Page is unsaved]</b></p>
 
-       \$PreviewText
 
-       <hr /><p><b>$[End of preview -- remember to save]</b><br />
 
-       <a href='#top'>$[Top]</a></p></div>");
 
-   SDV($HandleEditFmt, array(&$PageStartFmt,
 
-     &$PageEditFmt, 'wiki:$[PmWiki.EditQuickReference]', &$PagePreviewFmt,
 
-     &$PageEndFmt));
 
-   $EditMessageFmt = implode('', $MessagesFmt) . $EditMessageFmt;
 
-   if ($action=='edit' && IsEnabled($EnableGUIButtons, 0)) 
 
-     array_push($EditFunctions, 'GUIEdit');
 
- } else $MessagesFmt[] = @$EditMessageFmt;
 
-     
 
- function GUIEdit($pagename, &$page, &$new) {
 
-   global $EditMessageFmt;
 
-   $EditMessageFmt .= GUIButtonCode($pagename);
 
- }
 
- ## mainpages:
 
- ##   In 2.0.beta44 several utility pages change location to the new Site
 
- ##   group.  These settings cause some skins (that use translations)
 
- ##   to know to link to the new locations.
 
- if ($Transition['mainpages']) {
 
-   XLSDV('en', array(
 
-     'Main/SearchWiki' => XL('Site/Search'),
 
-     'PmWiki.EditQuickReference' => XL('Site/EditQuickReference'),
 
-     'PmWiki.UploadQuickReference' => XL('Site/UploadQuickReference'),
 
-     ));
 
- }
 
 
  |