]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/common.php
Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
[quix0rs-gnu-social.git] / lib / common.php
index 8d2e6b420bc3bddd838a6391ffaec9039f4c964b..2a11ab722ddc0d71d3bf0107a6faebc842e909e7 100644 (file)
@@ -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.1');
+define('STATUSNET_VERSION', '0.9.5');
 define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility
 
-define('STATUSNET_CODENAME', 'Everybody Hurts');
+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 '<p>'. _('No configuration file found. ') .'</p>';
-    echo '<p>'. _('I looked for configuration files in the following places: ') .'<br/> ';
-    echo implode($e->configFiles, '<br/>');
+    // 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 '<p>'. _('I looked for configuration files in the following places: ') .'<br /> ';
+    echo implode($e->configFiles, '<br />');
+    // TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
     echo '<p>'. _('You may wish to run the installer to fix this.') .'</p>';
+    // @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 '<a href="install.php">'. _('Go to the installer.') .'</a>';
     exit;
 }
-