show error message when oauth extension is missing
authorChristian Weiske <cweiske@cweiske.de>
Tue, 17 Mar 2015 06:40:13 +0000 (07:40 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Tue, 17 Mar 2015 06:40:13 +0000 (07:40 +0100)
controller/guicontroller.php
templates/error.php [new file with mode: 0644]

index 127daaf..b09ef4a 100644 (file)
@@ -59,7 +59,18 @@ class GuiController extends Controller
      */
     public function index()
     {
-        $this->checkDeps();
+        try {
+            $this->checkDeps();
+        } catch (\Exception $e) {
+            $res = new TemplateResponse('grauphel', 'error');
+            $res->setParams(
+                array(
+                    'message' => $e->getMessage(),
+                    'code' => $e->getCode(),
+                )
+            );
+            return $res;
+        }
 
         $res = new TemplateResponse('grauphel', 'index');
         $res->setParams(
@@ -301,7 +312,7 @@ class GuiController extends Controller
     protected function checkDeps()
     {
         if (!class_exists('OAuthProvider')) {
-            throw new \Exception('PHP extension "oauth" is required');
+            throw new \Exception('PHP extension "oauth" is required', 1001);
         }
     }
 
diff --git a/templates/error.php b/templates/error.php
new file mode 100644 (file)
index 0000000..7ce4f8d
--- /dev/null
@@ -0,0 +1,18 @@
+<link rel="stylesheet" href="<?php p(OCP\Util::linkTo('grauphel','grauphel.css')); ?>" type="text/css"/>
+
+<div id="app-content" class="content">
+  <div>
+    <h1>grauphel - Tomboy notes server</h1>
+    <h2>Error</h2>
+    <p><?php p($_['message']); ?></p>
+    <?php if ($_['code'] == 1001) { ?>
+    <p>
+     You need to install the PHP PECL OAuth extension to make grauphel work.
+     See the
+     <a class="lined" href="http://cweiske.de/grauphel.htm#manual">
+      installation instructions</a>
+     for more information.
+    </p>
+    <?php } ?>
+  </div>
+</div>