Merge remote-tracking branch 'upstream/develop' into ap1

This commit is contained in:
Michael 2018-09-24 21:48:40 +00:00
commit 834422d52f
25 changed files with 280 additions and 141 deletions

131
CHANGELOG
View File

@ -1,3 +1,134 @@
Version 2018.09 (2018-09-23)
Friendica Core:
Update to the translation (CS, DE, EN-US, FI, IT, NL, PL, ZH-CN) [translation teams]
Update to the documentation [Aditoo17, annando, astifter, rebeka-catalina, fabrixxm, M-arcus, microgroove, nupplaphil, tobiasd]
Enhancements to the database structure, handling and documentation [abanink, Angristan, annando, miqrogroove, tobiasd]
Enhancements of unit testing [abanink, nupplaphil, rudloff]
Enhancements to labelling of UI elements [andyhee, tobiasd]
Enhancements to the background workers [annando, miqrogroove, rabuzarus]
Enhancements to the PHP7.2 compatibility [annando, miqrogroove, MrPetovan]
Enhancements to the content filter [MrPetovan]
Enhancements to the hooks provided for addons [abanink]
Enhancements to the interaction with public postings [annando]
Enhancements to the config storage [frabrixxm]
Enhancements to the themes (frio, quattro, smoothly, vier) [annando, astifter, hoergen, MrPetovan, rabuzarus, tobiasd]
Enhancements to the handling of locks [nupplaphil]
Enhancements to the redis integration [nupplaphil]
Enhancements to the admin panel [JeroenED, tobiasd]
Enhancements to the user import process [annando]
Enhancements to the display of invitation information [JeroenED]
Enhancements to the automatic installation process [nupplaphil]
Enhancements to the contact group UI [annando, astifter]
Enhancements to the call of JS [hypolite]
Enhancements to the storage of items in the database [annando]
Enhancements to the process of changing relationships [annando]
Enhancements to the OEmbed of data [MrPetovan]
Fixed various PHP notice occurrences [annando, MrPetovan]
Fixed a bug that could lead to the display of posts from deleted accounts on the community page for a short period [annando]
Fixed a bug that prevented email notification to be send out [annando]
Fixed a bug in database optimisation [annando]
Fixed a bug during removing contacts [annando]
Fixed a bug in the tag-cloud widget [annando]
Fixed a bug in the daemon mode of the background worker [annando]
Fixed a bug in the frio theme that contact filtering [rabuzarus]
Fixed a bug that mangled the display of some additional smileys [abanink]
Fixed a bug in generating registration mails [MrPetovan]
Fixed a bug that caused blank re-share bodies [MrPetovon]
Fixed a bug in the API handling of private mails [fabrixxm]
Fixed a bug when calling the mail() function [miqrogroove]
Fixed a bug that caused deleted accounts being displayed in the local directory [miqrogroove]
Fixed a bug when checking the domain of an email address [VVelox]
Fixed a bug that prevented re-shares from Twitter to be shown as this [annando]
Fixed a bug that caused broken profile links [miqrogroove]
Fixed a bug that caused content from unknown accounts appearing in the timeline [annando]
Fixed a bug with the ignoring and blocking of contacts [annando]
Fixed a bug with showing hidden contacts in some places [annando]
Fixed a bug that prevented the deletion of events by contacts [annando]
Fixed a bug that prevented email contacts from being added [annando]
Fixed a bug in the notification/seen API call [fabrixxm]
Fixed a bug that prevented a refresh after un-/ignoring a conversation [annando]
Fixed a bug in the handling of some language translations [anndno]
Fixed a bug in the hook handling [annando]
Fixed the handling of too long tags [annando]
Fixed a bug that prevented the unliking of dis-/likes [annando]
Fixed bugs with the handling of private nodes [annando]
Fixed a bug in the session initialisation [annando]
Fixed bugs in the execution of the background processes [annando, Quix0r]
Fixed a problem with the notification page [MrPetovan]
Fixed a bug with wrong dates in importing some Atom feeds [annando]
Fixed forum exclusive distribution of postings using the !notation [annando]
Fixed a bug that lead to empty notifications [MrPetovan]
Fixed a problem that could sometimes prevent the execution of the relocation [annando]
Fixed a bug with the handling of images in postings over the connectors [annando]
Added conversation cleanup configuration [miqrogroove]
Added support of the usage of internal diaspora links to accounts [annando]
Added the possibility for admins to block certain nicknames (e.g. role names) [tobiasd]
Added the generation of system guid [nupplaphil]
Added the possibility for admins to mark a node for explicit content [tobiasd]
Added filter by account type to the community page [annando]
Added private flag to API results [fabrixxm]
Added post update checks to the console utility [annando]
Added codecov analysis [nupplaphil]
Added access-keys to the frio theme [tobiasd]
Added the profile settings to the user settings [tobiasd]
General code refactoring and beautification work [annando, MrPetovan, Quix0r, tobiasd]
Fixation of the position on the network page when new posts arrive [rabuzarus]
Ported OpenWebAuth from Hubzilla [annando, rabuzarus]
Removed hard coded syntax highlighting from code blocks [MrPetovan]
Removed (temporarily) the possibility to add pictures to private messages [annando]
New INI style config file format in /config [MrPetovan, tobiasd]
The .htaccess file is not part of the git repository anymore [annando, Quix0r]
Friendica Addons:
Update to the translations (CS, DE, EN-US, NL, PL, ZH-CN) [translation teams]
General update to adopt changes in core [annando, MrPetovan, Quix0r, tobiasd]
advancedcontentfilter:
Enhancement to the error handling [MrPetovan]
Honour the CSP settings [MrPetovan]
Fixed translation problems [annando]
blockem:
Enhancement of the settings [AlfredSK]
buffer:
support for app.net removed [annando]
js_upload:
Enhancement of the album name handling [rabuzarus]
Enhancement to the wording of the labels [astifter]
langfilter:
Fixed a problem with default values of the filtered languages [tobiasd]
libravatar:
The service wont shutdown, so we can keep the addon [tobiasd]
pumpio:
Fixed a problem that prevented new connections [annando]
superblock:
Fixed a bug that prevented the addon to block accounts [annando]
Enhancements of the settings [AlfredSK]
twitter:
Use rich text for quote tweets [MrPetovan]
Prevent empty quotes from being created [annando]
Fixed a problem with re-shares from remote_self contacts [annando]
Changed URL display after link expansion [MrPetovan]
Fixed a problem with EXIF handling [MrPetovan]
added addons:
mastodoncustomemojis [MrPetovan]
deprecated addons:
notimeline, retriver, remote_permissions, widgets
Directory:
Enhancements of the health summary [andyhee]
Enhancements of the PHP7 compatibility [MrPetovan]
Closed Issues:
901, 1034, 1074, 1303, 1308, 1391, 1490, 1470, 1559, 2093, 2337,
2340, 2381, 2396, 2675, 3291, 3299, 3493, 3501, 3535, 3643, 3840,
4148, 4419, 4475, 4507, 4655, 4659, 4710, 4726, 4739, 4753, 4814,
4830, 4868, 4889, 4923, 4971, 4950, 4985, 5066, 5099, 5137, 5148,
5158, 5168, 5188, 5202, 5211, 5222, 5233, 5243, 5247, 5252, 5257,
5260, 5262, 5268, 5274, 5275, 5276, 5278, 5298, 5318, 5319, 5320,
5321, 5322, 5330, 5333, 5341, 5365, 5405, 5407, 5411, 5423, 5432,
5434, 5436, 5443, 5455, 5464, 5467, 5469, 5486, 5496, 5497, 5514,
5539, 5524, 5541, 5544, 5550, 5564, 5566, 5605, 5630, 5638, 5651,
5653, 5660, 5670, 5691, 5733, 5745, 5768
Version 2018.05 (2018-06-01) Version 2018.05 (2018-06-01)
Friendica Core: Friendica Core:
Update to the translations (DE, EN-GB, EN-US, FI, IS, IT, NL, PL, RU, ZN CH) [translation teams] Update to the translations (DE, EN-GB, EN-US, FI, IS, IT, NL, PL, RU, ZN CH) [translation teams]

