1
0
Fork 0

Merge remote-tracking branch 'upstream/develop' into linked-posts

This commit is contained in:
Michael 2022-10-16 21:51:26 +00:00
commit 9ffa053c90
14 changed files with 283 additions and 211 deletions

2
Vagrantfile vendored
View file

@ -1,5 +1,5 @@
server_ip = "192.168.22.10"
server_ip = "192.168.56.10"
server_memory = "2048" # MB
server_timezone = "UTC"

View file

@ -45,13 +45,13 @@ apt-get install -qq apache2
a2enmod rewrite actions ssl
cp /vagrant/bin/dev/vagrant_vhost.sh /usr/local/bin/vhost
chmod guo+x /usr/local/bin/vhost
vhost -s 192.168.22.10.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friendica.local
vhost -s 192.168.56.10.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friendica.local
a2dissite 000-default
service apache2 restart
#Install php
echo ">>> Installing PHP7"
apt-get install -qq php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring php-xml imagemagick php-imagick php-zip
apt-get install -qq php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring php-xml imagemagick php-imagick php-zip php-gmp
systemctl restart apache2
echo ">>> Installing PHP8"
@ -59,7 +59,7 @@ apt-get install -qq -y lsb-release ca-certificates apt-transport-https software-
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
apt update
apt-get install -qq php8.0 php8.0-cli php8.0-mysql php8.0-curl php8.0-gd php8.0-mbstring php8.0-xml php8.0-imagick php8.0-zip
apt-get install -qq php8.0 php8.0-cli php8.0-mysql php8.0-curl php8.0-gd php8.0-mbstring php8.0-xml php8.0-imagick php8.0-zip php8.0-gmp
systemctl restart apache2
#Install mysql

View file

@ -34,7 +34,7 @@ Due to the large variety of operating systems and PHP platforms in existence we
* The POSIX module of PHP needs to be activated (e.g. [RHEL, CentOS](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) have disabled it)
* Some form of email server or email gateway such that PHP mail() works.
If you cannot set up your own email server, you can use the [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) addon and use a remote SMTP server.
* MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB, Percona Server etc.)
* MySQL with support of InnoDB and Barracuda (we suggest a MariaDB server as all development is done using these, but alternatives like MySQL or Percona Server etc. might work as well)
* ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows)
* installation into a top-level domain or sub-domain (without a directory/path component in the URL) is RECOMMENDED. Directory paths will not be as convenient to use and have not been thoroughly tested. This is REQUIRED if you wish to communicate with the Diaspora network.

View file

@ -10,7 +10,7 @@ Getting started
No need to setup up a webserver, database etc. before actually starting.
Vagrant creates a virtual machine for you that you can just run inside VirtualBox and start to work directly on Friendica.
It brings an Debian Bullseye with PHP 7.4 and MariaDB 10.5.11.
It brings an Debian Bullseye with PHP 8.0 and MariaDB 10.5.11.
What you need to do:
@ -24,7 +24,7 @@ This will start the virtual machine.
Be patient: When it runs for the first time, it downloads a Debian Server image and installs Friendica.
4. Run `vagrant ssh` to log into the virtual machine to log in to the VM in case you need to debug something on the server.
5. Open you test installation in a browser.
Go to friendica.local (or 192.168.22.10).
Go to friendica.local (or 192.168.56.10).
friendica.local is using a self-signed TLS certificate, so you will need to add an exception to trust the certificate the first time you are visiting the page.
The mysql database is called "friendica", the mysql user and password both are "friendica".
6. Work on Friendica's code in your git clone on your machine (not in the VM).

View file

@ -31,7 +31,7 @@ Requirements
* Das POSIX Modul muss aktiviert sein ([CentOS, RHEL](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) haben dies z.B. deaktiviert)
* Einen E-Mail Server, so dass PHP `mail()` funktioniert.
Wenn kein eigener E-Mail Server zur Verfügung steht, kann alternativ das [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) Addon mit einem externen SMTP Account verwendet werden.
* Mysql 5.6+ (oder eine äquivalente Alternative: MariaDB, Percona Server etc.)
* Mysql Server mit Unterstützung vom InnoDB und Barracuda (wir empfehlen MariaDB da die Entwicklung mit solchen Server erfolgt, aber Alternativen wie MySQL, Percona Server etc. sollten auch funktionieren)
* die Möglichkeit, wiederkehrende Aufgaben mit cron (Linux/Mac) oder "Scheduled Tasks" einzustellen (Windows) [Beachte: andere Optionen sind in Abschnitt 7 dieser Dokumentation zu finden]
* Installation in einer Top-Level-Domain oder Subdomain (ohne eine Verzeichnis/Pfad-Komponente in der URL) wird bevorzugt. Verzeichnispfade sind für diesen Zweck nicht so günstig und wurden auch nicht ausführlich getestet.

View file

