]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Bookmark/showbookmark.php
More info for a proper, fancy-url lighttpd setup
[quix0rs-gnu-social.git] / plugins / Bookmark / showbookmark.php
index e9e656f84c5b792512ce09230fd60dbe971f258a..1c562d52a8503e28e3f00aee9aec05ea4e455375 100644 (file)
@@ -44,73 +44,30 @@ if (!defined('STATUSNET')) {
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
-
 class ShowbookmarkAction extends ShownoticeAction
 {
     protected $bookmark = null;
 
-    /**
-     * For initializing members of the class.
-     *
-     * @param array $argarray misc. arguments
-     *
-     * @return boolean true
-     */
-
-    function prepare($argarray)
+    function getNotice()
     {
-        OwnerDesignAction::prepare($argarray);
+        $this->id = $this->trimmed('id');
 
-        $this->user = User::staticGet('id', $this->trimmed('user'));
-
-        if (empty($this->user)) {
-            throw new ClientException(_('No such user.'), 404);
-        }
-
-        $this->profile = $this->user->getProfile();
-
-        if (empty($this->profile)) {
-            throw new ServerException(_('User without a profile.'));
-        }
-
-        $this->avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
-
-        sscanf($this->trimmed('crc32'), '%08x', $crc32);
-
-        if (empty($crc32)) {
-            throw new ClientException(_('No such URL.'), 404);
-        }
-        
-        $dt = new DateTime($this->trimmed('created'),
-                           new DateTimeZone('UTC'));
-
-        if (empty($dt)) {
-            throw new ClientException(_('No such create date.'), 404);
-        }
-
-        $bookmarks = Bookmark::getByCRC32($this->profile,
-                                          $crc32);
-
-        foreach ($bookmarks as $bookmark) {
-            $bdt = new DateTime($bookmark->created, new DateTimeZone('UTC'));
-            if ($bdt->format('U') == $dt->format('U')) {
-                $this->bookmark = $bookmark;
-                break;
-            }
-        } 
+        $this->bookmark = Bookmark::getKV('id', $this->id);
 
         if (empty($this->bookmark)) {
-            throw new ClientException(_('No such bookmark.'), 404);
+            // TRANS: Client exception thrown when referring to a non-existing bookmark.
+            throw new ClientException(_m('No such bookmark.'), 404);
         }
 
-        $this->notice = Notice::staticGet('uri', $this->bookmark->uri);
+        $notice = Notice::getKV('uri', $this->bookmark->uri);
 
-        if (empty($this->notice)) {
+        if (empty($notice)) {
             // Did we used to have it, and it got deleted?
-            throw new ClientException(_('No such bookmark.'), 404);
+            // TRANS: Client exception thrown when referring to a non-existing bookmark.
+            throw new ClientException(_m('No such bookmark.'), 404);
         }
 
-        return true;
+        return $notice;
     }
 
     /**
@@ -120,10 +77,11 @@ class ShowbookmarkAction extends ShownoticeAction
      *
      * @return string page tile
      */
-
     function title()
     {
-        return sprintf(_('%s\'s bookmark for "%s"'),
+        // TRANS: Title for bookmark.
+        // TRANS: %1$s is a user nickname, %2$s is a bookmark title.
+        return sprintf(_m('%1$s\'s bookmark for "%2$s"'),
                        $this->user->nickname,
                        $this->bookmark->title);
     }
@@ -133,7 +91,6 @@ class ShowbookmarkAction extends ShownoticeAction
      *
      * @return void
      */
-
     function showPageTitle()
     {
         $this->elementStart('h1');