]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Bookmark/bookmarkform.php
More info for a proper, fancy-url lighttpd setup
[quix0rs-gnu-social.git] / plugins / Bookmark / bookmarkform.php
index b1321a994b3480fc3c0ed4270314311768a9970c..20101e1effbd3e15ba68f5e9f37eacfcca272423 100644 (file)
@@ -50,6 +50,7 @@ class BookmarkForm extends Form
     private $_url         = null;
     private $_tags        = null;
     private $_description = null;
+    private $_thumbnail   = null;
 
     /**
      * Construct a bookmark form
@@ -63,7 +64,7 @@ class BookmarkForm extends Form
      * @return void
      */
     function __construct($out=null, $title=null, $url=null, $tags=null,
-                         $description=null)
+                         $description=null, $thumbnail=null)
     {
         parent::__construct($out);
 
@@ -71,6 +72,7 @@ class BookmarkForm extends Form
         $this->_url         = $url;
         $this->_tags        = $tags;
         $this->_description = $description;
+        $this->_thumbnail   = $thumbnail;
     }
 
     /**
@@ -114,39 +116,52 @@ class BookmarkForm extends Form
         $this->out->elementStart('ul', 'form_data');
 
         $this->li();
-        $this->out->input('title',
+        $this->out->input('bookmark-url',
                           // TRANS: Field label on form for adding a new bookmark.
-                          _m('LABEL','Title'),
-                          $this->_title,
-                          // TRANS: Field title on form for adding a new bookmark.
-                          _m('Title of the bookmark.'));
+                          _m('LABEL','URL'),
+                          $this->_url,
+                          null,
+                          'url');
         $this->unli();
 
+        if (!empty($this->_thumbnail)) {
+
+            list($width, $height) = $this->scaleImage($this->_thumbnail->width,
+                                                      $this->_thumbnail->height);
+
+            $this->out->element('img',
+                                array('src' => $this->_thumbnail->url,
+                                      'class' => 'bookmarkform-thumbnail',
+                                      'width' => $width,
+                                      'height' => $height));
+        }
+
         $this->li();
-        $this->out->input('url',
+        $this->out->input('bookmark-title',
                           // TRANS: Field label on form for adding a new bookmark.
-                          _m('LABEL','URL'),
-                          $this->_url,
-                          // TRANS: Field title on form for adding a new bookmark.
-                          _m('URL to bookmark.'));
+                          _m('LABEL','Title'),
+                          $this->_title,
+                          null,
+                          'title');
         $this->unli();
 
         $this->li();
-        $this->out->input('tags',
-                          // TRANS: Field label on form for adding a new bookmark.
-                          _m('LABEL','Tags'),
-                          $this->_tags,
-                          // TRANS: Field title on form for adding a new bookmark.
-                          _m('Comma- or space-separated list of tags.'));
+        $this->out->textarea('bookmark-description',
+                             // TRANS: Field label on form for adding a new bookmark.
+                             _m('LABEL','Notes'),
+                             $this->_description,
+                             null,
+                             'description');
         $this->unli();
 
         $this->li();
-        $this->out->input('description',
+        $this->out->input('bookmark-tags',
                           // TRANS: Field label on form for adding a new bookmark.
-                          _m('LABEL','Description'),
-                          $this->_description,
+                          _m('LABEL','Tags'),
+                          $this->_tags,
                           // TRANS: Field title on form for adding a new bookmark.
-                          _m('Description of the URL.'));
+                          _m('Comma- or space-separated list of tags.'),
+                          'tags');
         $this->unli();
 
         $this->out->elementEnd('ul');
@@ -168,6 +183,22 @@ class BookmarkForm extends Form
     function formActions()
     {
         // TRANS: Button text for action to save a new bookmark.
-        $this->out->submit('submit', _m('BUTTON', 'Save'));
+        $this->out->submit('bookmark-submit', _m('BUTTON', 'Save'), 'submit', 'submit');
+    }
+
+    function scaleImage($width, $height)
+    {
+        $maxwidth = common_config('attachments', 'thumb_width');
+        $maxheight = common_config('attachments', 'thumb_height');
+
+        if ($width > $height && $width > $maxwidth) {
+            $height = (int) ((((float)$maxwidth)/(float)($width))*(float)$height);
+            $width = $maxwidth;
+        } else if ($height > $maxheight) {
+            $width = (int) ((((float)$maxheight)/(float)($height))*(float)$width);
+            $height = $maxheight;
+        }
+
+        return array($width, $height);
     }
 }