@ -29,7 +29,7 @@ return [
// ****************************************************************
'config' => [
'hostname' => 'friendica.local',
'hostname' => '192.168.56.10',
'admin_email' => 'admin@friendica.local',
'sitename' => 'Friendica Social Network',
'register_policy' => \Friendica\Module\Register::OPEN,

View file

@ -328,7 +328,7 @@ class Conversation
$created_at = '';
}
$tpl = Renderer::getMarkupTemplate("jot.tpl");
$tpl = Renderer::getMarkupTemplate('jot.tpl');
$o .= Renderer::replaceMacros($tpl, [
'$new_post' => $this->l10n->t('New Post'),
@ -394,6 +394,7 @@ class Conversation
'$browser' => $this->l10n->t('Browser'),
'$compose_link_title' => $this->l10n->t('Open Compose page'),
'$always_open_compose' => $this->pConfig->get(local_user(), 'frio', 'always_open_compose', false),
]);

View file

@ -22,10 +22,14 @@
namespace Friendica\Module\Item;
use DateTime;
use Friendica\App;
use Friendica\BaseModule;
use Friendica\Content\Feature;
use Friendica\Core\ACL;
use Friendica\Core\Config\Capability\IManageConfigValues;
use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Renderer;
use Friendica\Core\Theme;
use Friendica\Database\DBA;
@ -33,13 +37,44 @@ use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Item;
use Friendica\Model\User;
use Friendica\Module\Response;
use Friendica\Module\Security\Login;
use Friendica\Navigation\SystemMessages;
use Friendica\Network\HTTPException\NotImplementedException;
use Friendica\Util\ACLFormatter;
use Friendica\Util\Crypto;
use Friendica\Util\Profiler;
use Friendica\Util\Temporal;
use Psr\Log\LoggerInterface;
class Compose extends BaseModule
{
/** @var SystemMessages */
private $systemMessages;
/** @var ACLFormatter */
private $ACLFormatter;
/** @var App\Page */
private $page;
/** @var IManagePersonalConfigValues */
private $pConfig;
/** @var IManageConfigValues */
private $config;
public function __construct(IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, ACLFormatter $ACLFormatter, SystemMessages $systemMessages, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
{
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
$this->systemMessages = $systemMessages;
$this->ACLFormatter = $ACLFormatter;
$this->page = $page;
$this->pConfig = $pConfig;
$this->config = $config;
}
protected function post(array $request = [])
{
if (!empty($_REQUEST['body'])) {
@ -47,23 +82,22 @@ class Compose extends BaseModule
require_once 'mod/item.php';
item_post(DI::app());
} else {
notice(DI::l10n()->t('Please enter a post body.'));
$this->systemMessages->addNotice($this->l10n->t('Please enter a post body.'));
}
}
protected function content(array $request = []): string
{
if (!local_user()) {
return Login::form('compose', false);
return Login::form('compose');
}
$a = DI::app();
if ($a->getCurrentTheme() !== 'frio') {
throw new NotImplementedException(DI::l10n()->t('This feature is only available with the frio theme.'));
throw new NotImplementedException($this->l10n->t('This feature is only available with the frio theme.'));
}
/// @TODO Retrieve parameter from router
$posttype = $this->parameters['type'] ?? Item::PT_ARTICLE;
if (!in_array($posttype, [Item::PT_ARTICLE, Item::PT_PERSONAL_NOTE])) {
switch ($posttype) {
@ -78,16 +112,14 @@ class Compose extends BaseModule
$user = User::getById(local_user(), ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'default-location']);
$aclFormatter = DI::aclFormatter();
$contact_allow_list = $aclFormatter->expand($user['allow_cid']);
$group_allow_list = $aclFormatter->expand($user['allow_gid']);
$contact_deny_list = $aclFormatter->expand($user['deny_cid']);
$group_deny_list = $aclFormatter->expand($user['deny_gid']);
$contact_allow_list = $this->ACLFormatter->expand($user['allow_cid']);
$group_allow_list = $this->ACLFormatter->expand($user['allow_gid']);
$contact_deny_list = $this->ACLFormatter->expand($user['deny_cid']);
$group_deny_list = $this->ACLFormatter->expand($user['deny_gid']);
switch ($posttype) {
case Item::PT_PERSONAL_NOTE:
$compose_title = DI::l10n()->t('Compose new personal note');
$compose_title = $this->l10n->t('Compose new personal note');
$type = 'note';
$doesFederate = false;
$contact_allow_list = [$a->getContactId()];
@ -96,7 +128,7 @@ class Compose extends BaseModule
$group_deny_list = [];
break;
default:
$compose_title = DI::l10n()->t('Compose new post');
$compose_title = $this->l10n->t('Compose new post');
$type = 'post';
$doesFederate = true;
@ -129,13 +161,13 @@ class Compose extends BaseModule
Hook::callAll('jot_tool', $jotplugins);
// Output
DI::page()->registerFooterScript(Theme::getPathForFile('js/ajaxupload.js'));
DI::page()->registerFooterScript(Theme::getPathForFile('js/linkPreview.js'));
DI::page()->registerFooterScript(Theme::getPathForFile('js/compose.js'));
$this->page->registerFooterScript(Theme::getPathForFile('js/ajaxupload.js'));
$this->page->registerFooterScript(Theme::getPathForFile('js/linkPreview.js'));
$this->page->registerFooterScript(Theme::getPathForFile('js/compose.js'));
$contact = Contact::getById($a->getContactId());
if (DI::config()->get(local_user(), 'system', 'set_creation_date')) {
if ($this->pConfig->get(local_user(), 'system', 'set_creation_date')) {
$created_at = Temporal::getDateTimeField(
new \DateTime(DBA::NULL_DATETIME),
new \DateTime('now'),
@ -149,39 +181,45 @@ class Compose extends BaseModule
$tpl = Renderer::getMarkupTemplate('item/compose.tpl');
return Renderer::replaceMacros($tpl, [
'$compose_title'=> $compose_title,
'$visibility_title'=> DI::l10n()->t('Visibility'),
'$l10n' => [
'compose_title' => $compose_title,
'default' => '',
'visibility_title' => $this->l10n->t('Visibility'),
'mytitle' => $this->l10n->t('This is you'),
'submit' => $this->l10n->t('Submit'),
'edbold' => $this->l10n->t('Bold'),
'editalic' => $this->l10n->t('Italic'),
'eduline' => $this->l10n->t('Underline'),
'edquote' => $this->l10n->t('Quote'),
'edcode' => $this->l10n->t('Code'),
'edimg' => $this->l10n->t('Image'),
'edurl' => $this->l10n->t('Link'),
'edattach' => $this->l10n->t('Link or Media'),
'prompttext' => $this->l10n->t('Please enter a image/video/audio/webpage URL:'),
'preview' => $this->l10n->t('Preview'),
'location_set' => $this->l10n->t('Set your location'),
'location_clear' => $this->l10n->t('Clear the location'),
'location_unavailable' => $this->l10n->t('Location services are unavailable on your device'),
'location_disabled' => $this->l10n->t('Location services are disabled. Please check the website\'s permissions on your device'),
'wait' => $this->l10n->t('Please wait'),
'placeholdertitle' => $this->l10n->t('Set title'),
'placeholdercategory' => Feature::isEnabled(local_user(),'categories') ? $this->l10n->t('Categories (comma-separated list)') : '',
'always_open_compose' => $this->pConfig->get(local_user(), 'frio', 'always_open_compose',
$this->config->get('frio', 'always_open_compose', false)) ? '' :
$this->l10n->t('You can make this page always open when you use the New Post button in the <a href="/settings/display">Theme Customization settings</a>.'),
],
'$id' => 0,
'$posttype' => $posttype,
'$type' => $type,
'$wall' => $wall,
'$default' => '',
'$mylink' => DI::baseUrl()->remove($contact['url']),
'$mytitle' => DI::l10n()->t('This is you'),
'$myphoto' => DI::baseUrl()->remove($contact['thumb']),
'$submit' => DI::l10n()->t('Submit'),
'$edbold' => DI::l10n()->t('Bold'),
'$editalic' => DI::l10n()->t('Italic'),
'$eduline' => DI::l10n()->t('Underline'),
'$edquote' => DI::l10n()->t('Quote'),
'$edcode' => DI::l10n()->t('Code'),
'$edimg' => DI::l10n()->t('Image'),
'$edurl' => DI::l10n()->t('Link'),
'$edattach' => DI::l10n()->t('Link or Media'),
'$prompttext' => DI::l10n()->t('Please enter a image/video/audio/webpage URL:'),
'$preview' => DI::l10n()->t('Preview'),
'$location_set' => DI::l10n()->t('Set your location'),
'$location_clear' => DI::l10n()->t('Clear the location'),
'$location_unavailable' => DI::l10n()->t('Location services are unavailable on your device'),
'$location_disabled' => DI::l10n()->t('Location services are disabled. Please check the website\'s permissions on your device'),
'$wait' => DI::l10n()->t('Please wait'),
'$placeholdertitle' => DI::l10n()->t('Set title'),
'$placeholdercategory' => (Feature::isEnabled(local_user(),'categories') ? DI::l10n()->t('Categories (comma-separated list)') : ''),
'$mylink' => $this->baseUrl->remove($contact['url']),
'$myphoto' => $this->baseUrl->remove($contact['thumb']),
'$scheduled_at' => Temporal::getDateTimeField(
new DateTime(),
new DateTime('now + 6 months'),
null,
DI::l10n()->t('Scheduled at'),
$this->l10n->t('Scheduled at'),
'scheduled_at'
),
'$created_at' => $created_at,
@ -197,7 +235,7 @@ class Compose extends BaseModule
'$jotplugins' => $jotplugins,
'$rand_num' => Crypto::randomDigits(12),
'$acl_selector' => ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), $doesFederate, [
'$acl_selector' => ACL::getFullSelectorHTML($this->page, $a->getLoggedInUserId(), $doesFederate, [
'allow_cid' => $contact_allow_list,
'allow_gid' => $group_allow_list,
'deny_cid' => $contact_deny_list,

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2022.12-dev\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-14 22:46+0000\n"
"POT-Creation-Date: 2022-10-16 12:38-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -212,7 +212,7 @@ msgid "audio link"
msgstr ""
#: mod/editpost.php:103 src/Content/Conversation.php:352
#: src/Module/Item/Compose.php:173
#: src/Module/Item/Compose.php:200
msgid "Set your location"
msgstr ""
@ -230,7 +230,7 @@ msgstr ""
#: mod/editpost.php:107 mod/message.php:200 mod/message.php:358
#: mod/photos.php:1489 mod/wallmessage.php:142 src/Content/Conversation.php:368
#: src/Content/Conversation.php:713 src/Module/Item/Compose.php:177
#: src/Content/Conversation.php:714 src/Module/Item/Compose.php:204
#: src/Object/Post.php:538
msgid "Please wait"
msgstr ""
@ -248,12 +248,12 @@ msgid "Public post"
msgstr ""
#: mod/editpost.php:120 src/Content/Conversation.php:357
#: src/Module/Item/Compose.php:178
#: src/Module/Item/Compose.php:205
msgid "Set title"
msgstr ""
#: mod/editpost.php:122 src/Content/Conversation.php:359
#: src/Module/Item/Compose.php:179
#: src/Module/Item/Compose.php:206
msgid "Categories (comma-separated list)"
msgstr ""
@ -263,7 +263,7 @@ msgstr ""
#: mod/editpost.php:128 mod/events.php:513 mod/photos.php:1337
#: mod/photos.php:1393 mod/photos.php:1467 src/Content/Conversation.php:383
#: src/Module/Item/Compose.php:172 src/Object/Post.php:1003
#: src/Module/Item/Compose.php:199 src/Object/Post.php:1003
msgid "Preview"
msgstr ""
@ -276,37 +276,37 @@ msgid "Cancel"
msgstr ""
#: mod/editpost.php:134 src/Content/Conversation.php:343
#: src/Module/Item/Compose.php:163 src/Object/Post.php:994
#: src/Module/Item/Compose.php:190 src/Object/Post.php:994
msgid "Bold"
msgstr ""
#: mod/editpost.php:135 src/Content/Conversation.php:344
#: src/Module/Item/Compose.php:164 src/Object/Post.php:995
#: src/Module/Item/Compose.php:191 src/Object/Post.php:995
msgid "Italic"
msgstr ""
#: mod/editpost.php:136 src/Content/Conversation.php:345
#: src/Module/Item/Compose.php:165 src/Object/Post.php:996
#: src/Module/Item/Compose.php:192 src/Object/Post.php:996
msgid "Underline"
msgstr ""
#: mod/editpost.php:137 src/Content/Conversation.php:346
#: src/Module/Item/Compose.php:166 src/Object/Post.php:997
#: src/Module/Item/Compose.php:193 src/Object/Post.php:997
msgid "Quote"
msgstr ""
#: mod/editpost.php:138 src/Content/Conversation.php:347
#: src/Module/Item/Compose.php:167 src/Object/Post.php:998
#: src/Module/Item/Compose.php:194 src/Object/Post.php:998
msgid "Code"
msgstr ""
#: mod/editpost.php:139 src/Content/Conversation.php:349
#: src/Module/Item/Compose.php:169 src/Object/Post.php:1000
#: src/Module/Item/Compose.php:196 src/Object/Post.php:1000
msgid "Link"
msgstr ""
#: mod/editpost.php:140 src/Content/Conversation.php:350
#: src/Module/Item/Compose.php:170 src/Object/Post.php:1001
#: src/Module/Item/Compose.php:197 src/Object/Post.php:1001
msgid "Link or Media"
msgstr ""
@ -415,9 +415,9 @@ msgstr ""
#: src/Module/Delegation.php:148 src/Module/FriendSuggest.php:144
#: src/Module/Install.php:252 src/Module/Install.php:294
#: src/Module/Install.php:331 src/Module/Invite.php:178
#: src/Module/Item/Compose.php:162 src/Module/Profile/Profile.php:247
#: src/Module/Item/Compose.php:189 src/Module/Profile/Profile.php:247
#: src/Module/Settings/Profile/Index.php:222 src/Object/Post.php:992
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:171
#: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
msgid "Submit"
msgstr ""
@ -1070,7 +1070,7 @@ msgid "Rotate CCW (left)"
msgstr ""
#: mod/photos.php:1333 mod/photos.php:1389 mod/photos.php:1463
#: src/Module/Contact.php:547 src/Module/Item/Compose.php:160
#: src/Module/Contact.php:547 src/Module/Item/Compose.php:188
#: src/Object/Post.php:989
msgid "This is you"
msgstr ""
@ -1080,11 +1080,11 @@ msgstr ""
msgid "Comment"
msgstr ""
#: mod/photos.php:1424 src/Content/Conversation.php:629 src/Object/Post.php:256
#: mod/photos.php:1424 src/Content/Conversation.php:630 src/Object/Post.php:256
msgid "Select"
msgstr ""
#: mod/photos.php:1425 mod/settings.php:350 src/Content/Conversation.php:630
#: mod/photos.php:1425 mod/settings.php:350 src/Content/Conversation.php:631
#: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140
#: src/Module/Admin/Users/Index.php:153
msgid "Delete"
@ -1947,7 +1947,7 @@ msgid "%s attends maybe."
msgstr ""
#: src/Content/Conversation.php:222 src/Content/Conversation.php:260
#: src/Content/Conversation.php:873
#: src/Content/Conversation.php:874
#, php-format
msgid "%s reshared this."
msgstr ""
@ -2020,7 +2020,7 @@ msgstr ""
msgid "Visible to <strong>everybody</strong>"
msgstr ""
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:171
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:198
#: src/Object/Post.php:1002
msgid "Please enter a image/video/audio/webpage URL:"
msgstr ""
@ -2041,7 +2041,7 @@ msgstr ""
msgid "Delete item(s)?"
msgstr ""
#: src/Content/Conversation.php:324 src/Module/Item/Compose.php:143
#: src/Content/Conversation.php:324 src/Module/Item/Compose.php:175
msgid "Created at"
msgstr ""
@ -2053,7 +2053,7 @@ msgstr ""
msgid "Share"
msgstr ""
#: src/Content/Conversation.php:348 src/Module/Item/Compose.php:168
#: src/Content/Conversation.php:348 src/Module/Item/Compose.php:195
#: src/Object/Post.php:999
msgid "Image"
msgstr ""
@ -2062,117 +2062,117 @@ msgstr ""
msgid "Video"
msgstr ""
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:184
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:222
msgid "Scheduled at"
msgstr ""
#: src/Content/Conversation.php:657 src/Object/Post.php:244
#: src/Content/Conversation.php:658 src/Object/Post.php:244
msgid "Pinned item"
msgstr ""
#: src/Content/Conversation.php:673 src/Object/Post.php:486
#: src/Content/Conversation.php:674 src/Object/Post.php:486
#: src/Object/Post.php:487
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
#: src/Content/Conversation.php:686 src/Object/Post.php:474
#: src/Content/Conversation.php:687 src/Object/Post.php:474
msgid "Categories:"
msgstr ""
#: src/Content/Conversation.php:687 src/Object/Post.php:475
#: src/Content/Conversation.php:688 src/Object/Post.php:475
msgid "Filed under:"
msgstr ""
#: src/Content/Conversation.php:695 src/Object/Post.php:500
#: src/Content/Conversation.php:696 src/Object/Post.php:500
#, php-format
msgid "%s from %s"
msgstr ""
#: src/Content/Conversation.php:711
#: src/Content/Conversation.php:712
msgid "View in context"
msgstr ""
#: src/Content/Conversation.php:776
#: src/Content/Conversation.php:777
msgid "remove"
msgstr ""
#: src/Content/Conversation.php:780
#: src/Content/Conversation.php:781
msgid "Delete Selected Items"
msgstr ""
#: src/Content/Conversation.php:845 src/Content/Conversation.php:848
#: src/Content/Conversation.php:851 src/Content/Conversation.php:854
#: src/Content/Conversation.php:846 src/Content/Conversation.php:849
#: src/Content/Conversation.php:852 src/Content/Conversation.php:855
#, php-format
msgid "You had been addressed (%s)."
msgstr ""
#: src/Content/Conversation.php:857
#: src/Content/Conversation.php:858
#, php-format
msgid "You are following %s."
msgstr ""
#: src/Content/Conversation.php:860
#: src/Content/Conversation.php:861
msgid "You subscribed to one or more tags in this post."
msgstr ""
#: src/Content/Conversation.php:875
#: src/Content/Conversation.php:876
msgid "Reshared"
msgstr ""
#: src/Content/Conversation.php:875
#: src/Content/Conversation.php:876
#, php-format
msgid "Reshared by %s <%s>"
msgstr ""
#: src/Content/Conversation.php:878
#: src/Content/Conversation.php:879
#, php-format
msgid "%s is participating in this thread."
msgstr ""
#: src/Content/Conversation.php:881
#: src/Content/Conversation.php:882
msgid "Stored for general reasons"
msgstr ""
#: src/Content/Conversation.php:884
#: src/Content/Conversation.php:885
msgid "Global post"
msgstr ""
#: src/Content/Conversation.php:887
#: src/Content/Conversation.php:888
msgid "Sent via an relay server"
msgstr ""
#: src/Content/Conversation.php:887
#: src/Content/Conversation.php:888
#, php-format
msgid "Sent via the relay server %s <%s>"
msgstr ""
#: src/Content/Conversation.php:890
#: src/Content/Conversation.php:891
msgid "Fetched"
msgstr ""
#: src/Content/Conversation.php:890
#: src/Content/Conversation.php:891
#, php-format
msgid "Fetched because of %s <%s>"
msgstr ""
#: src/Content/Conversation.php:893
#: src/Content/Conversation.php:894
msgid "Stored because of a child post to complete this thread."
msgstr ""
#: src/Content/Conversation.php:896
#: src/Content/Conversation.php:897
msgid "Local delivery"
msgstr ""
#: src/Content/Conversation.php:899
#: src/Content/Conversation.php:900
msgid "Stored because of your activity (like, comment, star, ...)"
msgstr ""
#: src/Content/Conversation.php:902
#: src/Content/Conversation.php:903
msgid "Distributed"
msgstr ""
#: src/Content/Conversation.php:905
#: src/Content/Conversation.php:906
msgid "Pushed to us"
msgstr ""
@ -2628,39 +2628,39 @@ msgstr ""
msgid "last"
msgstr ""
#: src/Content/Text/BBCode.php:1002 src/Content/Text/BBCode.php:1867
#: src/Content/Text/BBCode.php:1868
#: src/Content/Text/BBCode.php:1002 src/Content/Text/BBCode.php:1883
#: src/Content/Text/BBCode.php:1884
msgid "Image/photo"
msgstr ""
#: src/Content/Text/BBCode.php:1222
#: src/Content/Text/BBCode.php:1238
#, php-format
msgid ""
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr ""
#: src/Content/Text/BBCode.php:1247 src/Model/Item.php:3429
#: src/Content/Text/BBCode.php:1263 src/Model/Item.php:3429
#: src/Model/Item.php:3435 src/Model/Item.php:3436
msgid "Link to source"
msgstr ""
#: src/Content/Text/BBCode.php:1785 src/Content/Text/HTML.php:940
#: src/Content/Text/BBCode.php:1801 src/Content/Text/HTML.php:940
msgid "Click to open/close"
msgstr ""
#: src/Content/Text/BBCode.php:1816
#: src/Content/Text/BBCode.php:1832
msgid "$1 wrote:"
msgstr ""
#: src/Content/Text/BBCode.php:1872 src/Content/Text/BBCode.php:1873
#: src/Content/Text/BBCode.php:1888 src/Content/Text/BBCode.php:1889
msgid "Encrypted content"
msgstr ""
#: src/Content/Text/BBCode.php:2093
#: src/Content/Text/BBCode.php:2109
msgid "Invalid source protocol"
msgstr ""
#: src/Content/Text/BBCode.php:2108
#: src/Content/Text/BBCode.php:2124
msgid "Invalid link protocol"
msgstr ""
@ -8094,40 +8094,46 @@ msgid ""
"important, please visit http://friendi.ca"
msgstr ""
#: src/Module/Item/Compose.php:50
#: src/Module/Item/Compose.php:85
msgid "Please enter a post body."
msgstr ""
#: src/Module/Item/Compose.php:63
#: src/Module/Item/Compose.php:98
msgid "This feature is only available with the frio theme."
msgstr ""
#: src/Module/Item/Compose.php:90
#: src/Module/Item/Compose.php:122
msgid "Compose new personal note"
msgstr ""
#: src/Module/Item/Compose.php:99
#: src/Module/Item/Compose.php:131
msgid "Compose new post"
msgstr ""
#: src/Module/Item/Compose.php:153
#: src/Module/Item/Compose.php:187
msgid "Visibility"
msgstr ""
#: src/Module/Item/Compose.php:174
#: src/Module/Item/Compose.php:201
msgid "Clear the location"
msgstr ""
#: src/Module/Item/Compose.php:175
#: src/Module/Item/Compose.php:202
msgid "Location services are unavailable on your device"
msgstr ""
#: src/Module/Item/Compose.php:176
#: src/Module/Item/Compose.php:203
msgid ""
"Location services are disabled. Please check the website's permissions on "
"your device"
msgstr ""
#: src/Module/Item/Compose.php:209
msgid ""
"You can make this page always open when you use the New Post button in the "
"<a href=\"/settings/display\">Theme Customization settings</a>."
msgstr ""
#: src/Module/Item/Follow.php:52
msgid "Unable to follow this item."
msgstr ""
@ -9456,7 +9462,7 @@ msgid "Content Settings"
msgstr ""
#: src/Module/Settings/Display.php:205 view/theme/duepuntozero/config.php:70
#: view/theme/frio/config.php:161 view/theme/quattro/config.php:72
#: view/theme/frio/config.php:172 view/theme/quattro/config.php:72
#: view/theme/vier/config.php:120
msgid "Theme settings"
msgstr ""
@ -11119,113 +11125,124 @@ msgstr ""
msgid "Variations"
msgstr ""
#: view/theme/frio/config.php:142
#: view/theme/frio/config.php:153
msgid "Light (Accented)"
msgstr ""
#: view/theme/frio/config.php:143
#: view/theme/frio/config.php:154
msgid "Dark (Accented)"
msgstr ""
#: view/theme/frio/config.php:144
#: view/theme/frio/config.php:155
msgid "Black (Accented)"
msgstr ""
#: view/theme/frio/config.php:156
#: view/theme/frio/config.php:167
msgid "Note"
msgstr ""
#: view/theme/frio/config.php:156
#: view/theme/frio/config.php:167
msgid "Check image permissions if all users are allowed to see the image"
msgstr ""
#: view/theme/frio/config.php:162
#: view/theme/frio/config.php:173
msgid "Custom"
msgstr ""
#: view/theme/frio/config.php:163
#: view/theme/frio/config.php:174
msgid "Legacy"
msgstr ""
#: view/theme/frio/config.php:164
#: view/theme/frio/config.php:175
msgid "Accented"
msgstr ""
#: view/theme/frio/config.php:165
#: view/theme/frio/config.php:176
msgid "Select color scheme"
msgstr ""
#: view/theme/frio/config.php:166
#: view/theme/frio/config.php:177
msgid "Select scheme accent"
msgstr ""
#: view/theme/frio/config.php:166
#: view/theme/frio/config.php:177
msgid "Blue"
msgstr ""
#: view/theme/frio/config.php:166
#: view/theme/frio/config.php:177
msgid "Red"
msgstr ""
#: view/theme/frio/config.php:166
#: view/theme/frio/config.php:177
msgid "Purple"
msgstr ""
#: view/theme/frio/config.php:166
#: view/theme/frio/config.php:177
msgid "Green"
msgstr ""
#: view/theme/frio/config.php:166
#: view/theme/frio/config.php:177
msgid "Pink"
msgstr ""
#: view/theme/frio/config.php:167
#: view/theme/frio/config.php:178
msgid "Copy or paste schemestring"
msgstr ""
#: view/theme/frio/config.php:167
#: view/theme/frio/config.php:178
msgid ""
"You can copy this string to share your theme with others. Pasting here "
"applies the schemestring"
msgstr ""
#: view/theme/frio/config.php:168
#: view/theme/frio/config.php:179
msgid "Navigation bar background color"
msgstr ""
#: view/theme/frio/config.php:169
#: view/theme/frio/config.php:180
msgid "Navigation bar icon color "
msgstr ""
#: view/theme/frio/config.php:170
#: view/theme/frio/config.php:181
msgid "Link color"
msgstr ""
#: view/theme/frio/config.php:171
#: view/theme/frio/config.php:182
msgid "Set the background color"
msgstr ""
#: view/theme/frio/config.php:172
#: view/theme/frio/config.php:183
msgid "Content background opacity"
msgstr ""
#: view/theme/frio/config.php:173
#: view/theme/frio/config.php:184
msgid "Set the background image"
msgstr ""
#: view/theme/frio/config.php:174
#: view/theme/frio/config.php:185
msgid "Background image style"
msgstr ""
#: view/theme/frio/config.php:179
#: view/theme/frio/config.php:188
msgid "Always open Compose page"
msgstr ""
#: view/theme/frio/config.php:188
msgid ""
"The New Post button always open the <a href=\"/compose\">Compose page</a> "
"instead of the modal form. When this is disabled, the Compose page can be "
"accessed with a middle click on the link or from the modal."
msgstr ""
#: view/theme/frio/config.php:192
msgid "Login page background image"
msgstr ""
#: view/theme/frio/config.php:183
#: view/theme/frio/config.php:196
msgid "Login page background color"
msgstr ""
#: view/theme/frio/config.php:183
#: view/theme/frio/config.php:196
msgid "Leave background image and color empty for theme defaults"
msgstr ""

View file

@ -1,5 +1,8 @@
<div class="generic-page-wrapper">
<h2>{{$compose_title}}</h2>
<h2>{{$l10n.compose_title}}</h2>
{{if $l10n.always_open_compose}}
<p>{{$l10n.always_open_compose nofilter}}</p>
{{/if}}
<div id="profile-jot-wrapper">
<form class="comment-edit-form" data-item-id="{{$id}}" id="comment-edit-form-{{$id}}" action="compose/{{$type}}" method="post">
{{*<!--<input type="hidden" name="return" value="{{$return_path}}" />-->*}}
@ -8,74 +11,72 @@
<input type="hidden" name="wall" value="{{$wall}}" />
<div id="jot-title-wrap">
<input type="text" name="title" id="jot-title" class="jothidden jotforms form-control" placeholder="{{$placeholdertitle}}" title="{{$placeholdertitle}}" value="{{$title}}" tabindex="1" dir="auto" />
<input type="text" name="title" id="jot-title" class="jothidden jotforms form-control" placeholder="{{$l10n.placeholdertitle}}" title="{{$l10n.placeholdertitle}}" value="{{$title}}" tabindex="1" dir="auto" />
</div>
{{if $placeholdercategory}}
{{if $l10n.placeholdercategory}}
<div id="jot-category-wrap">
<input name="category" id="jot-category" class="jothidden jotforms form-control" type="text" placeholder="{{$placeholdercategory}}" title="{{$placeholdercategory}}" value="{{$category}}" tabindex="2" dir="auto" />
<input name="category" id="jot-category" class="jothidden jotforms form-control" type="text" placeholder="{{$l10n.placeholdercategory}}" title="{{$l10n.placeholdercategory}}" value="{{$category}}" tabindex="2" dir="auto" />
</div>
{{/if}}
<p class="comment-edit-bb-{{$id}} comment-icon-list">
<span>
<button type="button" class="btn btn-sm icon bb-img" aria-label="{{$edimg}}" title="{{$edimg}}" data-role="insert-formatting" data-bbcode="img" data-id="{{$id}}" tabindex="7">
<button type="button" class="btn btn-sm icon bb-img" aria-label="{{$l10n.edimg}}" title="{{$l10n.edimg}}" data-role="insert-formatting" data-bbcode="img" data-id="{{$id}}" tabindex="7">
<i class="fa fa-picture-o"></i>
</button>
<button type="button" class="btn btn-sm icon bb-attach" aria-label="{{$edattach}}" title="{{$edattach}}" ondragenter="return commentLinkDrop(event, {{$id}});" ondragover="return commentLinkDrop(event, {{$id}});" ondrop="commentLinkDropper(event);" onclick="commentGetLink({{$id}}, '{{$prompttext}}');" tabindex="8">
<button type="button" class="btn btn-sm icon bb-attach" aria-label="{{$l10n.edattach}}" title="{{$l10n.edattach}}" ondragenter="return commentLinkDrop(event, {{$id}});" ondragover="return commentLinkDrop(event, {{$id}});" ondrop="commentLinkDropper(event);" onclick="commentGetLink({{$id}}, '{{$l10n.prompttext}}');" tabindex="8">
<i class="fa fa-paperclip"></i>
</button>
</span>
<span>
<button type="button" class="btn btn-sm icon bb-url" aria-label="{{$edurl}}" title="{{$edurl}}" onclick="insertFormatting('url',{{$id}});" tabindex="9">
<button type="button" class="btn btn-sm icon bb-url" aria-label="{{$l10n.edurl}}" title="{{$l10n.edurl}}" onclick="insertFormatting('url',{{$id}});" tabindex="9">
<i class="fa fa-link"></i>
</button>
<button type="button" class="btn btn-sm icon underline" aria-label="{{$eduline}}" title="{{$eduline}}" onclick="insertFormatting('u',{{$id}});" tabindex="10">
<button type="button" class="btn btn-sm icon underline" aria-label="{{$l10n.eduline}}" title="{{$l10n.eduline}}" onclick="insertFormatting('u',{{$id}});" tabindex="10">
<i class="fa fa-underline"></i>
</button>
<button type="button" class="btn btn-sm icon italic" aria-label="{{$editalic}}" title="{{$editalic}}" onclick="insertFormatting('i',{{$id}});" tabindex="11">
<button type="button" class="btn btn-sm icon italic" aria-label="{{$l10n.editalic}}" title="{{$l10n.editalic}}" onclick="insertFormatting('i',{{$id}});" tabindex="11">
<i class="fa fa-italic"></i>
</button>
<button type="button" class="btn btn-sm icon bold" aria-label="{{$edbold}}" title="{{$edbold}}" onclick="insertFormatting('b',{{$id}});" tabindex="12">
<button type="button" class="btn btn-sm icon bold" aria-label="{{$l10n.edbold}}" title="{{$l10n.edbold}}" onclick="insertFormatting('b',{{$id}});" tabindex="12">
<i class="fa fa-bold"></i>
</button>
<button type="button" class="btn btn-sm icon quote" aria-label="{{$edquote}}" title="{{$edquote}}" onclick="insertFormatting('quote',{{$id}});" tabindex="13">
<button type="button" class="btn btn-sm icon quote" aria-label="{{$l10n.edquote}}" title="{{$l10n.edquote}}" onclick="insertFormatting('quote',{{$id}});" tabindex="13">
<i class="fa fa-quote-left"></i>
</button>
</span>
</p>
<p>
<textarea id="comment-edit-text-{{$id}}" class="comment-edit-text form-control text-autosize" name="body" placeholder="{{$default}}" rows="7" tabindex="3" dir="auto" dir="auto">{{$body}}</textarea>
<textarea id="comment-edit-text-{{$id}}" class="comment-edit-text form-control text-autosize" name="body" placeholder="{{$l10n.default}}" rows="7" tabindex="3" dir="auto" dir="auto">{{$body}}</textarea>
</p>
<p class="comment-edit-submit-wrapper">
{{if $type == 'post'}}
<span role="presentation" class="form-inline">
<input type="text" name="location" class="form-control" id="jot-location" value="{{$location}}" placeholder="{{$location_set}}"/>
<input type="text" name="location" class="form-control" id="jot-location" value="{{$location}}" placeholder="{{$l10n.location_set}}"/>
<button type="button" class="btn btn-sm icon" id="profile-location"
data-title-set="{{$location_set}}"
data-title-disabled="{{$location_disabled}}"
data-title-unavailable="{{$location_unavailable}}"
data-title-clear="{{$location_clear}}"
title="{{$location_set}}"
data-title-set="{{$l10n.location_set}}"
data-title-disabled="{{$l10n.location_disabled}}"
data-title-unavailable="{{$l10n.location_unavailable}}"
data-title-clear="{{$l10n.location_clear}}"
title="{{$l10n.location_set}}"
tabindex="6">
<i class="fa fa-map-marker" aria-hidden="true"></i>
</button>
</span>
{{/if}}
<span role="presentation" id="profile-rotator-wrapper">
<img role="presentation" id="profile-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
<img role="presentation" id="profile-rotator" src="images/rotator.gif" alt="{{$l10n.wait}}" title="{{$l10n.wait}}" style="display: none;" />
</span>
<span role="presentation" id="character-counter" class="grey text-info"></span>
{{if $preview}}
<button type="button" class="btn btn-defaul btn-sm" onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" tabindex="5"><i class="fa fa-eye"></i> {{$preview}}</button>
{{/if}}
<button type="submit" class="btn btn-primary btn-sm" id="comment-edit-submit-{{$id}}" name="submit" tabindex="4"><i class="fa fa-envelope"></i> {{$submit}}</button>
<button type="button" class="btn btn-defaul btn-sm" onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" tabindex="5"><i class="fa fa-eye"></i> {{$l10n.preview}}</button>
<button type="submit" class="btn btn-primary btn-sm" id="comment-edit-submit-{{$id}}" name="submit" tabindex="4"><i class="fa fa-envelope"></i> {{$l10n.submit}}</button>
</p>
<div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
{{if $type == 'post'}}
<h3>{{$visibility_title}}</h3>
<h3>{{$l10n.visibility_title}}</h3>
{{$acl_selector nofilter}}
<div class="jotplugins">

View file

@ -43,7 +43,8 @@ function theme_post(App $a)
'background_image',
'bg_image_option',
'login_bg_image',
'login_bg_color'
'login_bg_color',
'always_open_compose',
] as $field) {
if (isset($_POST['frio_' . $field])) {
DI::pConfig()->set(local_user(), 'frio', $field, $_POST['frio_' . $field]);
@ -73,7 +74,8 @@ function theme_admin_post(App $a)
'background_image',
'bg_image_option',
'login_bg_image',
'login_bg_color'
'login_bg_color',
'always_open_compose',
] as $field) {
if (isset($_POST['frio_' . $field])) {
DI::config()->set('frio', $field, $_POST['frio_' . $field]);
@ -84,48 +86,57 @@ function theme_admin_post(App $a)
}
}
function theme_content(App $a)
function theme_content(): string
{
if (!local_user()) {
return;
return '';
}
$arr = [];
$node_scheme = DI::config()->get('frio', 'scheme', DI::config()->get('frio', 'scheme'));
$arr = [
'scheme' => DI::pConfig()->get(local_user(), 'frio', 'scheme',
DI::pConfig()->get(local_user(), 'frio', 'schema',
DI::config()->get('frio', 'scheme',
DI::config()->get('frio', 'schema')
)
)
),
$arr['scheme'] = DI::pConfig()->get(local_user(), 'frio', 'scheme', DI::pConfig()->get(local_user(), 'frio', 'schema', $node_scheme));
$arr['scheme_accent'] = DI::pConfig()->get(local_user(), 'frio', 'scheme_accent' , DI::config()->get('frio', 'scheme_accent'));
$arr['share_string'] = '';
$arr['nav_bg'] = DI::pConfig()->get(local_user(), 'frio', 'nav_bg' , DI::config()->get('frio', 'nav_bg'));
$arr['nav_icon_color'] = DI::pConfig()->get(local_user(), 'frio', 'nav_icon_color' , DI::config()->get('frio', 'nav_icon_color'));
$arr['link_color'] = DI::pConfig()->get(local_user(), 'frio', 'link_color' , DI::config()->get('frio', 'link_color'));
$arr['background_color'] = DI::pConfig()->get(local_user(), 'frio', 'background_color', DI::config()->get('frio', 'background_color'));
$arr['contentbg_transp'] = DI::pConfig()->get(local_user(), 'frio', 'contentbg_transp', DI::config()->get('frio', 'contentbg_transp'));
$arr['background_image'] = DI::pConfig()->get(local_user(), 'frio', 'background_image', DI::config()->get('frio', 'background_image'));
$arr['bg_image_option'] = DI::pConfig()->get(local_user(), 'frio', 'bg_image_option' , DI::config()->get('frio', 'bg_image_option'));
'share_string' => '',
'scheme_accent' => DI::pConfig()->get(local_user(), 'frio', 'scheme_accent' , DI::config()->get('frio', 'scheme_accent')),
'nav_bg' => DI::pConfig()->get(local_user(), 'frio', 'nav_bg' , DI::config()->get('frio', 'nav_bg')),
'nav_icon_color' => DI::pConfig()->get(local_user(), 'frio', 'nav_icon_color' , DI::config()->get('frio', 'nav_icon_color')),
'link_color' => DI::pConfig()->get(local_user(), 'frio', 'link_color' , DI::config()->get('frio', 'link_color')),
'background_color' => DI::pConfig()->get(local_user(), 'frio', 'background_color' , DI::config()->get('frio', 'background_color')),
'contentbg_transp' => DI::pConfig()->get(local_user(), 'frio', 'contentbg_transp' , DI::config()->get('frio', 'contentbg_transp')),
'background_image' => DI::pConfig()->get(local_user(), 'frio', 'background_image' , DI::config()->get('frio', 'background_image')),
'bg_image_option' => DI::pConfig()->get(local_user(), 'frio', 'bg_image_option' , DI::config()->get('frio', 'bg_image_option')),
'always_open_compose' => DI::pConfig()->get(local_user(), 'frio', 'always_open_compose', DI::config()->get('frio', 'always_open_compose', false)),
];
return frio_form($arr);
}
function theme_admin(App $a)
function theme_admin(): string
{
if (!local_user()) {
return;
return '';
}
$arr = [];
$arr['scheme'] = DI::config()->get('frio', 'scheme', DI::config()->get('frio', 'schema'));
$arr['scheme_accent'] = DI::config()->get('frio', 'scheme_accent');
$arr['share_string'] = '';
$arr['nav_bg'] = DI::config()->get('frio', 'nav_bg');
$arr['nav_icon_color'] = DI::config()->get('frio', 'nav_icon_color');
$arr['link_color'] = DI::config()->get('frio', 'link_color');
$arr['background_color'] = DI::config()->get('frio', 'background_color');
$arr['contentbg_transp'] = DI::config()->get('frio', 'contentbg_transp');
$arr['background_image'] = DI::config()->get('frio', 'background_image');
$arr['bg_image_option'] = DI::config()->get('frio', 'bg_image_option');
$arr['login_bg_image'] = DI::config()->get('frio', 'login_bg_image');
$arr['login_bg_color'] = DI::config()->get('frio', 'login_bg_color');
$arr = [
'scheme' => DI::config()->get('frio', 'scheme', DI::config()->get('frio', 'schema')),
'scheme_accent' => DI::config()->get('frio', 'scheme_accent'),
'share_string' => '',
'nav_bg' => DI::config()->get('frio', 'nav_bg'),
'nav_icon_color' => DI::config()->get('frio', 'nav_icon_color'),
'link_color' => DI::config()->get('frio', 'link_color'),
'background_color' => DI::config()->get('frio', 'background_color'),
'contentbg_transp' => DI::config()->get('frio', 'contentbg_transp'),
'background_image' => DI::config()->get('frio', 'background_image'),
'bg_image_option' => DI::config()->get('frio', 'bg_image_option'),
'login_bg_image' => DI::config()->get('frio', 'login_bg_image'),
'login_bg_color' => DI::config()->get('frio', 'login_bg_color'),
'always_open_compose' => DI::config()->get('frio', 'always_open_compose', false),
];
return frio_form($arr);
}
@ -173,6 +184,8 @@ function frio_form($arr)
'$background_image' => array_key_exists('background_image', $disable) ? '' : ['frio_background_image', DI::l10n()->t('Set the background image'), $arr['background_image'], $background_image_help, false],
'$bg_image_options_title' => DI::l10n()->t('Background image style'),
'$bg_image_options' => Image::get_options($arr),
'$always_open_compose' => ['frio_always_open_compose', DI::l10n()->t('Always open Compose page'), $arr['always_open_compose'], DI::l10n()->t('The New Post button always open the <a href="/compose">Compose page</a> instead of the modal form. When this is disabled, the Compose page can be accessed with a middle click on the link or from the modal.')],
];
if (array_key_exists('login_bg_image', $arr) && !array_key_exists('login_bg_image', $disable)) {
@ -183,7 +196,5 @@ function frio_form($arr)
$ctx['$login_bg_color'] = ['frio_login_bg_color', DI::l10n()->t('Login page background color'), $arr['login_bg_color'], DI::l10n()->t('Leave background image and color empty for theme defaults'), false];
}
$o = Renderer::replaceMacros($t, $ctx);
return $o;
return Renderer::replaceMacros($t, $ctx);
}

View file

@ -87,11 +87,13 @@ $(document).ready(function () {
if ($("#jot-popup").is(":hidden")) {
$jotButton.hide();
}
if ($jotButton.hasClass('modal-open')) {
$jotButton.on("click", function (e) {
e.preventDefault();
jotShow();
});
}
}
let $body = $("body");

View file

@ -1,5 +1,5 @@
{{* The button to open the jot - in This theme we move the button with js to the second nav bar *}}
<a class="btn btn-sm btn-primary pull-right" id="jotOpen" href="compose/{{$posttype}}{{if $content}}?body={{$content}}{{/if}}" aria-label="{{$new_post}}" title="{{$new_post}}"><i class="fa fa-pencil-square-o fa-2x"></i></a>
<a class="btn btn-sm btn-primary pull-right{{if !$always_open_compose}} modal-open{{/if}}" id="jotOpen" href="compose/{{$posttype}}{{if $content}}?body={{$content}}{{/if}}" aria-label="{{$new_post}}" title="{{$new_post}}"><i class="fa fa-pencil-square-o fa-2x"></i></a>
<div id="jot-content">
<div id="jot-sections">

View file

@ -209,6 +209,8 @@
});
</script>
{{include file="field_checkbox.tpl" field=$always_open_compose}}
<div class="settings-submit-wrapper pull-right">
<button type="submit" value="{{$submit}}" class="settings-submit btn btn-primary" name="frio-settings-submit">{{$submit}}</button>
</div>