]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/managedaction.php
Merge branch 'master' into social-master
[quix0rs-gnu-social.git] / lib / managedaction.php
index 580d8c09e3c72e3abb6b73affd82178544534711..278131b7a6461db41501a8ad417ccfa09fc52874 100644 (file)
@@ -32,6 +32,20 @@ if (!defined('GNUSOCIAL')) { exit(1); }
 
 class ManagedAction extends Action
 {
+    protected function prepare(array $args=array())
+    {
+        if (!parent::prepare($args)) {
+            return false;
+        }
+        $this->doPreparation();
+        return true;
+    }
+
+    protected function doPreparation()
+    {
+        // pass by default
+    }
+
     /**
      * Handler method
      */
@@ -39,23 +53,20 @@ class ManagedAction extends Action
     {
         parent::handle();
 
-        if (StatusNet::isAjax()) {
-            $this->showAjax();
-        } else {
-            $this->showPage();
+        if ($this->canPost && $this->isPost()) {
+            try {
+                $this->msg = $this->handlePost();
+            } catch (Exception $e) {
+                $this->error = $e->getMessage();
+            }
         }
+
+        $this->showPage();
     }
 
-    public function showAjax()
+    protected function handlePost()
     {
-        $this->startHTML('text/xml;charset=utf-8');
-        $this->elementStart('head');
-        // TRANS: Title for conversation page.
-        $this->element('title', null, _m('TITLE','Notice'));
-        $this->elementEnd('head');
-        $this->elementStart('body');
-        $this->showContent();
-        $this->elementEnd('body');
-        $this->endHTML();
+        // This will only be run if the Action has the property canPost==true
+        assert($this->canPost);
     }
 }