From: Reini U. <ru...@us...> - 2004-06-13 13:54:34
|
Update of /cvsroot/phpwiki/phpwiki/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13176 Modified Files: Google.php IniConfig.php loadsave.php main.php stdlib.php Log Message: Catch fatals on the four dump calls (as file and zip, as html and mimified) FoafViewer: Check against external requirements, instead of fatal. Change output for xhtmldumps: using file:// urls to the local fs. Catch SOAP fatal by checking for GOOGLE_LICENSE_KEY Import GOOGLE_LICENSE_KEY and FORTUNE_DIR from config.ini. Index: Google.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/Google.php,v retrieving revision 1.4 retrieving revision 1.5 diff -u -2 -b -p -d -r1.4 -r1.5 --- Google.php 9 Apr 2004 17:49:03 -0000 1.4 +++ Google.php 13 Jun 2004 13:54:25 -0000 1.5 @@ -157,9 +157,10 @@ class Google { if ($license_key) $this->license_key = $license_key; - elseif (!defined('GOOGLE_LICENSE_KEY')) - return HTML::div(array('class' => 'errors'), - fmt("You must first obtain a license key at %s to be able to use the Google API.", - WikiLink("http://www.google.com/apis/")), - fmt("It's free however.")); + elseif (!defined('GOOGLE_LICENSE_KEY')) { + trigger_error("\nYou must first obtain a license key at http://www.google.com/apis/" + ."\nto be able to use the Google API.". + "\nIt's free however.", E_USER_WARNING); + return false; + } else $this->license_key = GOOGLE_LICENSE_KEY; @@ -220,4 +221,6 @@ class Google { $restrict='', $safeSearch='false', $lr='', $inputencoding='UTF-8', $outputencoding='UTF-8') { + if (!defined("GOOGLE_LICENSE_KEY")) + return false; // doGoogleSearch() gets created automatically!! (some eval'ed code from the soap request) $result = $this->doGoogleSearch(GOOGLE_LICENSE_KEY, // "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", Index: IniConfig.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/IniConfig.php,v retrieving revision 1.33 retrieving revision 1.34 diff -u -2 -b -p -d -r1.33 -r1.34 --- IniConfig.php 8 Jun 2004 19:48:16 -0000 1.33 +++ IniConfig.php 13 Jun 2004 13:54:25 -0000 1.34 @@ -73,5 +73,7 @@ function IniConfig($file) { 'AUTHORPAGE_TITLE', 'AUTHORPAGE_URL', 'SERVER_NAME', 'SERVER_PORT', 'SCRIPT_NAME', 'DATA_PATH', 'PHPWIKI_DIR', 'VIRTUAL_PATH', - 'WIKI_NAME_REGEXP'); + 'WIKI_NAME_REGEXP', + 'GOOGLE_LICENSE_KEY','FORTUNE_DIR' + ); // List of all valid config options to be define()d which take booleans. @@ -159,10 +161,9 @@ function IniConfig($file) { // Special handling for some config options - if ($val = @$rs['INCLUDE_PATH']) { - ini_set('include_path', $val); + if (!empty($rs['INCLUDE_PATH'])) { + ini_set('include_path', $rs['INCLUDE_PATH']); } - - if ($val = @$rs['SESSION_SAVE_PATH']) { - ini_set('session.save_path', $val); + if (!empty($rs['SESSION_SAVE_PATH'])) { + ini_set('session.save_path', $rs['SESSION_SAVE_PATH']); } @@ -556,4 +557,11 @@ function fix_configs() { // $Log$ +// Revision 1.34 2004/06/13 13:54:25 rurban +// Catch fatals on the four dump calls (as file and zip, as html and mimified) +// FoafViewer: Check against external requirements, instead of fatal. +// Change output for xhtmldumps: using file:// urls to the local fs. +// Catch SOAP fatal by checking for GOOGLE_LICENSE_KEY +// Import GOOGLE_LICENSE_KEY and FORTUNE_DIR from config.ini. +// // Revision 1.33 2004/06/08 19:48:16 rurban // fixed foreign setup: no ugly skipped msg for the GenericPages, load english actionpages if translated not found Index: loadsave.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/loadsave.php,v retrieving revision 1.105 retrieving revision 1.106 diff -u -2 -b -p -d -r1.105 -r1.106 --- loadsave.php 8 Jun 2004 19:48:16 -0000 1.105 +++ loadsave.php 13 Jun 2004 13:54:25 -0000 1.106 @@ -26,4 +26,19 @@ require_once("lib/ziplib.php"); require_once("lib/Template.php"); +/** + * ignore fatal errors during dump + */ +function _ignore_fatal_plugin_error_handler(&$error) { + if ($error->isFatal()) { + $error->errno = E_USER_WARNING; + return true; + } + return false; // let the message come through: call the remaining handlers: + /* + if (preg_match('/Plugin/',$error->errstr)) + return true; // Ignore error + */ +} + function StartLoadDump(&$request, $title, $html = '') { @@ -33,8 +48,14 @@ function StartLoadDump(&$request, $title 'CONTENT' => '%BODY%')); echo ereg_replace('%BODY%.*', '', $tmpl->getExpansion($html)); + + /* ignore fatals in plugins */ + global $ErrorManager; + $ErrorManager->pushErrorHandler(new WikiFunctionCb('_ignore_fatal_plugin_error_handler')); } function EndLoadDump(&$request) { + global $ErrorManager; + $ErrorManager->popErrorHandler(); // FIXME: This is a hack $pagelink = WikiLink($request->getPage()); @@ -136,7 +157,10 @@ function MakeWikiZip (&$request) - $zip = new ZipWriter("Created by PhpWiki " . PHPWIKI_VERSION, $zipname); + /* ignore fatals in plugins */ + global $ErrorManager; + $ErrorManager->pushErrorHandler(new WikiFunctionCb('_ignore_fatal_plugin_error_handler')); + $dbi = $request->getDbh(); $pages = $dbi->getAllPages(); @@ -167,4 +191,5 @@ function MakeWikiZip (&$request) } $zip->finish(); + $ErrorManager->popErrorHandler(); } @@ -266,9 +291,4 @@ function DumpHtmlToDir (&$request) $msg = HTML(HTML::br(), $pagename, ' ... '); - if($page->getName() != $filename) { - $msg->pushContent(HTML::small(fmt("saved as %s", $filename)), - " ... "); - } - $revision = $page->getCurrentRevision(); $transformedContent = $revision->getTransformedContent(); @@ -284,6 +304,15 @@ function DumpHtmlToDir (&$request) $request->finish($msg); } - $num = fwrite($fd, $data, strlen($data)); + if($page->getName() != $filename) { + $prefix = ''; + if (isWindows()) { + // drive where apache is installed + $prefix = '/' . substr($_SERVER["DOCUMENT_ROOT"],0,2); + } + $link = LinkURL("file://".$prefix.$directory."/".$filename, + $filename); + $msg->pushContent(HTML::small(_("saved as "), $link, " ... ")); + } $msg->pushContent(HTML::small(fmt("%s bytes written", $num), "\n")); PrintXML($msg); @@ -351,4 +380,8 @@ function MakeWikiZipHtml (&$request) $Theme->HTML_DUMP_SUFFIX = HTML_DUMP_SUFFIX; + /* ignore fatals in plugins */ + global $ErrorManager; + $ErrorManager->pushErrorHandler(new WikiFunctionCb('_ignore_fatal_plugin_error_handler')); + while ($page = $pages->next()) { if (! $request->getArg('start_debug')) @@ -381,4 +414,5 @@ function MakeWikiZipHtml (&$request) // FIXME: Deal with images here. $zip->finish(); + $ErrorManager->popErrorHandler(); $Theme->$HTML_DUMP_SUFFIX = ''; } @@ -917,4 +951,11 @@ function LoadPostFile (&$request) /** $Log$ + Revision 1.106 2004/06/13 13:54:25 rurban + Catch fatals on the four dump calls (as file and zip, as html and mimified) + FoafViewer: Check against external requirements, instead of fatal. + Change output for xhtmldumps: using file:// urls to the local fs. + Catch SOAP fatal by checking for GOOGLE_LICENSE_KEY + Import GOOGLE_LICENSE_KEY and FORTUNE_DIR from config.ini. + Revision 1.105 2004/06/08 19:48:16 rurban fixed foreign setup: no ugly skipped msg for the GenericPages, load english actionpages if translated not found Index: main.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/main.php,v retrieving revision 1.163 retrieving revision 1.164 diff -u -2 -b -p -d -r1.163 -r1.164 --- main.php 13 Jun 2004 11:35:32 -0000 1.163 +++ main.php 13 Jun 2004 13:54:25 -0000 1.164 @@ -698,4 +698,5 @@ $this->version = phpwiki_version(); $dbi = $this->getDbh(); $page = $dbi->getPage($pagename); + if (!$page) return false; $rev = $page->getCurrentRevision(); // FIXME: more restrictive check for sane plugin? @@ -1041,4 +1042,11 @@ main(); // $Log$ +// Revision 1.164 2004/06/13 13:54:25 rurban +// Catch fatals on the four dump calls (as file and zip, as html and mimified) +// FoafViewer: Check against external requirements, instead of fatal. +// Change output for xhtmldumps: using file:// urls to the local fs. +// Catch SOAP fatal by checking for GOOGLE_LICENSE_KEY +// Import GOOGLE_LICENSE_KEY and FORTUNE_DIR from config.ini. +// // Revision 1.163 2004/06/13 11:35:32 rurban // check for create action on action=edit not to fool PagePerm checks Index: stdlib.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/stdlib.php,v retrieving revision 1.185 retrieving revision 1.186 diff -u -2 -b -p -d -r1.185 -r1.186 --- stdlib.php 11 Jun 2004 09:07:30 -0000 1.185 +++ stdlib.php 13 Jun 2004 13:54:25 -0000 1.186 @@ -1276,5 +1276,7 @@ function explodePageList($input, $perm=f // Class introspections -/** Determine whether object is of a specified type. +/** + * Determine whether object is of a specified type. + * In PHP builtin since 4.2.0 as is_a() * * @param $object object An object. @@ -1593,4 +1595,11 @@ function url_get_contents( $uri ) { // $Log$ +// Revision 1.186 2004/06/13 13:54:25 rurban +// Catch fatals on the four dump calls (as file and zip, as html and mimified) +// FoafViewer: Check against external requirements, instead of fatal. +// Change output for xhtmldumps: using file:// urls to the local fs. +// Catch SOAP fatal by checking for GOOGLE_LICENSE_KEY +// Import GOOGLE_LICENSE_KEY and FORTUNE_DIR from config.ini. +// // Revision 1.185 2004/06/11 09:07:30 rurban // support theme-specific LinkIconAttr: front or after or none |