{ if ($file !== Null) { print $file; if ($line !== Null) { print ":{$line}"; } print ": "; } print "{$errstr}\n"; exit(1); } set_error_handler("die_on_error", -1); include "xapian.php"; # Test the version number reporting functions give plausible results. $v = Xapian::major_version() . '.' . Xapian::minor_version() . '.' . Xapian::revision(); $v2 = Xapian::version_string(); if ($v != $v2) { print "Unexpected version output ({$v} != {$v2})\n"; exit(1); } $db = Xapian::inmemory_open(); $db2 = Xapian::inmemory_open(); # Check PHP5 handling of Xapian::DocNotFoundError try { $doc2 = $db->get_document(2); print "Retrieved non-existent document\n"; exit(1); } catch (Exception $e) { if ($e->getMessage() !== "DocNotFoundError: Docid 2 not found") { print "DocNotFoundError Exception string not as expected, got: '{$e->getMessage()}'\n"; exit(1);
} } } //MBSTRING if (!function_exists('mb_substr') || !function_exists('mb_convert_encoding')) { $content .= '<li class="atm-pic-cancel">Error, Multibyte String (mbsring) extension not installed (only needed if UTF-8 encoding is used)</li>'; } else { $content .= '<li class="atm-pic-ok">Multibyte String (mbsring) extension OK</li>'; } //XAPIAN if (class_exists('CMS_module_ase')) { $xapianVersion = ''; if (function_exists('xapian_version_string')) { $xapianVersion = xapian_version_string(); } elseif (class_exists('Xapian')) { $xapianVersion = Xapian::version_string(); } else { $content .= '<li class="atm-pic-cancel">Error, Xapian extension not installed (only needed if ASE module is installed)</li>'; } if ($xapianVersion) { if (version_compare($xapianVersion, '1.0.2') === -1) { $content .= '<li class="atm-pic-cancel">Error, Xapian version (' . $xapianVersion . ') not match (1.0.2 minimum)</li>'; } else { $content .= '<li class="atm-pic-ok">Xapian extension OK (' . $xapianVersion . ')</li>'; } } } //Files writing $randomFile = PATH_REALROOT_FS . '/test_' . md5(mt_rand() . microtime()) . '.tmp'; if (!is_writable(PATH_REALROOT_FS)) { $content .= '<li class="atm-pic-cancel">Error, No permissions to write files on website root directory (' . PATH_REALROOT_FS . ')</li>';