X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FBookmark%2Fbookmarkform.php;h=20101e1effbd3e15ba68f5e9f37eacfcca272423;hb=b6cfcfbcaa0459b39c5d581c103bfa031b2e02cd;hp=ac7ca08f66b6e08e0f5678c23ea4ce6b40976854;hpb=36b331d469b6dcd1101783f21265f7be624bc58f;p=quix0rs-gnu-social.git diff --git a/plugins/Bookmark/bookmarkform.php b/plugins/Bookmark/bookmarkform.php index ac7ca08f66..20101e1eff 100644 --- a/plugins/Bookmark/bookmarkform.php +++ b/plugins/Bookmark/bookmarkform.php @@ -4,7 +4,7 @@ * Copyright (C) 2010, StatusNet, Inc. * * Form for adding a new bookmark - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -44,13 +44,13 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class BookmarkForm extends Form { private $_title = null; private $_url = null; private $_tags = null; private $_description = null; + private $_thumbnail = null; /** * Construct a bookmark form @@ -63,9 +63,8 @@ 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); @@ -73,6 +72,7 @@ class BookmarkForm extends Form $this->_url = $url; $this->_tags = $tags; $this->_description = $description; + $this->_thumbnail = $thumbnail; } /** @@ -80,7 +80,6 @@ class BookmarkForm extends Form * * @return int ID of the form */ - function id() { return 'form_new_bookmark'; @@ -91,7 +90,6 @@ class BookmarkForm extends Form * * @return string class of the form */ - function formClass() { return 'form_settings ajax-notice'; @@ -102,7 +100,6 @@ class BookmarkForm extends Form * * @return string URL of the action */ - function action() { return common_local_url('newbookmark'); @@ -113,38 +110,58 @@ class BookmarkForm extends Form * * @return void */ - function formData() { $this->out->elementStart('fieldset', array('id' => 'new_bookmark_data')); $this->out->elementStart('ul', 'form_data'); $this->li(); - $this->out->input('title', - _m('LABEL','Title'), - $this->_title, - _m('Title of the bookmark')); + $this->out->input('bookmark-url', + // TRANS: Field label on form for adding a new 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', - _m('LABEL','URL'), - $this->_url, - _m('URL to bookmark')); + $this->out->input('bookmark-title', + // TRANS: Field label on form for adding a new bookmark. + _m('LABEL','Title'), + $this->_title, + null, + 'title'); $this->unli(); $this->li(); - $this->out->input('tags', - _m('LABEL','Tags'), - $this->_tags, - _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', - _m('LABEL','Description'), - $this->_description, - _m('Description of the URL')); + $this->out->input('bookmark-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.'), + 'tags'); $this->unli(); $this->out->elementEnd('ul'); @@ -165,6 +182,23 @@ class BookmarkForm extends Form function formActions() { - $this->out->submit('submit', _m('BUTTON', 'Save')); + // TRANS: Button text for action to save a new bookmark. + $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); } }