View File

@ -1 +1 @@
2018.08-rc 2018.12-dev

View File

@ -39,7 +39,7 @@ require_once 'include/text.php';
define('FRIENDICA_PLATFORM', 'Friendica'); define('FRIENDICA_PLATFORM', 'Friendica');
define('FRIENDICA_CODENAME', 'The Tazmans Flax-lily'); define('FRIENDICA_CODENAME', 'The Tazmans Flax-lily');
define('FRIENDICA_VERSION', '2018.08-rc'); define('FRIENDICA_VERSION', '2018.12-dev');
define('DFRN_PROTOCOL_VERSION', '2.23'); define('DFRN_PROTOCOL_VERSION', '2.23');
define('DB_UPDATE_VERSION', 1283); define('DB_UPDATE_VERSION', 1283);
define('NEW_UPDATE_ROUTINE_VERSION', 1170); define('NEW_UPDATE_ROUTINE_VERSION', 1170);

View File

@ -1,5 +1,5 @@
-- ------------------------------------------ -- ------------------------------------------
-- Friendica 2018.08-dev (The Tazmans Flax-lily) -- Friendica 2018.12-dev (The Tazmans Flax-lily)
-- DB_UPDATE_VERSION 1283 -- DB_UPDATE_VERSION 1283
-- ------------------------------------------ -- ------------------------------------------

View File

@ -180,7 +180,7 @@ Hier ist eine Liste von Clients bei denen dies möglich ist, bzw. die speziell f
<a name="help"></a> <a name="help"></a>
### Wo finde ich Hilfe? ### Wo finde ich Hilfe?
Wenn Du Probleme mit Deiner Friendica-Seite hast, dann kannst Du die Community in der [Friendica-Support-Gruppe](https://forum.friendi.ca/profile/helpers) oder im [deutschen Friendica-Support-Forum](http://toktan.org/profile/wiki) fragen oder Dir das [deutsche Wiki](http://wiki.toktan.org/doku.php) anschauen. Wenn Du Probleme mit Deiner Friendica-Seite hast, dann kannst Du die Community in der [Friendica-Support-Gruppe](https://forum.friendi.ca/profile/helpers) fragen oder Dir das [deutsche Wiki](https://friendica-wiki.de/) anschauen.
Wenn Du Deinen Account nicht nutzen kannst, kannst Du entweder einen [Testaccount](https://tryfriendica.de) bzw. einen Account auf einer öffentlichen Seite ([Liste](https://dir.friendica.social/servers)) nutzen. Wenn Du Deinen Account nicht nutzen kannst, kannst Du entweder einen [Testaccount](https://tryfriendica.de) bzw. einen Account auf einer öffentlichen Seite ([Liste](https://dir.friendica.social/servers)) nutzen.
Wenn du dir keinen weiteren Friendica Account einrichten willst, kannst du auch gerne über einen der folgenden alternativen Kanäle Hilfe suchen: Wenn du dir keinen weiteren Friendica Account einrichten willst, kannst du auch gerne über einen der folgenden alternativen Kanäle Hilfe suchen:

View File

@ -61,7 +61,7 @@ Friendica - Dokumentation und Ressourcen
**Externe Ressourcen** **Externe Ressourcen**
* [Haupt-Webseite](https://friendi.ca) * [Haupt-Webseite](https://friendi.ca)
* [Deutsches Friendica-Wiki](http://wiki.toktan.org/doku.php) * [Deutsches Friendica-Wiki](https://friendica-wiki.de)
* Support Kanäle * Support Kanäle
* [Friendica Support Forum](https://forum.friendi.ca/~helpers) * [Friendica Support Forum](https://forum.friendi.ca/~helpers)
* [Mailing Listen Archiv](http://mailman.friendi.ca/mailman/listinfo/support-friendi.ca) zum Abonnieren der Liste eine E-Mail an ``support-request(at)friendi.ca?subject=subscribe`` senden * [Mailing Listen Archiv](http://mailman.friendi.ca/mailman/listinfo/support-friendi.ca) zum Abonnieren der Liste eine E-Mail an ``support-request(at)friendi.ca?subject=subscribe`` senden

View File

@ -21,12 +21,18 @@ function editpost_content(App $a)
} }
$post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0); $post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
$return_url = (($a->argc > 2) ? base64_decode($a->argv[2]) : '');
if (!$post_id) { if (!$post_id) {
notice(L10n::t('Item not found') . EOL); notice(L10n::t('Item not found') . EOL);
return; return;
} }
// Fallback to SESSION return_path
if (empty($return_url)) {
$return_url = $_SESSION['return_url'];
}
$fields = ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', $fields = ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid',
'type', 'body', 'title', 'file', 'wall', 'post-type']; 'type', 'body', 'title', 'file', 'wall', 'post-type'];
@ -95,7 +101,7 @@ function editpost_content(App $a)
$o .= replace_macros($tpl, [ $o .= replace_macros($tpl, [
'$is_edit' => true, '$is_edit' => true,
'$return_path' => $_SESSION['return_url'], '$return_path' => $return_url,
'$action' => 'item', '$action' => 'item',
'$share' => L10n::t('Save'), '$share' => L10n::t('Save'),
'$upload' => L10n::t('Upload photo'), '$upload' => L10n::t('Upload photo'),

View File

@ -92,7 +92,7 @@ function message_post(App $a)
$a->argc = 2; $a->argc = 2;
$a->argv[1] = 'new'; $a->argv[1] = 'new';
} else { } else {
goaway($_SESSION['return_url']); goaway($a->cmd . '/' . $ret);
} }
} }

View File

@ -53,6 +53,11 @@ class ArrayCache extends AbstractCacheDriver implements IMemoryCacheDriver
*/ */
public function clear($outdated = true) public function clear($outdated = true)
{ {
// Array doesn't support TTL so just don't delete something
if ($outdated) {
return true;
}
$this->cachedData = []; $this->cachedData = [];
return true; return true;
} }

View File

@ -117,12 +117,14 @@ class Worker
// Count active workers and compare them with a maximum value that depends on the load // Count active workers and compare them with a maximum value that depends on the load
if (self::tooMuchWorkers()) { if (self::tooMuchWorkers()) {
logger('Active worker limit reached, quitting.', LOGGER_DEBUG); logger('Active worker limit reached, quitting.', LOGGER_DEBUG);
Lock::release('worker');
return; return;
} }
// Check free memory // Check free memory
if ($a->min_memory_reached()) { if ($a->min_memory_reached()) {
logger('Memory limit reached, quitting.', LOGGER_DEBUG); logger('Memory limit reached, quitting.', LOGGER_DEBUG);
Lock::release('worker');
return; return;
} }
Lock::release('worker'); Lock::release('worker');

View File

@ -1936,6 +1936,7 @@ class Item extends BaseObject
} else { } else {
// This shouldn't happen. // This shouldn't happen.
logger('Could not insert activity for URI ' . $item['uri'] . ' - should not happen'); logger('Could not insert activity for URI ' . $item['uri'] . ' - should not happen');
Lock::release('item_insert_activity');
return false; return false;
} }
if ($locked) { if ($locked) {

View File

@ -157,7 +157,7 @@ class Post extends BaseObject
if ($item["event-id"] != 0) { if ($item["event-id"] != 0) {
$edpost = ["events/event/" . $item['event-id'], L10n::t("Edit")]; $edpost = ["events/event/" . $item['event-id'], L10n::t("Edit")];
} else { } else {
$edpost = ["editpost/" . $item['id'], L10n::t("Edit")]; $edpost = ["editpost/" . $item['id'] . "/" . base64_encode($a->cmd), L10n::t("Edit")];
} }
$dropping = in_array($item['uid'], [0, local_user()]); $dropping = in_array($item['uid'], [0, local_user()]);
} else { } else {

View File

@ -81,19 +81,33 @@ abstract class CacheTest extends DatabaseTest
'3_value1' => $this->instance->get('3_value1'), '3_value1' => $this->instance->get('3_value1'),
]); ]);
$this->assertTrue($this->instance->clear(false)); $this->assertTrue($this->instance->clear());
$this->assertEquals([ $this->assertEquals([
'1_value1' => null, '1_value1' => 'ipsum lorum1',
'1_value2' => null, '1_value2' => 'ipsum lorum2',
'2_value1' => null, '2_value1' => 'ipsum lorum3',
'3_value1' => null, '3_value1' => 'ipsum lorum4',
], [ ], [
'1_value1' => $this->instance->get('1_value1'), '1_value1' => $this->instance->get('1_value1'),
'1_value2' => $this->instance->get('1_value2'), '1_value2' => $this->instance->get('1_value2'),
'2_value1' => $this->instance->get('2_value1'), '2_value1' => $this->instance->get('2_value1'),
'3_value1' => $this->instance->get('3_value1'), '3_value1' => $this->instance->get('3_value1'),
]); ]);
$this->assertTrue($this->instance->clear(false));
$this->assertEquals([
'1_value1' => null,
'1_value2' => null,
'2_value3' => null,
'3_value4' => null,
], [
'1_value1' => $this->instance->get('1_value1'),
'1_value2' => $this->instance->get('1_value2'),
'2_value3' => $this->instance->get('2_value3'),
'3_value4' => $this->instance->get('3_value4'),
]);
} }
/** /**

View File

@ -8,21 +8,9 @@ use Friendica\Core\Lock\CacheLockDriver;
class ArrayCacheLockDriverTest extends LockTest class ArrayCacheLockDriverTest extends LockTest
{ {
/**
* @var \Friendica\Core\Cache\IMemoryCacheDriver
*/
private $cache;
protected function getInstance() protected function getInstance()
{ {
$this->cache = new ArrayCache(); return new CacheLockDriver(new ArrayCache());
return new CacheLockDriver($this->cache);
}
public function tearDown()
{
$this->cache->clear();
parent::tearDown();
} }
public function testLockTTL() public function testLockTTL()

