From: Reini U. <ru...@us...> - 2004-05-06 19:26:33
|
Update of /cvsroot/phpwiki/phpwiki/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3917 Modified Files: IniConfig.php InlineParser.php WikiDB.php WikiUserNew.php main.php Log Message: improve stability, trying to find the InlineParser endless loop on sf.net remove end-of-zip comments to fix sf.net bug #777278 and probably #859628 Index: IniConfig.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/IniConfig.php,v retrieving revision 1.16 retrieving revision 1.17 diff -u -2 -b -p -d -r1.16 -r1.17 --- IniConfig.php 2 May 2004 15:10:05 -0000 1.16 +++ IniConfig.php 6 May 2004 19:26:15 -0000 1.17 @@ -252,4 +252,6 @@ function IniConfig($file) { $rs['KEYWORDS'] = "Category:Topic"; $keywords = preg_split('/\s*:\s*/', $rs['KEYWORDS']); + if (empty($keywords)) + $keywords = array("Category","Topic"); $KeywordLinkRegexp = '(?<=' . implode('|^', $keywords) . ')[[:upper:]].*$'; @@ -519,4 +521,9 @@ function fix_configs() { // $Log$ +// Revision 1.17 2004/05/06 19:26:15 rurban +// improve stability, trying to find the InlineParser endless loop on sf.net +// +// remove end-of-zip comments to fix sf.net bug #777278 and probably #859628 +// // Revision 1.16 2004/05/02 15:10:05 rurban // new finally reliable way to detect if /index.php is called directly Index: InlineParser.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/InlineParser.php,v retrieving revision 1.40 retrieving revision 1.41 diff -u -2 -b -p -d -r1.40 -r1.41 --- InlineParser.php 2 May 2004 15:10:05 -0000 1.40 +++ InlineParser.php 6 May 2004 19:26:15 -0000 1.41 @@ -90,4 +90,5 @@ class RegexpSet */ function RegexpSet ($regexps) { + assert($regexps); $this->_regexps = array_unique($regexps); } @@ -386,4 +387,5 @@ class Markup_wikiword extends SimpleMark function markup ($match) { + if (!$match) return false; if ($this->_isWikiUserPage($match)) return new Cached_UserLink($match); //$this->_UserLink($match); @@ -397,5 +399,5 @@ class Markup_wikiword extends SimpleMark $dbi = $request->getDbh(); $page_handle = $dbi->getPage($page); - if ($page_handle->get('pref')) + if ($page_handle and $page_handle->get('pref')) return true; else @@ -538,5 +540,5 @@ class Markup_html_abbr extends BalancedM class Markup_plugin extends SimpleMarkup { - var $_match_regexp = '<\?plugin(?:-form)?\s.+?\?>'; + var $_match_regexp = '(?: <\?plugin(?:-form)?\s[^\n]+?\?> )'; function markup ($match) { @@ -605,5 +607,5 @@ class InlineTransformer $markup = $this->_markup[$match->regexp_ind - 1]; - //if (!$markup) return false; + if (!$markup) return $output; $body = $this->_parse_markup_body($markup, $match->match, $match->postmatch, $end_regexps); if (!$body) { Index: WikiDB.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiDB.php,v retrieving revision 1.51 retrieving revision 1.52 diff -u -2 -b -p -d -r1.51 -r1.52 --- WikiDB.php 6 May 2004 17:30:37 -0000 1.51 +++ WikiDB.php 6 May 2004 19:26:16 -0000 1.52 @@ -165,4 +165,13 @@ class WikiDB { */ function getPage($pagename) { + static $error_displayed = false; + if (DEBUG) { + if (!(is_string($pagename) and $pagename != '')) { + if ($error_displayed) return false; + $error_displayed = true; + trigger_error("empty pagename",E_USER_WARNING); + return false; + } + } else assert(is_string($pagename) and $pagename != ''); return new WikiDB_Page($this, $pagename); @@ -527,5 +536,10 @@ class WikiDB_Page $this->_wikidb = &$wikidb; $this->_pagename = $pagename; - assert(is_string($pagename) and $pagename != ''); + if (DEBUG) { + if (!(is_string($pagename) and $pagename != '')) { + trigger_error("empty pagename",E_USER_WARNING); + return false; + } + } else assert(is_string($pagename) and $pagename != ''); } @@ -1558,7 +1572,22 @@ class WikiDB_PageRevisionIterator $version = $next['version']; $versiondata = $next['versiondata']; - assert(is_string($pagename) and $pagename != ''); - assert(is_array($versiondata)); - assert($version > 0); + if (DEBUG) { + if (!(is_string($pagename) and $pagename != '')) { + trigger_error("empty pagename",E_USER_WARNING); + return false; + } + } else assert(is_string($pagename) and $pagename != ''); + if (DEBUG) { + if (!is_array($versiondata)) { + trigger_error("empty versiondata",E_USER_WARNING); + return false; + } + } else assert(is_array($versiondata)); + if (DEBUG) { + if (!($version > 0)) { + trigger_error("invalid version",E_USER_WARNING); + return false; + } + } else assert($version > 0); return new WikiDB_PageRevision($this->_wikidb, $pagename, $version, @@ -1726,4 +1755,9 @@ class WikiDB_cache // $Log$ +// Revision 1.52 2004/05/06 19:26:16 rurban +// improve stability, trying to find the InlineParser endless loop on sf.net +// +// remove end-of-zip comments to fix sf.net bug #777278 and probably #859628 +// // Revision 1.51 2004/05/06 17:30:37 rurban // CategoryGroup: oops, dos2unix eol Index: WikiUserNew.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiUserNew.php,v retrieving revision 1.69 retrieving revision 1.70 diff -u -2 -b -p -d -r1.69 -r1.70 --- WikiUserNew.php 6 May 2004 13:56:40 -0000 1.69 +++ WikiUserNew.php 6 May 2004 19:26:16 -0000 1.70 @@ -962,6 +962,8 @@ extends _AnonUser // probably prefix table names if in same database if (!empty($DBParams['prefix']) and - isset($this->_auth_dbi) and isset($request->_dbi->_backend->_dbh) and - $DBParams['dsn'] == $GLOBALS['DBAuthParams']['auth_dsn']) + isset($this->_auth_dbi) and + isset($request->_dbi->_backend->_dbh) and + (!empty($GLOBALS['DBAuthParams']['auth_dsn']) and + $DBParams['dsn'] == $GLOBALS['DBAuthParams']['auth_dsn'])) { $prefix = $DBParams['prefix']; @@ -1766,5 +1768,5 @@ extends _DbPassUser // external databases, but maybe wanted for the wiki database, for performance // reasons - if (!$this->_authcreate and !empty($DBAuthParams['auth_create'])) { + if (empty($this->_authcreate) and !empty($DBAuthParams['auth_create'])) { $this->_authcreate = str_replace(array("'\$userid'","'\$password'"), array('%s','%s'), @@ -2835,4 +2837,9 @@ extends UserPreferences // $Log$ +// Revision 1.70 2004/05/06 19:26:16 rurban +// improve stability, trying to find the InlineParser endless loop on sf.net +// +// remove end-of-zip comments to fix sf.net bug #777278 and probably #859628 +// // Revision 1.69 2004/05/06 13:56:40 rurban // Enable the Administrators group, and add the WIKIPAGE group default root page. Index: main.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/main.php,v retrieving revision 1.143 retrieving revision 1.144 diff -u -2 -b -p -d -r1.143 -r1.144 --- main.php 6 May 2004 17:30:38 -0000 1.143 +++ main.php 6 May 2004 19:26:16 -0000 1.144 @@ -752,6 +752,6 @@ $this->version = phpwiki_version(); MakeWikiZip($this); // I don't think it hurts to add cruft at the end of the zip file. - echo "\n========================================================\n"; - echo "PhpWiki " . PHPWIKI_VERSION . " source:\n$GLOBALS[RCS_IDS]\n"; + //echo "\n========================================================\n"; + //echo "PhpWiki " . PHPWIKI_VERSION . " source:\n$GLOBALS[RCS_IDS]\n"; } @@ -938,4 +938,9 @@ main(); // $Log$ +// Revision 1.144 2004/05/06 19:26:16 rurban +// improve stability, trying to find the InlineParser endless loop on sf.net +// +// remove end-of-zip comments to fix sf.net bug #777278 and probably #859628 +// // Revision 1.143 2004/05/06 17:30:38 rurban // CategoryGroup: oops, dos2unix eol |