X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fcommon.php;h=2a11ab722ddc0d71d3bf0107a6faebc842e909e7;hb=59119482ca34540bd7f0a2a1aa994de1d5328ea2;hp=097f19268d55398ef14697107c79f48a1811be6d;hpb=338aa4bf1d36e11a354c67796509c6d1fec2aac2;p=quix0rs-gnu-social.git diff --git a/lib/common.php b/lib/common.php index 097f19268d..2a11ab722d 100644 --- a/lib/common.php +++ b/lib/common.php @@ -22,10 +22,10 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } //exit with 200 response, if this is checking fancy from the installer if (isset($_REQUEST['p']) && $_REQUEST['p'] == 'check-fancy') { exit; } -define('STATUSNET_VERSION', '0.9.4'); +define('STATUSNET_VERSION', '0.9.5'); define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility -define('STATUSNET_CODENAME', 'Orange Crush'); +define('STATUSNET_CODENAME', 'What\'s The Frequency, Kenneth?'); define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); @@ -71,6 +71,7 @@ if (!function_exists('dl')) { # global configuration object require_once('PEAR.php'); +require_once('PEAR/Exception.php'); require_once('DB/DataObject.php'); require_once('DB/DataObject/Cast.php'); # for dates @@ -127,16 +128,39 @@ require_once INSTALLDIR.'/lib/subs.php'; require_once INSTALLDIR.'/lib/clientexception.php'; require_once INSTALLDIR.'/lib/serverexception.php'; + +//set PEAR error handling to use regular PHP exceptions +function PEAR_ErrorToPEAR_Exception($err) +{ + //DB_DataObject throws error when an empty set would be returned + //That behavior is weird, and not how the rest of StatusNet works. + //So just ignore those errors. + if ($err->getCode() == DB_DATAOBJECT_ERROR_NODATA) { + return; + } + if ($err->getCode()) { + throw new PEAR_Exception($err->getMessage(), $err->getCode()); + } + throw new PEAR_Exception($err->getMessage()); +} +PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'PEAR_ErrorToPEAR_Exception'); + try { StatusNet::init(@$server, @$path, @$conffile); } catch (NoConfigException $e) { // XXX: Throw a conniption if database not installed // XXX: Find a way to use htmlwriter for this instead of handcoded markup + // TRANS: Error message displayed when no configuration file was found for a StatusNet installation. echo '

'. _('No configuration file found. ') .'

'; - echo '

'. _('I looked for configuration files in the following places: ') .'
'; - echo implode($e->configFiles, '
'); + // TRANS: Error message displayed when no configuration file was found for a StatusNet installation. + // TRANS: Is followed by a list of directories (separated by HTML breaks). + echo '

'. _('I looked for configuration files in the following places: ') .'
'; + echo implode($e->configFiles, '
'); + // TRANS: Error message displayed when no configuration file was found for a StatusNet installation. echo '

'. _('You may wish to run the installer to fix this.') .'

'; + // @todo FIXME Link should be in a para? + // TRANS: Error message displayed when no configuration file was found for a StatusNet installation. + // TRANS: The text is link text that leads to the installer page. echo ''. _('Go to the installer.') .''; exit; } -