]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Prepare the RepeatAction for modernisation (more OOP)
authorMikael Nordfeldth <mmn@hethane.se>
Mon, 21 Oct 2013 20:26:37 +0000 (22:26 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Mon, 21 Oct 2013 21:27:09 +0000 (23:27 +0200)
actions/repeat.php

index baa35f535e480e227322436f23224c7b7cd38bde..04952f5aeaf15e3e0558232eb738579768902c53 100644 (file)
@@ -45,18 +45,12 @@ class RepeatAction extends Action
     var $user = null;
     var $notice = null;
 
-    function prepare($args)
+    protected $needLogin = true;
+
+    protected function prepare($args)
     {
         parent::prepare($args);
 
-        $this->user = common_current_user();
-
-        if (empty($this->user)) {
-            // TRANS: Client error displayed when trying to repeat a notice while not logged in.
-            $this->clientError(_('Only logged-in users can repeat notices.'));
-            return false;
-        }
-
         $id = $this->trimmed('notice');
 
         if (empty($id)) {
@@ -67,13 +61,13 @@ class RepeatAction extends Action
 
         $this->notice = Notice::getKV('id', $id);
 
-        if (empty($this->notice)) {
+        if (!($this->notice instanceof Notice)) {
             // TRANS: Client error displayed when trying to repeat a non-existing notice.
             $this->clientError(_('No notice specified.'));
             return false;
         }
 
-        $token  = $this->trimmed('token-'.$id);
+        $token = $this->trimmed('token-'.$id);
 
         if (empty($token) || $token != common_session_token()) {
             // TRANS: Client error displayed when the session token does not match or is not given.
@@ -91,9 +85,11 @@ class RepeatAction extends Action
      *
      * @return void
      */
-    function handle($args)
+    protected function handle()
     {
-        $repeat = $this->notice->repeat($this->user->id, 'web');
+        parent::handle();
+
+        $repeat = $this->notice->repeat($this->scoped->id, 'web');
 
         if ($this->boolean('ajax')) {
             $this->startHTML('text/xml;charset=utf-8');