summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/gallery/controllers/admin_languages.php5
-rw-r--r--modules/gallery/helpers/l10n_client.php15
2 files changed, 13 insertions, 7 deletions
diff --git a/modules/gallery/controllers/admin_languages.php b/modules/gallery/controllers/admin_languages.php
index e9be2a88..f96a0eb7 100644
--- a/modules/gallery/controllers/admin_languages.php
+++ b/modules/gallery/controllers/admin_languages.php
@@ -77,7 +77,7 @@ class Admin_Languages_Controller extends Admin_Controller {
if ($new_key) {
list($connected, $valid) = l10n_client::validate_api_key($new_key);
if (!$valid) {
- $form->sharing->api_key->add_error($connected ? "invalid" : "noconn", 1);
+ $form->sharing->api_key->add_error($connected ? "invalid" : "no_connection", 1);
}
} else {
$valid = true;
@@ -122,7 +122,8 @@ class Admin_Languages_Controller extends Admin_Controller {
: t("API key"))
->value($api_key)
->error_messages("invalid", t("The API key you provided is invalid."))
- ->error_messages("noconn", t("Could not connect to remote server to validate the API key."));
+ ->error_messages(
+ "no_connection", t("Could not connect to remote server to validate the API key."));
$group->submit("save")->value(t("Save settings"));
if ($api_key && $this->_outgoing_translations_count()) {
// TODO: UI improvement: hide API key / save button when API key is set.
diff --git a/modules/gallery/helpers/l10n_client.php b/modules/gallery/helpers/l10n_client.php
index 2af5c8d0..8fc66b68 100644
--- a/modules/gallery/helpers/l10n_client.php
+++ b/modules/gallery/helpers/l10n_client.php
@@ -55,11 +55,16 @@ class l10n_client_Core {
$url = self::_server_url("status");
$signature = self::_sign($version, $api_key);
- list ($response_data, $response_status) = remote::post(
- $url, array("version" => $version,
- "client_token" => l10n_client::client_token(),
- "signature" => $signature,
- "uid" => l10n_client::server_uid($api_key)));
+ try {
+ list ($response_data, $response_status) = remote::post(
+ $url, array("version" => $version,
+ "client_token" => l10n_client::client_token(),
+ "signature" => $signature,
+ "uid" => l10n_client::server_uid($api_key)));
+ } catch (ErrorException $e) {
+ // Log the error, but then return a "can't make connection" error
+ Kohana_Log::add("error", $e->getMessage() . "\n" . $e->getTraceAsString());
+ }
if (!isset($response_data) && !isset($response_status)) {
return array(false, false);
}