]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Add a doc page that links to the StatusNet wiki API page
authorCraig Andrews <candrews@integralblue.com>
Wed, 13 Oct 2010 03:36:33 +0000 (23:36 -0400)
committerCraig Andrews <candrews@integralblue.com>
Wed, 13 Oct 2010 03:38:16 +0000 (23:38 -0400)
Add a redirect action that merely redirects to another action
Redirect /api to /doc/api so users don't get the "lame" "No such user" error message

actions/redirect.php [new file with mode: 0644]
doc-src/api [new file with mode: 0644]
doc-src/help
lib/router.php

diff --git a/actions/redirect.php b/actions/redirect.php
new file mode 100644 (file)
index 0000000..9cb0370
--- /dev/null
@@ -0,0 +1,71 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Site access administration panel
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Action
+ * @package   StatusNet
+ * @author    Craig Andrews <candrews@integralblue.com>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+/**
+ * Administer site access settings
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Craig Andrews <candrews@integralblue.com>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://status.net/
+ */
+
+class RedirectAction extends Action
+{
+    /**
+     * These pages are read-only.
+     *
+     * @param array $args unused.
+     *
+     * @return boolean read-only flag (false)
+     */
+
+    function isReadOnly($args)
+    {
+        return true;
+    }
+
+    /**
+     * Handle a request
+     *
+     * @param array $args array of arguments
+     *
+     * @return nothing
+     */
+    function handle($args)
+    {
+        common_redirect(common_local_url($this->arg('nextAction'), $this->arg('args')));
+    }
+}
+
diff --git a/doc-src/api b/doc-src/api
new file mode 100644 (file)
index 0000000..5c8815b
--- /dev/null
@@ -0,0 +1,6 @@
+<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
+<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
+<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+
+%%site.name%% provides an API that applications can use to interact with it.
+More information about this API can be found on the [StatusNet Wiki](http://status.net/wiki/API).
index 024d4737806f6e26cc489342de901e2774f91e67..6d12b4cd765cfb0298eb46345499077048a7ae05 100644 (file)
@@ -35,3 +35,4 @@ Here are some documents that you might find helpful in understanding
 * [Source](%%doc.source%%) - How to get the StatusNet source code
 * [Badge](%%doc.badge%%) - How to put a StatusNet badge on your blog or homepage
 * [Bookmarklet](%%doc.bookmarklet%%) - Bookmarklet for posting Web pages
+* [API](%%doc.api%%) - API for use by external clients
index eebe2beea6c5d3a97524b98937c63f9fd06684d1..54d3d0f68bb612f0de76ca4f86d62f0c2fc6c1cd 100644 (file)
@@ -322,6 +322,11 @@ class Router
 
             // statuses API
 
+            $m->connect('api',
+                        array('action' => 'Redirect',
+                              'nextAction' => 'doc',
+                              'args' => array('title' => 'api')));
+
             $m->connect('api/statuses/public_timeline.:format',
                         array('action' => 'ApiTimelinePublic',
                               'format' => '(xml|json|rss|atom)'));