View File

@ -19,6 +19,7 @@ abstract class LockTest extends DatabaseTest
{ {
parent::setUp(); parent::setUp();
$this->instance = $this->getInstance(); $this->instance = $this->getInstance();
$this->instance->releaseAll();
// Reusable App object // Reusable App object
$this->app = BaseObject::getApp(); $this->app = BaseObject::getApp();
@ -31,11 +32,18 @@ abstract class LockTest extends DatabaseTest
Config::set('system', 'theme', 'system_theme'); Config::set('system', 'theme', 'system_theme');
} }
protected function tearDown()
{
parent::tearDown();
$this->instance->releaseAll();
}
/** /**
* @small * @small
*/ */
public function testLock() { public function testLock() {
$this->instance->acquireLock('foo', 1); $this->assertFalse($this->instance->isLocked('foo'));
$this->assertTrue($this->instance->acquireLock('foo', 1));
$this->assertTrue($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('foo'));
$this->assertFalse($this->instance->isLocked('bar')); $this->assertFalse($this->instance->isLocked('bar'));
} }
@ -44,7 +52,8 @@ abstract class LockTest extends DatabaseTest
* @small * @small
*/ */
public function testDoubleLock() { public function testDoubleLock() {
$this->instance->acquireLock('foo', 1); $this->assertFalse($this->instance->isLocked('foo'));
$this->assertTrue($this->instance->acquireLock('foo', 1));
$this->assertTrue($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('foo'));
// We already locked it // We already locked it
$this->assertTrue($this->instance->acquireLock('foo', 1)); $this->assertTrue($this->instance->acquireLock('foo', 1));
@ -54,7 +63,8 @@ abstract class LockTest extends DatabaseTest
* @small * @small
*/ */
public function testReleaseLock() { public function testReleaseLock() {
$this->instance->acquireLock('foo', 1); $this->assertFalse($this->instance->isLocked('foo'));
$this->assertTrue($this->instance->acquireLock('foo', 1));
$this->assertTrue($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('foo'));
$this->instance->releaseLock('foo'); $this->instance->releaseLock('foo');
$this->assertFalse($this->instance->isLocked('foo')); $this->assertFalse($this->instance->isLocked('foo'));
@ -64,9 +74,9 @@ abstract class LockTest extends DatabaseTest
* @small * @small
*/ */
public function testReleaseAll() { public function testReleaseAll() {
$this->instance->acquireLock('foo', 1); $this->assertTrue($this->instance->acquireLock('foo', 1));
$this->instance->acquireLock('bar', 1); $this->assertTrue($this->instance->acquireLock('bar', 1));
$this->instance->acquireLock('nice', 1); $this->assertTrue($this->instance->acquireLock('nice', 1));
$this->assertTrue($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('foo'));
$this->assertTrue($this->instance->isLocked('bar')); $this->assertTrue($this->instance->isLocked('bar'));
@ -83,9 +93,12 @@ abstract class LockTest extends DatabaseTest
* @small * @small
*/ */
public function testReleaseAfterUnlock() { public function testReleaseAfterUnlock() {
$this->instance->acquireLock('foo', 1); $this->assertFalse($this->instance->isLocked('foo'));
$this->instance->acquireLock('bar', 1); $this->assertFalse($this->instance->isLocked('bar'));
$this->instance->acquireLock('nice', 1); $this->assertFalse($this->instance->isLocked('nice'));
$this->assertTrue($this->instance->acquireLock('foo', 1));
$this->assertTrue($this->instance->acquireLock('bar', 1));
$this->assertTrue($this->instance->acquireLock('nice', 1));
$this->instance->releaseLock('foo'); $this->instance->releaseLock('foo');
@ -103,10 +116,12 @@ abstract class LockTest extends DatabaseTest
* @medium * @medium
*/ */
function testLockTTL() { function testLockTTL() {
$this->assertFalse($this->instance->isLocked('foo'));
$this->assertFalse($this->instance->isLocked('bar'));
// TODO [nupplaphil] - Because of the Datetime-Utils for the database, we have to wait a FULL second between the checks to invalidate the db-locks/cache // TODO [nupplaphil] - Because of the Datetime-Utils for the database, we have to wait a FULL second between the checks to invalidate the db-locks/cache
$this->instance->acquireLock('foo', 1, 1); $this->assertTrue($this->instance->acquireLock('foo', 2, 1));
$this->instance->acquireLock('bar', 1, 3); $this->assertTrue($this->instance->acquireLock('bar', 2, 3));
$this->assertTrue($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('foo'));
$this->assertTrue($this->instance->isLocked('bar')); $this->assertTrue($this->instance->isLocked('bar'));

View File

@ -3,7 +3,6 @@
namespace Friendica\Test\src\Core\Lock; namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Cache\CacheDriverFactory; use Friendica\Core\Cache\CacheDriverFactory;
use Friendica\Core\Lock\CacheLockDriver; use Friendica\Core\Lock\CacheLockDriver;
@ -12,20 +11,8 @@ use Friendica\Core\Lock\CacheLockDriver;
*/ */
class MemcacheCacheLockDriverTest extends LockTest class MemcacheCacheLockDriverTest extends LockTest
{ {
/**
* @var \Friendica\Core\Cache\IMemoryCacheDriver
*/
private $cache;
protected function getInstance() protected function getInstance()
{ {
$this->cache = CacheDriverFactory::create('memcache'); return new CacheLockDriver(CacheDriverFactory::create('memcache'));
return new CacheLockDriver($this->cache);
}
public function tearDown()
{
$this->cache->clear();
parent::tearDown();
} }
} }

View File

@ -3,7 +3,6 @@
namespace Friendica\Test\src\Core\Lock; namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Cache\CacheDriverFactory; use Friendica\Core\Cache\CacheDriverFactory;
use Friendica\Core\Lock\CacheLockDriver; use Friendica\Core\Lock\CacheLockDriver;
@ -12,20 +11,8 @@ use Friendica\Core\Lock\CacheLockDriver;
*/ */
class MemcachedCacheLockDriverTest extends LockTest class MemcachedCacheLockDriverTest extends LockTest
{ {
/**
* @var \Friendica\Core\Cache\IMemoryCacheDriver
*/
private $cache;
protected function getInstance() protected function getInstance()
{ {
$this->cache = CacheDriverFactory::create('memcached'); return new CacheLockDriver(CacheDriverFactory::create('memcached'));
return new CacheLockDriver($this->cache);
}
public function tearDown()
{
$this->cache->clear();
parent::tearDown();
} }
} }

View File

@ -3,7 +3,6 @@
namespace Friendica\Test\src\Core\Lock; namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Cache\CacheDriverFactory; use Friendica\Core\Cache\CacheDriverFactory;
use Friendica\Core\Lock\CacheLockDriver; use Friendica\Core\Lock\CacheLockDriver;
@ -12,21 +11,9 @@ use Friendica\Core\Lock\CacheLockDriver;
*/ */
class RedisCacheLockDriverTest extends LockTest class RedisCacheLockDriverTest extends LockTest
{ {
/**
* @var \Friendica\Core\Cache\IMemoryCacheDriver
*/
private $cache;
protected function getInstance() protected function getInstance()
{ {
$this->cache = CacheDriverFactory::create('redis'); return new CacheLockDriver(CacheDriverFactory::create('redis'));
return new CacheLockDriver($this->cache);
} }
public function tearDown()
{
$this->cache->clear();
parent::tearDown();
}
} }

View File

@ -2,26 +2,13 @@
namespace Friendica\Test\src\Core\Lock; namespace Friendica\Test\src\Core\Lock;
use Friendica\Core\Lock\SemaphoreLockDriver; use Friendica\Core\Lock\SemaphoreLockDriver;
class SemaphoreLockDriverTest extends LockTest class SemaphoreLockDriverTest extends LockTest
{ {
/**
* @var \Friendica\Core\Lock\SemaphoreLockDriver
*/
private $semaphoreLockDriver;
protected function getInstance() protected function getInstance()
{ {
$this->semaphoreLockDriver = new SemaphoreLockDriver(); return new SemaphoreLockDriver();
return $this->semaphoreLockDriver;
}
public function tearDown()
{
$this->semaphoreLockDriver->releaseAll();
parent::tearDown();
} }
function testLockTTL() function testLockTTL()

View File

@ -13,7 +13,7 @@ msgstr ""
"Project-Id-Version: friendica\n" "Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-25 15:34+0000\n" "POT-Creation-Date: 2018-08-25 15:34+0000\n"
"PO-Revision-Date: 2018-09-17 14:51+0000\n" "PO-Revision-Date: 2018-09-22 16:53+0000\n"
"Last-Translator: Aditoo\n" "Last-Translator: Aditoo\n"
"Language-Team: Czech (http://www.transifex.com/Friendica/friendica/language/cs/)\n" "Language-Team: Czech (http://www.transifex.com/Friendica/friendica/language/cs/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -214,7 +214,7 @@ msgstr "Podobné zájmy"
#: view/theme/vier/theme.php:204 src/Content/Widget.php:66 #: view/theme/vier/theme.php:204 src/Content/Widget.php:66
msgid "Random Profile" msgid "Random Profile"
msgstr "Náhodný Profil" msgstr "Náhodný profil"
#: view/theme/vier/theme.php:205 src/Content/Widget.php:67 #: view/theme/vier/theme.php:205 src/Content/Widget.php:67
msgid "Invite Friends" msgid "Invite Friends"
@ -1786,7 +1786,7 @@ msgstr "Databáze se již používá."
#: mod/install.php:163 #: mod/install.php:163
msgid "System check" msgid "System check"
msgstr "Testování systému" msgstr "Zkouška systému"
#: mod/install.php:167 mod/cal.php:279 mod/events.php:394 #: mod/install.php:167 mod/cal.php:279 mod/events.php:394
msgid "Next" msgid "Next"
@ -1794,7 +1794,7 @@ msgstr "Dále"
#: mod/install.php:168 #: mod/install.php:168
msgid "Check again" msgid "Check again"
msgstr "Otestovat znovu" msgstr "Vyskoušet znovu"
#: mod/install.php:187 #: mod/install.php:187
msgid "Database connection" msgid "Database connection"
@ -1804,7 +1804,7 @@ msgstr "Databázové spojení"
msgid "" msgid ""
"In order to install Friendica we need to know how to connect to your " "In order to install Friendica we need to know how to connect to your "
"database." "database."
msgstr "Pro instalaci Friendica potřeujeme znát připojení k Vaší databázi." msgstr "Pro instalaci Friendica potřebujeme znát připojení k Vaší databázi."
#: mod/install.php:189 #: mod/install.php:189
msgid "" msgid ""
@ -1840,13 +1840,13 @@ msgstr "Jméno databáze"
#: mod/install.php:198 mod/install.php:235 #: mod/install.php:198 mod/install.php:235
msgid "Site administrator email address" msgid "Site administrator email address"
msgstr "Emailová adresa administrátora webu" msgstr "E-mailová adresa administrátora webu"
#: mod/install.php:198 mod/install.php:235 #: mod/install.php:198 mod/install.php:235
msgid "" msgid ""
"Your account email address must match this in order to use the web admin " "Your account email address must match this in order to use the web admin "
"panel." "panel."
msgstr "Vaše emailová adresa účtu se musí s touto shodovat, aby bylo možné využívat administrační panel ve webovém rozhraní." msgstr "Vaše e-mailová adresa účtu se musí s touto shodovat, aby bylo možné využívat administrační panel ve webovém rozhraní."
#: mod/install.php:200 mod/install.php:238 #: mod/install.php:200 mod/install.php:238
msgid "Please select a default timezone for your website" msgid "Please select a default timezone for your website"
@ -2109,7 +2109,7 @@ msgstr "Profily"
#: mod/settings.php:72 mod/admin.php:190 #: mod/settings.php:72 mod/admin.php:190
msgid "Additional features" msgid "Additional features"
msgstr "Další funkčnosti" msgstr "Dodatečné vlastnosti"
#: mod/settings.php:80 #: mod/settings.php:80
msgid "Display" msgid "Display"
@ -2157,7 +2157,7 @@ msgstr "Nastavení e-mailu aktualizována."
#: mod/settings.php:306 #: mod/settings.php:306
msgid "Features updated" msgid "Features updated"
msgstr "Funkce aktualizovány" msgstr "Vlastnosti aktualizovány"
#: mod/settings.php:379 #: mod/settings.php:379
msgid "Relocate message has been send to your contacts" msgid "Relocate message has been send to your contacts"
@ -2230,7 +2230,7 @@ msgstr "Přidat aplikaci"
#: mod/admin.php:317 mod/admin.php:1426 mod/admin.php:2074 mod/admin.php:2328 #: mod/admin.php:317 mod/admin.php:1426 mod/admin.php:2074 mod/admin.php:2328
#: mod/admin.php:2403 mod/admin.php:2550 #: mod/admin.php:2403 mod/admin.php:2550
msgid "Save Settings" msgid "Save Settings"
msgstr "Uložit Nastavení" msgstr "Uložit nastavení"
#: mod/settings.php:678 mod/settings.php:704 #: mod/settings.php:678 mod/settings.php:704
msgid "Consumer Key" msgid "Consumer Key"
@ -2290,7 +2290,7 @@ msgstr "Zap"
#: mod/settings.php:780 #: mod/settings.php:780
msgid "Additional Features" msgid "Additional Features"
msgstr "Další funkce" msgstr "Dodatečné vlastnosti"
#: mod/settings.php:803 src/Content/ContactSelector.php:82 #: mod/settings.php:803 src/Content/ContactSelector.php:82
msgid "Diaspora" msgid "Diaspora"
@ -3511,19 +3511,19 @@ msgstr "Ignorovat"
#: mod/notifications.php:93 src/Content/Nav.php:191 #: mod/notifications.php:93 src/Content/Nav.php:191
msgid "Notifications" msgid "Notifications"
msgstr "Upozornění" msgstr "Oznámení"
#: mod/notifications.php:101 #: mod/notifications.php:101
msgid "Network Notifications" msgid "Network Notifications"
msgstr "Upozornění Sítě" msgstr "Síťová oznámení"
#: mod/notifications.php:106 mod/notify.php:81 #: mod/notifications.php:106 mod/notify.php:81
msgid "System Notifications" msgid "System Notifications"
msgstr "Systémová upozornění" msgstr "Systémová oznámení"
#: mod/notifications.php:111 #: mod/notifications.php:111
msgid "Personal Notifications" msgid "Personal Notifications"
msgstr "Osobní upozornění" msgstr "Osobní oznámení"
#: mod/notifications.php:116 #: mod/notifications.php:116
msgid "Home Notifications" msgid "Home Notifications"
@ -4328,7 +4328,7 @@ msgstr "Smazat položku"
#: mod/admin.php:200 mod/admin.php:201 mod/admin.php:2402 #: mod/admin.php:200 mod/admin.php:201 mod/admin.php:2402
msgid "Logs" msgid "Logs"
msgstr "Logy" msgstr "Záznamy"
#: mod/admin.php:202 mod/admin.php:2469 #: mod/admin.php:202 mod/admin.php:2469
msgid "View Logs" msgid "View Logs"
@ -4336,7 +4336,7 @@ msgstr "Zobrazit záznamy"
#: mod/admin.php:204 #: mod/admin.php:204
msgid "Diagnostics" msgid "Diagnostics"
msgstr "Diagnostica" msgstr "Diagnostika"
#: mod/admin.php:205 #: mod/admin.php:205
msgid "PHP Info" msgid "PHP Info"
@ -5237,7 +5237,7 @@ msgstr "Podpora OpenID pro registraci a přihlašování."
#: mod/admin.php:1477 #: mod/admin.php:1477
msgid "Fullname check" msgid "Fullname check"
msgstr "kontrola úplného jména" msgstr "Kontrola úplného jména"
#: mod/admin.php:1477 #: mod/admin.php:1477
msgid "" msgid ""
@ -5299,7 +5299,7 @@ msgstr "Podpora pro Diasporu nemůže být zapnuta, protože Friendica byla nain
#: mod/admin.php:1485 #: mod/admin.php:1485
msgid "Enable Diaspora support" msgid "Enable Diaspora support"
msgstr "Povolit podporu Diaspora" msgstr "Zapnout podporu pro Diaspora"
#: mod/admin.php:1485 #: mod/admin.php:1485
msgid "Provide built-in Diaspora network compatibility." msgid "Provide built-in Diaspora network compatibility."
@ -6015,7 +6015,7 @@ msgstr "[Nepodporováno]"
#: mod/admin.php:2360 #: mod/admin.php:2360
msgid "Log settings updated." msgid "Log settings updated."
msgstr "Nastavení protokolu aktualizováno." msgstr "Nastavení záznamů aktualizována."
#: mod/admin.php:2393 #: mod/admin.php:2393
msgid "PHP log currently enabled." msgid "PHP log currently enabled."
@ -6183,7 +6183,7 @@ msgstr "Vzdálený odběr nemůže být na Vaší síti proveden. Prosím, přih
#: mod/dfrn_request.php:486 #: mod/dfrn_request.php:486
msgid "Please login to confirm introduction." msgid "Please login to confirm introduction."
msgstr "Pro ptvrzení představení se prosím přihlaste." msgstr "Pro potvrzení představení se prosím přihlaste."
#: mod/dfrn_request.php:494 #: mod/dfrn_request.php:494
msgid "" msgid ""
@ -7847,13 +7847,13 @@ msgstr "Pokud nemáte na Vašem serveru nainstalovanou verzi PHP pro příkazov
#: src/Core/Install.php:143 #: src/Core/Install.php:143
msgid "PHP executable path" msgid "PHP executable path"
msgstr "Cesta k \"PHP executable\"" msgstr "Cesta ke spustitelnému souboru PHP"
#: src/Core/Install.php:143 #: src/Core/Install.php:143
msgid "" msgid ""
"Enter full path to php executable. You can leave this blank to continue the " "Enter full path to php executable. You can leave this blank to continue the "
"installation." "installation."
msgstr "Zadejte plnou cestu k spustitelnému souboru php. Tento údaj můžete ponechat nevyplněný a pokračovat v instalaci." msgstr "Zadejte plnou cestu ke spustitelnému souboru PHP. Tento údaj můžete ponechat nevyplněný a pokračovat v instalaci."
#: src/Core/Install.php:148 #: src/Core/Install.php:148
msgid "Command line PHP" msgid "Command line PHP"

View File

@ -45,7 +45,7 @@ $a->strings["Examples: Robert Morgenstein, Fishing"] = "Příklady: Josef Dvoř
$a->strings["Find"] = "Najít"; $a->strings["Find"] = "Najít";
$a->strings["Friend Suggestions"] = "Návrhy přátel"; $a->strings["Friend Suggestions"] = "Návrhy přátel";
$a->strings["Similar Interests"] = "Podobné zájmy"; $a->strings["Similar Interests"] = "Podobné zájmy";
$a->strings["Random Profile"] = "Náhodný Profil"; $a->strings["Random Profile"] = "Náhodný profil";
$a->strings["Invite Friends"] = "Pozvat přátele"; $a->strings["Invite Friends"] = "Pozvat přátele";
$a->strings["Global Directory"] = "Globální adresář"; $a->strings["Global Directory"] = "Globální adresář";
$a->strings["Local Directory"] = "Místní adresář"; $a->strings["Local Directory"] = "Místní adresář";
@ -430,11 +430,11 @@ $a->strings["Your Friendica site database has been installed."] = "Vaše databá
$a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Nejspíše budete muset manuálně importovat soubor \"database.sql\" pomocí phpMyAdmin či MySQL."; $a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Nejspíše budete muset manuálně importovat soubor \"database.sql\" pomocí phpMyAdmin či MySQL.";
$a->strings["Please see the file \"INSTALL.txt\"."] = "Přečtěte si prosím informace v souboru \"INSTALL.txt\"."; $a->strings["Please see the file \"INSTALL.txt\"."] = "Přečtěte si prosím informace v souboru \"INSTALL.txt\".";
$a->strings["Database already in use."] = "Databáze se již používá."; $a->strings["Database already in use."] = "Databáze se již používá.";
$a->strings["System check"] = "Testování systému"; $a->strings["System check"] = "Zkouška systému";
$a->strings["Next"] = "Dále"; $a->strings["Next"] = "Dále";
$a->strings["Check again"] = "Otestovat znovu"; $a->strings["Check again"] = "Vyskoušet znovu";
$a->strings["Database connection"] = "Databázové spojení"; $a->strings["Database connection"] = "Databázové spojení";
$a->strings["In order to install Friendica we need to know how to connect to your database."] = "Pro instalaci Friendica potřeujeme znát připojení k Vaší databázi."; $a->strings["In order to install Friendica we need to know how to connect to your database."] = "Pro instalaci Friendica potřebujeme znát připojení k Vaší databázi.";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Pokud máte otázky k následujícím nastavením, obraťte se na svého poskytovatele hostingu nebo administrátora serveru."; $a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Pokud máte otázky k následujícím nastavením, obraťte se na svého poskytovatele hostingu nebo administrátora serveru.";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databáze, kterou uvedete níže, by již měla existovat. Pokud to tak není, prosíme, vytvořte ji před pokračováním."; $a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databáze, kterou uvedete níže, by již měla existovat. Pokud to tak není, prosíme, vytvořte ji před pokračováním.";
$a->strings["Database Server Name"] = "Jméno databázového serveru"; $a->strings["Database Server Name"] = "Jméno databázového serveru";
@ -442,8 +442,8 @@ $a->strings["Database Login Name"] = "Přihlašovací jméno k databázi";
$a->strings["Database Login Password"] = "Heslo k databázovému účtu "; $a->strings["Database Login Password"] = "Heslo k databázovému účtu ";
$a->strings["For security reasons the password must not be empty"] = "Z bezpečnostních důvodů nesmí být heslo prázdné."; $a->strings["For security reasons the password must not be empty"] = "Z bezpečnostních důvodů nesmí být heslo prázdné.";
$a->strings["Database Name"] = "Jméno databáze"; $a->strings["Database Name"] = "Jméno databáze";
$a->strings["Site administrator email address"] = "Emailová adresa administrátora webu"; $a->strings["Site administrator email address"] = "E-mailová adresa administrátora webu";
$a->strings["Your account email address must match this in order to use the web admin panel."] = "Vaše emailová adresa účtu se musí s touto shodovat, aby bylo možné využívat administrační panel ve webovém rozhraní."; $a->strings["Your account email address must match this in order to use the web admin panel."] = "Vaše e-mailová adresa účtu se musí s touto shodovat, aby bylo možné využívat administrační panel ve webovém rozhraní.";
$a->strings["Please select a default timezone for your website"] = "Prosím, vyberte výchozí časové pásmo pro váš server"; $a->strings["Please select a default timezone for your website"] = "Prosím, vyberte výchozí časové pásmo pro váš server";
$a->strings["Site settings"] = "Nastavení webu"; $a->strings["Site settings"] = "Nastavení webu";
$a->strings["System Language:"] = "Systémový jazyk"; $a->strings["System Language:"] = "Systémový jazyk";
@ -501,7 +501,7 @@ $a->strings["Profile Match"] = "Shoda profilu";
$a->strings["everybody"] = "Žádost o připojení selhala nebo byla zrušena."; $a->strings["everybody"] = "Žádost o připojení selhala nebo byla zrušena.";
$a->strings["Account"] = "Účet"; $a->strings["Account"] = "Účet";
$a->strings["Profiles"] = "Profily"; $a->strings["Profiles"] = "Profily";
$a->strings["Additional features"] = "Další funkčnosti"; $a->strings["Additional features"] = "Dodatečné vlastnosti";
$a->strings["Display"] = "Zobrazení"; $a->strings["Display"] = "Zobrazení";
$a->strings["Social Networks"] = "Sociální sítě"; $a->strings["Social Networks"] = "Sociální sítě";
$a->strings["Addons"] = "Doplňky"; $a->strings["Addons"] = "Doplňky";
@ -513,7 +513,7 @@ $a->strings["Missing some important data!"] = "Chybí některé důležité úda
$a->strings["Update"] = "Aktualizace"; $a->strings["Update"] = "Aktualizace";
$a->strings["Failed to connect with email account using the settings provided."] = "Nepodařilo se připojit k e-mailovému účtu pomocí dodaného nastavení."; $a->strings["Failed to connect with email account using the settings provided."] = "Nepodařilo se připojit k e-mailovému účtu pomocí dodaného nastavení.";
$a->strings["Email settings updated."] = "Nastavení e-mailu aktualizována."; $a->strings["Email settings updated."] = "Nastavení e-mailu aktualizována.";
$a->strings["Features updated"] = "Funkce aktualizovány"; $a->strings["Features updated"] = "Vlastnosti aktualizovány";
$a->strings["Relocate message has been send to your contacts"] = "Správa o změně umístění byla odeslána vašim kontaktům"; $a->strings["Relocate message has been send to your contacts"] = "Správa o změně umístění byla odeslána vašim kontaktům";
$a->strings["Passwords do not match. Password unchanged."] = "Hesla se neshodují. Heslo nebylo změněno."; $a->strings["Passwords do not match. Password unchanged."] = "Hesla se neshodují. Heslo nebylo změněno.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Prázdné hesla nejsou povolena. Heslo nebylo změněno."; $a->strings["Empty passwords are not allowed. Password unchanged."] = "Prázdné hesla nejsou povolena. Heslo nebylo změněno.";
@ -530,7 +530,7 @@ $a->strings["Private forum has no privacy permissions. Using default privacy gro
$a->strings["Private forum has no privacy permissions and no default privacy group."] = "Soukromé fórum nemá nastaveno zabezpečení a ani žádnou defaultní výchozí skupinu."; $a->strings["Private forum has no privacy permissions and no default privacy group."] = "Soukromé fórum nemá nastaveno zabezpečení a ani žádnou defaultní výchozí skupinu.";
$a->strings["Settings updated."] = "Nastavení aktualizováno."; $a->strings["Settings updated."] = "Nastavení aktualizováno.";
$a->strings["Add application"] = "Přidat aplikaci"; $a->strings["Add application"] = "Přidat aplikaci";
$a->strings["Save Settings"] = "Uložit Nastavení"; $a->strings["Save Settings"] = "Uložit nastavení";
$a->strings["Consumer Key"] = "Consumer Key"; $a->strings["Consumer Key"] = "Consumer Key";
$a->strings["Consumer Secret"] = "Consumer Secret"; $a->strings["Consumer Secret"] = "Consumer Secret";
$a->strings["Redirect"] = "Přesměrování"; $a->strings["Redirect"] = "Přesměrování";
@ -545,7 +545,7 @@ $a->strings["No Addon settings configured"] = "Žádná nastavení doplňků nen
$a->strings["Addon Settings"] = "Nastavení doplňků"; $a->strings["Addon Settings"] = "Nastavení doplňků";
$a->strings["Off"] = "Vyp"; $a->strings["Off"] = "Vyp";
$a->strings["On"] = "Zap"; $a->strings["On"] = "Zap";
$a->strings["Additional Features"] = "Další funkce"; $a->strings["Additional Features"] = "Dodatečné vlastnosti";
$a->strings["Diaspora"] = "Diaspora"; $a->strings["Diaspora"] = "Diaspora";
$a->strings["enabled"] = "povoleno"; $a->strings["enabled"] = "povoleno";
$a->strings["disabled"] = "zakázáno"; $a->strings["disabled"] = "zakázáno";
@ -826,10 +826,10 @@ $a->strings["Note: This node explicitly contains adult content"] = "Poznámka: T
$a->strings["Invalid request identifier."] = "Neplatný identifikátor požadavku."; $a->strings["Invalid request identifier."] = "Neplatný identifikátor požadavku.";
$a->strings["Discard"] = "Odstranit"; $a->strings["Discard"] = "Odstranit";
$a->strings["Ignore"] = "Ignorovat"; $a->strings["Ignore"] = "Ignorovat";
$a->strings["Notifications"] = "Upozorně"; $a->strings["Notifications"] = "Oznáme";
$a->strings["Network Notifications"] = "Upozornění Sítě"; $a->strings["Network Notifications"] = "Síťová oznámení";
$a->strings["System Notifications"] = "Systémová upozorně"; $a->strings["System Notifications"] = "Systémová oznáme";
$a->strings["Personal Notifications"] = "Osobní upozorně"; $a->strings["Personal Notifications"] = "Osobní oznáme";
$a->strings["Home Notifications"] = "Oznámení na domovské stránce"; $a->strings["Home Notifications"] = "Oznámení na domovské stránce";
$a->strings["Show Ignored Requests"] = "Zobrazit ignorované žádosti"; $a->strings["Show Ignored Requests"] = "Zobrazit ignorované žádosti";
$a->strings["Hide Ignored Requests"] = "Skrýt ignorované žádosti"; $a->strings["Hide Ignored Requests"] = "Skrýt ignorované žádosti";
@ -1001,9 +1001,9 @@ $a->strings["Tools"] = "Nástroje";
$a->strings["Contact Blocklist"] = "Blokované kontakty"; $a->strings["Contact Blocklist"] = "Blokované kontakty";
$a->strings["Server Blocklist"] = "Blokované servery"; $a->strings["Server Blocklist"] = "Blokované servery";
$a->strings["Delete Item"] = "Smazat položku"; $a->strings["Delete Item"] = "Smazat položku";
$a->strings["Logs"] = "Logy"; $a->strings["Logs"] = "Záznamy";
$a->strings["View Logs"] = "Zobrazit záznamy"; $a->strings["View Logs"] = "Zobrazit záznamy";
$a->strings["Diagnostics"] = "Diagnostica"; $a->strings["Diagnostics"] = "Diagnostika";
$a->strings["PHP Info"] = "Info o PHP"; $a->strings["PHP Info"] = "Info o PHP";
$a->strings["probe address"] = "vyzkoušet adresu"; $a->strings["probe address"] = "vyzkoušet adresu";
$a->strings["check webfinger"] = "vyzkoušet webfinger"; $a->strings["check webfinger"] = "vyzkoušet webfinger";
@ -1204,7 +1204,7 @@ $a->strings["Block multiple registrations"] = "Blokovat více registrací";
$a->strings["Disallow users to register additional accounts for use as pages."] = "Znemožnit uživatelům registraci dodatečných účtů k použití jako stránky."; $a->strings["Disallow users to register additional accounts for use as pages."] = "Znemožnit uživatelům registraci dodatečných účtů k použití jako stránky.";
$a->strings["OpenID support"] = "Podpora OpenID"; $a->strings["OpenID support"] = "Podpora OpenID";
$a->strings["OpenID support for registration and logins."] = "Podpora OpenID pro registraci a přihlašování."; $a->strings["OpenID support for registration and logins."] = "Podpora OpenID pro registraci a přihlašování.";
$a->strings["Fullname check"] = "kontrola úplného jména"; $a->strings["Fullname check"] = "Kontrola úplného jména";
$a->strings["Force users to register with a space between firstname and lastname in Full name, as an antispam measure"] = "Přimět uživatele k registraci s mezerou mezi jménu a příjmením v poli Celé jméno, jako antispamové opatření."; $a->strings["Force users to register with a space between firstname and lastname in Full name, as an antispam measure"] = "Přimět uživatele k registraci s mezerou mezi jménu a příjmením v poli Celé jméno, jako antispamové opatření.";
$a->strings["Community pages for visitors"] = "Komunitní stránky pro návštěvníky"; $a->strings["Community pages for visitors"] = "Komunitní stránky pro návštěvníky";
$a->strings["Which community pages should be available for visitors. Local users always see both pages."] = "Které komunitní stránky by měly být viditelné pro návštěvníky. Lokální uživatelé vždy vidí obě stránky."; $a->strings["Which community pages should be available for visitors. Local users always see both pages."] = "Které komunitní stránky by měly být viditelné pro návštěvníky. Lokální uživatelé vždy vidí obě stránky.";
@ -1216,7 +1216,7 @@ $a->strings["Only import OStatus threads from our contacts"] = "Pouze importovat
$a->strings["Normally we import every content from our OStatus contacts. With this option we only store threads that are started by a contact that is known on our system."] = "Běžně importujeme všechen obsah z našich kontaktů na OStatus. S touto volbou uchováváme vlákna počatá kontaktem, který je na našem systému známý."; $a->strings["Normally we import every content from our OStatus contacts. With this option we only store threads that are started by a contact that is known on our system."] = "Běžně importujeme všechen obsah z našich kontaktů na OStatus. S touto volbou uchováváme vlákna počatá kontaktem, který je na našem systému známý.";
$a->strings["OStatus support can only be enabled if threading is enabled."] = "Podpora pro OStatus může být zapnuta pouze, je-li povolen threading."; $a->strings["OStatus support can only be enabled if threading is enabled."] = "Podpora pro OStatus může být zapnuta pouze, je-li povolen threading.";
$a->strings["Diaspora support can't be enabled because Friendica was installed into a sub directory."] = "Podpora pro Diasporu nemůže být zapnuta, protože Friendica byla nainstalována do podadresáře."; $a->strings["Diaspora support can't be enabled because Friendica was installed into a sub directory."] = "Podpora pro Diasporu nemůže být zapnuta, protože Friendica byla nainstalována do podadresáře.";
$a->strings["Enable Diaspora support"] = "Povolit podporu Diaspora"; $a->strings["Enable Diaspora support"] = "Zapnout podporu pro Diaspora";
$a->strings["Provide built-in Diaspora network compatibility."] = "Poskytnout zabudovanou kompatibilitu sitě Diaspora."; $a->strings["Provide built-in Diaspora network compatibility."] = "Poskytnout zabudovanou kompatibilitu sitě Diaspora.";
$a->strings["Only allow Friendica contacts"] = "Povolit pouze kontakty z Friendica"; $a->strings["Only allow Friendica contacts"] = "Povolit pouze kontakty z Friendica";
$a->strings["All contacts must use Friendica protocols. All other built-in communication protocols disabled."] = "Všechny kontakty musí používat Friendica protokol. Všchny jiné zabudované komunikační protokoly budou zablokované."; $a->strings["All contacts must use Friendica protocols. All other built-in communication protocols disabled."] = "Všechny kontakty musí používat Friendica protokol. Všchny jiné zabudované komunikační protokoly budou zablokované.";
@ -1370,7 +1370,7 @@ $a->strings["Reload active themes"] = "Znovu načíst aktivní motivy";
$a->strings["No themes found on the system. They should be placed in %1\$s"] = "V systému nebyly nalezeny žádné motivy. Měly by být uloženy v %1\$s"; $a->strings["No themes found on the system. They should be placed in %1\$s"] = "V systému nebyly nalezeny žádné motivy. Měly by být uloženy v %1\$s";
$a->strings["[Experimental]"] = "[Experimentální]"; $a->strings["[Experimental]"] = "[Experimentální]";
$a->strings["[Unsupported]"] = "[Nepodporováno]"; $a->strings["[Unsupported]"] = "[Nepodporováno]";
$a->strings["Log settings updated."] = "Nastavení protokolu aktualizováno."; $a->strings["Log settings updated."] = "Nastavení záznamů aktualizována.";
$a->strings["PHP log currently enabled."] = "PHP záznamy jsou aktuálně povolené."; $a->strings["PHP log currently enabled."] = "PHP záznamy jsou aktuálně povolené.";
$a->strings["PHP log currently disabled."] = "PHP záznamy jsou aktuálně zakázané."; $a->strings["PHP log currently disabled."] = "PHP záznamy jsou aktuálně zakázané.";
$a->strings["Clear"] = "Vyčistit"; $a->strings["Clear"] = "Vyčistit";
@ -1411,7 +1411,7 @@ $a->strings["Disallowed profile URL."] = "Nepovolené URL profilu.";
$a->strings["Failed to update contact record."] = "Nepodařilo se aktualizovat kontakt."; $a->strings["Failed to update contact record."] = "Nepodařilo se aktualizovat kontakt.";
$a->strings["Your introduction has been sent."] = "Vaše žádost o propojení byla odeslána."; $a->strings["Your introduction has been sent."] = "Vaše žádost o propojení byla odeslána.";
$a->strings["Remote subscription can't be done for your network. Please subscribe directly on your system."] = "Vzdálený odběr nemůže být na Vaší síti proveden. Prosím, přihlaste se k odběru přímo na Vašem systému."; $a->strings["Remote subscription can't be done for your network. Please subscribe directly on your system."] = "Vzdálený odběr nemůže být na Vaší síti proveden. Prosím, přihlaste se k odběru přímo na Vašem systému.";
$a->strings["Please login to confirm introduction."] = "Pro ptvrzení představení se prosím přihlaste."; $a->strings["Please login to confirm introduction."] = "Pro potvrzení představení se prosím přihlaste.";
$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Jste přihlášen/a pod nesprávnou identitou. Prosím, přihlaste se do <strong>tohoto</strong> profilu."; $a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Jste přihlášen/a pod nesprávnou identitou. Prosím, přihlaste se do <strong>tohoto</strong> profilu.";
$a->strings["Confirm"] = "Potvrdit"; $a->strings["Confirm"] = "Potvrdit";
$a->strings["Hide this contact"] = "Skrýt tento kontakt"; $a->strings["Hide this contact"] = "Skrýt tento kontakt";
@ -1801,8 +1801,8 @@ $a->strings["%s: Database update"] = "%s: Aktualizace databáze";
$a->strings["%s: updating %s table."] = "%s: aktualizuji tabulku %s"; $a->strings["%s: updating %s table."] = "%s: aktualizuji tabulku %s";
$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Nelze najít verzi PHP pro příkazový řádek v PATH webového serveru."; $a->strings["Could not find a command line version of PHP in the web server PATH."] = "Nelze najít verzi PHP pro příkazový řádek v PATH webového serveru.";
$a->strings["If you don't have a command line version of PHP installed on your server, you will not be able to run the background processing. See <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-worker'>'Setup the worker'</a>"] = "Pokud nemáte na Vašem serveru nainstalovanou verzi PHP pro příkazový řádek, nebudete moci spouštět procesy v pozadí. Více na <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-worker'>\"Nastavte pracovníka\"</a>"; $a->strings["If you don't have a command line version of PHP installed on your server, you will not be able to run the background processing. See <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-worker'>'Setup the worker'</a>"] = "Pokud nemáte na Vašem serveru nainstalovanou verzi PHP pro příkazový řádek, nebudete moci spouštět procesy v pozadí. Více na <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-worker'>\"Nastavte pracovníka\"</a>";
$a->strings["PHP executable path"] = "Cesta k \"PHP executable\""; $a->strings["PHP executable path"] = "Cesta ke spustitelnému souboru PHP";
$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Zadejte plnou cestu k spustitelnému souboru php. Tento údaj můžete ponechat nevyplněný a pokračovat v instalaci."; $a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Zadejte plnou cestu ke spustitelnému souboru PHP. Tento údaj můžete ponechat nevyplněný a pokračovat v instalaci.";
$a->strings["Command line PHP"] = "Příkazový řádek PHP"; $a->strings["Command line PHP"] = "Příkazový řádek PHP";
$a->strings["PHP executable is not the php cli binary (could be cgi-fgci version)"] = "PHP executable není php cli binary (může být verze cgi-fgci)"; $a->strings["PHP executable is not the php cli binary (could be cgi-fgci version)"] = "PHP executable není php cli binary (může být verze cgi-fgci)";
$a->strings["Found PHP version: "] = "Nalezena PHP verze:"; $a->strings["Found PHP version: "] = "Nalezena PHP verze:";

View File

@ -343,6 +343,8 @@ function toggleJotNav (elm) {
// For some some tab panels we need to execute other js functions. // For some some tab panels we need to execute other js functions.
if (tabpanel === "jot-preview-content") { if (tabpanel === "jot-preview-content") {
preview_post(); preview_post();
// Make Share button visivle in preview
$('#jot-preview-share').removeClass("minimize").attr("aria-hidden" ,"false");
} else if (tabpanel === "jot-fbrowser-wrapper") { } else if (tabpanel === "jot-fbrowser-wrapper") {
$(function() { $(function() {
Dialog.showJot(); Dialog.showJot();

View File

@ -27,6 +27,22 @@ function insertFormatting(BBcode, id) {
return true; return true;
} }
function insertFormattingToPost(BBcode) {
textarea = document.getElementById("profile-jot-text");
if (document.selection) {
textarea.focus();
selected = document.selection.createRange();
selected.text = "[" + BBcode + "]" + selected.text + "[/" + BBcode + "]";
} else if (textarea.selectionStart || textarea.selectionStart == "0") {
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
textarea.value = textarea.value.substring(0, start) + "[" + BBcode + "]" + textarea.value.substring(start, end) + "[/" + BBcode + "]" + textarea.value.substring(end, textarea.value.length);
}
$(textarea).trigger('change');
return true;
}
function showThread(id) { function showThread(id) {
$("#collapsed-comments-" + id).show() $("#collapsed-comments-" + id).show()

View File

@ -93,6 +93,10 @@
</div> </div>
<ul id="profile-jot-submit-wrapper" class="jothidden nav nav-pills"> <ul id="profile-jot-submit-wrapper" class="jothidden nav nav-pills">
<li role="presentation"><button type="button" class="hidden-xs btn-link icon underline" style="cursor: pointer;" aria-label="{{$eduline}}" title="{{$eduline}}" onclick="insertFormattingToPost('u');"><i class="fa fa-underline"></i></button></li>
<li role="presentation"><button type="button" class="hidden-xs btn-link icon italic" style="cursor: pointer;" aria-label="{{$editalic}}" title="{{$editalic}}" onclick="insertFormattingToPost('i');"><i class="fa fa-italic"></i></button></li>
<li role="presentation"><button type="button" class="hidden-xs btn-link icon bold" style="cursor: pointer;" aria-label="{{$edbold}}" title="{{$edbold}}" onclick="insertFormattingToPost('b');"><i class="fa fa-bold"></i></button></li>
<li role="presentation"><button type="button" class="hidden-xs btn-link icon quote" style="cursor: pointer;" aria-label="{{$edquote}}" title="{{$edquote}}" onclick="insertFormattingToPost('quote');"><i class="fa fa-quote-left"></i></button></li>
<li role="presentation"><button type="button" class="btn-link" id="profile-link" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink();" title="{{$weblink}}"><i class="fa fa-link"></i></button></li> <li role="presentation"><button type="button" class="btn-link" id="profile-link" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink();" title="{{$weblink}}"><i class="fa fa-link"></i></button></li>
<li role="presentation"><button type="button" class="btn-link" id="profile-video" onclick="jotVideoURL();" title="{{$video}}"><i class="fa fa-film" aria-hidden="true"></i></button></li> <li role="presentation"><button type="button" class="btn-link" id="profile-video" onclick="jotVideoURL();" title="{{$video}}"><i class="fa fa-film" aria-hidden="true"></i></button></li>
<li role="presentation"><button type="button" class="btn-link" id="profile-audio" onclick="jotAudioURL();" title="{{$audio}}"><i class="fa fa-music" aria-hidden="true"></i></button></li> <li role="presentation"><button type="button" class="btn-link" id="profile-audio" onclick="jotAudioURL();" title="{{$audio}}"><i class="fa fa-music" aria-hidden="true"></i></button></li>
@ -118,6 +122,13 @@
</div> </div>
<div id="jot-preview-content" class="minimize" aria-labelledby="jot-preview-lnk" role="tabpanel" aria-hidden="true"></div> <div id="jot-preview-content" class="minimize" aria-labelledby="jot-preview-lnk" role="tabpanel" aria-hidden="true"></div>
<div id="jot-preview-share" class="minimize" aria-labelledby="jot-preview-lnk" role="tabpanel" aria-hidden="true">
<ul id="profile-jot-preview-submit-wrapper" class="jothidden nav nav-pills">
<li role="presentation" class="pull-right"><button class="btn btn-primary" type="submit" id="profile-jot-peview-submit" name="submit" ><i class="fa fa-slideshare fa-fw" aria-hidden="true"></i> {{$share}}</button></li>
</ul>
</div>
</form> </form>
<div id="jot-fbrowser-wrapper" class="minimize" aria-labelledby="jot-browser-link" role="tabpanel" aria-hidden="true"></div> <div id="jot-fbrowser-wrapper" class="minimize" aria-labelledby="jot-browser-link" role="tabpanel" aria-hidden="true"></div>

View File

@ -59,7 +59,7 @@ blockquote {
} }
code { pre code {
font-family: Courier, monospace; font-family: Courier, monospace;
white-space: pre; white-space: pre;
display: block; display: block;