1
1
Fork 0

Merge pull request #8134 from nupplaphil/task/di_l10n

Cleanup L10n namespace
This commit is contained in:
Hypolite Petovan 2020-01-19 11:30:19 -05:00 committed by GitHub
commit 1bc4b2e078
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
206 changed files with 8453 additions and 6111 deletions

View file

@ -136,26 +136,26 @@ namespace Friendica\Addon\samplestorage;
use Friendica\Model\Storage\IStorage; use Friendica\Model\Storage\IStorage;
use Friendica\Core\Config; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\L10n; use Friendica\Core\L10n;
class SampleStorageBackend implements IStorage class SampleStorageBackend implements IStorage
{ {
const NAME = 'Sample Storage'; const NAME = 'Sample Storage';
/** @var Config\IConfiguration */ /** @var IConfiguration */
private $config; private $config;
/** @var L10n\L10n */ /** @var L10n */
private $l10n; private $l10n;
/** /**
* SampleStorageBackend constructor. * SampleStorageBackend constructor.
* @param Config\IConfiguration $config The configuration of Friendica * @param IConfiguration $config The configuration of Friendica
* *
* You can add here every dynamic class as dependency you like and add them to a private field * You can add here every dynamic class as dependency you like and add them to a private field
* Friendica automatically creates these classes and passes them as argument to the constructor * Friendica automatically creates these classes and passes them as argument to the constructor
*/ */
public function __construct(Config\IConfiguration $config, L10n\L10n $l10n) public function __construct(IConfiguration $config, L10n $l10n)
{ {
$this->config = $config; $this->config = $config;
$this->l10n = $l10n; $this->l10n = $l10n;

View file

@ -181,6 +181,8 @@ Put your tpl files in the *templates/* subfolder of your addon.
In your code, like in the function addon_name_content(), load the template file and execute it passing needed values: In your code, like in the function addon_name_content(), load the template file and execute it passing needed values:
```php ```php
use Friendica\Core\Renderer;
# load template file. first argument is the template name, # load template file. first argument is the template name,
# second is the addon path relative to friendica top folder # second is the addon path relative to friendica top folder
$tpl = Renderer::getMarkupTemplate('mytemplate.tpl', __DIR__); $tpl = Renderer::getMarkupTemplate('mytemplate.tpl', __DIR__);

View file

@ -47,8 +47,10 @@ The code will be something like:
// mod/network.php // mod/network.php
<?php <?php
use Friendica\App;
function network_content(App $a) { function network_content(App $a) {
$itemsmanager = new Friendica\ItemsManager(); $itemsmanager = new \Friendica\ItemsManager();
$items = $itemsmanager->getAll(); $items = $itemsmanager->getAll();
// pass $items to template // pass $items to template
@ -117,6 +119,8 @@ If your code is in same namespace as the class you need, you don't need to prepe
namespace Friendica; namespace Friendica;
use Friendica\Protocol\DFRN;
// this is the same content of current include/delivery.php, // this is the same content of current include/delivery.php,
// but has been declared to be in "Friendica" namespace // but has been declared to be in "Friendica" namespace

View file

@ -39,7 +39,7 @@ They are initialized with an array of data, depending on the tyle of the field.
All of these take an array holding the values, e.g. for a one line text input field, which is required and should be used to type email addesses use something along the lines of: All of these take an array holding the values, e.g. for a one line text input field, which is required and should be used to type email addesses use something along the lines of:
'$adminmail' => array('adminmail', L10n::t('Site administrator email address'), $adminmail, L10n::t('Your account email address must match this in order to use the web admin panel.'), 'required', '', 'email'), '$adminmail' => array('adminmail', DI::l10n()->t('Site administrator email address'), $adminmail, DI::l10n()->t('Your account email address must match this in order to use the web admin panel.'), 'required', '', 'email'),
To evaluate the input value, you can then use the $_POST array, more precisely the $_POST['adminemail'] variable. To evaluate the input value, you can then use the $_POST array, more precisely the $_POST['adminemail'] variable.

View file

@ -108,17 +108,17 @@ The _post functions handle the processing of the send form, in this case they sa
To make your own variation appear in the menu, all you need to do is to create a new CSS file in the deriv directoy and include it in the array in the config.php: To make your own variation appear in the menu, all you need to do is to create a new CSS file in the deriv directoy and include it in the array in the config.php:
$colorset = array( $colorset = array(
'default'=>L10n::t('default'), 'default'=>DI::l10n()->t('default'),
'greenzero'=>L10n::t('greenzero'), 'greenzero'=>DI::l10n()->t('greenzero'),
'purplezero'=>L10n::t('purplezero'), 'purplezero'=>DI::l10n()->t('purplezero'),
'easterbunny'=>L10n::t('easterbunny'), 'easterbunny'=>DI::l10n()->t('easterbunny'),
'darkzero'=>L10n::t('darkzero'), 'darkzero'=>DI::l10n()->t('darkzero'),
'comix'=>L10n::t('comix'), 'comix'=>DI::l10n()->t('comix'),
'slackr'=>L10n::t('slackr'), 'slackr'=>DI::l10n()->t('slackr'),
); );
the 1st part of the line is the name of the CSS file (without the .css) the 2nd part is the common name of the variant. the 1st part of the line is the name of the CSS file (without the .css) the 2nd part is the common name of the variant.
Calling the L10n::t() function with the common name makes the string translateable. Calling the DI::l10n()->t() function with the common name makes the string translateable.
The selected 1st part will be saved in the database by the theme_post function. The selected 1st part will be saved in the database by the theme_post function.
function theme_post(App $a){ function theme_post(App $a){

View file

@ -73,14 +73,14 @@ Then run `bin/console po2php view/lang/<language>/messages.po` to update the rel
### Basic usage ### Basic usage
- `Friendica\Core\L10n::t('Label')` => `Label` - `Friendica\DI::l10n()->t('Label')` => `Label`
- `Friendica\Core\L10n::t('Label %s', 'test')` => `Label test` - `Friendica\DI::l10n()->t('Label %s', 'test')` => `Label test`
### Plural ### Plural
- `Friendica\Core\L10n::tt('Label', 'Labels', 1)` => `Label` - `Friendica\DI::l10n()->tt('Label', 'Labels', 1)` => `Label`
- `Friendica\Core\L10n::tt('Label', 'Labels', 3)` => `Labels` - `Friendica\DI::l10n()->tt('Label', 'Labels', 3)` => `Labels`
- `Friendica\Core\L10n::tt('%d Label', '%d Labels', 1)` => `1 Label` - `Friendica\DI::l10n()->tt('%d Label', '%d Labels', 1)` => `1 Label`
- `Friendica\Core\L10n::tt('%d Label', '%d Labels', 3)` => `3 Labels` - `Friendica\DI::l10n()->tt('%d Label', '%d Labels', 3)` => `3 Labels`
- `Friendica\Core\L10n::tt('%d Label', 'Labels %2%s %3%s', 1, 'test', 'test2')` => `Label test test2` - `Friendica\DI::l10n()->tt('%d Label', 'Labels %2%s %3%s', 1, 'test', 'test2')` => `Label test test2`
- `Friendica\Core\L10n::tt('%d Label', 'Labels %2%s %3%s', 3, 'test', 'test2')` => `Labels test test2` - `Friendica\DI::l10n()->tt('%d Label', 'Labels %2%s %3%s', 3, 'test', 'test2')` => `Labels test test2`

View file

@ -13,7 +13,6 @@ use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Session; use Friendica\Core\Session;
@ -1106,8 +1105,8 @@ function api_statuses_update($type)
if ($posts_day > $throttle_day) { if ($posts_day > $throttle_day) {
Logger::log('Daily posting limit reached for user '.api_user(), Logger::DEBUG); Logger::log('Daily posting limit reached for user '.api_user(), Logger::DEBUG);
// die(api_error($type, L10n::t("Daily posting limit of %d posts reached. The post was rejected.", $throttle_day)); // die(api_error($type, DI::l10n()->t("Daily posting limit of %d posts reached. The post was rejected.", $throttle_day));
throw new TooManyRequestsException(L10n::tt("Daily posting limit of %d post reached. The post was rejected.", "Daily posting limit of %d posts reached. The post was rejected.", $throttle_day)); throw new TooManyRequestsException(DI::l10n()->tt("Daily posting limit of %d post reached. The post was rejected.", "Daily posting limit of %d posts reached. The post was rejected.", $throttle_day));
} }
} }
@ -1120,8 +1119,8 @@ function api_statuses_update($type)
if ($posts_week > $throttle_week) { if ($posts_week > $throttle_week) {
Logger::log('Weekly posting limit reached for user '.api_user(), Logger::DEBUG); Logger::log('Weekly posting limit reached for user '.api_user(), Logger::DEBUG);
// die(api_error($type, L10n::t("Weekly posting limit of %d posts reached. The post was rejected.", $throttle_week))); // die(api_error($type, DI::l10n()->t("Weekly posting limit of %d posts reached. The post was rejected.", $throttle_week)));
throw new TooManyRequestsException(L10n::tt("Weekly posting limit of %d post reached. The post was rejected.", "Weekly posting limit of %d posts reached. The post was rejected.", $throttle_week)); throw new TooManyRequestsException(DI::l10n()->tt("Weekly posting limit of %d post reached. The post was rejected.", "Weekly posting limit of %d posts reached. The post was rejected.", $throttle_week));
} }
} }
@ -1134,8 +1133,8 @@ function api_statuses_update($type)
if ($posts_month > $throttle_month) { if ($posts_month > $throttle_month) {
Logger::log('Monthly posting limit reached for user '.api_user(), Logger::DEBUG); Logger::log('Monthly posting limit reached for user '.api_user(), Logger::DEBUG);
// die(api_error($type, L10n::t("Monthly posting limit of %d posts reached. The post was rejected.", $throttle_month)); // die(api_error($type, DI::l10n()->t("Monthly posting limit of %d posts reached. The post was rejected.", $throttle_month));
throw new TooManyRequestsException(L10n::t("Monthly posting limit of %d post reached. The post was rejected.", "Monthly posting limit of %d posts reached. The post was rejected.", $throttle_month)); throw new TooManyRequestsException(DI::l10n()->t("Monthly posting limit of %d post reached. The post was rejected.", "Monthly posting limit of %d posts reached. The post was rejected.", $throttle_month));
} }
} }
} }
@ -4598,7 +4597,7 @@ function api_account_update_profile_image($type)
$media = $_FILES['media']; $media = $_FILES['media'];
} }
// save new profile image // save new profile image
$data = save_media_to_database("profileimage", $media, $type, L10n::t('Profile Photos'), "", "", "", "", "", $is_default_profile); $data = save_media_to_database("profileimage", $media, $type, DI::l10n()->t('Profile Photos'), "", "", "", "", "", $is_default_profile);
// get filetype // get filetype
if (is_array($media['type'])) { if (is_array($media['type'])) {

View file

@ -10,7 +10,6 @@ use Friendica\Content\Pager;
use Friendica\Content\Text\BBCode; use Friendica\Content\Text\BBCode;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -160,20 +159,20 @@ function localize_item(&$item)
case Activity::POST: case Activity::POST:
switch ($obj['object-type']) { switch ($obj['object-type']) {
case Activity\ObjectType::EVENT: case Activity\ObjectType::EVENT:
$post_type = L10n::t('event'); $post_type = DI::l10n()->t('event');
break; break;
default: default:
$post_type = L10n::t('status'); $post_type = DI::l10n()->t('status');
} }
break; break;
default: default:
if ($obj['resource-id']) { if ($obj['resource-id']) {
$post_type = L10n::t('photo'); $post_type = DI::l10n()->t('photo');
$m = []; $m = [];
preg_match("/\[url=([^]]*)\]/", $obj['body'], $m); preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
$rr['plink'] = $m[1]; $rr['plink'] = $m[1];
} else { } else {
$post_type = L10n::t('status'); $post_type = DI::l10n()->t('status');
} }
} }
@ -181,15 +180,15 @@ function localize_item(&$item)
$bodyverb = ''; $bodyverb = '';
if ($activity->match($item['verb'], Activity::LIKE)) { if ($activity->match($item['verb'], Activity::LIKE)) {
$bodyverb = L10n::t('%1$s likes %2$s\'s %3$s'); $bodyverb = DI::l10n()->t('%1$s likes %2$s\'s %3$s');
} elseif ($activity->match($item['verb'], Activity::DISLIKE)) { } elseif ($activity->match($item['verb'], Activity::DISLIKE)) {
$bodyverb = L10n::t('%1$s doesn\'t like %2$s\'s %3$s'); $bodyverb = DI::l10n()->t('%1$s doesn\'t like %2$s\'s %3$s');
} elseif ($activity->match($item['verb'], Activity::ATTEND)) { } elseif ($activity->match($item['verb'], Activity::ATTEND)) {
$bodyverb = L10n::t('%1$s attends %2$s\'s %3$s'); $bodyverb = DI::l10n()->t('%1$s attends %2$s\'s %3$s');
} elseif ($activity->match($item['verb'], Activity::ATTENDNO)) { } elseif ($activity->match($item['verb'], Activity::ATTENDNO)) {
$bodyverb = L10n::t('%1$s doesn\'t attend %2$s\'s %3$s'); $bodyverb = DI::l10n()->t('%1$s doesn\'t attend %2$s\'s %3$s');
} elseif ($activity->match($item['verb'], Activity::ATTENDMAYBE)) { } elseif ($activity->match($item['verb'], Activity::ATTENDMAYBE)) {
$bodyverb = L10n::t('%1$s attends maybe %2$s\'s %3$s'); $bodyverb = DI::l10n()->t('%1$s attends maybe %2$s\'s %3$s');
} }
$item['body'] = sprintf($bodyverb, $author, $objauthor, $plink); $item['body'] = sprintf($bodyverb, $author, $objauthor, $plink);
@ -224,7 +223,7 @@ function localize_item(&$item)
$Bphoto = '[url=' . Contact::magicLink($Blink) . '][img]' . $Bphoto . '[/img][/url]'; $Bphoto = '[url=' . Contact::magicLink($Blink) . '][img]' . $Bphoto . '[/img][/url]';
} }
$item['body'] = L10n::t('%1$s is now friends with %2$s', $A, $B)."\n\n\n".$Bphoto; $item['body'] = DI::l10n()->t('%1$s is now friends with %2$s', $A, $B)."\n\n\n".$Bphoto;
} }
if (stristr($item['verb'], Activity::POKE)) { if (stristr($item['verb'], Activity::POKE)) {
@ -265,11 +264,11 @@ function localize_item(&$item)
* we can't have a translation string with three positions but no distinguishable text * we can't have a translation string with three positions but no distinguishable text
* So here is the translate string. * So here is the translate string.
*/ */
$txt = L10n::t('%1$s poked %2$s'); $txt = DI::l10n()->t('%1$s poked %2$s');
// now translate the verb // now translate the verb
$poked_t = trim(sprintf($txt, "", "")); $poked_t = trim(sprintf($txt, "", ""));
$txt = str_replace($poked_t, L10n::t($verb), $txt); $txt = str_replace($poked_t, DI::l10n()->t($verb), $txt);
// then do the sprintf on the translation string // then do the sprintf on the translation string
@ -297,19 +296,19 @@ function localize_item(&$item)
case Activity::POST: case Activity::POST:
switch ($obj['object-type']) { switch ($obj['object-type']) {
case Activity\ObjectType::EVENT: case Activity\ObjectType::EVENT:
$post_type = L10n::t('event'); $post_type = DI::l10n()->t('event');
break; break;
default: default:
$post_type = L10n::t('status'); $post_type = DI::l10n()->t('status');
} }
break; break;
default: default:
if ($obj['resource-id']) { if ($obj['resource-id']) {
$post_type = L10n::t('photo'); $post_type = DI::l10n()->t('photo');
$m=[]; preg_match("/\[url=([^]]*)\]/", $obj['body'], $m); $m=[]; preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
$rr['plink'] = $m[1]; $rr['plink'] = $m[1];
} else { } else {
$post_type = L10n::t('status'); $post_type = DI::l10n()->t('status');
} }
// Let's break everthing ... ;-) // Let's break everthing ... ;-)
break; break;
@ -319,7 +318,7 @@ function localize_item(&$item)
$parsedobj = XML::parseString($xmlhead.$item['object']); $parsedobj = XML::parseString($xmlhead.$item['object']);
$tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content); $tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content);
$item['body'] = L10n::t('%1$s tagged %2$s\'s %3$s with %4$s', $author, $objauthor, $plink, $tag); $item['body'] = DI::l10n()->t('%1$s tagged %2$s\'s %3$s with %4$s', $author, $objauthor, $plink, $tag);
} }
if ($activity->match($item['verb'], Activity::FAVORITE)) { if ($activity->match($item['verb'], Activity::FAVORITE)) {
@ -341,8 +340,8 @@ function localize_item(&$item)
$Blink = $target['author-link']; $Blink = $target['author-link'];
$A = '[url=' . Contact::magicLink($Alink) . ']' . $Aname . '[/url]'; $A = '[url=' . Contact::magicLink($Alink) . ']' . $Aname . '[/url]';
$B = '[url=' . Contact::magicLink($Blink) . ']' . $Bname . '[/url]'; $B = '[url=' . Contact::magicLink($Blink) . ']' . $Bname . '[/url]';
$P = '[url=' . $target['plink'] . ']' . L10n::t('post/item') . '[/url]'; $P = '[url=' . $target['plink'] . ']' . DI::l10n()->t('post/item') . '[/url]';
$item['body'] = L10n::t('%1$s marked %2$s\'s %3$s as favorite', $A, $B, $P)."\n"; $item['body'] = DI::l10n()->t('%1$s marked %2$s\'s %3$s as favorite', $A, $B, $P)."\n";
} }
} }
} }
@ -566,12 +565,12 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
$items = $cb['items']; $items = $cb['items'];
$conv_responses = [ $conv_responses = [
'like' => ['title' => L10n::t('Likes','title')], 'like' => ['title' => DI::l10n()->t('Likes','title')],
'dislike' => ['title' => L10n::t('Dislikes','title')], 'dislike' => ['title' => DI::l10n()->t('Dislikes','title')],
'attendyes' => ['title' => L10n::t('Attending','title')], 'attendyes' => ['title' => DI::l10n()->t('Attending','title')],
'attendno' => ['title' => L10n::t('Not attending','title')], 'attendno' => ['title' => DI::l10n()->t('Not attending','title')],
'attendmaybe' => ['title' => L10n::t('Might attend','title')], 'attendmaybe' => ['title' => DI::l10n()->t('Might attend','title')],
'announce' => ['title' => L10n::t('Reshares','title')] 'announce' => ['title' => DI::l10n()->t('Reshares','title')]
]; ];
// array with html for each thread (parent+comments) // array with html for each thread (parent+comments)
@ -651,8 +650,8 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
$drop = [ $drop = [
'dropping' => $dropping, 'dropping' => $dropping,
'pagedrop' => $page_dropping, 'pagedrop' => $page_dropping,
'select' => L10n::t('Select'), 'select' => DI::l10n()->t('Select'),
'delete' => L10n::t('Delete'), 'delete' => DI::l10n()->t('Delete'),
]; ];
$star = false; $star = false;
@ -678,7 +677,7 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
'network' => $item['network'], 'network' => $item['network'],
'network_name' => ContactSelector::networkToName($item['author-network'], $item['author-link'], $item['network']), 'network_name' => ContactSelector::networkToName($item['author-network'], $item['author-link'], $item['network']),
'network_icon' => ContactSelector::networkToIcon($item['network'], $item['author-link']), 'network_icon' => ContactSelector::networkToIcon($item['network'], $item['author-link']),
'linktitle' => L10n::t('View %s\'s profile @ %s', $profile_name, $item['author-link']), 'linktitle' => DI::l10n()->t('View %s\'s profile @ %s', $profile_name, $item['author-link']),
'profile_url' => $profile_link, 'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item), 'item_photo_menu' => item_photo_menu($item),
'name' => $profile_name, 'name' => $profile_name,
@ -691,15 +690,15 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
'hashtags' => $tags['hashtags'], 'hashtags' => $tags['hashtags'],
'mentions' => $tags['mentions'], 'mentions' => $tags['mentions'],
'implicit_mentions' => $tags['implicit_mentions'], 'implicit_mentions' => $tags['implicit_mentions'],
'txt_cats' => L10n::t('Categories:'), 'txt_cats' => DI::l10n()->t('Categories:'),
'txt_folders' => L10n::t('Filed under:'), 'txt_folders' => DI::l10n()->t('Filed under:'),
'has_cats' => ((count($categories)) ? 'true' : ''), 'has_cats' => ((count($categories)) ? 'true' : ''),
'has_folders' => ((count($folders)) ? 'true' : ''), 'has_folders' => ((count($folders)) ? 'true' : ''),
'categories' => $categories, 'categories' => $categories,
'folders' => $folders, 'folders' => $folders,
'text' => strip_tags($body), 'text' => strip_tags($body),
'localtime' => DateTimeFormat::local($item['created'], 'r'), 'localtime' => DateTimeFormat::local($item['created'], 'r'),
'ago' => (($item['app']) ? L10n::t('%s from %s', Temporal::getRelativeDate($item['created']),$item['app']) : Temporal::getRelativeDate($item['created'])), 'ago' => (($item['app']) ? DI::l10n()->t('%s from %s', Temporal::getRelativeDate($item['created']),$item['app']) : Temporal::getRelativeDate($item['created'])),
'location' => $location, 'location' => $location,
'indent' => '', 'indent' => '',
'owner_name' => $owner_name, 'owner_name' => $owner_name,
@ -714,9 +713,9 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
'like' => '', 'like' => '',
'dislike' => '', 'dislike' => '',
'comment' => '', 'comment' => '',
'conv' => (($preview) ? '' : ['href'=> 'display/'.$item['guid'], 'title'=> L10n::t('View in context')]), 'conv' => (($preview) ? '' : ['href'=> 'display/'.$item['guid'], 'title'=> DI::l10n()->t('View in context')]),
'previewing' => $previewing, 'previewing' => $previewing,
'wait' => L10n::t('Please wait'), 'wait' => DI::l10n()->t('Please wait'),
'thread_level' => 1, 'thread_level' => 1,
]; ];
@ -780,11 +779,11 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
'$baseurl' => DI::baseUrl()->get($ssl_state), '$baseurl' => DI::baseUrl()->get($ssl_state),
'$return_path' => DI::args()->getQueryString(), '$return_path' => DI::args()->getQueryString(),
'$live_update' => $live_update_div, '$live_update' => $live_update_div,
'$remove' => L10n::t('remove'), '$remove' => DI::l10n()->t('remove'),
'$mode' => $mode, '$mode' => $mode,
'$user' => $a->user, '$user' => $a->user,
'$threads' => $threads, '$threads' => $threads,
'$dropping' => ($page_dropping ? L10n::t('Delete Selected Items') : False), '$dropping' => ($page_dropping ? DI::l10n()->t('Delete Selected Items') : False),
]); ]);
return $o; return $o;
@ -945,27 +944,27 @@ function item_photo_menu($item) {
if (local_user()) { if (local_user()) {
$menu = [ $menu = [
L10n::t('Follow Thread') => $sub_link, DI::l10n()->t('Follow Thread') => $sub_link,
L10n::t('View Status') => $status_link, DI::l10n()->t('View Status') => $status_link,
L10n::t('View Profile') => $profile_link, DI::l10n()->t('View Profile') => $profile_link,
L10n::t('View Photos') => $photos_link, DI::l10n()->t('View Photos') => $photos_link,
L10n::t('Network Posts') => $posts_link, DI::l10n()->t('Network Posts') => $posts_link,
L10n::t('View Contact') => $contact_url, DI::l10n()->t('View Contact') => $contact_url,
L10n::t('Send PM') => $pm_url, DI::l10n()->t('Send PM') => $pm_url,
L10n::t('Block') => $block_link, DI::l10n()->t('Block') => $block_link,
L10n::t('Ignore') => $ignore_link DI::l10n()->t('Ignore') => $ignore_link
]; ];
if ($network == Protocol::DFRN) { if ($network == Protocol::DFRN) {
$menu[L10n::t("Poke")] = $poke_link; $menu[DI::l10n()->t("Poke")] = $poke_link;
} }
if ((($cid == 0) || ($rel == Contact::FOLLOWER)) && if ((($cid == 0) || ($rel == Contact::FOLLOWER)) &&
in_array($item['network'], Protocol::FEDERATED)) { in_array($item['network'], Protocol::FEDERATED)) {
$menu[L10n::t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']); $menu[DI::l10n()->t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']);
} }
} else { } else {
$menu = [L10n::t('View Profile') => $item['author-link']]; $menu = [DI::l10n()->t('View Profile') => $item['author-link']];
} }
$args = ['item' => $item, 'menu' => $menu]; $args = ['item' => $item, 'menu' => $menu];
@ -1088,22 +1087,22 @@ function format_like($cnt, array $arr, $type, $id) {
// list which show all likers // list which show all likers
switch ($type) { switch ($type) {
case 'like' : case 'like' :
$phrase = L10n::t('%s likes this.', $likers); $phrase = DI::l10n()->t('%s likes this.', $likers);
break; break;
case 'dislike' : case 'dislike' :
$phrase = L10n::t('%s doesn\'t like this.', $likers); $phrase = DI::l10n()->t('%s doesn\'t like this.', $likers);
break; break;
case 'attendyes' : case 'attendyes' :
$phrase = L10n::t('%s attends.', $likers); $phrase = DI::l10n()->t('%s attends.', $likers);
break; break;
case 'attendno' : case 'attendno' :
$phrase = L10n::t('%s doesn\'t attend.', $likers); $phrase = DI::l10n()->t('%s doesn\'t attend.', $likers);
break; break;
case 'attendmaybe' : case 'attendmaybe' :
$phrase = L10n::t('%s attends maybe.', $likers); $phrase = DI::l10n()->t('%s attends maybe.', $likers);
break; break;
case 'announce' : case 'announce' :
$phrase = L10n::t('%s reshared this.', $likers); $phrase = DI::l10n()->t('%s reshared this.', $likers);
break; break;
} }
} }
@ -1111,13 +1110,13 @@ function format_like($cnt, array $arr, $type, $id) {
if ($cnt > 1) { if ($cnt > 1) {
$total = count($arr); $total = count($arr);
if ($total < MAX_LIKERS) { if ($total < MAX_LIKERS) {
$last = L10n::t('and') . ' ' . $arr[count($arr)-1]; $last = DI::l10n()->t('and') . ' ' . $arr[count($arr)-1];
$arr2 = array_slice($arr, 0, -1); $arr2 = array_slice($arr, 0, -1);
$likers = implode(', ', $arr2) . ' ' . $last; $likers = implode(', ', $arr2) . ' ' . $last;
} else { } else {
$arr = array_slice($arr, 0, MAX_LIKERS - 1); $arr = array_slice($arr, 0, MAX_LIKERS - 1);
$likers = implode(', ', $arr); $likers = implode(', ', $arr);
$likers .= L10n::t('and %d other people', $total - MAX_LIKERS); $likers .= DI::l10n()->t('and %d other people', $total - MAX_LIKERS);
} }
$spanatts = "class=\"fakelink\" onclick=\"openClose('{$type}list-$id');\""; $spanatts = "class=\"fakelink\" onclick=\"openClose('{$type}list-$id');\"";
@ -1125,28 +1124,28 @@ function format_like($cnt, array $arr, $type, $id) {
$explikers = ''; $explikers = '';
switch ($type) { switch ($type) {
case 'like': case 'like':
$phrase = L10n::t('<span %1$s>%2$d people</span> like this', $spanatts, $cnt); $phrase = DI::l10n()->t('<span %1$s>%2$d people</span> like this', $spanatts, $cnt);
$explikers = L10n::t('%s like this.', $likers); $explikers = DI::l10n()->t('%s like this.', $likers);
break; break;
case 'dislike': case 'dislike':
$phrase = L10n::t('<span %1$s>%2$d people</span> don\'t like this', $spanatts, $cnt); $phrase = DI::l10n()->t('<span %1$s>%2$d people</span> don\'t like this', $spanatts, $cnt);
$explikers = L10n::t('%s don\'t like this.', $likers); $explikers = DI::l10n()->t('%s don\'t like this.', $likers);
break; break;
case 'attendyes': case 'attendyes':
$phrase = L10n::t('<span %1$s>%2$d people</span> attend', $spanatts, $cnt); $phrase = DI::l10n()->t('<span %1$s>%2$d people</span> attend', $spanatts, $cnt);
$explikers = L10n::t('%s attend.', $likers); $explikers = DI::l10n()->t('%s attend.', $likers);
break; break;
case 'attendno': case 'attendno':
$phrase = L10n::t('<span %1$s>%2$d people</span> don\'t attend', $spanatts, $cnt); $phrase = DI::l10n()->t('<span %1$s>%2$d people</span> don\'t attend', $spanatts, $cnt);
$explikers = L10n::t('%s don\'t attend.', $likers); $explikers = DI::l10n()->t('%s don\'t attend.', $likers);
break; break;
case 'attendmaybe': case 'attendmaybe':
$phrase = L10n::t('<span %1$s>%2$d people</span> attend maybe', $spanatts, $cnt); $phrase = DI::l10n()->t('<span %1$s>%2$d people</span> attend maybe', $spanatts, $cnt);
$explikers = L10n::t('%s attend maybe.', $likers); $explikers = DI::l10n()->t('%s attend maybe.', $likers);
break; break;
case 'announce': case 'announce':
$phrase = L10n::t('<span %1$s>%2$d people</span> reshared this', $spanatts, $cnt); $phrase = DI::l10n()->t('<span %1$s>%2$d people</span> reshared this', $spanatts, $cnt);
$explikers = L10n::t('%s reshared this.', $likers); $explikers = DI::l10n()->t('%s reshared this.', $likers);
break; break;
} }
@ -1175,12 +1174,12 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$geotag' => $geotag, '$geotag' => $geotag,
'$nickname' => $x['nickname'], '$nickname' => $x['nickname'],
'$ispublic' => L10n::t('Visible to <strong>everybody</strong>'), '$ispublic' => DI::l10n()->t('Visible to <strong>everybody</strong>'),
'$linkurl' => L10n::t('Please enter a image/video/audio/webpage URL:'), '$linkurl' => DI::l10n()->t('Please enter a image/video/audio/webpage URL:'),
'$term' => L10n::t('Tag term:'), '$term' => DI::l10n()->t('Tag term:'),
'$fileas' => L10n::t('Save to Folder:'), '$fileas' => DI::l10n()->t('Save to Folder:'),
'$whereareu' => L10n::t('Where are you right now?'), '$whereareu' => DI::l10n()->t('Where are you right now?'),
'$delitems' => L10n::t("Delete item\x28s\x29?") '$delitems' => DI::l10n()->t("Delete item\x28s\x29?")
]); ]);
$jotplugins = ''; $jotplugins = '';
@ -1212,33 +1211,33 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
$tpl = Renderer::getMarkupTemplate("jot.tpl"); $tpl = Renderer::getMarkupTemplate("jot.tpl");
$o .= Renderer::replaceMacros($tpl,[ $o .= Renderer::replaceMacros($tpl,[
'$new_post' => L10n::t('New Post'), '$new_post' => DI::l10n()->t('New Post'),
'$return_path' => $query_str, '$return_path' => $query_str,
'$action' => 'item', '$action' => 'item',
'$share' => ($x['button'] ?? '') ?: L10n::t('Share'), '$share' => ($x['button'] ?? '') ?: DI::l10n()->t('Share'),
'$upload' => L10n::t('Upload photo'), '$upload' => DI::l10n()->t('Upload photo'),
'$shortupload' => L10n::t('upload photo'), '$shortupload' => DI::l10n()->t('upload photo'),
'$attach' => L10n::t('Attach file'), '$attach' => DI::l10n()->t('Attach file'),
'$shortattach' => L10n::t('attach file'), '$shortattach' => DI::l10n()->t('attach file'),
'$edbold' => L10n::t('Bold'), '$edbold' => DI::l10n()->t('Bold'),
'$editalic' => L10n::t('Italic'), '$editalic' => DI::l10n()->t('Italic'),
'$eduline' => L10n::t('Underline'), '$eduline' => DI::l10n()->t('Underline'),
'$edquote' => L10n::t('Quote'), '$edquote' => DI::l10n()->t('Quote'),
'$edcode' => L10n::t('Code'), '$edcode' => DI::l10n()->t('Code'),
'$edimg' => L10n::t('Image'), '$edimg' => DI::l10n()->t('Image'),
'$edurl' => L10n::t('Link'), '$edurl' => DI::l10n()->t('Link'),
'$edattach' => L10n::t('Link or Media'), '$edattach' => DI::l10n()->t('Link or Media'),
'$setloc' => L10n::t('Set your location'), '$setloc' => DI::l10n()->t('Set your location'),
'$shortsetloc' => L10n::t('set location'), '$shortsetloc' => DI::l10n()->t('set location'),
'$noloc' => L10n::t('Clear browser location'), '$noloc' => DI::l10n()->t('Clear browser location'),
'$shortnoloc' => L10n::t('clear location'), '$shortnoloc' => DI::l10n()->t('clear location'),
'$title' => $x['title'] ?? '', '$title' => $x['title'] ?? '',
'$placeholdertitle' => L10n::t('Set title'), '$placeholdertitle' => DI::l10n()->t('Set title'),
'$category' => $x['category'] ?? '', '$category' => $x['category'] ?? '',
'$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? L10n::t("Categories \x28comma-separated list\x29") : '', '$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? DI::l10n()->t("Categories \x28comma-separated list\x29") : '',
'$wait' => L10n::t('Please wait'), '$wait' => DI::l10n()->t('Please wait'),
'$permset' => L10n::t('Permission settings'), '$permset' => DI::l10n()->t('Permission settings'),
'$shortpermset' => L10n::t('permissions'), '$shortpermset' => DI::l10n()->t('permissions'),
'$wall' => $notes_cid ? 0 : 1, '$wall' => $notes_cid ? 0 : 1,
'$posttype' => $notes_cid ? Item::PT_PERSONAL_NOTE : Item::PT_ARTICLE, '$posttype' => $notes_cid ? Item::PT_PERSONAL_NOTE : Item::PT_ARTICLE,
'$content' => $x['content'] ?? '', '$content' => $x['content'] ?? '',
@ -1247,28 +1246,28 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
'$defloc' => $x['default_location'], '$defloc' => $x['default_location'],
'$visitor' => $x['visitor'], '$visitor' => $x['visitor'],
'$pvisit' => $notes_cid ? 'none' : $x['visitor'], '$pvisit' => $notes_cid ? 'none' : $x['visitor'],
'$public' => L10n::t('Public post'), '$public' => DI::l10n()->t('Public post'),
'$lockstate' => $x['lockstate'], '$lockstate' => $x['lockstate'],
'$bang' => $x['bang'], '$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'], '$profile_uid' => $x['profile_uid'],
'$preview' => L10n::t('Preview'), '$preview' => DI::l10n()->t('Preview'),
'$jotplugins' => $jotplugins, '$jotplugins' => $jotplugins,
'$notes_cid' => $notes_cid, '$notes_cid' => $notes_cid,
'$sourceapp' => L10n::t($a->sourcename), '$sourceapp' => DI::l10n()->t($a->sourcename),
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$rand_num' => Crypto::randomDigits(12), '$rand_num' => Crypto::randomDigits(12),
// ACL permissions box // ACL permissions box
'$acl' => $x['acl'], '$acl' => $x['acl'],
'$group_perms' => L10n::t('Post to Groups'), '$group_perms' => DI::l10n()->t('Post to Groups'),
'$contact_perms' => L10n::t('Post to Contacts'), '$contact_perms' => DI::l10n()->t('Post to Contacts'),
'$private' => L10n::t('Private post'), '$private' => DI::l10n()->t('Private post'),
'$is_private' => $private_post, '$is_private' => $private_post,
'$public_link' => $public_post_link, '$public_link' => $public_post_link,
//jot nav tab (used in some themes) //jot nav tab (used in some themes)
'$message' => L10n::t('Message'), '$message' => DI::l10n()->t('Message'),
'$browser' => L10n::t('Browser'), '$browser' => DI::l10n()->t('Browser'),
]); ]);
@ -1557,7 +1556,7 @@ function get_responses(array $conv_responses, array $response_verbs, array $item
if (count($ret[$v]['list']) > MAX_LIKERS) { if (count($ret[$v]['list']) > MAX_LIKERS) {
$ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS); $ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS);
array_push($ret[$v]['list_part'], '<a href="#" data-toggle="modal" data-target="#' . $v . 'Modal-' array_push($ret[$v]['list_part'], '<a href="#" data-toggle="modal" data-target="#' . $v . 'Modal-'
. (($ob) ? $ob->getId() : $item['id']) . '"><b>' . L10n::t('View all') . '</b></a>'); . (($ob) ? $ob->getId() : $item['id']) . '"><b>' . DI::l10n()->t('View all') . '</b></a>');
} else { } else {
$ret[$v]['list_part'] = ''; $ret[$v]['list_part'] = '';
} }
@ -1581,19 +1580,19 @@ function get_response_button_text($v, $count)
$return = ''; $return = '';
switch ($v) { switch ($v) {
case 'like': case 'like':
$return = L10n::tt('Like', 'Likes', $count); $return = DI::l10n()->tt('Like', 'Likes', $count);
break; break;
case 'dislike': case 'dislike':
$return = L10n::tt('Dislike', 'Dislikes', $count); $return = DI::l10n()->tt('Dislike', 'Dislikes', $count);
break; break;
case 'attendyes': case 'attendyes':
$return = L10n::tt('Attending', 'Attending', $count); $return = DI::l10n()->tt('Attending', 'Attending', $count);
break; break;
case 'attendno': case 'attendno':
$return = L10n::tt('Not Attending', 'Not Attending', $count); $return = DI::l10n()->tt('Not Attending', 'Not Attending', $count);
break; break;
case 'attendmaybe': case 'attendmaybe':
$return = L10n::tt('Undecided', 'Undecided', $count); $return = DI::l10n()->tt('Undecided', 'Undecided', $count);
break; break;
} }

View file

@ -6,12 +6,10 @@
use Friendica\Content\Text\BBCode; use Friendica\Content\Text\BBCode;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Model\ItemContent; use Friendica\Model\ItemContent;
@ -20,7 +18,6 @@ use Friendica\Model\UserItem;
use Friendica\Protocol\Activity; use Friendica\Protocol\Activity;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Friendica\Util\Emailer; use Friendica\Util\Emailer;
use Friendica\Util\Strings;
/** /**
* Creates a notification entry and possibly sends a mail * Creates a notification entry and possibly sends a mail
@ -57,7 +54,7 @@ function notification($params)
$params['to_email'] = ($params['to_email'] ?? '') ?: $user['email']; $params['to_email'] = ($params['to_email'] ?? '') ?: $user['email'];
// from here on everything is in the recipients language // from here on everything is in the recipients language
$l10n = L10n::withLang($params['language']); $l10n = DI::l10n()->withLang($params['language']);
$banner = $l10n->t('Friendica Notification'); $banner = $l10n->t('Friendica Notification');
$product = FRIENDICA_PLATFORM; $product = FRIENDICA_PLATFORM;

View file

@ -5,7 +5,6 @@
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -347,7 +346,7 @@ function drop_item($id, $return = '')
$item = Item::selectFirstForUser(local_user(), $fields, ['id' => $id]); $item = Item::selectFirstForUser(local_user(), $fields, ['id' => $id]);
if (!DBA::isResult($item)) { if (!DBA::isResult($item)) {
notice(L10n::t('Item not found.') . EOL); notice(DI::l10n()->t('Item not found.') . EOL);
DI::baseUrl()->redirect('network'); DI::baseUrl()->redirect('network');
} }
@ -379,12 +378,12 @@ function drop_item($id, $return = '')
return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [
'$method' => 'get', '$method' => 'get',
'$message' => L10n::t('Do you really want to delete this item?'), '$message' => DI::l10n()->t('Do you really want to delete this item?'),
'$extra_inputs' => $inputs, '$extra_inputs' => $inputs,
'$confirm' => L10n::t('Yes'), '$confirm' => DI::l10n()->t('Yes'),
'$confirm_url' => $query['base'], '$confirm_url' => $query['base'],
'$confirm_name' => 'confirmed', '$confirm_name' => 'confirmed',
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
]); ]);
} }
// Now check how the user responded to the confirmation query // Now check how the user responded to the confirmation query
@ -431,7 +430,7 @@ function drop_item($id, $return = '')
} }
} }
} else { } else {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
DI::baseUrl()->redirect('display/' . $item['guid']); DI::baseUrl()->redirect('display/' . $item['guid']);
//NOTREACHED //NOTREACHED
} }

View file

@ -5,7 +5,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -33,12 +32,12 @@ function oauth_get_client(OAuthRequest $request)
function api_post(App $a) function api_post(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
if (count($a->user) && !empty($a->user['uid']) && $a->user['uid'] != local_user()) { if (count($a->user) && !empty($a->user['uid']) && $a->user['uid'] != local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
} }
@ -83,8 +82,8 @@ function api_content(App $a)
$tpl = Renderer::getMarkupTemplate("oauth_authorize_done.tpl"); $tpl = Renderer::getMarkupTemplate("oauth_authorize_done.tpl");
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Authorize application connection'), '$title' => DI::l10n()->t('Authorize application connection'),
'$info' => L10n::t('Return to your app and insert this Securty Code:'), '$info' => DI::l10n()->t('Return to your app and insert this Securty Code:'),
'$code' => $verifier, '$code' => $verifier,
]); ]);
@ -93,7 +92,7 @@ function api_content(App $a)
if (!local_user()) { if (!local_user()) {
/// @TODO We need login form to redirect to this page /// @TODO We need login form to redirect to this page
notice(L10n::t('Please login to continue.') . EOL); notice(DI::l10n()->t('Please login to continue.') . EOL);
return Login::form(DI::args()->getQueryString(), false, $request->get_parameters()); return Login::form(DI::args()->getQueryString(), false, $request->get_parameters());
} }
//FKOAuth1::loginUser(4); //FKOAuth1::loginUser(4);
@ -105,11 +104,11 @@ function api_content(App $a)
$tpl = Renderer::getMarkupTemplate('oauth_authorize.tpl'); $tpl = Renderer::getMarkupTemplate('oauth_authorize.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Authorize application connection'), '$title' => DI::l10n()->t('Authorize application connection'),
'$app' => $app, '$app' => $app,
'$authorize' => L10n::t('Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?'), '$authorize' => DI::l10n()->t('Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?'),
'$yes' => L10n::t('Yes'), '$yes' => DI::l10n()->t('Yes'),
'$no' => L10n::t('No'), '$no' => DI::l10n()->t('No'),
]); ]);
return $o; return $o;

View file

@ -12,7 +12,6 @@ use Friendica\Content\Feature;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -27,11 +26,11 @@ use Friendica\Util\Temporal;
function cal_init(App $a) function cal_init(App $a)
{ {
if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { if (Config::get('system', 'block_public') && !Session::isAuthenticated()) {
throw new \Friendica\Network\HTTPException\ForbiddenException(L10n::t('Access denied.')); throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
} }
if ($a->argc < 2) { if ($a->argc < 2) {
throw new \Friendica\Network\HTTPException\ForbiddenException(L10n::t('Access denied.')); throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
} }
Nav::setSelected('events'); Nav::setSelected('events');
@ -126,7 +125,7 @@ function cal_content(App $a)
$is_owner = local_user() == $a->profile['profile_uid']; $is_owner = local_user() == $a->profile['profile_uid'];
if ($a->profile['hidewall'] && !$is_owner && !$remote_contact) { if ($a->profile['hidewall'] && !$is_owner && !$remote_contact) {
notice(L10n::t('Access to this profile has been restricted.') . EOL); notice(DI::l10n()->t('Access to this profile has been restricted.') . EOL);
return; return;
} }
@ -257,17 +256,17 @@ function cal_content(App $a)
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$tabs' => $tabs, '$tabs' => $tabs,
'$title' => L10n::t('Events'), '$title' => DI::l10n()->t('Events'),
'$view' => L10n::t('View'), '$view' => DI::l10n()->t('View'),
'$previous' => [DI::baseUrl() . "/events/$prevyear/$prevmonth", L10n::t('Previous'), '', ''], '$previous' => [DI::baseUrl() . "/events/$prevyear/$prevmonth", DI::l10n()->t('Previous'), '', ''],
'$next' => [DI::baseUrl() . "/events/$nextyear/$nextmonth", L10n::t('Next'), '', ''], '$next' => [DI::baseUrl() . "/events/$nextyear/$nextmonth", DI::l10n()->t('Next'), '', ''],
'$calendar' => Temporal::getCalendarTable($y, $m, $links, ' eventcal'), '$calendar' => Temporal::getCalendarTable($y, $m, $links, ' eventcal'),
'$events' => $events, '$events' => $events,
"today" => L10n::t("today"), "today" => DI::l10n()->t("today"),
"month" => L10n::t("month"), "month" => DI::l10n()->t("month"),
"week" => L10n::t("week"), "week" => DI::l10n()->t("week"),
"day" => L10n::t("day"), "day" => DI::l10n()->t("day"),
"list" => L10n::t("list"), "list" => DI::l10n()->t("list"),
]); ]);
if (!empty($_GET['id'])) { if (!empty($_GET['id'])) {
@ -280,14 +279,14 @@ function cal_content(App $a)
if ($mode == 'export') { if ($mode == 'export') {
if (!$owner_uid) { if (!$owner_uid) {
notice(L10n::t('User not found')); notice(DI::l10n()->t('User not found'));
return; return;
} }
// Test permissions // Test permissions
// Respect the export feature setting for all other /cal pages if it's not the own profile // Respect the export feature setting for all other /cal pages if it's not the own profile
if ((local_user() !== $owner_uid) && !Feature::isEnabled($owner_uid, "export_calendar")) { if ((local_user() !== $owner_uid) && !Feature::isEnabled($owner_uid, "export_calendar")) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
DI::baseUrl()->redirect('cal/' . $nick); DI::baseUrl()->redirect('cal/' . $nick);
} }
@ -296,9 +295,9 @@ function cal_content(App $a)
if (!$evexport["success"]) { if (!$evexport["success"]) {
if ($evexport["content"]) { if ($evexport["content"]) {
notice(L10n::t('This calendar format is not supported')); notice(DI::l10n()->t('This calendar format is not supported'));
} else { } else {
notice(L10n::t('No exportable data found')); notice(DI::l10n()->t('No exportable data found'));
} }
// If it the own calendar return to the events page // If it the own calendar return to the events page
@ -315,7 +314,7 @@ function cal_content(App $a)
// If nothing went wrong we can echo the export content // If nothing went wrong we can echo the export content
if ($evexport["success"]) { if ($evexport["success"]) {
header('Content-type: text/calendar'); header('Content-type: text/calendar');
header('content-disposition: attachment; filename="' . L10n::t('calendar') . '-' . $nick . '.' . $evexport["extension"] . '"'); header('content-disposition: attachment; filename="' . DI::l10n()->t('calendar') . '-' . $nick . '.' . $evexport["extension"] . '"');
echo $evexport["content"]; echo $evexport["content"];
exit(); exit();
} }

View file

@ -6,7 +6,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Pager; use Friendica\Content\Pager;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -25,7 +24,7 @@ function common_content(App $a)
$zcid = 0; $zcid = 0;
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -88,7 +87,7 @@ function common_content(App $a)
} }
if ($total < 1) { if ($total < 1) {
notice(L10n::t('No contacts in common.') . EOL); notice(DI::l10n()->t('No contacts in common.') . EOL);
return $o; return $o;
} }
@ -139,7 +138,7 @@ function common_content(App $a)
if ($cmd === 'loc' && $cid && local_user() == $uid) { if ($cmd === 'loc' && $cid && local_user() == $uid) {
$tab_str = Module\Contact::getTabsHTML($a, $contact, 5); $tab_str = Module\Contact::getTabsHTML($a, $contact, 5);
} else { } else {
$title = L10n::t('Common Friends'); $title = DI::l10n()->t('Common Friends');
} }
$tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl'); $tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl');

View file

@ -10,7 +10,6 @@ use Friendica\Content\Pager;
use Friendica\Content\Widget\TrendingTags; use Friendica\Content\Widget\TrendingTags;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -23,14 +22,14 @@ function community_content(App $a, $update = 0)
$o = ''; $o = '';
if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { if (Config::get('system', 'block_public') && !Session::isAuthenticated()) {
notice(L10n::t('Public access denied.') . EOL); notice(DI::l10n()->t('Public access denied.') . EOL);
return; return;
} }
$page_style = Config::get('system', 'community_page_style'); $page_style = Config::get('system', 'community_page_style');
if ($page_style == CP_NO_INTERNAL_COMMUNITY) { if ($page_style == CP_NO_INTERNAL_COMMUNITY) {
notice(L10n::t('Access denied.') . EOL); notice(DI::l10n()->t('Access denied.') . EOL);
return; return;
} }
@ -66,7 +65,7 @@ function community_content(App $a, $update = 0)
} }
if (!in_array($content, ['local', 'global'])) { if (!in_array($content, ['local', 'global'])) {
notice(L10n::t('Community option not available.') . EOL); notice(DI::l10n()->t('Community option not available.') . EOL);
return; return;
} }
@ -83,7 +82,7 @@ function community_content(App $a, $update = 0)
} }
if (!$available) { if (!$available) {
notice(L10n::t('Not available.') . EOL); notice(DI::l10n()->t('Not available.') . EOL);
return; return;
} }
} }
@ -93,10 +92,10 @@ function community_content(App $a, $update = 0)
if ((local_user() || in_array($page_style, [CP_USERS_AND_GLOBAL, CP_USERS_ON_SERVER])) && empty(Config::get('system', 'singleuser'))) { if ((local_user() || in_array($page_style, [CP_USERS_AND_GLOBAL, CP_USERS_ON_SERVER])) && empty(Config::get('system', 'singleuser'))) {
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Local Community'), 'label' => DI::l10n()->t('Local Community'),
'url' => 'community/local', 'url' => 'community/local',
'sel' => $content == 'local' ? 'active' : '', 'sel' => $content == 'local' ? 'active' : '',
'title' => L10n::t('Posts from local users on this server'), 'title' => DI::l10n()->t('Posts from local users on this server'),
'id' => 'community-local-tab', 'id' => 'community-local-tab',
'accesskey' => 'l' 'accesskey' => 'l'
]; ];
@ -104,10 +103,10 @@ function community_content(App $a, $update = 0)
if (local_user() || in_array($page_style, [CP_USERS_AND_GLOBAL, CP_GLOBAL_COMMUNITY])) { if (local_user() || in_array($page_style, [CP_USERS_AND_GLOBAL, CP_GLOBAL_COMMUNITY])) {
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Global Community'), 'label' => DI::l10n()->t('Global Community'),
'url' => 'community/global', 'url' => 'community/global',
'sel' => $content == 'global' ? 'active' : '', 'sel' => $content == 'global' ? 'active' : '',
'title' => L10n::t('Posts from users of the whole federated network'), 'title' => DI::l10n()->t('Posts from users of the whole federated network'),
'id' => 'community-global-tab', 'id' => 'community-global-tab',
'accesskey' => 'g' 'accesskey' => 'g'
]; ];
@ -153,7 +152,7 @@ function community_content(App $a, $update = 0)
$r = community_getitems($pager->getStart(), $pager->getItemsPerPage(), $content, $accounttype); $r = community_getitems($pager->getStart(), $pager->getItemsPerPage(), $content, $accounttype);
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
info(L10n::t('No results.') . EOL); info(DI::l10n()->t('No results.') . EOL);
return $o; return $o;
} }
@ -205,7 +204,7 @@ function community_content(App $a, $update = 0)
'$content' => $o, '$content' => $o,
'$header' => '', '$header' => '',
'$show_global_community_hint' => ($content == 'global') && Config::get('system', 'show_global_community_hint'), '$show_global_community_hint' => ($content == 'global') && Config::get('system', 'show_global_community_hint'),
'$global_community_hint' => L10n::t("This community stream shows all public posts received by this node. They may not reflect the opinions of this nodes users.") '$global_community_hint' => DI::l10n()->t("This community stream shows all public posts received by this node. They may not reflect the opinions of this nodes users.")
]); ]);
} }

View file

@ -5,7 +5,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -77,9 +76,9 @@ function crepair_post(App $a)
} }
if ($r) { if ($r) {
info(L10n::t('Contact settings applied.') . EOL); info(DI::l10n()->t('Contact settings applied.') . EOL);
} else { } else {
notice(L10n::t('Contact update failed.') . EOL); notice(DI::l10n()->t('Contact update failed.') . EOL);
} }
return; return;
@ -88,7 +87,7 @@ function crepair_post(App $a)
function crepair_content(App $a) function crepair_content(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -100,7 +99,7 @@ function crepair_content(App $a)
} }
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
notice(L10n::t('Contact not found.') . EOL); notice(DI::l10n()->t('Contact not found.') . EOL);
return; return;
} }
@ -113,8 +112,8 @@ function crepair_content(App $a)
Model\Profile::load($a, "", 0, Model\Contact::getDetailsByURL($contact["url"])); Model\Profile::load($a, "", 0, Model\Contact::getDetailsByURL($contact["url"]));
} }
$warning = L10n::t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.'); $warning = DI::l10n()->t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
$info = L10n::t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.'); $info = DI::l10n()->t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
$returnaddr = "contact/$cid"; $returnaddr = "contact/$cid";
@ -128,9 +127,9 @@ function crepair_content(App $a)
} }
if ($contact['network'] == Protocol::FEED) { if ($contact['network'] == Protocol::FEED) {
$remote_self_options = ['0' => L10n::t('No mirroring'), '1' => L10n::t('Mirror as forwarded posting'), '2' => L10n::t('Mirror as my own posting')]; $remote_self_options = ['0' => DI::l10n()->t('No mirroring'), '1' => DI::l10n()->t('Mirror as forwarded posting'), '2' => DI::l10n()->t('Mirror as my own posting')];
} else { } else {
$remote_self_options = ['0' => L10n::t('No mirroring'), '2' => L10n::t('Mirror as my own posting')]; $remote_self_options = ['0' => DI::l10n()->t('No mirroring'), '2' => DI::l10n()->t('Mirror as my own posting')];
} }
$update_profile = in_array($contact['network'], Protocol::FEDERATED); $update_profile = in_array($contact['network'], Protocol::FEDERATED);
@ -143,30 +142,30 @@ function crepair_content(App $a)
'$warning' => $warning, '$warning' => $warning,
'$info' => $info, '$info' => $info,
'$returnaddr' => $returnaddr, '$returnaddr' => $returnaddr,
'$return' => L10n::t('Return to contact editor'), '$return' => DI::l10n()->t('Return to contact editor'),
'$update_profile' => $update_profile, '$update_profile' => $update_profile,
'$udprofilenow' => L10n::t('Refetch contact data'), '$udprofilenow' => DI::l10n()->t('Refetch contact data'),
'$contact_id' => $contact['id'], '$contact_id' => $contact['id'],
'$lbl_submit' => L10n::t('Submit'), '$lbl_submit' => DI::l10n()->t('Submit'),
'$label_remote_self' => L10n::t('Remote Self'), '$label_remote_self' => DI::l10n()->t('Remote Self'),
'$allow_remote_self' => $allow_remote_self, '$allow_remote_self' => $allow_remote_self,
'$remote_self' => ['remote_self', '$remote_self' => ['remote_self',
L10n::t('Mirror postings from this contact'), DI::l10n()->t('Mirror postings from this contact'),
$contact['remote_self'], $contact['remote_self'],
L10n::t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'), DI::l10n()->t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'),
$remote_self_options $remote_self_options
], ],
'$name' => ['name', L10n::t('Name') , $contact['name']], '$name' => ['name', DI::l10n()->t('Name') , $contact['name']],
'$nick' => ['nick', L10n::t('Account Nickname'), $contact['nick']], '$nick' => ['nick', DI::l10n()->t('Account Nickname'), $contact['nick']],
'$attag' => ['attag', L10n::t('@Tagname - overrides Name/Nickname'), $contact['attag']], '$attag' => ['attag', DI::l10n()->t('@Tagname - overrides Name/Nickname'), $contact['attag']],
'$url' => ['url', L10n::t('Account URL'), $contact['url']], '$url' => ['url', DI::l10n()->t('Account URL'), $contact['url']],
'$alias' => ['alias', L10n::t('Account URL Alias'), $contact['alias']], '$alias' => ['alias', DI::l10n()->t('Account URL Alias'), $contact['alias']],
'$request' => ['request', L10n::t('Friend Request URL'), $contact['request']], '$request' => ['request', DI::l10n()->t('Friend Request URL'), $contact['request']],
'confirm' => ['confirm', L10n::t('Friend Confirm URL'), $contact['confirm']], 'confirm' => ['confirm', DI::l10n()->t('Friend Confirm URL'), $contact['confirm']],
'notify' => ['notify', L10n::t('Notification Endpoint URL'), $contact['notify']], 'notify' => ['notify', DI::l10n()->t('Notification Endpoint URL'), $contact['notify']],
'poll' => ['poll', L10n::t('Poll/Feed URL'), $contact['poll']], 'poll' => ['poll', DI::l10n()->t('Poll/Feed URL'), $contact['poll']],
'photo' => ['photo', L10n::t('New photo from this URL'), ''], 'photo' => ['photo', DI::l10n()->t('New photo from this URL'), ''],
]); ]);
return $o; return $o;

View file

@ -20,7 +20,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\System; use Friendica\Core\System;
@ -29,7 +28,6 @@ use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Model\Group; use Friendica\Model\Group;
use Friendica\Model\User; use Friendica\Model\User;
use Friendica\Network\Probe;
use Friendica\Protocol\Activity; use Friendica\Protocol\Activity;
use Friendica\Util\Crypto; use Friendica\Util\Crypto;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
@ -64,13 +62,13 @@ function dfrn_confirm_post(App $a, $handsfree = null)
if (empty($_POST['source_url'])) { if (empty($_POST['source_url'])) {
$uid = ($handsfree['uid'] ?? 0) ?: local_user(); $uid = ($handsfree['uid'] ?? 0) ?: local_user();
if (!$uid) { if (!$uid) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
$user = DBA::selectFirst('user', [], ['uid' => $uid]); $user = DBA::selectFirst('user', [], ['uid' => $uid]);
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
notice(L10n::t('Profile not found.') . EOL); notice(DI::l10n()->t('Profile not found.') . EOL);
return; return;
} }
@ -125,8 +123,8 @@ function dfrn_confirm_post(App $a, $handsfree = null)
); );
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
Logger::log('Contact not found in DB.'); Logger::log('Contact not found in DB.');
notice(L10n::t('Contact not found.') . EOL); notice(DI::l10n()->t('Contact not found.') . EOL);
notice(L10n::t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL); notice(DI::l10n()->t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL);
return; return;
} }
@ -227,20 +225,20 @@ function dfrn_confirm_post(App $a, $handsfree = null)
// We shouldn't proceed, because the xml parser might choke, // We shouldn't proceed, because the xml parser might choke,
// and $status is going to be zero, which indicates success. // and $status is going to be zero, which indicates success.
// We can hardly call this a success. // We can hardly call this a success.
notice(L10n::t('Response from remote site was not understood.') . EOL); notice(DI::l10n()->t('Response from remote site was not understood.') . EOL);
return; return;
} }
if (strlen($leading_junk) && Config::get('system', 'debugging')) { if (strlen($leading_junk) && Config::get('system', 'debugging')) {
// This might be more common. Mixed error text and some XML. // This might be more common. Mixed error text and some XML.
// If we're configured for debugging, show the text. Proceed in either case. // If we're configured for debugging, show the text. Proceed in either case.
notice(L10n::t('Unexpected response from remote site: ') . EOL . $leading_junk . EOL); notice(DI::l10n()->t('Unexpected response from remote site: ') . EOL . $leading_junk . EOL);
} }
if (stristr($res, "<status") === false) { if (stristr($res, "<status") === false) {
// wrong xml! stop here! // wrong xml! stop here!
Logger::log('Unexpected response posting to ' . $dfrn_confirm); Logger::log('Unexpected response posting to ' . $dfrn_confirm);
notice(L10n::t('Unexpected response from remote site: ') . EOL . htmlspecialchars($res) . EOL); notice(DI::l10n()->t('Unexpected response from remote site: ') . EOL . htmlspecialchars($res) . EOL);
return; return;
} }
@ -249,7 +247,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
$message = XML::unescape($xml->message); // human readable text of what may have gone wrong. $message = XML::unescape($xml->message); // human readable text of what may have gone wrong.
switch ($status) { switch ($status) {
case 0: case 0:
info(L10n::t("Confirmation completed successfully.") . EOL); info(DI::l10n()->t("Confirmation completed successfully.") . EOL);
break; break;
case 1: case 1:
// birthday paradox - generate new dfrn-id and fall through. // birthday paradox - generate new dfrn-id and fall through.
@ -261,15 +259,15 @@ function dfrn_confirm_post(App $a, $handsfree = null)
); );
case 2: case 2:
notice(L10n::t("Temporary failure. Please wait and try again.") . EOL); notice(DI::l10n()->t("Temporary failure. Please wait and try again.") . EOL);
break; break;
case 3: case 3:
notice(L10n::t("Introduction failed or was revoked.") . EOL); notice(DI::l10n()->t("Introduction failed or was revoked.") . EOL);
break; break;
} }
if (strlen($message)) { if (strlen($message)) {
notice(L10n::t('Remote site reported: ') . $message . EOL); notice(DI::l10n()->t('Remote site reported: ') . $message . EOL);
} }
if (($status == 0) && $intro_id) { if (($status == 0) && $intro_id) {
@ -374,7 +372,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
// Find our user's account // Find our user's account
$user = DBA::selectFirst('user', [], ['nickname' => $node]); $user = DBA::selectFirst('user', [], ['nickname' => $node]);
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
$message = L10n::t('No user record found for \'%s\' ', $node); $message = DI::l10n()->t('No user record found for \'%s\' ', $node);
System::xmlExit(3, $message); // failure System::xmlExit(3, $message); // failure
// NOTREACHED // NOTREACHED
} }
@ -384,7 +382,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
if (!strstr($my_prvkey, 'PRIVATE KEY')) { if (!strstr($my_prvkey, 'PRIVATE KEY')) {
$message = L10n::t('Our site encryption key is apparently messed up.'); $message = DI::l10n()->t('Our site encryption key is apparently messed up.');
System::xmlExit(3, $message); System::xmlExit(3, $message);
} }
@ -395,7 +393,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
if (!strlen($decrypted_source_url)) { if (!strlen($decrypted_source_url)) {
$message = L10n::t('Empty site URL was provided or URL could not be decrypted by us.'); $message = DI::l10n()->t('Empty site URL was provided or URL could not be decrypted by us.');
System::xmlExit(3, $message); System::xmlExit(3, $message);
// NOTREACHED // NOTREACHED
} }
@ -411,7 +409,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
$contact = DBA::selectFirst('contact', [], ['url' => $newurl, 'uid' => $local_uid]); $contact = DBA::selectFirst('contact', [], ['url' => $newurl, 'uid' => $local_uid]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
// this is either a bogus confirmation (?) or we deleted the original introduction. // this is either a bogus confirmation (?) or we deleted the original introduction.
$message = L10n::t('Contact record was not found for you on our site.'); $message = DI::l10n()->t('Contact record was not found for you on our site.');
System::xmlExit(3, $message); System::xmlExit(3, $message);
return; // NOTREACHED return; // NOTREACHED
} }
@ -425,7 +423,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
$dfrn_record = $contact['id']; $dfrn_record = $contact['id'];
if (!$foreign_pubkey) { if (!$foreign_pubkey) {
$message = L10n::t('Site public key not available in contact record for URL %s.', $decrypted_source_url); $message = DI::l10n()->t('Site public key not available in contact record for URL %s.', $decrypted_source_url);
System::xmlExit(3, $message); System::xmlExit(3, $message);
} }
@ -441,7 +439,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
} }
if (DBA::exists('contact', ['dfrn-id' => $decrypted_dfrn_id])) { if (DBA::exists('contact', ['dfrn-id' => $decrypted_dfrn_id])) {
$message = L10n::t('The ID provided by your system is a duplicate on our system. It should work if you try again.'); $message = DI::l10n()->t('The ID provided by your system is a duplicate on our system. It should work if you try again.');
System::xmlExit(1, $message); // Birthday paradox - duplicate dfrn-id System::xmlExit(1, $message); // Birthday paradox - duplicate dfrn-id
// NOTREACHED // NOTREACHED
} }
@ -452,7 +450,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
intval($dfrn_record) intval($dfrn_record)
); );
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
$message = L10n::t('Unable to set your contact credentials on our system.'); $message = DI::l10n()->t('Unable to set your contact credentials on our system.');
System::xmlExit(3, $message); System::xmlExit(3, $message);
} }
@ -508,7 +506,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
intval($dfrn_record) intval($dfrn_record)
); );
if (!DBA::isResult($r)) { // indicates schema is messed up or total db failure if (!DBA::isResult($r)) { // indicates schema is messed up or total db failure
$message = L10n::t('Unable to update your contact profile details on our system'); $message = DI::l10n()->t('Unable to update your contact profile details on our system');
System::xmlExit(3, $message); System::xmlExit(3, $message);
} }
@ -538,7 +536,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
'to_email' => $combined['email'], 'to_email' => $combined['email'],
'uid' => $combined['uid'], 'uid' => $combined['uid'],
'link' => DI::baseUrl() . '/contact/' . $dfrn_record, 'link' => DI::baseUrl() . '/contact/' . $dfrn_record,
'source_name' => ((strlen(stripslashes($combined['name']))) ? stripslashes($combined['name']) : L10n::t('[Name Withheld]')), 'source_name' => ((strlen(stripslashes($combined['name']))) ? stripslashes($combined['name']) : DI::l10n()->t('[Name Withheld]')),
'source_link' => $combined['url'], 'source_link' => $combined['url'],
'source_photo' => $combined['photo'], 'source_photo' => $combined['photo'],
'verb' => ($mutual ? Activity::FRIEND : Activity::FOLLOW), 'verb' => ($mutual ? Activity::FRIEND : Activity::FOLLOW),

View file

@ -6,13 +6,11 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Module\Security\Login;
use Friendica\Protocol\DFRN; use Friendica\Protocol\DFRN;
use Friendica\Protocol\OStatus; use Friendica\Protocol\OStatus;
use Friendica\Util\Network; use Friendica\Util\Network;
@ -121,7 +119,7 @@ function dfrn_poll_init(App $a)
Session::setVisitorsContacts(); Session::setVisitorsContacts();
if (!$quiet) { if (!$quiet) {
info(L10n::t('%1$s welcomes %2$s', $r[0]['username'], $r[0]['name']) . EOL); info(DI::l10n()->t('%1$s welcomes %2$s', $r[0]['username'], $r[0]['name']) . EOL);
} }
// Visitors get 1 day session. // Visitors get 1 day session.
@ -524,7 +522,7 @@ function dfrn_poll_content(App $a)
Session::setVisitorsContacts(); Session::setVisitorsContacts();
if (!$quiet) { if (!$quiet) {
info(L10n::t('%1$s welcomes %2$s', $r[0]['username'], $r[0]['name']) . EOL); info(DI::l10n()->t('%1$s welcomes %2$s', $r[0]['username'], $r[0]['name']) . EOL);
} }
// Visitors get 1 day session. // Visitors get 1 day session.

View file

@ -14,7 +14,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -99,7 +98,7 @@ function dfrn_request_post(App $a)
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
if (strlen($r[0]['dfrn-id'])) { if (strlen($r[0]['dfrn-id'])) {
// We don't need to be here. It has already happened. // We don't need to be here. It has already happened.
notice(L10n::t("This introduction has already been accepted.") . EOL); notice(DI::l10n()->t("This introduction has already been accepted.") . EOL);
return; return;
} else { } else {
$contact_record = $r[0]; $contact_record = $r[0];
@ -117,18 +116,18 @@ function dfrn_request_post(App $a)
$parms = Probe::profile($dfrn_url); $parms = Probe::profile($dfrn_url);
if (!count($parms)) { if (!count($parms)) {
notice(L10n::t('Profile location is not valid or does not contain profile information.') . EOL); notice(DI::l10n()->t('Profile location is not valid or does not contain profile information.') . EOL);
return; return;
} else { } else {
if (empty($parms['fn'])) { if (empty($parms['fn'])) {
notice(L10n::t('Warning: profile location has no identifiable owner name.') . EOL); notice(DI::l10n()->t('Warning: profile location has no identifiable owner name.') . EOL);
} }
if (empty($parms['photo'])) { if (empty($parms['photo'])) {
notice(L10n::t('Warning: profile location has no profile photo.') . EOL); notice(DI::l10n()->t('Warning: profile location has no profile photo.') . EOL);
} }
$invalid = Probe::validDfrn($parms); $invalid = Probe::validDfrn($parms);
if ($invalid) { if ($invalid) {
notice(L10n::tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL); notice(DI::l10n()->tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL);
return; return;
} }
} }
@ -166,7 +165,7 @@ function dfrn_request_post(App $a)
} }
if ($r) { if ($r) {
info(L10n::t("Introduction complete.") . EOL); info(DI::l10n()->t("Introduction complete.") . EOL);
} }
$r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `site-pubkey` = '%s' LIMIT 1", $r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `site-pubkey` = '%s' LIMIT 1",
@ -202,7 +201,7 @@ function dfrn_request_post(App $a)
} }
// invalid/bogus request // invalid/bogus request
notice(L10n::t('Unrecoverable protocol error.') . EOL); notice(DI::l10n()->t('Unrecoverable protocol error.') . EOL);
DI::baseUrl()->redirect(); DI::baseUrl()->redirect();
return; // NOTREACHED return; // NOTREACHED
} }
@ -229,7 +228,7 @@ function dfrn_request_post(App $a)
* *
*/ */
if (!(is_array($a->profile) && count($a->profile))) { if (!(is_array($a->profile) && count($a->profile))) {
notice(L10n::t('Profile unavailable.') . EOL); notice(DI::l10n()->t('Profile unavailable.') . EOL);
return; return;
} }
@ -250,9 +249,9 @@ function dfrn_request_post(App $a)
intval($uid) intval($uid)
); );
if (DBA::isResult($r) && count($r) > $maxreq) { if (DBA::isResult($r) && count($r) > $maxreq) {
notice(L10n::t('%s has received too many connection requests today.', $a->profile['name']) . EOL); notice(DI::l10n()->t('%s has received too many connection requests today.', $a->profile['name']) . EOL);
notice(L10n::t('Spam protection measures have been invoked.') . EOL); notice(DI::l10n()->t('Spam protection measures have been invoked.') . EOL);
notice(L10n::t('Friends are advised to please try again in 24 hours.') . EOL); notice(DI::l10n()->t('Friends are advised to please try again in 24 hours.') . EOL);
return; return;
} }
} }
@ -276,7 +275,7 @@ function dfrn_request_post(App $a)
$url = trim($_POST['dfrn_url']); $url = trim($_POST['dfrn_url']);
if (!strlen($url)) { if (!strlen($url)) {
notice(L10n::t("Invalid locator") . EOL); notice(DI::l10n()->t("Invalid locator") . EOL);
return; return;
} }
@ -312,10 +311,10 @@ function dfrn_request_post(App $a)
if (DBA::isResult($ret)) { if (DBA::isResult($ret)) {
if (strlen($ret[0]['issued-id'])) { if (strlen($ret[0]['issued-id'])) {
notice(L10n::t('You have already introduced yourself here.') . EOL); notice(DI::l10n()->t('You have already introduced yourself here.') . EOL);
return; return;
} elseif ($ret[0]['rel'] == Contact::FRIEND) { } elseif ($ret[0]['rel'] == Contact::FRIEND) {
notice(L10n::t('Apparently you are already friends with %s.', $a->profile['name']) . EOL); notice(DI::l10n()->t('Apparently you are already friends with %s.', $a->profile['name']) . EOL);
return; return;
} else { } else {
$contact_record = $ret[0]; $contact_record = $ret[0];
@ -335,19 +334,19 @@ function dfrn_request_post(App $a)
} else { } else {
$url = Network::isUrlValid($url); $url = Network::isUrlValid($url);
if (!$url) { if (!$url) {
notice(L10n::t('Invalid profile URL.') . EOL); notice(DI::l10n()->t('Invalid profile URL.') . EOL);
DI::baseUrl()->redirect(DI::args()->getCommand()); DI::baseUrl()->redirect(DI::args()->getCommand());
return; // NOTREACHED return; // NOTREACHED
} }
if (!Network::isUrlAllowed($url)) { if (!Network::isUrlAllowed($url)) {
notice(L10n::t('Disallowed profile URL.') . EOL); notice(DI::l10n()->t('Disallowed profile URL.') . EOL);
DI::baseUrl()->redirect(DI::args()->getCommand()); DI::baseUrl()->redirect(DI::args()->getCommand());
return; // NOTREACHED return; // NOTREACHED
} }
if (Network::isUrlBlocked($url)) { if (Network::isUrlBlocked($url)) {
notice(L10n::t('Blocked domain') . EOL); notice(DI::l10n()->t('Blocked domain') . EOL);
DI::baseUrl()->redirect(DI::args()->getCommand()); DI::baseUrl()->redirect(DI::args()->getCommand());
return; // NOTREACHED return; // NOTREACHED
} }
@ -355,18 +354,18 @@ function dfrn_request_post(App $a)
$parms = Probe::profile(($hcard) ? $hcard : $url); $parms = Probe::profile(($hcard) ? $hcard : $url);
if (!count($parms)) { if (!count($parms)) {
notice(L10n::t('Profile location is not valid or does not contain profile information.') . EOL); notice(DI::l10n()->t('Profile location is not valid or does not contain profile information.') . EOL);
DI::baseUrl()->redirect(DI::args()->getCommand()); DI::baseUrl()->redirect(DI::args()->getCommand());
} else { } else {
if (empty($parms['fn'])) { if (empty($parms['fn'])) {
notice(L10n::t('Warning: profile location has no identifiable owner name.') . EOL); notice(DI::l10n()->t('Warning: profile location has no identifiable owner name.') . EOL);
} }
if (empty($parms['photo'])) { if (empty($parms['photo'])) {
notice(L10n::t('Warning: profile location has no profile photo.') . EOL); notice(DI::l10n()->t('Warning: profile location has no profile photo.') . EOL);
} }
$invalid = Probe::validDfrn($parms); $invalid = Probe::validDfrn($parms);
if ($invalid) { if ($invalid) {
notice(L10n::tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL); notice(DI::l10n()->tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL);
return; return;
} }
@ -414,7 +413,7 @@ function dfrn_request_post(App $a)
} }
} }
if ($r === false) { if ($r === false) {
notice(L10n::t('Failed to update contact record.') . EOL); notice(DI::l10n()->t('Failed to update contact record.') . EOL);
return; return;
} }
@ -434,7 +433,7 @@ function dfrn_request_post(App $a)
// This notice will only be seen by the requestor if the requestor and requestee are on the same server. // This notice will only be seen by the requestor if the requestor and requestee are on the same server.
if (!$failed) { if (!$failed) {
info(L10n::t('Your introduction has been sent.') . EOL); info(DI::l10n()->t('Your introduction has been sent.') . EOL);
} }
// "Homecoming" - send the requestor back to their site to record the introduction. // "Homecoming" - send the requestor back to their site to record the introduction.
@ -472,7 +471,7 @@ function dfrn_request_post(App $a)
// NOTREACHED // NOTREACHED
// END $network != Protocol::PHANTOM // END $network != Protocol::PHANTOM
} else { } else {
notice(L10n::t("Remote subscription can't be done for your network. Please subscribe directly on your system.") . EOL); notice(DI::l10n()->t("Remote subscription can't be done for your network. Please subscribe directly on your system.") . EOL);
return; return;
} }
} return; } return;
@ -488,7 +487,7 @@ function dfrn_request_content(App $a)
// to send us to the post section to record the introduction. // to send us to the post section to record the introduction.
if (!empty($_GET['dfrn_url'])) { if (!empty($_GET['dfrn_url'])) {
if (!local_user()) { if (!local_user()) {
info(L10n::t("Please login to confirm introduction.") . EOL); info(DI::l10n()->t("Please login to confirm introduction.") . EOL);
/* setup the return URL to come back to this page if they use openid */ /* setup the return URL to come back to this page if they use openid */
return Login::form(); return Login::form();
} }
@ -496,7 +495,7 @@ function dfrn_request_content(App $a)
// Edge case, but can easily happen in the wild. This person is authenticated, // Edge case, but can easily happen in the wild. This person is authenticated,
// but not as the person who needs to deal with this request. // but not as the person who needs to deal with this request.
if ($a->user['nickname'] != $a->argv[1]) { if ($a->user['nickname'] != $a->argv[1]) {
notice(L10n::t("Incorrect identity currently logged in. Please login to <strong>this</strong> profile.") . EOL); notice(DI::l10n()->t("Incorrect identity currently logged in. Please login to <strong>this</strong> profile.") . EOL);
return Login::form(); return Login::form();
} }
@ -510,7 +509,7 @@ function dfrn_request_content(App $a)
$_POST["confirm_key"] = $confirm_key; $_POST["confirm_key"] = $confirm_key;
$_POST["localconfirm"] = 1; $_POST["localconfirm"] = 1;
$_POST["hidden-contact"] = 0; $_POST["hidden-contact"] = 0;
$_POST["submit"] = L10n::t('Confirm'); $_POST["submit"] = DI::l10n()->t('Confirm');
dfrn_request_post($a); dfrn_request_post($a);
@ -521,11 +520,11 @@ function dfrn_request_content(App $a)
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$dfrn_url' => $dfrn_url, '$dfrn_url' => $dfrn_url,
'$aes_allow' => (($aes_allow) ? '<input type="hidden" name="aes_allow" value="1" />' : "" ), '$aes_allow' => (($aes_allow) ? '<input type="hidden" name="aes_allow" value="1" />' : "" ),
'$hidethem' => L10n::t('Hide this contact'), '$hidethem' => DI::l10n()->t('Hide this contact'),
'$confirm_key' => $confirm_key, '$confirm_key' => $confirm_key,
'$welcome' => L10n::t('Welcome home %s.', $a->user['username']), '$welcome' => DI::l10n()->t('Welcome home %s.', $a->user['username']),
'$please' => L10n::t('Please confirm your introduction/connection request to %s.', $dfrn_url), '$please' => DI::l10n()->t('Please confirm your introduction/connection request to %s.', $dfrn_url),
'$submit' => L10n::t('Confirm'), '$submit' => DI::l10n()->t('Confirm'),
'$uid' => $_SESSION['uid'], '$uid' => $_SESSION['uid'],
'$nickname' => $a->user['nickname'], '$nickname' => $a->user['nickname'],
'dfrn_rawurl' => $_GET['dfrn_url'] 'dfrn_rawurl' => $_GET['dfrn_url']
@ -561,7 +560,7 @@ function dfrn_request_content(App $a)
'to_email' => $r[0]['email'], 'to_email' => $r[0]['email'],
'uid' => $r[0]['uid'], 'uid' => $r[0]['uid'],
'link' => DI::baseUrl() . '/notifications/intros', 'link' => DI::baseUrl() . '/notifications/intros',
'source_name' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : L10n::t('[Name Withheld]')), 'source_name' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : DI::l10n()->t('[Name Withheld]')),
'source_link' => $r[0]['url'], 'source_link' => $r[0]['url'],
'source_photo' => $r[0]['photo'], 'source_photo' => $r[0]['photo'],
'verb' => Activity::REQ_FRIEND, 'verb' => Activity::REQ_FRIEND,
@ -598,7 +597,7 @@ function dfrn_request_content(App $a)
// Normal web request. Display our user's introduction form. // Normal web request. Display our user's introduction form.
if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { if (Config::get('system', 'block_public') && !Session::isAuthenticated()) {
if (!Config::get('system', 'local_block')) { if (!Config::get('system', 'local_block')) {
notice(L10n::t('Public access denied.') . EOL); notice(DI::l10n()->t('Public access denied.') . EOL);
return; return;
} }
} }
@ -633,25 +632,25 @@ function dfrn_request_content(App $a)
$tpl = Renderer::getMarkupTemplate('auto_request.tpl'); $tpl = Renderer::getMarkupTemplate('auto_request.tpl');
} }
$page_desc = L10n::t("Please enter your 'Identity Address' from one of the following supported communications networks:"); $page_desc = DI::l10n()->t("Please enter your 'Identity Address' from one of the following supported communications networks:");
$invite_desc = L10n::t('If you are not yet a member of the free social web, <a href="%s">follow this link to find a public Friendica site and join us today</a>.', Search::getGlobalDirectory() . '/servers'); $invite_desc = DI::l10n()->t('If you are not yet a member of the free social web, <a href="%s">follow this link to find a public Friendica site and join us today</a>.', Search::getGlobalDirectory() . '/servers');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$header' => L10n::t('Friend/Connection Request'), '$header' => DI::l10n()->t('Friend/Connection Request'),
'$desc' => L10n::t('Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@gnusocial.de'), '$desc' => DI::l10n()->t('Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@gnusocial.de'),
'$pls_answer' => L10n::t('Please answer the following:'), '$pls_answer' => DI::l10n()->t('Please answer the following:'),
'$does_know_you' => ['knowyou', L10n::t('Does %s know you?', $a->profile['name']), false, '', [L10n::t('No'), L10n::t('Yes')]], '$does_know_you' => ['knowyou', DI::l10n()->t('Does %s know you?', $a->profile['name']), false, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
'$add_note' => L10n::t('Add a personal note:'), '$add_note' => DI::l10n()->t('Add a personal note:'),
'$page_desc' => $page_desc, '$page_desc' => $page_desc,
'$friendica' => L10n::t('Friendica'), '$friendica' => DI::l10n()->t('Friendica'),
'$statusnet' => L10n::t("GNU Social \x28Pleroma, Mastodon\x29"), '$statusnet' => DI::l10n()->t("GNU Social \x28Pleroma, Mastodon\x29"),
'$diaspora' => L10n::t("Diaspora \x28Socialhome, Hubzilla\x29"), '$diaspora' => DI::l10n()->t("Diaspora \x28Socialhome, Hubzilla\x29"),
'$diasnote' => L10n::t(' - please do not use this form. Instead, enter %s into your Diaspora search bar.', $target_addr), '$diasnote' => DI::l10n()->t(' - please do not use this form. Instead, enter %s into your Diaspora search bar.', $target_addr),
'$your_address' => L10n::t('Your Identity Address:'), '$your_address' => DI::l10n()->t('Your Identity Address:'),
'$invite_desc' => $invite_desc, '$invite_desc' => $invite_desc,
'$submit' => L10n::t('Submit Request'), '$submit' => DI::l10n()->t('Submit Request'),
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$nickname' => $a->argv[1], '$nickname' => $a->argv[1],
'$name' => $a->profile['name'], '$name' => $a->profile['name'],
'$myaddr' => $myaddr '$myaddr' => $myaddr

View file

@ -9,7 +9,6 @@ use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -166,7 +165,7 @@ function display_fetchauthor($a, $item)
function display_content(App $a, $update = false, $update_uid = 0) function display_content(App $a, $update = false, $update_uid = 0)
{ {
if (Config::get('system','block_public') && !Session::isAuthenticated()) { if (Config::get('system','block_public') && !Session::isAuthenticated()) {
throw new HTTPException\ForbiddenException(L10n::t('Public access denied.')); throw new HTTPException\ForbiddenException(DI::l10n()->t('Public access denied.'));
} }
$o = ''; $o = '';
@ -223,7 +222,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
} }
if (empty($item)) { if (empty($item)) {
throw new HTTPException\NotFoundException(L10n::t('The requested item doesn\'t exist or has been deleted.')); throw new HTTPException\NotFoundException(DI::l10n()->t('The requested item doesn\'t exist or has been deleted.'));
} }
// We are displaying an "alternate" link if that post was public. See issue 2864 // We are displaying an "alternate" link if that post was public. See issue 2864
@ -268,7 +267,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
$is_owner = (local_user() && (in_array($a->profile['profile_uid'], [local_user(), 0])) ? true : false); $is_owner = (local_user() && (in_array($a->profile['profile_uid'], [local_user(), 0])) ? true : false);
if (!empty($a->profile['hidewall']) && !$is_owner && !$is_remote_contact) { if (!empty($a->profile['hidewall']) && !$is_owner && !$is_remote_contact) {
throw new HTTPException\ForbiddenException(L10n::t('Access to this profile has been restricted.')); throw new HTTPException\ForbiddenException(DI::l10n()->t('Access to this profile has been restricted.'));
} }
// We need the editor here to be able to reshare an item. // We need the editor here to be able to reshare an item.
@ -304,7 +303,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
$item = Item::selectFirstForUser($a->profile['profile_uid'], $fields, $condition); $item = Item::selectFirstForUser($a->profile['profile_uid'], $fields, $condition);
if (!DBA::isResult($item)) { if (!DBA::isResult($item)) {
throw new HTTPException\NotFoundException(L10n::t('The requested item doesn\'t exist or has been deleted.')); throw new HTTPException\NotFoundException(DI::l10n()->t('The requested item doesn\'t exist or has been deleted.'));
} }
$item['uri'] = $item['parent-uri']; $item['uri'] = $item['parent-uri'];
@ -384,7 +383,7 @@ function displayShowFeed($item_id, $conversation)
{ {
$xml = DFRN::itemFeed($item_id, $conversation); $xml = DFRN::itemFeed($item_id, $conversation);
if ($xml == '') { if ($xml == '') {
throw new HTTPException\InternalServerErrorException(L10n::t('The feed for this item is unavailable.')); throw new HTTPException\InternalServerErrorException(DI::l10n()->t('The feed for this item is unavailable.'));
} }
header("Content-type: application/atom+xml"); header("Content-type: application/atom+xml");
echo $xml; echo $xml;

View file

@ -6,7 +6,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -20,14 +19,14 @@ function editpost_content(App $a)
$o = ''; $o = '';
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
$post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0); $post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
if (!$post_id) { if (!$post_id) {
notice(L10n::t('Item not found') . EOL); notice(DI::l10n()->t('Item not found') . EOL);
return; return;
} }
@ -37,19 +36,19 @@ function editpost_content(App $a)
$item = Item::selectFirstForUser(local_user(), $fields, ['id' => $post_id, 'uid' => local_user()]); $item = Item::selectFirstForUser(local_user(), $fields, ['id' => $post_id, 'uid' => local_user()]);
if (!DBA::isResult($item)) { if (!DBA::isResult($item)) {
notice(L10n::t('Item not found') . EOL); notice(DI::l10n()->t('Item not found') . EOL);
return; return;
} }
$geotag = ''; $geotag = '';
$o .= Renderer::replaceMacros(Renderer::getMarkupTemplate("section_title.tpl"), [ $o .= Renderer::replaceMacros(Renderer::getMarkupTemplate("section_title.tpl"), [
'$title' => L10n::t('Edit post') '$title' => DI::l10n()->t('Edit post')
]); ]);
$tpl = Renderer::getMarkupTemplate('jot-header.tpl'); $tpl = Renderer::getMarkupTemplate('jot-header.tpl');
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
'$ispublic' => '&nbsp;', // L10n::t('Visible to <strong>everybody</strong>'), '$ispublic' => '&nbsp;', // DI::l10n()->t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag, '$geotag' => $geotag,
'$nickname' => $a->user['nickname'] '$nickname' => $a->user['nickname']
]); ]);
@ -70,23 +69,23 @@ function editpost_content(App $a)
'$is_edit' => true, '$is_edit' => true,
'$return_path' => '/display/' . $item['guid'], '$return_path' => '/display/' . $item['guid'],
'$action' => 'item', '$action' => 'item',
'$share' => L10n::t('Save'), '$share' => DI::l10n()->t('Save'),
'$upload' => L10n::t('Upload photo'), '$upload' => DI::l10n()->t('Upload photo'),
'$shortupload' => L10n::t('upload photo'), '$shortupload' => DI::l10n()->t('upload photo'),
'$attach' => L10n::t('Attach file'), '$attach' => DI::l10n()->t('Attach file'),
'$shortattach' => L10n::t('attach file'), '$shortattach' => DI::l10n()->t('attach file'),
'$weblink' => L10n::t('Insert web link'), '$weblink' => DI::l10n()->t('Insert web link'),
'$shortweblink' => L10n::t('web link'), '$shortweblink' => DI::l10n()->t('web link'),
'$video' => L10n::t('Insert video link'), '$video' => DI::l10n()->t('Insert video link'),
'$shortvideo' => L10n::t('video link'), '$shortvideo' => DI::l10n()->t('video link'),
'$audio' => L10n::t('Insert audio link'), '$audio' => DI::l10n()->t('Insert audio link'),
'$shortaudio' => L10n::t('audio link'), '$shortaudio' => DI::l10n()->t('audio link'),
'$setloc' => L10n::t('Set your location'), '$setloc' => DI::l10n()->t('Set your location'),
'$shortsetloc' => L10n::t('set location'), '$shortsetloc' => DI::l10n()->t('set location'),
'$noloc' => L10n::t('Clear browser location'), '$noloc' => DI::l10n()->t('Clear browser location'),
'$shortnoloc' => L10n::t('clear location'), '$shortnoloc' => DI::l10n()->t('clear location'),
'$wait' => L10n::t('Please wait'), '$wait' => DI::l10n()->t('Please wait'),
'$permset' => L10n::t('Permission settings'), '$permset' => DI::l10n()->t('Permission settings'),
'$wall' => $item['wall'], '$wall' => $item['wall'],
'$posttype' => $item['post-type'], '$posttype' => $item['post-type'],
'$content' => undo_post_tagging($item['body']), '$content' => undo_post_tagging($item['body']),
@ -94,28 +93,28 @@ function editpost_content(App $a)
'$defloc' => $a->user['default-location'], '$defloc' => $a->user['default-location'],
'$visitor' => 'none', '$visitor' => 'none',
'$pvisit' => 'none', '$pvisit' => 'none',
'$emailcc' => L10n::t('CC: email addresses'), '$emailcc' => DI::l10n()->t('CC: email addresses'),
'$public' => L10n::t('Public post'), '$public' => DI::l10n()->t('Public post'),
'$jotnets' => $jotnets, '$jotnets' => $jotnets,
'$title' => $item['title'], '$title' => $item['title'],
'$placeholdertitle' => L10n::t('Set title'), '$placeholdertitle' => DI::l10n()->t('Set title'),
'$category' => FileTag::fileToList($item['file'], 'category'), '$category' => FileTag::fileToList($item['file'], 'category'),
'$placeholdercategory' => (Feature::isEnabled(local_user(),'categories') ? L10n::t("Categories \x28comma-separated list\x29") : ''), '$placeholdercategory' => (Feature::isEnabled(local_user(),'categories') ? DI::l10n()->t("Categories \x28comma-separated list\x29") : ''),
'$emtitle' => L10n::t('Example: bob@example.com, mary@example.com'), '$emtitle' => DI::l10n()->t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $lockstate, '$lockstate' => $lockstate,
'$acl' => '', // populate_acl((($group) ? $group_acl : $a->user)), '$acl' => '', // populate_acl((($group) ? $group_acl : $a->user)),
'$bang' => ($lockstate === 'lock' ? '!' : ''), '$bang' => ($lockstate === 'lock' ? '!' : ''),
'$profile_uid' => $_SESSION['uid'], '$profile_uid' => $_SESSION['uid'],
'$preview' => L10n::t('Preview'), '$preview' => DI::l10n()->t('Preview'),
'$jotplugins' => $jotplugins, '$jotplugins' => $jotplugins,
'$sourceapp' => L10n::t($a->sourcename), '$sourceapp' => DI::l10n()->t($a->sourcename),
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$rand_num' => Crypto::randomDigits(12), '$rand_num' => Crypto::randomDigits(12),
//jot nav tab (used in some themes) //jot nav tab (used in some themes)
'$message' => L10n::t('Message'), '$message' => DI::l10n()->t('Message'),
'$browser' => L10n::t('Browser'), '$browser' => DI::l10n()->t('Browser'),
'$shortpermset' => L10n::t('permissions'), '$shortpermset' => DI::l10n()->t('permissions'),
]); ]);
return $o; return $o;

View file

@ -8,7 +8,6 @@ use Friendica\App;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Widget\CalendarExport; use Friendica\Content\Widget\CalendarExport;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Theme; use Friendica\Core\Theme;
@ -117,18 +116,18 @@ function events_post(App $a)
$onerror_path = 'events/' . $action . '?' . http_build_query($params, null, null, PHP_QUERY_RFC3986); $onerror_path = 'events/' . $action . '?' . http_build_query($params, null, null, PHP_QUERY_RFC3986);
if (strcmp($finish, $start) < 0 && !$nofinish) { if (strcmp($finish, $start) < 0 && !$nofinish) {
notice(L10n::t('Event can not end before it has started.') . EOL); notice(DI::l10n()->t('Event can not end before it has started.') . EOL);
if (intval($_REQUEST['preview'])) { if (intval($_REQUEST['preview'])) {
echo L10n::t('Event can not end before it has started.'); echo DI::l10n()->t('Event can not end before it has started.');
exit(); exit();
} }
DI::baseUrl()->redirect($onerror_path); DI::baseUrl()->redirect($onerror_path);
} }
if (!$summary || ($start === DBA::NULL_DATETIME)) { if (!$summary || ($start === DBA::NULL_DATETIME)) {
notice(L10n::t('Event title and start time are required.') . EOL); notice(DI::l10n()->t('Event title and start time are required.') . EOL);
if (intval($_REQUEST['preview'])) { if (intval($_REQUEST['preview'])) {
echo L10n::t('Event title and start time are required.'); echo DI::l10n()->t('Event title and start time are required.');
exit(); exit();
} }
DI::baseUrl()->redirect($onerror_path); DI::baseUrl()->redirect($onerror_path);
@ -210,7 +209,7 @@ function events_post(App $a)
function events_content(App $a) function events_content(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return Login::form(); return Login::form();
} }
@ -391,20 +390,20 @@ function events_content(App $a)
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$tabs' => $tabs, '$tabs' => $tabs,
'$title' => L10n::t('Events'), '$title' => DI::l10n()->t('Events'),
'$view' => L10n::t('View'), '$view' => DI::l10n()->t('View'),
'$new_event' => [DI::baseUrl() . '/events/new', L10n::t('Create New Event'), '', ''], '$new_event' => [DI::baseUrl() . '/events/new', DI::l10n()->t('Create New Event'), '', ''],
'$previous' => [DI::baseUrl() . '/events/$prevyear/$prevmonth', L10n::t('Previous'), '', ''], '$previous' => [DI::baseUrl() . '/events/$prevyear/$prevmonth', DI::l10n()->t('Previous'), '', ''],
'$next' => [DI::baseUrl() . '/events/$nextyear/$nextmonth', L10n::t('Next'), '', ''], '$next' => [DI::baseUrl() . '/events/$nextyear/$nextmonth', DI::l10n()->t('Next'), '', ''],
'$calendar' => Temporal::getCalendarTable($y, $m, $links, ' eventcal'), '$calendar' => Temporal::getCalendarTable($y, $m, $links, ' eventcal'),
'$events' => $events, '$events' => $events,
'$today' => L10n::t('today'), '$today' => DI::l10n()->t('today'),
'$month' => L10n::t('month'), '$month' => DI::l10n()->t('month'),
'$week' => L10n::t('week'), '$week' => DI::l10n()->t('week'),
'$day' => L10n::t('day'), '$day' => DI::l10n()->t('day'),
'$list' => L10n::t('list'), '$list' => DI::l10n()->t('list'),
]); ]);
if (!empty($_GET['id'])) { if (!empty($_GET['id'])) {
@ -505,14 +504,14 @@ function events_content(App $a)
'$cid' => $cid, '$cid' => $cid,
'$uri' => $uri, '$uri' => $uri,
'$title' => L10n::t('Event details'), '$title' => DI::l10n()->t('Event details'),
'$desc' => L10n::t('Starting date and Title are required.'), '$desc' => DI::l10n()->t('Starting date and Title are required.'),
'$s_text' => L10n::t('Event Starts:') . ' <span class="required" title="' . L10n::t('Required') . '">*</span>', '$s_text' => DI::l10n()->t('Event Starts:') . ' <span class="required" title="' . DI::l10n()->t('Required') . '">*</span>',
'$s_dsel' => Temporal::getDateTimeField( '$s_dsel' => Temporal::getDateTimeField(
new DateTime(), new DateTime(),
DateTime::createFromFormat('Y', intval($syear) + 5), DateTime::createFromFormat('Y', intval($syear) + 5),
DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"), DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"),
L10n::t('Event Starts:'), DI::l10n()->t('Event Starts:'),
'start_text', 'start_text',
true, true,
true, true,
@ -520,39 +519,39 @@ function events_content(App $a)
'', '',
true true
), ),
'$n_text' => L10n::t('Finish date/time is not known or not relevant'), '$n_text' => DI::l10n()->t('Finish date/time is not known or not relevant'),
'$n_checked' => $n_checked, '$n_checked' => $n_checked,
'$f_text' => L10n::t('Event Finishes:'), '$f_text' => DI::l10n()->t('Event Finishes:'),
'$f_dsel' => Temporal::getDateTimeField( '$f_dsel' => Temporal::getDateTimeField(
new DateTime(), new DateTime(),
DateTime::createFromFormat('Y', intval($fyear) + 5), DateTime::createFromFormat('Y', intval($fyear) + 5),
DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"), DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"),
L10n::t('Event Finishes:'), DI::l10n()->t('Event Finishes:'),
'finish_text', 'finish_text',
true, true,
true, true,
'start_text' 'start_text'
), ),
'$a_text' => L10n::t('Adjust for viewer timezone'), '$a_text' => DI::l10n()->t('Adjust for viewer timezone'),
'$a_checked' => $a_checked, '$a_checked' => $a_checked,
'$d_text' => L10n::t('Description:'), '$d_text' => DI::l10n()->t('Description:'),
'$d_orig' => $d_orig, '$d_orig' => $d_orig,
'$l_text' => L10n::t('Location:'), '$l_text' => DI::l10n()->t('Location:'),
'$l_orig' => $l_orig, '$l_orig' => $l_orig,
'$t_text' => L10n::t('Title:') . ' <span class="required" title="' . L10n::t('Required') . '">*</span>', '$t_text' => DI::l10n()->t('Title:') . ' <span class="required" title="' . DI::l10n()->t('Required') . '">*</span>',
'$t_orig' => $t_orig, '$t_orig' => $t_orig,
'$summary' => ['summary', L10n::t('Title:'), $t_orig, '', '*'], '$summary' => ['summary', DI::l10n()->t('Title:'), $t_orig, '', '*'],
'$sh_text' => L10n::t('Share this event'), '$sh_text' => DI::l10n()->t('Share this event'),
'$share' => ['share', L10n::t('Share this event'), $share_checked, '', $share_disabled], '$share' => ['share', DI::l10n()->t('Share this event'), $share_checked, '', $share_disabled],
'$sh_checked' => $share_checked, '$sh_checked' => $share_checked,
'$nofinish' => ['nofinish', L10n::t('Finish date/time is not known or not relevant'), $n_checked], '$nofinish' => ['nofinish', DI::l10n()->t('Finish date/time is not known or not relevant'), $n_checked],
'$adjust' => ['adjust', L10n::t('Adjust for viewer timezone'), $a_checked], '$adjust' => ['adjust', DI::l10n()->t('Adjust for viewer timezone'), $a_checked],
'$preview' => L10n::t('Preview'), '$preview' => DI::l10n()->t('Preview'),
'$acl' => $acl, '$acl' => $acl,
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$basic' => L10n::t('Basic'), '$basic' => DI::l10n()->t('Basic'),
'$advanced' => L10n::t('Advanced'), '$advanced' => DI::l10n()->t('Advanced'),
'$permissions' => L10n::t('Permissions'), '$permissions' => DI::l10n()->t('Permissions'),
]); ]);
return $o; return $o;
@ -568,9 +567,9 @@ function events_content(App $a)
} }
if (Item::exists(['id' => $ev[0]['itemid']])) { if (Item::exists(['id' => $ev[0]['itemid']])) {
notice(L10n::t('Failed to remove event') . EOL); notice(DI::l10n()->t('Failed to remove event') . EOL);
} else { } else {
info(L10n::t('Event removed') . EOL); info(DI::l10n()->t('Event removed') . EOL);
} }
DI::baseUrl()->redirect('events'); DI::baseUrl()->redirect('events');

View file

@ -6,7 +6,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -40,7 +39,7 @@ function fbrowser_content(App $a)
switch ($a->argv[1]) { switch ($a->argv[1]) {
case "image": case "image":
$path = [["", L10n::t("Photos")]]; $path = [["", DI::l10n()->t("Photos")]];
$albums = false; $albums = false;
$sql_extra = ""; $sql_extra = "";
$sql_extra2 = " ORDER BY created DESC LIMIT 0, 10"; $sql_extra2 = " ORDER BY created DESC LIMIT 0, 10";
@ -49,7 +48,7 @@ function fbrowser_content(App $a)
$albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' ", $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' ",
intval(local_user()), intval(local_user()),
DBA::escape('Contact Photos'), DBA::escape('Contact Photos'),
DBA::escape(L10n::t('Contact Photos')) DBA::escape(DI::l10n()->t('Contact Photos'))
); );
function _map_folder1($el) function _map_folder1($el)
@ -73,7 +72,7 @@ function fbrowser_content(App $a)
GROUP BY `resource-id` $sql_extra2", GROUP BY `resource-id` $sql_extra2",
intval(local_user()), intval(local_user()),
DBA::escape('Contact Photos'), DBA::escape('Contact Photos'),
DBA::escape(L10n::t('Contact Photos')) DBA::escape(DI::l10n()->t('Contact Photos'))
); );
function _map_files1($rr) function _map_files1($rr)
@ -107,9 +106,9 @@ function fbrowser_content(App $a)
'$path' => $path, '$path' => $path,
'$folders' => $albums, '$folders' => $albums,
'$files' => $files, '$files' => $files,
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$nickname' => $a->user['nickname'], '$nickname' => $a->user['nickname'],
'$upload' => L10n::t('Upload') '$upload' => DI::l10n()->t('Upload')
]); ]);
break; break;
@ -133,12 +132,12 @@ function fbrowser_content(App $a)
$tpl = Renderer::getMarkupTemplate($template_file); $tpl = Renderer::getMarkupTemplate($template_file);
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$type' => 'file', '$type' => 'file',
'$path' => [ [ "", L10n::t("Files")] ], '$path' => [ [ "", DI::l10n()->t("Files")] ],
'$folders' => false, '$folders' => false,
'$files' => $files, '$files' => $files,
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$nickname' => $a->user['nickname'], '$nickname' => $a->user['nickname'],
'$upload' => L10n::t('Upload') '$upload' => DI::l10n()->t('Upload')
]); ]);
} }

View file

@ -4,10 +4,8 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\System;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Model\Profile; use Friendica\Model\Profile;
@ -18,7 +16,7 @@ use Friendica\Util\Strings;
function follow_post(App $a) function follow_post(App $a)
{ {
if (!local_user()) { if (!local_user()) {
throw new \Friendica\Network\HTTPException\ForbiddenException(L10n::t('Access denied.')); throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
} }
if (isset($_REQUEST['cancel'])) { if (isset($_REQUEST['cancel'])) {
@ -44,7 +42,7 @@ function follow_post(App $a)
DI::baseUrl()->redirect('contact/' . $result['cid']); DI::baseUrl()->redirect('contact/' . $result['cid']);
} }
info(L10n::t('The contact could not be added.')); info(DI::l10n()->t('The contact could not be added.'));
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
// NOTREACHED // NOTREACHED
@ -55,7 +53,7 @@ function follow_content(App $a)
$return_path = 'contact'; $return_path = 'contact';
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.')); notice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
// NOTREACHED // NOTREACHED
} }
@ -74,7 +72,7 @@ function follow_content(App $a)
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
} }
$submit = L10n::t('Submit Request'); $submit = DI::l10n()->t('Submit Request');
// Don't try to add a pending contact // Don't try to add a pending contact
$r = q("SELECT `pending` FROM `contact` WHERE `uid` = %d AND ((`rel` != %d) OR (`network` = '%s')) AND $r = q("SELECT `pending` FROM `contact` WHERE `uid` = %d AND ((`rel` != %d) OR (`network` = '%s')) AND
@ -85,7 +83,7 @@ function follow_content(App $a)
if ($r) { if ($r) {
if ($r[0]['pending']) { if ($r[0]['pending']) {
notice(L10n::t('You already added this contact.')); notice(DI::l10n()->t('You already added this contact.'));
$submit = ''; $submit = '';
//$a->internalRedirect($_SESSION['return_path']); //$a->internalRedirect($_SESSION['return_path']);
// NOTREACHED // NOTREACHED
@ -97,21 +95,21 @@ function follow_content(App $a)
$protocol = Contact::getProtocol($ret['url'], $ret['network']); $protocol = Contact::getProtocol($ret['url'], $ret['network']);
if (($protocol == Protocol::DIASPORA) && !Config::get('system', 'diaspora_enabled')) { if (($protocol == Protocol::DIASPORA) && !Config::get('system', 'diaspora_enabled')) {
notice(L10n::t("Diaspora support isn't enabled. Contact can't be added.")); notice(DI::l10n()->t("Diaspora support isn't enabled. Contact can't be added."));
$submit = ''; $submit = '';
//$a->internalRedirect($_SESSION['return_path']); //$a->internalRedirect($_SESSION['return_path']);
// NOTREACHED // NOTREACHED
} }
if (($protocol == Protocol::OSTATUS) && Config::get('system', 'ostatus_disabled')) { if (($protocol == Protocol::OSTATUS) && Config::get('system', 'ostatus_disabled')) {
notice(L10n::t("OStatus support is disabled. Contact can't be added.")); notice(DI::l10n()->t("OStatus support is disabled. Contact can't be added."));
$submit = ''; $submit = '';
//$a->internalRedirect($_SESSION['return_path']); //$a->internalRedirect($_SESSION['return_path']);
// NOTREACHED // NOTREACHED
} }
if ($protocol == Protocol::PHANTOM) { if ($protocol == Protocol::PHANTOM) {
notice(L10n::t("The network type couldn't be detected. Contact can't be added.")); notice(DI::l10n()->t("The network type couldn't be detected. Contact can't be added."));
$submit = ''; $submit = '';
//$a->internalRedirect($_SESSION['return_path']); //$a->internalRedirect($_SESSION['return_path']);
// NOTREACHED // NOTREACHED
@ -132,7 +130,7 @@ function follow_content(App $a)
$r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($uid)); $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($uid));
if (!$r) { if (!$r) {
notice(L10n::t('Permission denied.')); notice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
// NOTREACHED // NOTREACHED
} }
@ -158,30 +156,30 @@ function follow_content(App $a)
} }
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$header' => L10n::t('Connect/Follow'), '$header' => DI::l10n()->t('Connect/Follow'),
'$desc' => '', '$desc' => '',
'$pls_answer' => L10n::t('Please answer the following:'), '$pls_answer' => DI::l10n()->t('Please answer the following:'),
'$does_know_you' => ['knowyou', L10n::t('Does %s know you?', $ret['name']), false, '', [L10n::t('No'), L10n::t('Yes')]], '$does_know_you' => ['knowyou', DI::l10n()->t('Does %s know you?', $ret['name']), false, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
'$add_note' => L10n::t('Add a personal note:'), '$add_note' => DI::l10n()->t('Add a personal note:'),
'$page_desc' => '', '$page_desc' => '',
'$friendica' => '', '$friendica' => '',
'$statusnet' => '', '$statusnet' => '',
'$diaspora' => '', '$diaspora' => '',
'$diasnote' => '', '$diasnote' => '',
'$your_address' => L10n::t('Your Identity Address:'), '$your_address' => DI::l10n()->t('Your Identity Address:'),
'$invite_desc' => '', '$invite_desc' => '',
'$emailnet' => '', '$emailnet' => '',
'$submit' => $submit, '$submit' => $submit,
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$nickname' => '', '$nickname' => '',
'$name' => $ret['name'], '$name' => $ret['name'],
'$url' => $ret['url'], '$url' => $ret['url'],
'$zrl' => Profile::zrl($ret['url']), '$zrl' => Profile::zrl($ret['url']),
'$url_label' => L10n::t('Profile URL'), '$url_label' => DI::l10n()->t('Profile URL'),
'$myaddr' => $myaddr, '$myaddr' => $myaddr,
'$request' => $request, '$request' => $request,
'$keywords' => $r[0]['keywords'], '$keywords' => $r[0]['keywords'],
'$keywords_label'=> L10n::t('Tags:') '$keywords_label'=> DI::l10n()->t('Tags:')
]); ]);
DI::page()['aside'] = ''; DI::page()['aside'] = '';
@ -193,7 +191,7 @@ function follow_content(App $a)
if ($gcontact_id <> 0) { if ($gcontact_id <> 0) {
$o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'), $o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'),
['$title' => L10n::t('Status Messages and Posts')] ['$title' => DI::l10n()->t('Status Messages and Posts')]
); );
// Show last public posts // Show last public posts

View file

@ -5,9 +5,9 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\L10n;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Friendica\Util\Strings; use Friendica\Util\Strings;
use Friendica\Worker\Delivery; use Friendica\Worker\Delivery;
@ -29,7 +29,7 @@ function fsuggest_post(App $a)
// We do query the "uid" as well to ensure that it is our contact // We do query the "uid" as well to ensure that it is our contact
if (!DBA::exists('contact', ['id' => $contact_id, 'uid' => local_user()])) { if (!DBA::exists('contact', ['id' => $contact_id, 'uid' => local_user()])) {
notice(L10n::t('Contact not found.') . EOL); notice(DI::l10n()->t('Contact not found.') . EOL);
return; return;
} }
@ -41,7 +41,7 @@ function fsuggest_post(App $a)
// We do query the "uid" as well to ensure that it is our contact // We do query the "uid" as well to ensure that it is our contact
$contact = DBA::selectFirst('contact', ['name', 'url', 'request', 'avatar'], ['id' => $suggest_contact_id, 'uid' => local_user()]); $contact = DBA::selectFirst('contact', ['name', 'url', 'request', 'avatar'], ['id' => $suggest_contact_id, 'uid' => local_user()]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
notice(L10n::t('Suggested contact not found.') . EOL); notice(DI::l10n()->t('Suggested contact not found.') . EOL);
return; return;
} }
@ -54,13 +54,13 @@ function fsuggest_post(App $a)
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::SUGGESTION, DBA::lastInsertId()); Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::SUGGESTION, DBA::lastInsertId());
info(L10n::t('Friend suggestion sent.') . EOL); info(DI::l10n()->t('Friend suggestion sent.') . EOL);
} }
function fsuggest_content(App $a) function fsuggest_content(App $a)
{ {
if (! local_user()) { if (! local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -72,13 +72,13 @@ function fsuggest_content(App $a)
$contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]); $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => local_user()]);
if (! DBA::isResult($contact)) { if (! DBA::isResult($contact)) {
notice(L10n::t('Contact not found.') . EOL); notice(DI::l10n()->t('Contact not found.') . EOL);
return; return;
} }
$o = '<h3>' . L10n::t('Suggest Friends') . '</h3>'; $o = '<h3>' . DI::l10n()->t('Suggest Friends') . '</h3>';
$o .= '<div id="fsuggest-desc" >' . L10n::t('Suggest a friend for %s', $contact['name']) . '</div>'; $o .= '<div id="fsuggest-desc" >' . DI::l10n()->t('Suggest a friend for %s', $contact['name']) . '</div>';
$o .= '<form id="fsuggest-form" action="fsuggest/' . $contact_id . '" method="post" >'; $o .= '<form id="fsuggest-form" action="fsuggest/' . $contact_id . '" method="post" >';
@ -89,7 +89,7 @@ function fsuggest_content(App $a)
); );
$o .= '<div id="fsuggest-submit-wrapper"><input id="fsuggest-submit" type="submit" name="submit" value="' . L10n::t('Submit') . '" /></div>'; $o .= '<div id="fsuggest-submit-wrapper"><input id="fsuggest-submit" type="submit" name="submit" value="' . DI::l10n()->t('Submit') . '" /></div>';
$o .= '</form>'; $o .= '</form>';
return $o; return $o;

View file

@ -21,7 +21,6 @@ use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Session; use Friendica\Core\Session;
@ -123,7 +122,7 @@ function item_post(App $a) {
} }
if (!DBA::isResult($toplevel_item)) { if (!DBA::isResult($toplevel_item)) {
notice(L10n::t('Unable to locate original post.') . EOL); notice(DI::l10n()->t('Unable to locate original post.') . EOL);
if (!empty($_REQUEST['return'])) { if (!empty($_REQUEST['return'])) {
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
} }
@ -170,7 +169,7 @@ function item_post(App $a) {
// Now check that valid personal details have been provided // Now check that valid personal details have been provided
if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) { if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
if (!empty($_REQUEST['return'])) { if (!empty($_REQUEST['return'])) {
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
@ -325,7 +324,7 @@ function item_post(App $a) {
if ($preview) { if ($preview) {
exit(); exit();
} }
info(L10n::t('Empty post discarded.') . EOL); info(DI::l10n()->t('Empty post discarded.') . EOL);
if (!empty($_REQUEST['return'])) { if (!empty($_REQUEST['return'])) {
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
} }
@ -797,14 +796,14 @@ function item_post(App $a) {
if (!strlen($addr)) { if (!strlen($addr)) {
continue; continue;
} }
$disclaimer = '<hr />' . L10n::t('This message was sent to you by %s, a member of the Friendica social network.', $a->user['username']) $disclaimer = '<hr />' . DI::l10n()->t('This message was sent to you by %s, a member of the Friendica social network.', $a->user['username'])
. '<br />'; . '<br />';
$disclaimer .= L10n::t('You may visit them online at %s', DI::baseUrl() . '/profile/' . $a->user['nickname']) . EOL; $disclaimer .= DI::l10n()->t('You may visit them online at %s', DI::baseUrl() . '/profile/' . $a->user['nickname']) . EOL;
$disclaimer .= L10n::t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL; $disclaimer .= DI::l10n()->t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL;
if (!$datarray['title']=='') { if (!$datarray['title']=='') {
$subject = Email::encodeHeader($datarray['title'], 'UTF-8'); $subject = Email::encodeHeader($datarray['title'], 'UTF-8');
} else { } else {
$subject = Email::encodeHeader('[Friendica]' . ' ' . L10n::t('%s posted an update.', $a->user['username']), 'UTF-8'); $subject = Email::encodeHeader('[Friendica]' . ' ' . DI::l10n()->t('%s posted an update.', $a->user['username']), 'UTF-8');
} }
$link = '<a href="' . DI::baseUrl() . '/profile/' . $a->user['nickname'] . '"><img src="' . $author['thumb'] . '" alt="' . $a->user['username'] . '" /></a><br /><br />'; $link = '<a href="' . DI::baseUrl() . '/profile/' . $a->user['nickname'] . '"><img src="' . $author['thumb'] . '" alt="' . $a->user['username'] . '" /></a><br /><br />';
$html = Item::prepareBody($datarray); $html = Item::prepareBody($datarray);

View file

@ -4,7 +4,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Group; use Friendica\Model\Group;
@ -45,7 +44,7 @@ function lockview_content(App $a)
Hook::callAll('lockview_content', $item); Hook::callAll('lockview_content', $item);
if ($item['uid'] != local_user()) { if ($item['uid'] != local_user()) {
echo L10n::t('Remote privacy information not available.') . '<br />'; echo DI::l10n()->t('Remote privacy information not available.') . '<br />';
exit(); exit();
} }
@ -56,7 +55,7 @@ function lockview_content(App $a)
&& empty($item['deny_cid']) && empty($item['deny_cid'])
&& empty($item['deny_gid'])) && empty($item['deny_gid']))
{ {
echo L10n::t('Remote privacy information not available.') . '<br />'; echo DI::l10n()->t('Remote privacy information not available.') . '<br />';
exit(); exit();
} }
@ -67,19 +66,19 @@ function lockview_content(App $a)
$deny_users = $aclFormatter->expand($item['deny_cid']); $deny_users = $aclFormatter->expand($item['deny_cid']);
$deny_groups = $aclFormatter->expand($item['deny_gid']); $deny_groups = $aclFormatter->expand($item['deny_gid']);
$o = L10n::t('Visible to:') . '<br />'; $o = DI::l10n()->t('Visible to:') . '<br />';
$l = []; $l = [];
if (count($allowed_groups)) { if (count($allowed_groups)) {
$key = array_search(Group::FOLLOWERS, $allowed_groups); $key = array_search(Group::FOLLOWERS, $allowed_groups);
if ($key !== false) { if ($key !== false) {
$l[] = '<b>' . L10n::t('Followers') . '</b>'; $l[] = '<b>' . DI::l10n()->t('Followers') . '</b>';
unset($allowed_groups[$key]); unset($allowed_groups[$key]);
} }
$key = array_search(Group::MUTUALS, $allowed_groups); $key = array_search(Group::MUTUALS, $allowed_groups);
if ($key !== false) { if ($key !== false) {
$l[] = '<b>' . L10n::t('Mutuals') . '</b>'; $l[] = '<b>' . DI::l10n()->t('Mutuals') . '</b>';
unset($allowed_groups[$key]); unset($allowed_groups[$key]);
} }
@ -108,13 +107,13 @@ function lockview_content(App $a)
if (count($deny_groups)) { if (count($deny_groups)) {
$key = array_search(Group::FOLLOWERS, $deny_groups); $key = array_search(Group::FOLLOWERS, $deny_groups);
if ($key !== false) { if ($key !== false) {
$l[] = '<b><strike>' . L10n::t('Followers') . '</strike></b>'; $l[] = '<b><strike>' . DI::l10n()->t('Followers') . '</strike></b>';
unset($deny_groups[$key]); unset($deny_groups[$key]);
} }
$key = array_search(Group::MUTUALS, $deny_groups); $key = array_search(Group::MUTUALS, $deny_groups);
if ($key !== false) { if ($key !== false) {
$l[] = '<b><strike>' . L10n::t('Mutuals') . '</strike></b>'; $l[] = '<b><strike>' . DI::l10n()->t('Mutuals') . '</strike></b>';
unset($deny_groups[$key]); unset($deny_groups[$key]);
} }

View file

@ -6,7 +6,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -24,7 +23,7 @@ function lostpass_post(App $a)
$condition = ['(`email` = ? OR `nickname` = ?) AND `verified` = 1 AND `blocked` = 0', $loginame, $loginame]; $condition = ['(`email` = ? OR `nickname` = ?) AND `verified` = 1 AND `blocked` = 0', $loginame, $loginame];
$user = DBA::selectFirst('user', ['uid', 'username', 'nickname', 'email', 'language'], $condition); $user = DBA::selectFirst('user', ['uid', 'username', 'nickname', 'email', 'language'], $condition);
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
notice(L10n::t('No valid account found.') . EOL); notice(DI::l10n()->t('No valid account found.') . EOL);
DI::baseUrl()->redirect(); DI::baseUrl()->redirect();
} }
@ -36,13 +35,13 @@ function lostpass_post(App $a)
]; ];
$result = DBA::update('user', $fields, ['uid' => $user['uid']]); $result = DBA::update('user', $fields, ['uid' => $user['uid']]);
if ($result) { if ($result) {
info(L10n::t('Password reset request issued. Check your email.') . EOL); info(DI::l10n()->t('Password reset request issued. Check your email.') . EOL);
} }
$sitename = Config::get('config', 'sitename'); $sitename = Config::get('config', 'sitename');
$resetlink = DI::baseUrl() . '/lostpass/' . $pwdreset_token; $resetlink = DI::baseUrl() . '/lostpass/' . $pwdreset_token;
$preamble = Strings::deindent(L10n::t(' $preamble = Strings::deindent(DI::l10n()->t('
Dear %1$s, Dear %1$s,
A request was recently received at "%2$s" to reset your account A request was recently received at "%2$s" to reset your account
password. In order to confirm this request, please select the verification link password. In order to confirm this request, please select the verification link
@ -53,7 +52,7 @@ function lostpass_post(App $a)
Your password will not be changed unless we can verify that you Your password will not be changed unless we can verify that you
issued this request.', $user['username'], $sitename)); issued this request.', $user['username'], $sitename));
$body = Strings::deindent(L10n::t(' $body = Strings::deindent(DI::l10n()->t('
Follow this link soon to verify your identity: Follow this link soon to verify your identity:
%1$s %1$s
@ -72,7 +71,7 @@ function lostpass_post(App $a)
'to_name' => $user['username'], 'to_name' => $user['username'],
'to_email' => $user['email'], 'to_email' => $user['email'],
'uid' => $user['uid'], 'uid' => $user['uid'],
'subject' => L10n::t('Password reset requested at %s', $sitename), 'subject' => DI::l10n()->t('Password reset requested at %s', $sitename),
'preamble' => $preamble, 'preamble' => $preamble,
'body' => $body 'body' => $body
]); ]);
@ -87,7 +86,7 @@ function lostpass_content(App $a)
$user = DBA::selectFirst('user', ['uid', 'username', 'nickname', 'email', 'pwdreset_time', 'language'], ['pwdreset' => $pwdreset_token]); $user = DBA::selectFirst('user', ['uid', 'username', 'nickname', 'email', 'pwdreset_time', 'language'], ['pwdreset' => $pwdreset_token]);
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
notice(L10n::t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed.")); notice(DI::l10n()->t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed."));
return lostpass_form(); return lostpass_form();
} }
@ -100,7 +99,7 @@ function lostpass_content(App $a)
]; ];
DBA::update('user', $fields, ['uid' => $user['uid']]); DBA::update('user', $fields, ['uid' => $user['uid']]);
notice(L10n::t('Request has expired, please make a new one.')); notice(DI::l10n()->t('Request has expired, please make a new one.'));
return lostpass_form(); return lostpass_form();
} }
@ -115,10 +114,10 @@ function lostpass_form()
{ {
$tpl = Renderer::getMarkupTemplate('lostpass.tpl'); $tpl = Renderer::getMarkupTemplate('lostpass.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Forgot your Password?'), '$title' => DI::l10n()->t('Forgot your Password?'),
'$desc' => L10n::t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'), '$desc' => DI::l10n()->t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'),
'$name' => L10n::t('Nickname or Email: '), '$name' => DI::l10n()->t('Nickname or Email: '),
'$submit' => L10n::t('Reset') '$submit' => DI::l10n()->t('Reset')
]); ]);
return $o; return $o;
@ -133,25 +132,25 @@ function lostpass_generate_password($user)
if (DBA::isResult($result)) { if (DBA::isResult($result)) {
$tpl = Renderer::getMarkupTemplate('pwdreset.tpl'); $tpl = Renderer::getMarkupTemplate('pwdreset.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$lbl1' => L10n::t('Password Reset'), '$lbl1' => DI::l10n()->t('Password Reset'),
'$lbl2' => L10n::t('Your password has been reset as requested.'), '$lbl2' => DI::l10n()->t('Your password has been reset as requested.'),
'$lbl3' => L10n::t('Your new password is'), '$lbl3' => DI::l10n()->t('Your new password is'),
'$lbl4' => L10n::t('Save or copy your new password - and then'), '$lbl4' => DI::l10n()->t('Save or copy your new password - and then'),
'$lbl5' => '<a href="' . DI::baseUrl() . '">' . L10n::t('click here to login') . '</a>.', '$lbl5' => '<a href="' . DI::baseUrl() . '">' . DI::l10n()->t('click here to login') . '</a>.',
'$lbl6' => L10n::t('Your password may be changed from the <em>Settings</em> page after successful login.'), '$lbl6' => DI::l10n()->t('Your password may be changed from the <em>Settings</em> page after successful login.'),
'$newpass' => $new_password, '$newpass' => $new_password,
]); ]);
info("Your password has been reset." . EOL); info("Your password has been reset." . EOL);
$sitename = Config::get('config', 'sitename'); $sitename = Config::get('config', 'sitename');
$preamble = Strings::deindent(L10n::t(' $preamble = Strings::deindent(DI::l10n()->t('
Dear %1$s, Dear %1$s,
Your password has been changed as requested. Please retain this Your password has been changed as requested. Please retain this
information for your records ' . "\x28" . 'or change your password immediately to information for your records ' . "\x28" . 'or change your password immediately to
something that you will remember' . "\x29" . '. something that you will remember' . "\x29" . '.
', $user['username'])); ', $user['username']));
$body = Strings::deindent(L10n::t(' $body = Strings::deindent(DI::l10n()->t('
Your login details are as follows: Your login details are as follows:
Site Location: %1$s Site Location: %1$s
@ -167,7 +166,7 @@ function lostpass_generate_password($user)
'to_name' => $user['username'], 'to_name' => $user['username'],
'to_email' => $user['email'], 'to_email' => $user['email'],
'uid' => $user['uid'], 'uid' => $user['uid'],
'subject' => L10n::t('Your password has been changed at %s', $sitename), 'subject' => DI::l10n()->t('Your password has been changed at %s', $sitename),
'preamble' => $preamble, 'preamble' => $preamble,
'body' => $body 'body' => $body
]); ]);

View file

@ -6,7 +6,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Search; use Friendica\Core\Search;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -46,7 +45,7 @@ function match_content(App $a)
return ''; return '';
} }
if (!$profile['pub_keywords'] && (!$profile['prv_keywords'])) { if (!$profile['pub_keywords'] && (!$profile['prv_keywords'])) {
notice(L10n::t('No keywords to match. Please add keywords to your default profile.') . EOL); notice(DI::l10n()->t('No keywords to match. Please add keywords to your default profile.') . EOL);
return ''; return '';
} }
@ -84,8 +83,8 @@ function match_content(App $a)
$connlnk = DI::baseUrl() . '/follow/?url=' . $profile->url; $connlnk = DI::baseUrl() . '/follow/?url=' . $profile->url;
$photo_menu = [ $photo_menu = [
'profile' => [L10n::t("View Profile"), Contact::magicLink($profile->url)], 'profile' => [DI::l10n()->t("View Profile"), Contact::magicLink($profile->url)],
'follow' => [L10n::t("Connect/Follow"), $connlnk] 'follow' => [DI::l10n()->t("Connect/Follow"), $connlnk]
]; ];
$contact_details = Contact::getDetailsByURL($profile->url, 0); $contact_details = Contact::getDetailsByURL($profile->url, 0);
@ -99,7 +98,7 @@ function match_content(App $a)
'about' => $contact_details['about'] ?? '', 'about' => $contact_details['about'] ?? '',
'account_type' => Contact::getAccountType($contact_details), 'account_type' => Contact::getAccountType($contact_details),
'thumb' => ProxyUtils::proxifyUrl($profile->photo, false, ProxyUtils::SIZE_THUMB), 'thumb' => ProxyUtils::proxifyUrl($profile->photo, false, ProxyUtils::SIZE_THUMB),
'conntxt' => L10n::t('Connect'), 'conntxt' => DI::l10n()->t('Connect'),
'connlnk' => $connlnk, 'connlnk' => $connlnk,
'img_hover' => $profile->tags, 'img_hover' => $profile->tags,
'photo_menu' => $photo_menu, 'photo_menu' => $photo_menu,
@ -112,12 +111,12 @@ function match_content(App $a)
'class' => 'pager', 'class' => 'pager',
'first' => [ 'first' => [
'url' => 'match', 'url' => 'match',
'text' => L10n::t('first'), 'text' => DI::l10n()->t('first'),
'class' => 'previous' . ($start == 0 ? 'disabled' : '') 'class' => 'previous' . ($start == 0 ? 'disabled' : '')
], ],
'next' => [ 'next' => [
'url' => 'match?start=' . $i, 'url' => 'match?start=' . $i,
'text' => L10n::t('next'), 'text' => DI::l10n()->t('next'),
'class' => 'next' . ($i >= $msearch->total ? ' disabled' : '') 'class' => 'next' . ($i >= $msearch->total ? ' disabled' : '')
] ]
]; ];
@ -127,12 +126,12 @@ function match_content(App $a)
} }
if (empty($entries)) { if (empty($entries)) {
info(L10n::t('No matches') . EOL); info(DI::l10n()->t('No matches') . EOL);
} }
$tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl'); $tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Profile Match'), '$title' => DI::l10n()->t('Profile Match'),
'$contacts' => $entries, '$contacts' => $entries,
'$paginate' => $paginate '$paginate' => $paginate
]); ]);

View file

@ -8,7 +8,6 @@ use Friendica\Content\Nav;
use Friendica\Content\Pager; use Friendica\Content\Pager;
use Friendica\Content\Text\BBCode; use Friendica\Content\Text\BBCode;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -29,7 +28,7 @@ function message_init(App $a)
} }
$new = [ $new = [
'label' => L10n::t('New Message'), 'label' => DI::l10n()->t('New Message'),
'url' => 'message/new', 'url' => 'message/new',
'sel' => $a->argc > 1 && $a->argv[1] == 'new', 'sel' => $a->argc > 1 && $a->argv[1] == 'new',
'accesskey' => 'm', 'accesskey' => 'm',
@ -52,7 +51,7 @@ function message_init(App $a)
function message_post(App $a) function message_post(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -66,20 +65,20 @@ function message_post(App $a)
switch ($ret) { switch ($ret) {
case -1: case -1:
notice(L10n::t('No recipient selected.') . EOL); notice(DI::l10n()->t('No recipient selected.') . EOL);
$norecip = true; $norecip = true;
break; break;
case -2: case -2:
notice(L10n::t('Unable to locate contact information.') . EOL); notice(DI::l10n()->t('Unable to locate contact information.') . EOL);
break; break;
case -3: case -3:
notice(L10n::t('Message could not be sent.') . EOL); notice(DI::l10n()->t('Message could not be sent.') . EOL);
break; break;
case -4: case -4:
notice(L10n::t('Message collection failure.') . EOL); notice(DI::l10n()->t('Message collection failure.') . EOL);
break; break;
default: default:
info(L10n::t('Message sent.') . EOL); info(DI::l10n()->t('Message sent.') . EOL);
} }
// fake it to go back to the input form if no recipient listed // fake it to go back to the input form if no recipient listed
@ -97,7 +96,7 @@ function message_content(App $a)
Nav::setSelected('messages'); Nav::setSelected('messages');
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return Login::form(); return Login::form();
} }
@ -106,20 +105,20 @@ function message_content(App $a)
$tpl = Renderer::getMarkupTemplate('mail_head.tpl'); $tpl = Renderer::getMarkupTemplate('mail_head.tpl');
if ($a->argc > 1 && $a->argv[1] == 'new') { if ($a->argc > 1 && $a->argv[1] == 'new') {
$button = [ $button = [
'label' => L10n::t('Discard'), 'label' => DI::l10n()->t('Discard'),
'url' => '/message', 'url' => '/message',
'sel' => 'close', 'sel' => 'close',
]; ];
} else { } else {
$button = [ $button = [
'label' => L10n::t('New Message'), 'label' => DI::l10n()->t('New Message'),
'url' => '/message/new', 'url' => '/message/new',
'sel' => 'new', 'sel' => 'new',
'accesskey' => 'm', 'accesskey' => 'm',
]; ];
} }
$header = Renderer::replaceMacros($tpl, [ $header = Renderer::replaceMacros($tpl, [
'$messages' => L10n::t('Messages'), '$messages' => DI::l10n()->t('Messages'),
'$button' => $button, '$button' => $button,
]); ]);
@ -144,12 +143,12 @@ function message_content(App $a)
//DI::page()['aside'] = ''; //DI::page()['aside'] = '';
return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [
'$method' => 'get', '$method' => 'get',
'$message' => L10n::t('Do you really want to delete this message?'), '$message' => DI::l10n()->t('Do you really want to delete this message?'),
'$extra_inputs' => $inputs, '$extra_inputs' => $inputs,
'$confirm' => L10n::t('Yes'), '$confirm' => DI::l10n()->t('Yes'),
'$confirm_url' => $query['base'], '$confirm_url' => $query['base'],
'$confirm_name' => 'confirmed', '$confirm_name' => 'confirmed',
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
]); ]);
} }
@ -162,17 +161,17 @@ function message_content(App $a)
if ($cmd === 'drop') { if ($cmd === 'drop') {
$message = DBA::selectFirst('mail', ['convid'], ['id' => $a->argv[2], 'uid' => local_user()]); $message = DBA::selectFirst('mail', ['convid'], ['id' => $a->argv[2], 'uid' => local_user()]);
if(!DBA::isResult($message)){ if(!DBA::isResult($message)){
info(L10n::t('Conversation not found.') . EOL); info(DI::l10n()->t('Conversation not found.') . EOL);
DI::baseUrl()->redirect('message'); DI::baseUrl()->redirect('message');
} }
if (DBA::delete('mail', ['id' => $a->argv[2], 'uid' => local_user()])) { if (DBA::delete('mail', ['id' => $a->argv[2], 'uid' => local_user()])) {
info(L10n::t('Message deleted.') . EOL); info(DI::l10n()->t('Message deleted.') . EOL);
} }
$conversation = DBA::selectFirst('mail', ['id'], ['convid' => $message['convid'], 'uid' => local_user()]); $conversation = DBA::selectFirst('mail', ['id'], ['convid' => $message['convid'], 'uid' => local_user()]);
if(!DBA::isResult($conversation)){ if(!DBA::isResult($conversation)){
info(L10n::t('Conversation removed.') . EOL); info(DI::l10n()->t('Conversation removed.') . EOL);
DI::baseUrl()->redirect('message'); DI::baseUrl()->redirect('message');
} }
@ -186,7 +185,7 @@ function message_content(App $a)
$parent = $r[0]['parent-uri']; $parent = $r[0]['parent-uri'];
if (DBA::delete('mail', ['parent-uri' => $parent, 'uid' => local_user()])) { if (DBA::delete('mail', ['parent-uri' => $parent, 'uid' => local_user()])) {
info(L10n::t('Conversation removed.') . EOL); info(DI::l10n()->t('Conversation removed.') . EOL);
} }
} }
DI::baseUrl()->redirect('message'); DI::baseUrl()->redirect('message');
@ -200,7 +199,7 @@ function message_content(App $a)
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$nickname' => $a->user['nickname'], '$nickname' => $a->user['nickname'],
'$linkurl' => L10n::t('Please enter a link URL:') '$linkurl' => DI::l10n()->t('Please enter a link URL:')
]); ]);
$preselect = isset($a->argv[2]) ? [$a->argv[2]] : []; $preselect = isset($a->argv[2]) ? [$a->argv[2]] : [];
@ -242,22 +241,22 @@ function message_content(App $a)
$tpl = Renderer::getMarkupTemplate('prv_message.tpl'); $tpl = Renderer::getMarkupTemplate('prv_message.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$header' => L10n::t('Send Private Message'), '$header' => DI::l10n()->t('Send Private Message'),
'$to' => L10n::t('To:'), '$to' => DI::l10n()->t('To:'),
'$showinputs' => 'true', '$showinputs' => 'true',
'$prefill' => $prefill, '$prefill' => $prefill,
'$preid' => $preid, '$preid' => $preid,
'$subject' => L10n::t('Subject:'), '$subject' => DI::l10n()->t('Subject:'),
'$subjtxt' => $_REQUEST['subject'] ?? '', '$subjtxt' => $_REQUEST['subject'] ?? '',
'$text' => $_REQUEST['body'] ?? '', '$text' => $_REQUEST['body'] ?? '',
'$readonly' => '', '$readonly' => '',
'$yourmessage'=> L10n::t('Your message:'), '$yourmessage'=> DI::l10n()->t('Your message:'),
'$select' => $select, '$select' => $select,
'$parent' => '', '$parent' => '',
'$upload' => L10n::t('Upload photo'), '$upload' => DI::l10n()->t('Upload photo'),
'$insert' => L10n::t('Insert web link'), '$insert' => DI::l10n()->t('Insert web link'),
'$wait' => L10n::t('Please wait'), '$wait' => DI::l10n()->t('Please wait'),
'$submit' => L10n::t('Submit') '$submit' => DI::l10n()->t('Submit')
]); ]);
return $o; return $o;
} }
@ -285,7 +284,7 @@ function message_content(App $a)
$r = get_messages(local_user(), $pager->getStart(), $pager->getItemsPerPage()); $r = get_messages(local_user(), $pager->getStart(), $pager->getItemsPerPage());
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
info(L10n::t('No messages.') . EOL); info(DI::l10n()->t('No messages.') . EOL);
return $o; return $o;
} }
@ -348,7 +347,7 @@ function message_content(App $a)
} }
if (!DBA::isResult($messages)) { if (!DBA::isResult($messages)) {
notice(L10n::t('Message not available.') . EOL); notice(DI::l10n()->t('Message not available.') . EOL);
return $o; return $o;
} }
@ -356,7 +355,7 @@ function message_content(App $a)
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$nickname' => $a->user['nickname'], '$nickname' => $a->user['nickname'],
'$linkurl' => L10n::t('Please enter a link URL:') '$linkurl' => DI::l10n()->t('Please enter a link URL:')
]); ]);
$mails = []; $mails = [];
@ -402,9 +401,9 @@ function message_content(App $a)
'from_photo' => ProxyUtils::proxifyUrl($from_photo, false, ProxyUtils::SIZE_THUMB), 'from_photo' => ProxyUtils::proxifyUrl($from_photo, false, ProxyUtils::SIZE_THUMB),
'subject' => $subject_e, 'subject' => $subject_e,
'body' => $body_e, 'body' => $body_e,
'delete' => L10n::t('Delete message'), 'delete' => DI::l10n()->t('Delete message'),
'to_name' => $to_name_e, 'to_name' => $to_name_e,
'date' => DateTimeFormat::local($message['created'], L10n::t('D, d M Y - g:i A')), 'date' => DateTimeFormat::local($message['created'], DI::l10n()->t('D, d M Y - g:i A')),
'ago' => Temporal::getRelativeDate($message['created']), 'ago' => Temporal::getRelativeDate($message['created']),
]; ];
@ -419,26 +418,26 @@ function message_content(App $a)
'$thread_id' => $a->argv[1], '$thread_id' => $a->argv[1],
'$thread_subject' => $message['title'], '$thread_subject' => $message['title'],
'$thread_seen' => $seen, '$thread_seen' => $seen,
'$delete' => L10n::t('Delete conversation'), '$delete' => DI::l10n()->t('Delete conversation'),
'$canreply' => (($unknown) ? false : '1'), '$canreply' => (($unknown) ? false : '1'),
'$unknown_text' => L10n::t("No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."), '$unknown_text' => DI::l10n()->t("No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."),
'$mails' => $mails, '$mails' => $mails,
// reply // reply
'$header' => L10n::t('Send Reply'), '$header' => DI::l10n()->t('Send Reply'),
'$to' => L10n::t('To:'), '$to' => DI::l10n()->t('To:'),
'$showinputs' => '', '$showinputs' => '',
'$subject' => L10n::t('Subject:'), '$subject' => DI::l10n()->t('Subject:'),
'$subjtxt' => $message['title'], '$subjtxt' => $message['title'],
'$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', '$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ',
'$yourmessage' => L10n::t('Your message:'), '$yourmessage' => DI::l10n()->t('Your message:'),
'$text' => '', '$text' => '',
'$select' => $select, '$select' => $select,
'$parent' => $parent, '$parent' => $parent,
'$upload' => L10n::t('Upload photo'), '$upload' => DI::l10n()->t('Upload photo'),
'$insert' => L10n::t('Insert web link'), '$insert' => DI::l10n()->t('Insert web link'),
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$wait' => L10n::t('Please wait') '$wait' => DI::l10n()->t('Please wait')
]); ]);
return $o; return $o;
@ -508,11 +507,11 @@ function render_messages(array $msg, $t)
foreach ($msg as $rr) { foreach ($msg as $rr) {
if ($rr['unknown']) { if ($rr['unknown']) {
$participants = L10n::t("Unknown sender - %s", $rr['from-name']); $participants = DI::l10n()->t("Unknown sender - %s", $rr['from-name']);
} elseif (Strings::compareLink($rr['from-url'], $myprofile)) { } elseif (Strings::compareLink($rr['from-url'], $myprofile)) {
$participants = L10n::t("You and %s", $rr['name']); $participants = DI::l10n()->t("You and %s", $rr['name']);
} else { } else {
$participants = L10n::t("%s and You", $rr['from-name']); $participants = DI::l10n()->t("%s and You", $rr['from-name']);
} }
$body_e = $rr['body']; $body_e = $rr['body'];
@ -533,13 +532,13 @@ function render_messages(array $msg, $t)
'$sparkle' => ' sparkle', '$sparkle' => ' sparkle',
'$from_photo' => ProxyUtils::proxifyUrl($from_photo, false, ProxyUtils::SIZE_THUMB), '$from_photo' => ProxyUtils::proxifyUrl($from_photo, false, ProxyUtils::SIZE_THUMB),
'$subject' => $rr['title'], '$subject' => $rr['title'],
'$delete' => L10n::t('Delete conversation'), '$delete' => DI::l10n()->t('Delete conversation'),
'$body' => $body_e, '$body' => $body_e,
'$to_name' => $to_name_e, '$to_name' => $to_name_e,
'$date' => DateTimeFormat::local($rr['mailcreated'], L10n::t('D, d M Y - g:i A')), '$date' => DateTimeFormat::local($rr['mailcreated'], DI::l10n()->t('D, d M Y - g:i A')),
'$ago' => Temporal::getRelativeDate($rr['mailcreated']), '$ago' => Temporal::getRelativeDate($rr['mailcreated']),
'$seen' => $rr['mailseen'], '$seen' => $rr['mailseen'],
'$count' => L10n::tt('%d message', '%d messages', $rr['count']), '$count' => DI::l10n()->tt('%d message', '%d messages', $rr['count']),
]); ]);
} }

View file

@ -14,7 +14,6 @@ use Friendica\Content\Text\HTML;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -34,7 +33,7 @@ use Friendica\Util\Strings;
function network_init(App $a) function network_init(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -491,10 +490,10 @@ function networkThreadedView(App $a, $update, $parent)
$o .= $tabs; $o .= $tabs;
if ($gid && ($t = Contact::getOStatusCountByGroupId($gid)) && !DI::pConfig()->get(local_user(), 'system', 'nowarn_insecure')) { if ($gid && ($t = Contact::getOStatusCountByGroupId($gid)) && !DI::pConfig()->get(local_user(), 'system', 'nowarn_insecure')) {
notice(L10n::tt("Warning: This group contains %s member from a network that doesn't allow non public messages.", notice(DI::l10n()->tt("Warning: This group contains %s member from a network that doesn't allow non public messages.",
"Warning: This group contains %s members from a network that doesn't allow non public messages.", "Warning: This group contains %s members from a network that doesn't allow non public messages.",
$t) . EOL); $t) . EOL);
notice(L10n::t("Messages in this group won't be send to these receivers.").EOL); notice(DI::l10n()->t("Messages in this group won't be send to these receivers.").EOL);
} }
Nav::setSelected('network'); Nav::setSelected('network');
@ -561,7 +560,7 @@ function networkThreadedView(App $a, $update, $parent)
if ($update) { if ($update) {
exit(); exit();
} }
notice(L10n::t('No such group') . EOL); notice(DI::l10n()->t('No such group') . EOL);
DI::baseUrl()->redirect('network/0'); DI::baseUrl()->redirect('network/0');
// NOTREACHED // NOTREACHED
} }
@ -582,11 +581,11 @@ function networkThreadedView(App $a, $update, $parent)
$sql_extra3 .= " OR (`thread`.`contact-id` = '$contact_str_self' AND `temp1`.`allow_gid` LIKE '" . Strings::protectSprintf('%<' . intval($gid) . '>%') . "' AND `temp1`.`private`))"; $sql_extra3 .= " OR (`thread`.`contact-id` = '$contact_str_self' AND `temp1`.`allow_gid` LIKE '" . Strings::protectSprintf('%<' . intval($gid) . '>%') . "' AND `temp1`.`private`))";
} else { } else {
$sql_extra3 .= " AND false "; $sql_extra3 .= " AND false ";
info(L10n::t('Group is empty')); info(DI::l10n()->t('Group is empty'));
} }
$o = Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'), [ $o = Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'), [
'$title' => L10n::t('Group: %s', $group['name']) '$title' => DI::l10n()->t('Group: %s', $group['name'])
]) . $o; ]) . $o;
} elseif ($cid) { } elseif ($cid) {
$fields = ['id', 'name', 'network', 'writable', 'nurl', $fields = ['id', 'name', 'network', 'writable', 'nurl',
@ -612,10 +611,10 @@ function networkThreadedView(App $a, $update, $parent)
]) . $o; ]) . $o;
if ($contact['network'] === Protocol::OSTATUS && $contact['writable'] && !DI::pConfig()->get(local_user(),'system','nowarn_insecure')) { if ($contact['network'] === Protocol::OSTATUS && $contact['writable'] && !DI::pConfig()->get(local_user(),'system','nowarn_insecure')) {
notice(L10n::t('Private messages to this person are at risk of public disclosure.') . EOL); notice(DI::l10n()->t('Private messages to this person are at risk of public disclosure.') . EOL);
} }
} else { } else {
notice(L10n::t('Invalid contact.') . EOL); notice(DI::l10n()->t('Invalid contact.') . EOL);
DI::baseUrl()->redirect('network'); DI::baseUrl()->redirect('network');
// NOTREACHED // NOTREACHED
} }
@ -899,38 +898,38 @@ function network_tabs(App $a)
// tabs // tabs
$tabs = [ $tabs = [
[ [
'label' => L10n::t('Latest Activity'), 'label' => DI::l10n()->t('Latest Activity'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['order' => 'activity'])), 'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['order' => 'activity'])),
'sel' => $all_active, 'sel' => $all_active,
'title' => L10n::t('Sort by latest activity'), 'title' => DI::l10n()->t('Sort by latest activity'),
'id' => 'activity-order-tab', 'id' => 'activity-order-tab',
'accesskey' => 'e', 'accesskey' => 'e',
], ],
[ [
'label' => L10n::t('Latest Posts'), 'label' => DI::l10n()->t('Latest Posts'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['order' => 'post'])), 'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['order' => 'post'])),
'sel' => $post_active, 'sel' => $post_active,
'title' => L10n::t('Sort by post received date'), 'title' => DI::l10n()->t('Sort by post received date'),
'id' => 'post-order-tab', 'id' => 'post-order-tab',
'accesskey' => 't', 'accesskey' => 't',
], ],
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Personal'), 'label' => DI::l10n()->t('Personal'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['conv' => true])), 'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['conv' => true])),
'sel' => $conv_active, 'sel' => $conv_active,
'title' => L10n::t('Posts that mention or involve you'), 'title' => DI::l10n()->t('Posts that mention or involve you'),
'id' => 'personal-tab', 'id' => 'personal-tab',
'accesskey' => 'r', 'accesskey' => 'r',
]; ];
if (Feature::isEnabled(local_user(), 'new_tab')) { if (Feature::isEnabled(local_user(), 'new_tab')) {
$tabs[] = [ $tabs[] = [
'label' => L10n::t('New'), 'label' => DI::l10n()->t('New'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['new' => true])), 'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['new' => true])),
'sel' => $new_active, 'sel' => $new_active,
'title' => L10n::t('Activity Stream - by date'), 'title' => DI::l10n()->t('Activity Stream - by date'),
'id' => 'activitiy-by-date-tab', 'id' => 'activitiy-by-date-tab',
'accesskey' => 'w', 'accesskey' => 'w',
]; ];
@ -938,20 +937,20 @@ function network_tabs(App $a)
if (Feature::isEnabled(local_user(), 'link_tab')) { if (Feature::isEnabled(local_user(), 'link_tab')) {
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Shared Links'), 'label' => DI::l10n()->t('Shared Links'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['bmark' => true])), 'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['bmark' => true])),
'sel' => $bookmarked_active, 'sel' => $bookmarked_active,
'title' => L10n::t('Interesting Links'), 'title' => DI::l10n()->t('Interesting Links'),
'id' => 'shared-links-tab', 'id' => 'shared-links-tab',
'accesskey' => 'b', 'accesskey' => 'b',
]; ];
} }
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Starred'), 'label' => DI::l10n()->t('Starred'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['star' => true])), 'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['star' => true])),
'sel' => $starred_active, 'sel' => $starred_active,
'title' => L10n::t('Favourite Posts'), 'title' => DI::l10n()->t('Favourite Posts'),
'id' => 'starred-posts-tab', 'id' => 'starred-posts-tab',
'accesskey' => 'm', 'accesskey' => 'm',
]; ];

View file

@ -6,7 +6,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Pager; use Friendica\Content\Pager;
use Friendica\Core\L10n;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Item; use Friendica\Model\Item;
@ -25,14 +24,14 @@ function notes_init(App $a)
function notes_content(App $a, $update = false) function notes_content(App $a, $update = false)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
$o = Profile::getTabs($a, 'notes', true); $o = Profile::getTabs($a, 'notes', true);
if (!$update) { if (!$update) {
$o .= '<h3>' . L10n::t('Personal Notes') . '</h3>'; $o .= '<h3>' . DI::l10n()->t('Personal Notes') . '</h3>';
$x = [ $x = [
'is_owner' => true, 'is_owner' => true,
@ -44,7 +43,7 @@ function notes_content(App $a, $update = false)
'bang' => '', 'bang' => '',
'visitor' => 'block', 'visitor' => 'block',
'profile_uid' => local_user(), 'profile_uid' => local_user(),
'button' => L10n::t('Save'), 'button' => DI::l10n()->t('Save'),
'acl_data' => '', 'acl_data' => '',
]; ];

View file

@ -8,15 +8,12 @@ use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Pager; use Friendica\Content\Pager;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Module\Security\Login; use Friendica\Module\Security\Login;
use Friendica\Model\Contact;
use Friendica\Model\Introduction;
function notifications_post(App $a) function notifications_post(App $a)
{ {
@ -34,10 +31,10 @@ function notifications_post(App $a)
$intro = DI::intro()->selectFirst(['id' => $request_id, 'uid' => local_user()]); $intro = DI::intro()->selectFirst(['id' => $request_id, 'uid' => local_user()]);
switch ($_POST['submit']) { switch ($_POST['submit']) {
case L10n::t('Discard'): case DI::l10n()->t('Discard'):
$intro->discard(); $intro->discard();
break; break;
case L10n::t('Ignore'): case DI::l10n()->t('Ignore'):
$intro->ignore(); $intro->ignore();
break; break;
} }
@ -49,7 +46,7 @@ function notifications_post(App $a)
function notifications_content(App $a) function notifications_content(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return Login::form(); return Login::form();
} }
@ -72,7 +69,7 @@ function notifications_content(App $a)
$perpage = 20; $perpage = 20;
$startrec = ($page * $perpage) - $perpage; $startrec = ($page * $perpage) - $perpage;
$notif_header = L10n::t('Notifications'); $notif_header = DI::l10n()->t('Notifications');
$all = false; $all = false;
@ -91,22 +88,22 @@ function notifications_content(App $a)
// Get the network notifications // Get the network notifications
} elseif (($a->argc > 1) && ($a->argv[1] == 'network')) { } elseif (($a->argc > 1) && ($a->argv[1] == 'network')) {
$notif_header = L10n::t('Network Notifications'); $notif_header = DI::l10n()->t('Network Notifications');
$notifs = $nm->getNetworkList($show, $startrec, $perpage); $notifs = $nm->getNetworkList($show, $startrec, $perpage);
// Get the system notifications // Get the system notifications
} elseif (($a->argc > 1) && ($a->argv[1] == 'system')) { } elseif (($a->argc > 1) && ($a->argv[1] == 'system')) {
$notif_header = L10n::t('System Notifications'); $notif_header = DI::l10n()->t('System Notifications');
$notifs = $nm->getSystemList($show, $startrec, $perpage); $notifs = $nm->getSystemList($show, $startrec, $perpage);
// Get the personal notifications // Get the personal notifications
} elseif (($a->argc > 1) && ($a->argv[1] == 'personal')) { } elseif (($a->argc > 1) && ($a->argv[1] == 'personal')) {
$notif_header = L10n::t('Personal Notifications'); $notif_header = DI::l10n()->t('Personal Notifications');
$notifs = $nm->getPersonalList($show, $startrec, $perpage); $notifs = $nm->getPersonalList($show, $startrec, $perpage);
// Get the home notifications // Get the home notifications
} elseif (($a->argc > 1) && ($a->argv[1] == 'home')) { } elseif (($a->argc > 1) && ($a->argv[1] == 'home')) {
$notif_header = L10n::t('Home Notifications'); $notif_header = DI::l10n()->t('Home Notifications');
$notifs = $nm->getHomeList($show, $startrec, $perpage); $notifs = $nm->getHomeList($show, $startrec, $perpage);
// fallback - redirect to main page // fallback - redirect to main page
} else { } else {
@ -129,7 +126,7 @@ function notifications_content(App $a)
$notif_show_lnk = [ $notif_show_lnk = [
'href' => ($show ? 'notifications/' . $notifs['ident'] : 'notifications/' . $notifs['ident'] . '?show=all' ), 'href' => ($show ? 'notifications/' . $notifs['ident'] : 'notifications/' . $notifs['ident'] . '?show=all' ),
'text' => ($show ? L10n::t('Show unread') : L10n::t('Show all')), 'text' => ($show ? DI::l10n()->t('Show unread') : DI::l10n()->t('Show all')),
]; ];
// Process the data for template creation // Process the data for template creation
@ -140,7 +137,7 @@ function notifications_content(App $a)
// The link to switch between ignored and normal connection requests // The link to switch between ignored and normal connection requests
$notif_show_lnk = [ $notif_show_lnk = [
'href' => (!$all ? 'notifications/intros/all' : 'notifications/intros' ), 'href' => (!$all ? 'notifications/intros/all' : 'notifications/intros' ),
'text' => (!$all ? L10n::t('Show Ignored Requests') : L10n::t('Hide Ignored Requests')) 'text' => (!$all ? DI::l10n()->t('Show Ignored Requests') : DI::l10n()->t('Hide Ignored Requests'))
]; ];
// Loop through all introduction notifications.This creates an array with the output html for each // Loop through all introduction notifications.This creates an array with the output html for each
@ -153,10 +150,10 @@ function notifications_content(App $a)
case 'friend_suggestion': case 'friend_suggestion':
$notif_content[] = Renderer::replaceMacros($sugg, [ $notif_content[] = Renderer::replaceMacros($sugg, [
'$type' => $notif['label'], '$type' => $notif['label'],
'$str_notifytype' => L10n::t('Notification type:'), '$str_notifytype' => DI::l10n()->t('Notification type:'),
'$notify_type'=> $notif['notify_type'], '$notify_type'=> $notif['notify_type'],
'$intro_id' => $notif['intro_id'], '$intro_id' => $notif['intro_id'],
'$lbl_madeby' => L10n::t('Suggested by:'), '$lbl_madeby' => DI::l10n()->t('Suggested by:'),
'$madeby' => $notif['madeby'], '$madeby' => $notif['madeby'],
'$madeby_url' => $notif['madeby_url'], '$madeby_url' => $notif['madeby_url'],
'$madeby_zrl' => $notif['madeby_zrl'], '$madeby_zrl' => $notif['madeby_zrl'],
@ -166,15 +163,15 @@ function notifications_content(App $a)
'$fullname' => $notif['name'], '$fullname' => $notif['name'],
'$url' => $notif['url'], '$url' => $notif['url'],
'$zrl' => $notif['zrl'], '$zrl' => $notif['zrl'],
'$lbl_url' => L10n::t('Profile URL'), '$lbl_url' => DI::l10n()->t('Profile URL'),
'$addr' => $notif['addr'], '$addr' => $notif['addr'],
'$hidden' => ['hidden', L10n::t('Hide this contact from others'), ($notif['hidden'] == 1), ''], '$hidden' => ['hidden', DI::l10n()->t('Hide this contact from others'), ($notif['hidden'] == 1), ''],
'$knowyou' => $notif['knowyou'], '$knowyou' => $notif['knowyou'],
'$approve' => L10n::t('Approve'), '$approve' => DI::l10n()->t('Approve'),
'$note' => $notif['note'], '$note' => $notif['note'],
'$request' => $notif['request'], '$request' => $notif['request'],
'$ignore' => L10n::t('Ignore'), '$ignore' => DI::l10n()->t('Ignore'),
'$discard' => L10n::t('Discard'), '$discard' => DI::l10n()->t('Discard'),
]); ]);
break; break;
@ -190,15 +187,15 @@ function notifications_content(App $a)
$helptext3 = ''; $helptext3 = '';
if ($notif['network'] === Protocol::DFRN) { if ($notif['network'] === Protocol::DFRN) {
$lbl_knowyou = L10n::t('Claims to be known to you: '); $lbl_knowyou = DI::l10n()->t('Claims to be known to you: ');
$knowyou = (($notif['knowyou']) ? L10n::t('yes') : L10n::t('no')); $knowyou = (($notif['knowyou']) ? DI::l10n()->t('yes') : DI::l10n()->t('no'));
$helptext = L10n::t('Shall your connection be bidirectional or not?'); $helptext = DI::l10n()->t('Shall your connection be bidirectional or not?');
$helptext2 = L10n::t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notif['name'], $notif['name']); $helptext2 = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notif['name'], $notif['name']);
$helptext3 = L10n::t('Accepting %s as a subscriber allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notif['name']); $helptext3 = DI::l10n()->t('Accepting %s as a subscriber allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notif['name']);
} elseif ($notif['network'] === Protocol::DIASPORA) { } elseif ($notif['network'] === Protocol::DIASPORA) {
$helptext = L10n::t('Shall your connection be bidirectional or not?'); $helptext = DI::l10n()->t('Shall your connection be bidirectional or not?');
$helptext2 = L10n::t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notif['name'], $notif['name']); $helptext2 = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notif['name'], $notif['name']);
$helptext3 = L10n::t('Accepting %s as a sharer allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notif['name']); $helptext3 = DI::l10n()->t('Accepting %s as a sharer allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notif['name']);
} }
$dfrn_tpl = Renderer::getMarkupTemplate('netfriend.tpl'); $dfrn_tpl = Renderer::getMarkupTemplate('netfriend.tpl');
@ -209,8 +206,8 @@ function notifications_content(App $a)
'$approve_as1' => $helptext, '$approve_as1' => $helptext,
'$approve_as2' => $helptext2, '$approve_as2' => $helptext2,
'$approve_as3' => $helptext3, '$approve_as3' => $helptext3,
'$as_friend' => L10n::t('Friend'), '$as_friend' => DI::l10n()->t('Friend'),
'$as_fan' => (($notif['network'] == Protocol::DIASPORA) ? L10n::t('Sharer') : L10n::t('Subscriber')) '$as_fan' => (($notif['network'] == Protocol::DIASPORA) ? DI::l10n()->t('Sharer') : DI::l10n()->t('Subscriber'))
]); ]);
$contact = DBA::selectFirst('contact', ['network', 'protocol'], ['id' => $notif['contact_id']]); $contact = DBA::selectFirst('contact', ['network', 'protocol'], ['id' => $notif['contact_id']]);
@ -230,7 +227,7 @@ function notifications_content(App $a)
$header .= ' (' . ContactSelector::networkToName($notif['network'], $notif['url']) . ')'; $header .= ' (' . ContactSelector::networkToName($notif['network'], $notif['url']) . ')';
if ($notif['network'] != Protocol::DIASPORA) { if ($notif['network'] != Protocol::DIASPORA) {
$discard = L10n::t('Discard'); $discard = DI::l10n()->t('Discard');
} else { } else {
$discard = ''; $discard = '';
} }
@ -238,7 +235,7 @@ function notifications_content(App $a)
$notif_content[] = Renderer::replaceMacros($tpl, [ $notif_content[] = Renderer::replaceMacros($tpl, [
'$type' => $notif['label'], '$type' => $notif['label'],
'$header' => $header, '$header' => $header,
'$str_notifytype' => L10n::t('Notification type:'), '$str_notifytype' => DI::l10n()->t('Notification type:'),
'$notify_type' => $notif['notify_type'], '$notify_type' => $notif['notify_type'],
'$dfrn_text' => $dfrn_text, '$dfrn_text' => $dfrn_text,
'$dfrn_id' => $notif['dfrn_id'], '$dfrn_id' => $notif['dfrn_id'],
@ -248,25 +245,25 @@ function notifications_content(App $a)
'$photo' => $notif['photo'], '$photo' => $notif['photo'],
'$fullname' => $notif['name'], '$fullname' => $notif['name'],
'$location' => $notif['location'], '$location' => $notif['location'],
'$lbl_location'=> L10n::t('Location:'), '$lbl_location'=> DI::l10n()->t('Location:'),
'$about' => $notif['about'], '$about' => $notif['about'],
'$lbl_about' => L10n::t('About:'), '$lbl_about' => DI::l10n()->t('About:'),
'$keywords' => $notif['keywords'], '$keywords' => $notif['keywords'],
'$lbl_keywords'=> L10n::t('Tags:'), '$lbl_keywords'=> DI::l10n()->t('Tags:'),
'$gender' => $notif['gender'], '$gender' => $notif['gender'],
'$lbl_gender' => L10n::t('Gender:'), '$lbl_gender' => DI::l10n()->t('Gender:'),
'$hidden' => ['hidden', L10n::t('Hide this contact from others'), ($notif['hidden'] == 1), ''], '$hidden' => ['hidden', DI::l10n()->t('Hide this contact from others'), ($notif['hidden'] == 1), ''],
'$url' => $notif['url'], '$url' => $notif['url'],
'$zrl' => $notif['zrl'], '$zrl' => $notif['zrl'],
'$lbl_url' => L10n::t('Profile URL'), '$lbl_url' => DI::l10n()->t('Profile URL'),
'$addr' => $notif['addr'], '$addr' => $notif['addr'],
'$lbl_knowyou' => $lbl_knowyou, '$lbl_knowyou' => $lbl_knowyou,
'$lbl_network' => L10n::t('Network:'), '$lbl_network' => DI::l10n()->t('Network:'),
'$network' => ContactSelector::networkToName($notif['network'], $notif['url']), '$network' => ContactSelector::networkToName($notif['network'], $notif['url']),
'$knowyou' => $knowyou, '$knowyou' => $knowyou,
'$approve' => L10n::t('Approve'), '$approve' => DI::l10n()->t('Approve'),
'$note' => $notif['note'], '$note' => $notif['note'],
'$ignore' => L10n::t('Ignore'), '$ignore' => DI::l10n()->t('Ignore'),
'$discard' => $discard, '$discard' => $discard,
'$action' => $action, '$action' => $action,
]); ]);
@ -275,7 +272,7 @@ function notifications_content(App $a)
} }
if (count($notifs['notifications']) == 0) { if (count($notifs['notifications']) == 0) {
info(L10n::t('No introductions.') . EOL); info(DI::l10n()->t('No introductions.') . EOL);
} }
// Normal notifications (no introductions) // Normal notifications (no introductions)
@ -309,7 +306,7 @@ function notifications_content(App $a)
]); ]);
} }
} else { } else {
$notif_nocontent = L10n::t('No more %s notifications.', $notifs['ident']); $notif_nocontent = DI::l10n()->t('No more %s notifications.', $notifs['ident']);
} }
$o .= Renderer::replaceMacros($notif_tpl, [ $o .= Renderer::replaceMacros($notif_tpl, [

View file

@ -3,7 +3,6 @@
* @file mod/oexchange.php * @file mod/oexchange.php
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\DI; use Friendica\DI;
use Friendica\Module\Security\Login; use Friendica\Module\Security\Login;
@ -29,7 +28,7 @@ function oexchange_content(App $a) {
} }
if (($a->argc > 1) && $a->argv[1] === 'done') { if (($a->argc > 1) && $a->argv[1] === 'done') {
info(L10n::t('Post successful.') . EOL); info(DI::l10n()->t('Post successful.') . EOL);
return; return;
} }

View file

@ -4,7 +4,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
@ -14,12 +13,12 @@ use Friendica\Util\Network;
function ostatus_subscribe_content(App $a) function ostatus_subscribe_content(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
DI::baseUrl()->redirect('ostatus_subscribe'); DI::baseUrl()->redirect('ostatus_subscribe');
// NOTREACHED // NOTREACHED
} }
$o = '<h2>' . L10n::t('Subscribing to OStatus contacts') . '</h2>'; $o = '<h2>' . DI::l10n()->t('Subscribing to OStatus contacts') . '</h2>';
$uid = local_user(); $uid = local_user();
@ -29,14 +28,14 @@ function ostatus_subscribe_content(App $a)
if ($_REQUEST['url'] == '') { if ($_REQUEST['url'] == '') {
DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact');
return $o . L10n::t('No contact provided.'); return $o . DI::l10n()->t('No contact provided.');
} }
$contact = Probe::uri($_REQUEST['url']); $contact = Probe::uri($_REQUEST['url']);
if (!$contact) { if (!$contact) {
DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact');
return $o . L10n::t('Couldn\'t fetch information for contact.'); return $o . DI::l10n()->t('Couldn\'t fetch information for contact.');
} }
$api = $contact['baseurl'] . '/api/'; $api = $contact['baseurl'] . '/api/';
@ -46,7 +45,7 @@ function ostatus_subscribe_content(App $a)
if (!$curlResult->isSuccess()) { if (!$curlResult->isSuccess()) {
DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact');
return $o . L10n::t('Couldn\'t fetch friends for contact.'); return $o . DI::l10n()->t('Couldn\'t fetch friends for contact.');
} }
DI::pConfig()->set($uid, 'ostatus', 'legacy_friends', $curlResult->getBody()); DI::pConfig()->set($uid, 'ostatus', 'legacy_friends', $curlResult->getBody());
@ -64,7 +63,7 @@ function ostatus_subscribe_content(App $a)
DI::page()['htmlhead'] = '<meta http-equiv="refresh" content="0; URL=' . DI::baseUrl() . '/settings/connectors">'; DI::page()['htmlhead'] = '<meta http-equiv="refresh" content="0; URL=' . DI::baseUrl() . '/settings/connectors">';
DI::pConfig()->delete($uid, 'ostatus', 'legacy_friends'); DI::pConfig()->delete($uid, 'ostatus', 'legacy_friends');
DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact');
$o .= L10n::t('Done'); $o .= DI::l10n()->t('Done');
return $o; return $o;
} }
@ -78,17 +77,17 @@ function ostatus_subscribe_content(App $a)
if ($probed['network'] == Protocol::OSTATUS) { if ($probed['network'] == Protocol::OSTATUS) {
$result = Contact::createFromProbe($uid, $url, true, Protocol::OSTATUS); $result = Contact::createFromProbe($uid, $url, true, Protocol::OSTATUS);
if ($result['success']) { if ($result['success']) {
$o .= ' - ' . L10n::t('success'); $o .= ' - ' . DI::l10n()->t('success');
} else { } else {
$o .= ' - ' . L10n::t('failed'); $o .= ' - ' . DI::l10n()->t('failed');
} }
} else { } else {
$o .= ' - ' . L10n::t('ignored'); $o .= ' - ' . DI::l10n()->t('ignored');
} }
$o .= '</p>'; $o .= '</p>';
$o .= '<p>' . L10n::t('Keep this window open until done.') . '</p>'; $o .= '<p>' . DI::l10n()->t('Keep this window open until done.') . '</p>';
DI::page()['htmlhead'] = '<meta http-equiv="refresh" content="0; URL=' . DI::baseUrl() . '/ostatus_subscribe?counter=' . $counter . '">'; DI::page()['htmlhead'] = '<meta http-equiv="refresh" content="0; URL=' . DI::baseUrl() . '/ostatus_subscribe?counter=' . $counter . '">';

View file

@ -11,7 +11,6 @@ use Friendica\Content\Text\BBCode;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session; use Friendica\Core\Session;
@ -86,7 +85,7 @@ function photos_init(App $a) {
$ret['albums'] = []; $ret['albums'] = [];
foreach ($albums as $k => $album) { foreach ($albums as $k => $album) {
//hide profile photos to others //hide profile photos to others
if (!$is_owner && !Session::getRemoteContactID($a->profile_uid) && ($album['album'] == L10n::t('Profile Photos'))) if (!$is_owner && !Session::getRemoteContactID($a->profile_uid) && ($album['album'] == DI::l10n()->t('Profile Photos')))
continue; continue;
$entry = [ $entry = [
'text' => $album['album'], 'text' => $album['album'],
@ -108,10 +107,10 @@ function photos_init(App $a) {
if ($ret['success']) { if ($ret['success']) {
$photo_albums_widget = Renderer::replaceMacros(Renderer::getMarkupTemplate('photo_albums.tpl'), [ $photo_albums_widget = Renderer::replaceMacros(Renderer::getMarkupTemplate('photo_albums.tpl'), [
'$nick' => $a->data['user']['nickname'], '$nick' => $a->data['user']['nickname'],
'$title' => L10n::t('Photo Albums'), '$title' => DI::l10n()->t('Photo Albums'),
'$recent' => L10n::t('Recent Photos'), '$recent' => DI::l10n()->t('Recent Photos'),
'$albums' => $ret['albums'], '$albums' => $ret['albums'],
'$upload' => [L10n::t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload'], '$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload'],
'$can_post' => $can_post '$can_post' => $can_post
]); ]);
} }
@ -129,7 +128,7 @@ function photos_init(App $a) {
$tpl = Renderer::getMarkupTemplate("photos_head.tpl"); $tpl = Renderer::getMarkupTemplate("photos_head.tpl");
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl,[ DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl,[
'$ispublic' => L10n::t('everybody') '$ispublic' => DI::l10n()->t('everybody')
]); ]);
} }
@ -159,14 +158,14 @@ function photos_post(App $a)
} }
if (!$can_post) { if (!$can_post) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
exit(); exit();
} }
$owner_record = User::getOwnerDataById($page_owner_uid); $owner_record = User::getOwnerDataById($page_owner_uid);
if (!$owner_record) { if (!$owner_record) {
notice(L10n::t('Contact information unavailable') . EOL); notice(DI::l10n()->t('Contact information unavailable') . EOL);
Logger::log('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid); Logger::log('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
exit(); exit();
} }
@ -177,7 +176,7 @@ function photos_post(App $a)
} }
$album = hex2bin($a->argv[3]); $album = hex2bin($a->argv[3]);
if ($album === L10n::t('Profile Photos') || $album === 'Contact Photos' || $album === L10n::t('Contact Photos')) { if ($album === DI::l10n()->t('Profile Photos') || $album === 'Contact Photos' || $album === DI::l10n()->t('Contact Photos')) {
DI::baseUrl()->redirect($_SESSION['photo_return']); DI::baseUrl()->redirect($_SESSION['photo_return']);
return; // NOTREACHED return; // NOTREACHED
} }
@ -188,7 +187,7 @@ function photos_post(App $a)
); );
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
notice(L10n::t('Album not found.') . EOL); notice(DI::l10n()->t('Album not found.') . EOL);
DI::baseUrl()->redirect($_SESSION['photo_return']); DI::baseUrl()->redirect($_SESSION['photo_return']);
return; // NOTREACHED return; // NOTREACHED
} }
@ -246,9 +245,9 @@ function photos_post(App $a)
// Update the photo albums cache // Update the photo albums cache
Photo::clearAlbumCache($page_owner_uid); Photo::clearAlbumCache($page_owner_uid);
notice(L10n::t('Album successfully deleted')); notice(DI::l10n()->t('Album successfully deleted'));
} else { } else {
notice(L10n::t('Album was empty.')); notice(DI::l10n()->t('Album was empty.'));
} }
} }
@ -573,7 +572,7 @@ function photos_post(App $a)
$arr['tag'] = $tagged[4]; $arr['tag'] = $tagged[4];
$arr['inform'] = $tagged[2]; $arr['inform'] = $tagged[2];
$arr['origin'] = 1; $arr['origin'] = 1;
$arr['body'] = L10n::t('%1$s was tagged in %2$s by %3$s', '[url=' . $tagged[1] . ']' . $tagged[0] . '[/url]', '[url=' . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . L10n::t('a photo') . '[/url]', '[url=' . $owner_record['url'] . ']' . $owner_record['name'] . '[/url]') ; $arr['body'] = DI::l10n()->t('%1$s was tagged in %2$s by %3$s', '[url=' . $tagged[1] . ']' . $tagged[0] . '[/url]', '[url=' . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . DI::l10n()->t('a photo') . '[/url]', '[url=' . $owner_record['url'] . ']' . $owner_record['name'] . '[/url]') ;
$arr['body'] .= "\n\n" . '[url=' . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . '[img]' . DI::baseUrl() . "/photo/" . $photo['resource-id'] . '-' . $best . '.' . $ext . '[/img][/url]' . "\n" ; $arr['body'] .= "\n\n" . '[url=' . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . '[img]' . DI::baseUrl() . "/photo/" . $photo['resource-id'] . '-' . $best . '.' . $ext . '[/img][/url]' . "\n" ;
$arr['object'] = '<object><type>' . Activity\ObjectType::PERSON . '</type><title>' . $tagged[0] . '</title><id>' . $tagged[1] . '/' . $tagged[0] . '</id>'; $arr['object'] = '<object><type>' . Activity\ObjectType::PERSON . '</type><title>' . $tagged[0] . '</title><id>' . $tagged[1] . '/' . $tagged[0] . '</id>';
@ -623,7 +622,7 @@ function photos_post(App $a)
$r = Photo::selectToArray([], ['`album` = ? AND `uid` = ? AND `created` > UTC_TIMESTAMP() - INTERVAL 3 HOUR', $album, $page_owner_uid]); $r = Photo::selectToArray([], ['`album` = ? AND `uid` = ? AND `created` > UTC_TIMESTAMP() - INTERVAL 3 HOUR', $album, $page_owner_uid]);
if (!DBA::isResult($r) || ($album == L10n::t('Profile Photos'))) { if (!DBA::isResult($r) || ($album == DI::l10n()->t('Profile Photos'))) {
$visible = 1; $visible = 1;
} else { } else {
$visible = 0; $visible = 0;
@ -668,21 +667,21 @@ function photos_post(App $a)
if ($error !== UPLOAD_ERR_OK) { if ($error !== UPLOAD_ERR_OK) {
switch ($error) { switch ($error) {
case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_INI_SIZE:
notice(L10n::t('Image exceeds size limit of %s', ini_get('upload_max_filesize')) . EOL); notice(DI::l10n()->t('Image exceeds size limit of %s', ini_get('upload_max_filesize')) . EOL);
break; break;
case UPLOAD_ERR_FORM_SIZE: case UPLOAD_ERR_FORM_SIZE:
notice(L10n::t('Image exceeds size limit of %s', Strings::formatBytes($_REQUEST['MAX_FILE_SIZE'] ?? 0)) . EOL); notice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($_REQUEST['MAX_FILE_SIZE'] ?? 0)) . EOL);
break; break;
case UPLOAD_ERR_PARTIAL: case UPLOAD_ERR_PARTIAL:
notice(L10n::t('Image upload didn\'t complete, please try again') . EOL); notice(DI::l10n()->t('Image upload didn\'t complete, please try again') . EOL);
break; break;
case UPLOAD_ERR_NO_FILE: case UPLOAD_ERR_NO_FILE:
notice(L10n::t('Image file is missing') . EOL); notice(DI::l10n()->t('Image file is missing') . EOL);
break; break;
case UPLOAD_ERR_NO_TMP_DIR: case UPLOAD_ERR_NO_TMP_DIR:
case UPLOAD_ERR_CANT_WRITE: case UPLOAD_ERR_CANT_WRITE:
case UPLOAD_ERR_EXTENSION: case UPLOAD_ERR_EXTENSION:
notice(L10n::t('Server can\'t accept new file upload at this time, please contact your administrator') . EOL); notice(DI::l10n()->t('Server can\'t accept new file upload at this time, please contact your administrator') . EOL);
break; break;
} }
@unlink($src); @unlink($src);
@ -700,7 +699,7 @@ function photos_post(App $a)
$maximagesize = Config::get('system', 'maximagesize'); $maximagesize = Config::get('system', 'maximagesize');
if ($maximagesize && ($filesize > $maximagesize)) { if ($maximagesize && ($filesize > $maximagesize)) {
notice(L10n::t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)) . EOL); notice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)) . EOL);
@unlink($src); @unlink($src);
$foo = 0; $foo = 0;
Hook::callAll('photo_post_end', $foo); Hook::callAll('photo_post_end', $foo);
@ -708,7 +707,7 @@ function photos_post(App $a)
} }
if (!$filesize) { if (!$filesize) {
notice(L10n::t('Image file is empty.') . EOL); notice(DI::l10n()->t('Image file is empty.') . EOL);
@unlink($src); @unlink($src);
$foo = 0; $foo = 0;
Hook::callAll('photo_post_end', $foo); Hook::callAll('photo_post_end', $foo);
@ -723,7 +722,7 @@ function photos_post(App $a)
if (!$image->isValid()) { if (!$image->isValid()) {
Logger::log('mod/photos.php: photos_post(): unable to process image' , Logger::DEBUG); Logger::log('mod/photos.php: photos_post(): unable to process image' , Logger::DEBUG);
notice(L10n::t('Unable to process image.') . EOL); notice(DI::l10n()->t('Unable to process image.') . EOL);
@unlink($src); @unlink($src);
$foo = 0; $foo = 0;
Hook::callAll('photo_post_end',$foo); Hook::callAll('photo_post_end',$foo);
@ -752,7 +751,7 @@ function photos_post(App $a)
if (!$r) { if (!$r) {
Logger::log('mod/photos.php: photos_post(): image store failed', Logger::DEBUG); Logger::log('mod/photos.php: photos_post(): image store failed', Logger::DEBUG);
notice(L10n::t('Image upload failed.') . EOL); notice(DI::l10n()->t('Image upload failed.') . EOL);
return; return;
} }
@ -835,12 +834,12 @@ function photos_content(App $a)
// photos/name/image/xxxxx/drop // photos/name/image/xxxxx/drop
if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { if (Config::get('system', 'block_public') && !Session::isAuthenticated()) {
notice(L10n::t('Public access denied.') . EOL); notice(DI::l10n()->t('Public access denied.') . EOL);
return; return;
} }
if (empty($a->data['user'])) { if (empty($a->data['user'])) {
notice(L10n::t('No photos selected') . EOL); notice(DI::l10n()->t('No photos selected') . EOL);
return; return;
} }
@ -906,7 +905,7 @@ function photos_content(App $a)
} }
if ($a->data['user']['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) { if ($a->data['user']['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) {
notice(L10n::t('Access to this item is restricted.') . EOL); notice(DI::l10n()->t('Access to this item is restricted.') . EOL);
return; return;
} }
@ -921,7 +920,7 @@ function photos_content(App $a)
// Display upload form // Display upload form
if ($datatype === 'upload') { if ($datatype === 'upload') {
if (!$can_post) { if (!$can_post) {
notice(L10n::t('Permission denied.')); notice(DI::l10n()->t('Permission denied.'));
return; return;
} }
@ -932,7 +931,7 @@ function photos_content(App $a)
$albumselect .= '<option value="" ' . (!$selname ? ' selected="selected" ' : '') . '>&lt;current year&gt;</option>'; $albumselect .= '<option value="" ' . (!$selname ? ' selected="selected" ' : '') . '>&lt;current year&gt;</option>';
if (!empty($a->data['albums'])) { if (!empty($a->data['albums'])) {
foreach ($a->data['albums'] as $album) { foreach ($a->data['albums'] as $album) {
if (($album['album'] === '') || ($album['album'] === 'Contact Photos') || ($album['album'] === L10n::t('Contact Photos'))) { if (($album['album'] === '') || ($album['album'] === 'Contact Photos') || ($album['album'] === DI::l10n()->t('Contact Photos'))) {
continue; continue;
} }
$selected = (($selname === $album['album']) ? ' selected="selected" ' : ''); $selected = (($selname === $album['album']) ? ' selected="selected" ' : '');
@ -950,7 +949,7 @@ function photos_content(App $a)
$default_upload_box = Renderer::replaceMacros(Renderer::getMarkupTemplate('photos_default_uploader_box.tpl'), []); $default_upload_box = Renderer::replaceMacros(Renderer::getMarkupTemplate('photos_default_uploader_box.tpl'), []);
$default_upload_submit = Renderer::replaceMacros(Renderer::getMarkupTemplate('photos_default_uploader_submit.tpl'), [ $default_upload_submit = Renderer::replaceMacros(Renderer::getMarkupTemplate('photos_default_uploader_submit.tpl'), [
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
]); ]);
$usage_message = ''; $usage_message = '';
@ -960,15 +959,15 @@ function photos_content(App $a)
$aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML(DI::page(), $a->user)); $aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML(DI::page(), $a->user));
$o .= Renderer::replaceMacros($tpl,[ $o .= Renderer::replaceMacros($tpl,[
'$pagename' => L10n::t('Upload Photos'), '$pagename' => DI::l10n()->t('Upload Photos'),
'$sessid' => session_id(), '$sessid' => session_id(),
'$usage' => $usage_message, '$usage' => $usage_message,
'$nickname' => $a->data['user']['nickname'], '$nickname' => $a->data['user']['nickname'],
'$newalbum' => L10n::t('New album name: '), '$newalbum' => DI::l10n()->t('New album name: '),
'$existalbumtext' => L10n::t('or select existing album:'), '$existalbumtext' => DI::l10n()->t('or select existing album:'),
'$nosharetext' => L10n::t('Do not show a status post for this upload'), '$nosharetext' => DI::l10n()->t('Do not show a status post for this upload'),
'$albumselect' => $albumselect, '$albumselect' => $albumselect,
'$permissions' => L10n::t('Permissions'), '$permissions' => DI::l10n()->t('Permissions'),
'$aclselect' => $aclselect_e, '$aclselect' => $aclselect_e,
'$lockstate' => is_array($a->user) '$lockstate' => is_array($a->user)
&& (strlen($a->user['allow_cid']) && (strlen($a->user['allow_cid'])
@ -982,8 +981,8 @@ function photos_content(App $a)
'$uploadurl' => $ret['post_url'], '$uploadurl' => $ret['post_url'],
// ACL permissions box // ACL permissions box
'$group_perms' => L10n::t('Show to Groups'), '$group_perms' => DI::l10n()->t('Show to Groups'),
'$contact_perms' => L10n::t('Show to Contacts'), '$contact_perms' => DI::l10n()->t('Show to Contacts'),
'$return_path' => DI::args()->getQueryString(), '$return_path' => DI::args()->getQueryString(),
]); ]);
@ -1034,44 +1033,44 @@ function photos_content(App $a)
return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [
'$method' => 'post', '$method' => 'post',
'$message' => L10n::t('Do you really want to delete this photo album and all its photos?'), '$message' => DI::l10n()->t('Do you really want to delete this photo album and all its photos?'),
'$extra_inputs' => [], '$extra_inputs' => [],
'$confirm' => L10n::t('Delete Album'), '$confirm' => DI::l10n()->t('Delete Album'),
'$confirm_url' => $drop_url, '$confirm_url' => $drop_url,
'$confirm_name' => 'dropalbum', '$confirm_name' => 'dropalbum',
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
]); ]);
} }
// edit album name // edit album name
if ($cmd === 'edit') { if ($cmd === 'edit') {
if (($album !== L10n::t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== L10n::t('Contact Photos'))) { if (($album !== DI::l10n()->t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== DI::l10n()->t('Contact Photos'))) {
if ($can_post) { if ($can_post) {
$edit_tpl = Renderer::getMarkupTemplate('album_edit.tpl'); $edit_tpl = Renderer::getMarkupTemplate('album_edit.tpl');
$album_e = $album; $album_e = $album;
$o .= Renderer::replaceMacros($edit_tpl,[ $o .= Renderer::replaceMacros($edit_tpl,[
'$nametext' => L10n::t('New album name: '), '$nametext' => DI::l10n()->t('New album name: '),
'$nickname' => $a->data['user']['nickname'], '$nickname' => $a->data['user']['nickname'],
'$album' => $album_e, '$album' => $album_e,
'$hexalbum' => bin2hex($album), '$hexalbum' => bin2hex($album),
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$dropsubmit' => L10n::t('Delete Album') '$dropsubmit' => DI::l10n()->t('Delete Album')
]); ]);
} }
} }
} else { } else {
if (($album !== L10n::t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== L10n::t('Contact Photos')) && $can_post) { if (($album !== DI::l10n()->t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== DI::l10n()->t('Contact Photos')) && $can_post) {
$edit = [L10n::t('Edit Album'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '/edit']; $edit = [DI::l10n()->t('Edit Album'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '/edit'];
$drop = [L10n::t('Drop Album'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '/drop']; $drop = [DI::l10n()->t('Drop Album'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '/drop'];
} }
} }
if ($order_field === 'posted') { if ($order_field === 'posted') {
$order = [L10n::t('Show Newest First'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album), 'oldest']; $order = [DI::l10n()->t('Show Newest First'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album), 'oldest'];
} else { } else {
$order = [L10n::t('Show Oldest First'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '?order=posted', 'newest']; $order = [DI::l10n()->t('Show Oldest First'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '?order=posted', 'newest'];
} }
$photos = []; $photos = [];
@ -1092,7 +1091,7 @@ function photos_content(App $a)
'twist' => ' ' . ($twist ? 'rotleft' : 'rotright') . rand(2,4), 'twist' => ' ' . ($twist ? 'rotleft' : 'rotright') . rand(2,4),
'link' => 'photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'] 'link' => 'photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id']
. ($order_field === 'posted' ? '?order=posted' : ''), . ($order_field === 'posted' ? '?order=posted' : ''),
'title' => L10n::t('View Photo'), 'title' => DI::l10n()->t('View Photo'),
'src' => 'photo/' . $rr['resource-id'] . '-' . $rr['scale'] . '.' .$ext, 'src' => 'photo/' . $rr['resource-id'] . '-' . $rr['scale'] . '.' .$ext,
'alt' => $imgalt_e, 'alt' => $imgalt_e,
'desc'=> $desc_e, 'desc'=> $desc_e,
@ -1107,7 +1106,7 @@ function photos_content(App $a)
'$photos' => $photos, '$photos' => $photos,
'$album' => $album, '$album' => $album,
'$can_post' => $can_post, '$can_post' => $can_post,
'$upload' => [L10n::t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload/' . bin2hex($album)], '$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload/' . bin2hex($album)],
'$order' => $order, '$order' => $order,
'$edit' => $edit, '$edit' => $edit,
'$drop' => $drop, '$drop' => $drop,
@ -1129,9 +1128,9 @@ function photos_content(App $a)
if (!DBA::isResult($ph)) { if (!DBA::isResult($ph)) {
if (DBA::exists('photo', ['resource-id' => $datum, 'uid' => $owner_uid])) { if (DBA::exists('photo', ['resource-id' => $datum, 'uid' => $owner_uid])) {
notice(L10n::t('Permission denied. Access to this item may be restricted.')); notice(DI::l10n()->t('Permission denied. Access to this item may be restricted.'));
} else { } else {
notice(L10n::t('Photo not available') . EOL); notice(DI::l10n()->t('Photo not available') . EOL);
} }
return; return;
} }
@ -1141,12 +1140,12 @@ function photos_content(App $a)
return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [
'$method' => 'post', '$method' => 'post',
'$message' => L10n::t('Do you really want to delete this photo?'), '$message' => DI::l10n()->t('Do you really want to delete this photo?'),
'$extra_inputs' => [], '$extra_inputs' => [],
'$confirm' => L10n::t('Delete Photo'), '$confirm' => DI::l10n()->t('Delete Photo'),
'$confirm_url' => $drop_url, '$confirm_url' => $drop_url,
'$confirm_name' => 'delete', '$confirm_name' => 'delete',
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
]); ]);
} }
@ -1234,24 +1233,24 @@ function photos_content(App $a)
if ($can_post && ($ph[0]['uid'] == $owner_uid)) { if ($can_post && ($ph[0]['uid'] == $owner_uid)) {
$tools = []; $tools = [];
if ($cmd === 'edit') { if ($cmd === 'edit') {
$tools['view'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum, L10n::t('View photo')]; $tools['view'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum, DI::l10n()->t('View photo')];
} else { } else {
$tools['edit'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/edit', L10n::t('Edit photo')]; $tools['edit'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/edit', DI::l10n()->t('Edit photo')];
$tools['delete'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/drop', L10n::t('Delete photo')]; $tools['delete'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/drop', DI::l10n()->t('Delete photo')];
$tools['profile'] = ['profile_photo/use/'.$ph[0]['resource-id'], L10n::t('Use as profile photo')]; $tools['profile'] = ['profile_photo/use/'.$ph[0]['resource-id'], DI::l10n()->t('Use as profile photo')];
} }
if ( if (
$ph[0]['uid'] == local_user() $ph[0]['uid'] == local_user()
&& (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid']) || strlen($ph[0]['deny_cid']) || strlen($ph[0]['deny_gid'])) && (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid']) || strlen($ph[0]['deny_cid']) || strlen($ph[0]['deny_gid']))
) { ) {
$tools['lock'] = L10n::t('Private Photo'); $tools['lock'] = DI::l10n()->t('Private Photo');
} }
} }
$photo = [ $photo = [
'href' => 'photo/' . $hires['resource-id'] . '-' . $hires['scale'] . '.' . $phototypes[$hires['type']], 'href' => 'photo/' . $hires['resource-id'] . '-' . $hires['scale'] . '.' . $phototypes[$hires['type']],
'title'=> L10n::t('View Full Size'), 'title'=> DI::l10n()->t('View Full Size'),
'src' => 'photo/' . $lores['resource-id'] . '-' . $lores['scale'] . '.' . $phototypes[$lores['type']] . '?_u=' . DateTimeFormat::utcNow('ymdhis'), 'src' => 'photo/' . $lores['resource-id'] . '-' . $lores['scale'] . '.' . $phototypes[$lores['type']] . '?_u=' . DateTimeFormat::utcNow('ymdhis'),
'height' => $hires['height'], 'height' => $hires['height'],
'width' => $hires['width'], 'width' => $hires['width'],
@ -1311,10 +1310,10 @@ function photos_content(App $a)
'removeurl' => '/tagrm/' . $link_item['id'] . '/' . bin2hex($tag) 'removeurl' => '/tagrm/' . $link_item['id'] . '/' . bin2hex($tag)
]; ];
} }
$tags = ['title' => L10n::t('Tags: '), 'tags' => $tag_arr]; $tags = ['title' => DI::l10n()->t('Tags: '), 'tags' => $tag_arr];
if ($cmd === 'edit') { if ($cmd === 'edit') {
$tags['removeanyurl'] = 'tagrm/' . $link_item['id']; $tags['removeanyurl'] = 'tagrm/' . $link_item['id'];
$tags['removetitle'] = L10n::t('[Select tags to remove]'); $tags['removetitle'] = DI::l10n()->t('[Select tags to remove]');
} }
} }
@ -1329,25 +1328,25 @@ function photos_content(App $a)
$edit = Renderer::replaceMacros($edit_tpl, [ $edit = Renderer::replaceMacros($edit_tpl, [
'$id' => $ph[0]['id'], '$id' => $ph[0]['id'],
'$album' => ['albname', L10n::t('New album name'), $album_e,''], '$album' => ['albname', DI::l10n()->t('New album name'), $album_e,''],
'$caption' => ['desc', L10n::t('Caption'), $caption_e, ''], '$caption' => ['desc', DI::l10n()->t('Caption'), $caption_e, ''],
'$tags' => ['newtag', L10n::t('Add a Tag'), "", L10n::t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping')], '$tags' => ['newtag', DI::l10n()->t('Add a Tag'), "", DI::l10n()->t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping')],
'$rotate_none' => ['rotate', L10n::t('Do not rotate'),0,'', true], '$rotate_none' => ['rotate', DI::l10n()->t('Do not rotate'),0,'', true],
'$rotate_cw' => ['rotate', L10n::t("Rotate CW \x28right\x29"),1,''], '$rotate_cw' => ['rotate', DI::l10n()->t("Rotate CW \x28right\x29"),1,''],
'$rotate_ccw' => ['rotate', L10n::t("Rotate CCW \x28left\x29"),2,''], '$rotate_ccw' => ['rotate', DI::l10n()->t("Rotate CCW \x28left\x29"),2,''],
'$nickname' => $a->data['user']['nickname'], '$nickname' => $a->data['user']['nickname'],
'$resource_id' => $ph[0]['resource-id'], '$resource_id' => $ph[0]['resource-id'],
'$permissions' => L10n::t('Permissions'), '$permissions' => DI::l10n()->t('Permissions'),
'$aclselect' => $aclselect_e, '$aclselect' => $aclselect_e,
'$item_id' => $link_item['id'] ?? 0, '$item_id' => $link_item['id'] ?? 0,
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$delete' => L10n::t('Delete Photo'), '$delete' => DI::l10n()->t('Delete Photo'),
// ACL permissions box // ACL permissions box
'$group_perms' => L10n::t('Show to Groups'), '$group_perms' => DI::l10n()->t('Show to Groups'),
'$contact_perms' => L10n::t('Show to Contacts'), '$contact_perms' => DI::l10n()->t('Show to Contacts'),
'$return_path' => DI::args()->getQueryString(), '$return_path' => DI::args()->getQueryString(),
]); ]);
} }
@ -1368,9 +1367,9 @@ function photos_content(App $a)
$like_tpl = Renderer::getMarkupTemplate('like_noshare.tpl'); $like_tpl = Renderer::getMarkupTemplate('like_noshare.tpl');
$likebuttons = Renderer::replaceMacros($like_tpl, [ $likebuttons = Renderer::replaceMacros($like_tpl, [
'$id' => $link_item['id'], '$id' => $link_item['id'],
'$likethis' => L10n::t("I like this \x28toggle\x29"), '$likethis' => DI::l10n()->t("I like this \x28toggle\x29"),
'$nolike' => L10n::t("I don't like this \x28toggle\x29"), '$nolike' => DI::l10n()->t("I don't like this \x28toggle\x29"),
'$wait' => L10n::t('Please wait'), '$wait' => DI::l10n()->t('Please wait'),
'$return_path' => DI::args()->getQueryString(), '$return_path' => DI::args()->getQueryString(),
]); ]);
} }
@ -1384,12 +1383,12 @@ function photos_content(App $a)
'$parent' => $link_item['id'], '$parent' => $link_item['id'],
'$profile_uid' => $owner_uid, '$profile_uid' => $owner_uid,
'$mylink' => $contact['url'], '$mylink' => $contact['url'],
'$mytitle' => L10n::t('This is you'), '$mytitle' => DI::l10n()->t('This is you'),
'$myphoto' => $contact['thumb'], '$myphoto' => $contact['thumb'],
'$comment' => L10n::t('Comment'), '$comment' => DI::l10n()->t('Comment'),
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$preview' => L10n::t('Preview'), '$preview' => DI::l10n()->t('Preview'),
'$sourceapp' => L10n::t($a->sourcename), '$sourceapp' => DI::l10n()->t($a->sourcename),
'$ww' => '', '$ww' => '',
'$rand_num' => Crypto::randomDigits(12) '$rand_num' => Crypto::randomDigits(12)
]); ]);
@ -1397,8 +1396,8 @@ function photos_content(App $a)
} }
$conv_responses = [ $conv_responses = [
'like' => ['title' => L10n::t('Likes','title')],'dislike' => ['title' => L10n::t('Dislikes','title')], 'like' => ['title' => DI::l10n()->t('Likes','title')],'dislike' => ['title' => DI::l10n()->t('Dislikes','title')],
'attendyes' => ['title' => L10n::t('Attending','title')], 'attendno' => ['title' => L10n::t('Not attending','title')], 'attendmaybe' => ['title' => L10n::t('Might attend','title')] 'attendyes' => ['title' => DI::l10n()->t('Attending','title')], 'attendno' => ['title' => DI::l10n()->t('Not attending','title')], 'attendmaybe' => ['title' => DI::l10n()->t('Might attend','title')]
]; ];
// display comments // display comments
@ -1423,12 +1422,12 @@ function photos_content(App $a)
'$parent' => $link_item['id'], '$parent' => $link_item['id'],
'$profile_uid' => $owner_uid, '$profile_uid' => $owner_uid,
'$mylink' => $contact['url'], '$mylink' => $contact['url'],
'$mytitle' => L10n::t('This is you'), '$mytitle' => DI::l10n()->t('This is you'),
'$myphoto' => $contact['thumb'], '$myphoto' => $contact['thumb'],
'$comment' => L10n::t('Comment'), '$comment' => DI::l10n()->t('Comment'),
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$preview' => L10n::t('Preview'), '$preview' => DI::l10n()->t('Preview'),
'$sourceapp' => L10n::t($a->sourcename), '$sourceapp' => DI::l10n()->t($a->sourcename),
'$ww' => '', '$ww' => '',
'$rand_num' => Crypto::randomDigits(12) '$rand_num' => Crypto::randomDigits(12)
]); ]);
@ -1458,8 +1457,8 @@ function photos_content(App $a)
$drop = [ $drop = [
'dropping' => $dropping, 'dropping' => $dropping,
'pagedrop' => false, 'pagedrop' => false,
'select' => L10n::t('Select'), 'select' => DI::l10n()->t('Select'),
'delete' => L10n::t('Delete'), 'delete' => DI::l10n()->t('Delete'),
]; ];
$title_e = $item['title']; $title_e = $item['title'];
@ -1487,12 +1486,12 @@ function photos_content(App $a)
'$parent' => $item['parent'], '$parent' => $item['parent'],
'$profile_uid' => $owner_uid, '$profile_uid' => $owner_uid,
'$mylink' => $contact['url'], '$mylink' => $contact['url'],
'$mytitle' => L10n::t('This is you'), '$mytitle' => DI::l10n()->t('This is you'),
'$myphoto' => $contact['thumb'], '$myphoto' => $contact['thumb'],
'$comment' => L10n::t('Comment'), '$comment' => DI::l10n()->t('Comment'),
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$preview' => L10n::t('Preview'), '$preview' => DI::l10n()->t('Preview'),
'$sourceapp' => L10n::t($a->sourcename), '$sourceapp' => DI::l10n()->t($a->sourcename),
'$ww' => '', '$ww' => '',
'$rand_num' => Crypto::randomDigits(12) '$rand_num' => Crypto::randomDigits(12)
]); ]);
@ -1518,7 +1517,7 @@ function photos_content(App $a)
'$tags' => $tags, '$tags' => $tags,
'$edit' => $edit, '$edit' => $edit,
'$map' => $map, '$map' => $map,
'$map_text' => L10n::t('Map'), '$map_text' => DI::l10n()->t('Map'),
'$likebuttons' => $likebuttons, '$likebuttons' => $likebuttons,
'$like' => $like, '$like' => $like,
'$dislike' => $dislike, '$dislike' => $dislike,
@ -1543,7 +1542,7 @@ function photos_content(App $a)
$sql_extra GROUP BY `resource-id`", $sql_extra GROUP BY `resource-id`",
intval($a->data['user']['uid']), intval($a->data['user']['uid']),
DBA::escape('Contact Photos'), DBA::escape('Contact Photos'),
DBA::escape(L10n::t('Contact Photos')) DBA::escape(DI::l10n()->t('Contact Photos'))
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
$total = count($r); $total = count($r);
@ -1558,7 +1557,7 @@ function photos_content(App $a)
$sql_extra GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d", $sql_extra GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d",
intval($a->data['user']['uid']), intval($a->data['user']['uid']),
DBA::escape('Contact Photos'), DBA::escape('Contact Photos'),
DBA::escape(L10n::t('Contact Photos')), DBA::escape(DI::l10n()->t('Contact Photos')),
$pager->getStart(), $pager->getStart(),
$pager->getItemsPerPage() $pager->getItemsPerPage()
); );
@ -1569,7 +1568,7 @@ function photos_content(App $a)
$twist = false; $twist = false;
foreach ($r as $rr) { foreach ($r as $rr) {
//hide profile photos to others //hide profile photos to others
if (!$is_owner && !Session::getRemoteContactID($owner_uid) && ($rr['album'] == L10n::t('Profile Photos'))) { if (!$is_owner && !Session::getRemoteContactID($owner_uid) && ($rr['album'] == DI::l10n()->t('Profile Photos'))) {
continue; continue;
} }
@ -1583,13 +1582,13 @@ function photos_content(App $a)
'id' => $rr['id'], 'id' => $rr['id'],
'twist' => ' ' . ($twist ? 'rotleft' : 'rotright') . rand(2,4), 'twist' => ' ' . ($twist ? 'rotleft' : 'rotright') . rand(2,4),
'link' => 'photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'], 'link' => 'photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'],
'title' => L10n::t('View Photo'), 'title' => DI::l10n()->t('View Photo'),
'src' => 'photo/' . $rr['resource-id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.' . $ext, 'src' => 'photo/' . $rr['resource-id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.' . $ext,
'alt' => $alt_e, 'alt' => $alt_e,
'album' => [ 'album' => [
'link' => 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']), 'link' => 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']),
'name' => $name_e, 'name' => $name_e,
'alt' => L10n::t('View Album'), 'alt' => DI::l10n()->t('View Album'),
], ],
]; ];
@ -1598,9 +1597,9 @@ function photos_content(App $a)
$tpl = Renderer::getMarkupTemplate('photos_recent.tpl'); $tpl = Renderer::getMarkupTemplate('photos_recent.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Recent Photos'), '$title' => DI::l10n()->t('Recent Photos'),
'$can_post' => $can_post, '$can_post' => $can_post,
'$upload' => [L10n::t('Upload New Photos'), 'photos/'.$a->data['user']['nickname'].'/upload'], '$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/'.$a->data['user']['nickname'].'/upload'],
'$photos' => $photos, '$photos' => $photos,
'$paginate' => $pager->renderFull($total), '$paginate' => $pager->renderFull($total),
]); ]);

View file

@ -9,7 +9,6 @@ use Friendica\Content\Text\BBCode;
use Friendica\Core\Cache\Duration; use Friendica\Core\Cache\Duration;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
@ -268,7 +267,7 @@ function ping_init(App $a)
'photo' => $intro['photo'], 'photo' => $intro['photo'],
'date' => $intro['datetime'], 'date' => $intro['datetime'],
'seen' => false, 'seen' => false,
'message' => L10n::t('{0} wants to be your friend'), 'message' => DI::l10n()->t('{0} wants to be your friend'),
]; ];
$notifs[] = $notif; $notifs[] = $notif;
} }
@ -284,7 +283,7 @@ function ping_init(App $a)
'photo' => $reg['micro'], 'photo' => $reg['micro'],
'date' => $reg['created'], 'date' => $reg['created'],
'seen' => false, 'seen' => false,
'message' => L10n::t('{0} requested registration'), 'message' => DI::l10n()->t('{0} requested registration'),
]; ];
$notifs[] = $notif; $notifs[] = $notif;
} }

View file

@ -15,7 +15,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\System; use Friendica\Core\System;
@ -40,7 +39,7 @@ function poke_init(App $a)
$verb = Strings::escapeTags(trim($_GET['verb'])); $verb = Strings::escapeTags(trim($_GET['verb']));
$verbs = L10n::getPokeVerbs(); $verbs = DI::l10n()->getPokeVerbs();
if (!array_key_exists($verb, $verbs)) { if (!array_key_exists($verb, $verbs)) {
return; return;
@ -122,7 +121,7 @@ function poke_init(App $a)
$arr['object-type'] = Activity\ObjectType::PERSON; $arr['object-type'] = Activity\ObjectType::PERSON;
$arr['origin'] = 1; $arr['origin'] = 1;
$arr['body'] = '[url=' . $poster['url'] . ']' . $poster['name'] . '[/url]' . ' ' . L10n::t($verbs[$verb][0]) . ' ' . '[url=' . $target['url'] . ']' . $target['name'] . '[/url]'; $arr['body'] = '[url=' . $poster['url'] . ']' . $poster['name'] . '[/url]' . ' ' . DI::l10n()->t($verbs[$verb][0]) . ' ' . '[url=' . $target['url'] . ']' . $target['name'] . '[/url]';
$arr['object'] = '<object><type>' . Activity\ObjectType::PERSON . '</type><title>' . $target['name'] . '</title><id>' . $target['url'] . '</id>'; $arr['object'] = '<object><type>' . Activity\ObjectType::PERSON . '</type><title>' . $target['name'] . '</title><id>' . $target['url'] . '</id>';
$arr['object'] .= '<link>' . XML::escape('<link rel="alternate" type="text/html" href="' . $target['url'] . '" />' . "\n"); $arr['object'] .= '<link>' . XML::escape('<link rel="alternate" type="text/html" href="' . $target['url'] . '" />' . "\n");
@ -140,7 +139,7 @@ function poke_init(App $a)
function poke_content(App $a) function poke_content(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -164,7 +163,7 @@ function poke_content(App $a)
$parent = (!empty($_GET['parent']) ? intval($_GET['parent']) : '0'); $parent = (!empty($_GET['parent']) ? intval($_GET['parent']) : '0');
$verbs = L10n::getPokeVerbs(); $verbs = DI::l10n()->getPokeVerbs();
$shortlist = []; $shortlist = [];
foreach ($verbs as $k => $v) { foreach ($verbs as $k => $v) {
@ -176,14 +175,14 @@ function poke_content(App $a)
$tpl = Renderer::getMarkupTemplate('poke_content.tpl'); $tpl = Renderer::getMarkupTemplate('poke_content.tpl');
$o = Renderer::replaceMacros($tpl,[ $o = Renderer::replaceMacros($tpl,[
'$title' => L10n::t('Poke/Prod'), '$title' => DI::l10n()->t('Poke/Prod'),
'$desc' => L10n::t('poke, prod or do other things to somebody'), '$desc' => DI::l10n()->t('poke, prod or do other things to somebody'),
'$clabel' => L10n::t('Recipient'), '$clabel' => DI::l10n()->t('Recipient'),
'$choice' => L10n::t('Choose what you wish to do to recipient'), '$choice' => DI::l10n()->t('Choose what you wish to do to recipient'),
'$verbs' => $shortlist, '$verbs' => $shortlist,
'$parent' => $parent, '$parent' => $parent,
'$prv_desc' => L10n::t('Make this post private'), '$prv_desc' => DI::l10n()->t('Make this post private'),
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$name' => $name, '$name' => $name,
'$id' => $id '$id' => $id
]); ]);

View file

@ -6,7 +6,6 @@
use Friendica\App; use Friendica\App;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -29,7 +28,7 @@ function profile_photo_init(App $a)
function profile_photo_post(App $a) function profile_photo_post(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -55,7 +54,7 @@ function profile_photo_post(App $a)
// phase 2 - we have finished cropping // phase 2 - we have finished cropping
if ($a->argc != 2) { if ($a->argc != 2) {
notice(L10n::t('Image uploaded but image cropping failed.') . EOL); notice(DI::l10n()->t('Image uploaded but image cropping failed.') . EOL);
return; return;
} }
@ -82,28 +81,28 @@ function profile_photo_post(App $a)
$Image->crop(300, $srcX, $srcY, $srcW, $srcH); $Image->crop(300, $srcX, $srcY, $srcW, $srcH);
$r = Photo::store($Image, local_user(), 0, $base_image['resource-id'], $base_image['filename'], $r = Photo::store($Image, local_user(), 0, $base_image['resource-id'], $base_image['filename'],
L10n::t('Profile Photos'), 4, $is_default_profile); DI::l10n()->t('Profile Photos'), 4, $is_default_profile);
if ($r === false) { if ($r === false) {
notice(L10n::t('Image size reduction [%s] failed.', "300") . EOL); notice(DI::l10n()->t('Image size reduction [%s] failed.', "300") . EOL);
} }
$Image->scaleDown(80); $Image->scaleDown(80);
$r = Photo::store($Image, local_user(), 0, $base_image['resource-id'], $base_image['filename'], $r = Photo::store($Image, local_user(), 0, $base_image['resource-id'], $base_image['filename'],
L10n::t('Profile Photos'), 5, $is_default_profile); DI::l10n()->t('Profile Photos'), 5, $is_default_profile);
if ($r === false) { if ($r === false) {
notice(L10n::t('Image size reduction [%s] failed.', "80") . EOL); notice(DI::l10n()->t('Image size reduction [%s] failed.', "80") . EOL);
} }
$Image->scaleDown(48); $Image->scaleDown(48);
$r = Photo::store($Image, local_user(), 0, $base_image['resource-id'], $base_image['filename'], $r = Photo::store($Image, local_user(), 0, $base_image['resource-id'], $base_image['filename'],
L10n::t('Profile Photos'), 6, $is_default_profile); DI::l10n()->t('Profile Photos'), 6, $is_default_profile);
if ($r === false) { if ($r === false) {
notice(L10n::t('Image size reduction [%s] failed.', "48") . EOL); notice(DI::l10n()->t('Image size reduction [%s] failed.', "48") . EOL);
} }
// If setting for the default profile, unset the profile photo flag from any other photos I own // If setting for the default profile, unset the profile photo flag from any other photos I own
@ -122,7 +121,7 @@ function profile_photo_post(App $a)
Contact::updateSelfFromUserID(local_user(), true); Contact::updateSelfFromUserID(local_user(), true);
info(L10n::t('Shift-reload the page or clear browser cache if the new photo does not display immediately.') . EOL); info(DI::l10n()->t('Shift-reload the page or clear browser cache if the new photo does not display immediately.') . EOL);
// Update global directory in background // Update global directory in background
if ($path && strlen(Config::get('system', 'directory'))) { if ($path && strlen(Config::get('system', 'directory'))) {
Worker::add(PRIORITY_LOW, "Directory", DI::baseUrl()->get() . '/' . $path); Worker::add(PRIORITY_LOW, "Directory", DI::baseUrl()->get() . '/' . $path);
@ -130,7 +129,7 @@ function profile_photo_post(App $a)
Worker::add(PRIORITY_LOW, 'ProfileUpdate', local_user()); Worker::add(PRIORITY_LOW, 'ProfileUpdate', local_user());
} else { } else {
notice(L10n::t('Unable to process image') . EOL); notice(DI::l10n()->t('Unable to process image') . EOL);
} }
} }
@ -149,7 +148,7 @@ function profile_photo_post(App $a)
$maximagesize = Config::get('system', 'maximagesize'); $maximagesize = Config::get('system', 'maximagesize');
if (($maximagesize) && ($filesize > $maximagesize)) { if (($maximagesize) && ($filesize > $maximagesize)) {
notice(L10n::t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)) . EOL); notice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)) . EOL);
@unlink($src); @unlink($src);
return; return;
} }
@ -158,7 +157,7 @@ function profile_photo_post(App $a)
$ph = new Image($imagedata, $filetype); $ph = new Image($imagedata, $filetype);
if (!$ph->isValid()) { if (!$ph->isValid()) {
notice(L10n::t('Unable to process image.') . EOL); notice(DI::l10n()->t('Unable to process image.') . EOL);
@unlink($src); @unlink($src);
return; return;
} }
@ -174,7 +173,7 @@ function profile_photo_content(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -194,7 +193,7 @@ function profile_photo_content(App $a)
$r = Photo::selectToArray([], ["resource-id" => $resource_id, "uid" => local_user()], ["order" => ["scale" => false]]); $r = Photo::selectToArray([], ["resource-id" => $resource_id, "uid" => local_user()], ["order" => ["scale" => false]]);
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -207,7 +206,7 @@ function profile_photo_content(App $a)
// set an already uloaded photo as profile photo // set an already uloaded photo as profile photo
// if photo is in 'Profile Photos', change it in db // if photo is in 'Profile Photos', change it in db
if (($r[0]['album'] == L10n::t('Profile Photos')) && ($havescale)) { if (($r[0]['album'] == DI::l10n()->t('Profile Photos')) && ($havescale)) {
q("UPDATE `photo` SET `profile`=0 WHERE `profile`=1 AND `uid`=%d", intval(local_user())); q("UPDATE `photo` SET `profile`=0 WHERE `profile`=1 AND `uid`=%d", intval(local_user()));
q("UPDATE `photo` SET `profile`=1 WHERE `uid` = %d AND `resource-id` = '%s'", intval(local_user()), q("UPDATE `photo` SET `profile`=1 WHERE `uid` = %d AND `resource-id` = '%s'", intval(local_user()),
@ -241,14 +240,14 @@ function profile_photo_content(App $a)
$o = Renderer::replaceMacros($tpl, $o = Renderer::replaceMacros($tpl,
[ [
'$user' => $a->user['nickname'], '$user' => $a->user['nickname'],
'$lbl_upfile' => L10n::t('Upload File:'), '$lbl_upfile' => DI::l10n()->t('Upload File:'),
'$lbl_profiles' => L10n::t('Select a profile:'), '$lbl_profiles' => DI::l10n()->t('Select a profile:'),
'$title' => L10n::t('Upload Profile Photo'), '$title' => DI::l10n()->t('Upload Profile Photo'),
'$submit' => L10n::t('Upload'), '$submit' => DI::l10n()->t('Upload'),
'$profiles' => $profiles, '$profiles' => $profiles,
'$form_security_token' => BaseModule::getFormSecurityToken("profile_photo"), '$form_security_token' => BaseModule::getFormSecurityToken("profile_photo"),
'$select' => sprintf('%s %s', L10n::t('or'), '$select' => sprintf('%s %s', DI::l10n()->t('or'),
($newuser) ? '<a href="' . DI::baseUrl() . '">' . L10n::t('skip this step') . '</a>' : '<a href="' . DI::baseUrl() . '/photos/' . $a->user['nickname'] . '">' . L10n::t('select a photo from your photo albums') . '</a>') ($newuser) ? '<a href="' . DI::baseUrl() . '">' . DI::l10n()->t('skip this step') . '</a>' : '<a href="' . DI::baseUrl() . '/photos/' . $a->user['nickname'] . '">' . DI::l10n()->t('select a photo from your photo albums') . '</a>')
]); ]);
return $o; return $o;
@ -261,10 +260,10 @@ function profile_photo_content(App $a)
'$profile' => (isset($_REQUEST['profile']) ? intval($_REQUEST['profile']) : 0), '$profile' => (isset($_REQUEST['profile']) ? intval($_REQUEST['profile']) : 0),
'$resource' => $imagecrop['hash'] . '-' . $imagecrop['resolution'], '$resource' => $imagecrop['hash'] . '-' . $imagecrop['resolution'],
'$image_url' => DI::baseUrl() . '/photo/' . $filename, '$image_url' => DI::baseUrl() . '/photo/' . $filename,
'$title' => L10n::t('Crop Image'), '$title' => DI::l10n()->t('Crop Image'),
'$desc' => L10n::t('Please adjust the image cropping for optimum viewing.'), '$desc' => DI::l10n()->t('Please adjust the image cropping for optimum viewing.'),
'$form_security_token' => BaseModule::getFormSecurityToken("profile_photo"), '$form_security_token' => BaseModule::getFormSecurityToken("profile_photo"),
'$done' => L10n::t('Done Editing') '$done' => DI::l10n()->t('Done Editing')
]); ]);
return $o; return $o;
} }
@ -295,20 +294,20 @@ function profile_photo_crop_ui_head(Image $image)
$smallest = 0; $smallest = 0;
$filename = ''; $filename = '';
$r = Photo::store($image, local_user(), 0, $hash, $filename, L10n::t('Profile Photos'), 0); $r = Photo::store($image, local_user(), 0, $hash, $filename, DI::l10n()->t('Profile Photos'), 0);
if ($r) { if ($r) {
info(L10n::t('Image uploaded successfully.') . EOL); info(DI::l10n()->t('Image uploaded successfully.') . EOL);
} else { } else {
notice(L10n::t('Image upload failed.') . EOL); notice(DI::l10n()->t('Image upload failed.') . EOL);
} }
if ($width > 640 || $height > 640) { if ($width > 640 || $height > 640) {
$image->scaleDown(640); $image->scaleDown(640);
$r = Photo::store($image, local_user(), 0, $hash, $filename, L10n::t('Profile Photos'), 1); $r = Photo::store($image, local_user(), 0, $hash, $filename, DI::l10n()->t('Profile Photos'), 1);
if ($r === false) { if ($r === false) {
notice(L10n::t('Image size reduction [%s] failed.', "640") . EOL); notice(DI::l10n()->t('Image size reduction [%s] failed.', "640") . EOL);
} else { } else {
$smallest = 1; $smallest = 1;
} }

View file

@ -10,7 +10,6 @@ use Friendica\Content\Feature;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -39,7 +38,7 @@ function profiles_init(App $a) {
intval(local_user()) intval(local_user())
); );
if (! DBA::isResult($r)) { if (! DBA::isResult($r)) {
notice(L10n::t('Profile not found.') . EOL); notice(DI::l10n()->t('Profile not found.') . EOL);
DI::baseUrl()->redirect('profiles'); DI::baseUrl()->redirect('profiles');
return; // NOTREACHED return; // NOTREACHED
} }
@ -58,7 +57,7 @@ function profiles_init(App $a) {
intval(local_user()) intval(local_user())
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
info(L10n::t('Profile deleted.').EOL); info(DI::l10n()->t('Profile deleted.').EOL);
} }
DI::baseUrl()->redirect('profiles'); DI::baseUrl()->redirect('profiles');
@ -74,7 +73,7 @@ function profiles_init(App $a) {
$num_profiles = (DBA::isResult($r0) ? count($r0) : 0); $num_profiles = (DBA::isResult($r0) ? count($r0) : 0);
$name = L10n::t('Profile-') . ($num_profiles + 1); $name = DI::l10n()->t('Profile-') . ($num_profiles + 1);
$r1 = q("SELECT `name`, `photo`, `thumb` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1", $r1 = q("SELECT `name`, `photo`, `thumb` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1",
intval(local_user())); intval(local_user()));
@ -93,7 +92,7 @@ function profiles_init(App $a) {
DBA::escape($name) DBA::escape($name)
); );
info(L10n::t('New profile created.') . EOL); info(DI::l10n()->t('New profile created.') . EOL);
if (DBA::isResult($r3) && count($r3) == 1) { if (DBA::isResult($r3) && count($r3) == 1) {
DI::baseUrl()->redirect('profiles/' . $r3[0]['id']); DI::baseUrl()->redirect('profiles/' . $r3[0]['id']);
} }
@ -110,13 +109,13 @@ function profiles_init(App $a) {
$num_profiles = (DBA::isResult($r0) ? count($r0) : 0); $num_profiles = (DBA::isResult($r0) ? count($r0) : 0);
$name = L10n::t('Profile-') . ($num_profiles + 1); $name = DI::l10n()->t('Profile-') . ($num_profiles + 1);
$r1 = q("SELECT * FROM `profile` WHERE `uid` = %d AND `id` = %d LIMIT 1", $r1 = q("SELECT * FROM `profile` WHERE `uid` = %d AND `id` = %d LIMIT 1",
intval(local_user()), intval(local_user()),
intval($a->argv[2]) intval($a->argv[2])
); );
if(! DBA::isResult($r1)) { if(! DBA::isResult($r1)) {
notice(L10n::t('Profile unavailable to clone.') . EOL); notice(DI::l10n()->t('Profile unavailable to clone.') . EOL);
exit(); exit();
} }
unset($r1[0]['id']); unset($r1[0]['id']);
@ -131,7 +130,7 @@ function profiles_init(App $a) {
intval(local_user()), intval(local_user()),
DBA::escape($name) DBA::escape($name)
); );
info(L10n::t('New profile created.') . EOL); info(DI::l10n()->t('New profile created.') . EOL);
if ((DBA::isResult($r3)) && (count($r3) == 1)) { if ((DBA::isResult($r3)) && (count($r3) == 1)) {
DI::baseUrl()->redirect('profiles/'.$r3[0]['id']); DI::baseUrl()->redirect('profiles/'.$r3[0]['id']);
} }
@ -148,7 +147,7 @@ function profiles_init(App $a) {
intval(local_user()) intval(local_user())
); );
if (! DBA::isResult($r)) { if (! DBA::isResult($r)) {
notice(L10n::t('Profile not found.') . EOL); notice(DI::l10n()->t('Profile not found.') . EOL);
exit(); exit();
} }
@ -178,7 +177,7 @@ function profile_clean_keywords($keywords)
function profiles_post(App $a) { function profiles_post(App $a) {
if (! local_user()) { if (! local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -192,7 +191,7 @@ function profiles_post(App $a) {
intval(local_user()) intval(local_user())
); );
if (! DBA::isResult($orig)) { if (! DBA::isResult($orig)) {
notice(L10n::t('Profile not found.') . EOL); notice(DI::l10n()->t('Profile not found.') . EOL);
return; return;
} }
@ -202,7 +201,7 @@ function profiles_post(App $a) {
$profile_name = Strings::escapeTags(trim($_POST['profile_name'])); $profile_name = Strings::escapeTags(trim($_POST['profile_name']));
if (! strlen($profile_name)) { if (! strlen($profile_name)) {
notice(L10n::t('Profile Name is required.') . EOL); notice(DI::l10n()->t('Profile Name is required.') . EOL);
return; return;
} }
@ -342,50 +341,50 @@ function profiles_post(App $a) {
$changes = []; $changes = [];
if ($is_default) { if ($is_default) {
if ($marital != $orig[0]['marital']) { if ($marital != $orig[0]['marital']) {
$changes[] = '[color=#ff0000]&hearts;[/color] ' . L10n::t('Marital Status'); $changes[] = '[color=#ff0000]&hearts;[/color] ' . DI::l10n()->t('Marital Status');
} }
if ($withchanged) { if ($withchanged) {
$changes[] = '[color=#ff0000]&hearts;[/color] ' . L10n::t('Romantic Partner'); $changes[] = '[color=#ff0000]&hearts;[/color] ' . DI::l10n()->t('Romantic Partner');
} }
if ($likes != $orig[0]['likes']) { if ($likes != $orig[0]['likes']) {
$changes[] = L10n::t('Likes'); $changes[] = DI::l10n()->t('Likes');
} }
if ($dislikes != $orig[0]['dislikes']) { if ($dislikes != $orig[0]['dislikes']) {
$changes[] = L10n::t('Dislikes'); $changes[] = DI::l10n()->t('Dislikes');
} }
if ($work != $orig[0]['work']) { if ($work != $orig[0]['work']) {
$changes[] = L10n::t('Work/Employment'); $changes[] = DI::l10n()->t('Work/Employment');
} }
if ($religion != $orig[0]['religion']) { if ($religion != $orig[0]['religion']) {
$changes[] = L10n::t('Religion'); $changes[] = DI::l10n()->t('Religion');
} }
if ($politic != $orig[0]['politic']) { if ($politic != $orig[0]['politic']) {
$changes[] = L10n::t('Political Views'); $changes[] = DI::l10n()->t('Political Views');
} }
if ($gender != $orig[0]['gender']) { if ($gender != $orig[0]['gender']) {
$changes[] = L10n::t('Gender'); $changes[] = DI::l10n()->t('Gender');
} }
if ($sexual != $orig[0]['sexual']) { if ($sexual != $orig[0]['sexual']) {
$changes[] = L10n::t('Sexual Preference'); $changes[] = DI::l10n()->t('Sexual Preference');
} }
if ($xmpp != $orig[0]['xmpp']) { if ($xmpp != $orig[0]['xmpp']) {
$changes[] = L10n::t('XMPP'); $changes[] = DI::l10n()->t('XMPP');
} }
if ($homepage != $orig[0]['homepage']) { if ($homepage != $orig[0]['homepage']) {
$changes[] = L10n::t('Homepage'); $changes[] = DI::l10n()->t('Homepage');
} }
if ($interest != $orig[0]['interest']) { if ($interest != $orig[0]['interest']) {
$changes[] = L10n::t('Interests'); $changes[] = DI::l10n()->t('Interests');
} }
if ($address != $orig[0]['address']) { if ($address != $orig[0]['address']) {
$changes[] = L10n::t('Address'); $changes[] = DI::l10n()->t('Address');
// New address not sent in notifications, potential privacy issues // New address not sent in notifications, potential privacy issues
// in case this leaks to unintended recipients. Yes, it's in the public // in case this leaks to unintended recipients. Yes, it's in the public
// profile but that doesn't mean we have to broadcast it to everybody. // profile but that doesn't mean we have to broadcast it to everybody.
} }
if ($locality != $orig[0]['locality'] || $region != $orig[0]['region'] if ($locality != $orig[0]['locality'] || $region != $orig[0]['region']
|| $country_name != $orig[0]['country-name']) { || $country_name != $orig[0]['country-name']) {
$changes[] = L10n::t('Location'); $changes[] = DI::l10n()->t('Location');
} }
} }
@ -465,7 +464,7 @@ function profiles_post(App $a) {
/// @TODO decide to use DBA::isResult() here and check $r /// @TODO decide to use DBA::isResult() here and check $r
if ($r) { if ($r) {
info(L10n::t('Profile updated.') . EOL); info(DI::l10n()->t('Profile updated.') . EOL);
} }
if ($is_default) { if ($is_default) {
@ -495,7 +494,7 @@ function profiles_post(App $a) {
function profiles_content(App $a) { function profiles_content(App $a) {
if (! local_user()) { if (! local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return Login::form(); return Login::form();
} }
@ -507,7 +506,7 @@ function profiles_content(App $a) {
intval(local_user()) intval(local_user())
); );
if (! DBA::isResult($r)) { if (! DBA::isResult($r)) {
notice(L10n::t('Profile not found.') . EOL); notice(DI::l10n()->t('Profile not found.') . EOL);
return; return;
} }
@ -519,14 +518,14 @@ function profiles_content(App $a) {
$hide_friends = Renderer::replaceMacros($opt_tpl,[ $hide_friends = Renderer::replaceMacros($opt_tpl,[
'$yesno' => [ '$yesno' => [
'hide-friends', //Name 'hide-friends', //Name
L10n::t('Hide contacts and friends:'), //Label DI::l10n()->t('Hide contacts and friends:'), //Label
!!$r[0]['hide-friends'], //Value !!$r[0]['hide-friends'], //Value
'', //Help string '', //Help string
[L10n::t('No'), L10n::t('Yes')] //Off - On strings [DI::l10n()->t('No'), DI::l10n()->t('Yes')] //Off - On strings
], ],
'$desc' => L10n::t('Hide your contact/friend list from viewers of this profile?'), '$desc' => DI::l10n()->t('Hide your contact/friend list from viewers of this profile?'),
'$yes_str' => L10n::t('Yes'), '$yes_str' => DI::l10n()->t('Yes'),
'$no_str' => L10n::t('No'), '$no_str' => DI::l10n()->t('No'),
'$yes_selected' => (($r[0]['hide-friends']) ? " checked=\"checked\" " : ""), '$yes_selected' => (($r[0]['hide-friends']) ? " checked=\"checked\" " : ""),
'$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "") '$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "")
]); ]);
@ -544,10 +543,10 @@ function profiles_content(App $a) {
'$details' => [ '$details' => [
'detailed_profile', //Name 'detailed_profile', //Name
L10n::t('Show more profile fields:'), //Label DI::l10n()->t('Show more profile fields:'), //Label
$detailed_profile, //Value $detailed_profile, //Value
'', //Help string '', //Help string
[L10n::t('No'), L10n::t('Yes')] //Off - On strings [DI::l10n()->t('No'), DI::l10n()->t('Yes')] //Off - On strings
], ],
'$multi_profiles' => Feature::isEnabled(local_user(), 'multi_profiles'), '$multi_profiles' => Feature::isEnabled(local_user(), 'multi_profiles'),
@ -556,75 +555,75 @@ function profiles_content(App $a) {
'$profile_clone_link' => ((Feature::isEnabled(local_user(), 'multi_profiles')) ? 'profiles/clone/' . $r[0]['id'] . '?t=' . BaseModule::getFormSecurityToken("profile_clone") : ""), '$profile_clone_link' => ((Feature::isEnabled(local_user(), 'multi_profiles')) ? 'profiles/clone/' . $r[0]['id'] . '?t=' . BaseModule::getFormSecurityToken("profile_clone") : ""),
'$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t=' . BaseModule::getFormSecurityToken("profile_drop"), '$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t=' . BaseModule::getFormSecurityToken("profile_drop"),
'$profile_action' => L10n::t('Profile Actions'), '$profile_action' => DI::l10n()->t('Profile Actions'),
'$banner' => L10n::t('Edit Profile Details'), '$banner' => DI::l10n()->t('Edit Profile Details'),
'$submit' => L10n::t('Submit'), '$submit' => DI::l10n()->t('Submit'),
'$profpic' => L10n::t('Change Profile Photo'), '$profpic' => DI::l10n()->t('Change Profile Photo'),
'$profpiclink' => '/photos/' . $a->user['nickname'], '$profpiclink' => '/photos/' . $a->user['nickname'],
'$viewprof' => L10n::t('View this profile'), '$viewprof' => DI::l10n()->t('View this profile'),
'$viewallprof' => L10n::t('View all profiles'), '$viewallprof' => DI::l10n()->t('View all profiles'),
'$editvis' => L10n::t('Edit visibility'), '$editvis' => DI::l10n()->t('Edit visibility'),
'$cr_prof' => L10n::t('Create a new profile using these settings'), '$cr_prof' => DI::l10n()->t('Create a new profile using these settings'),
'$cl_prof' => L10n::t('Clone this profile'), '$cl_prof' => DI::l10n()->t('Clone this profile'),
'$del_prof' => L10n::t('Delete this profile'), '$del_prof' => DI::l10n()->t('Delete this profile'),
'$lbl_basic_section' => L10n::t('Basic information'), '$lbl_basic_section' => DI::l10n()->t('Basic information'),
'$lbl_picture_section' => L10n::t('Profile picture'), '$lbl_picture_section' => DI::l10n()->t('Profile picture'),
'$lbl_location_section' => L10n::t('Location'), '$lbl_location_section' => DI::l10n()->t('Location'),
'$lbl_preferences_section' => L10n::t('Preferences'), '$lbl_preferences_section' => DI::l10n()->t('Preferences'),
'$lbl_status_section' => L10n::t('Status information'), '$lbl_status_section' => DI::l10n()->t('Status information'),
'$lbl_about_section' => L10n::t('Additional information'), '$lbl_about_section' => DI::l10n()->t('Additional information'),
'$lbl_interests_section' => L10n::t('Interests'), '$lbl_interests_section' => DI::l10n()->t('Interests'),
'$lbl_personal_section' => L10n::t('Personal'), '$lbl_personal_section' => DI::l10n()->t('Personal'),
'$lbl_relation_section' => L10n::t('Relation'), '$lbl_relation_section' => DI::l10n()->t('Relation'),
'$lbl_miscellaneous_section' => L10n::t('Miscellaneous'), '$lbl_miscellaneous_section' => DI::l10n()->t('Miscellaneous'),
'$lbl_profile_photo' => L10n::t('Upload Profile Photo'), '$lbl_profile_photo' => DI::l10n()->t('Upload Profile Photo'),
'$lbl_gender' => L10n::t('Your Gender:'), '$lbl_gender' => DI::l10n()->t('Your Gender:'),
'$lbl_marital' => L10n::t('<span class="heart">&hearts;</span> Marital Status:'), '$lbl_marital' => DI::l10n()->t('<span class="heart">&hearts;</span> Marital Status:'),
'$lbl_sexual' => L10n::t('Sexual Preference:'), '$lbl_sexual' => DI::l10n()->t('Sexual Preference:'),
'$lbl_ex2' => L10n::t('Example: fishing photography software'), '$lbl_ex2' => DI::l10n()->t('Example: fishing photography software'),
'$disabled' => (($is_default) ? 'onclick="return false;" style="color: #BBBBFF;"' : ''), '$disabled' => (($is_default) ? 'onclick="return false;" style="color: #BBBBFF;"' : ''),
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$profile_id' => $r[0]['id'], '$profile_id' => $r[0]['id'],
'$profile_name' => ['profile_name', L10n::t('Profile Name:'), $r[0]['profile-name'], L10n::t('Required'), '*'], '$profile_name' => ['profile_name', DI::l10n()->t('Profile Name:'), $r[0]['profile-name'], DI::l10n()->t('Required'), '*'],
'$is_default' => $is_default, '$is_default' => $is_default,
'$default' => (($is_default) ? '<p id="profile-edit-default-desc">' . L10n::t('This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.') . '</p>' : ""), '$default' => (($is_default) ? '<p id="profile-edit-default-desc">' . DI::l10n()->t('This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.') . '</p>' : ""),
'$name' => ['name', L10n::t('Your Full Name:'), $r[0]['name']], '$name' => ['name', DI::l10n()->t('Your Full Name:'), $r[0]['name']],
'$pdesc' => ['pdesc', L10n::t('Title/Description:'), $r[0]['pdesc']], '$pdesc' => ['pdesc', DI::l10n()->t('Title/Description:'), $r[0]['pdesc']],
'$dob' => Temporal::getDateofBirthField($r[0]['dob'], $a->user['timezone']), '$dob' => Temporal::getDateofBirthField($r[0]['dob'], $a->user['timezone']),
'$hide_friends' => $hide_friends, '$hide_friends' => $hide_friends,
'$address' => ['address', L10n::t('Street Address:'), $r[0]['address']], '$address' => ['address', DI::l10n()->t('Street Address:'), $r[0]['address']],
'$locality' => ['locality', L10n::t('Locality/City:'), $r[0]['locality']], '$locality' => ['locality', DI::l10n()->t('Locality/City:'), $r[0]['locality']],
'$region' => ['region', L10n::t('Region/State:'), $r[0]['region']], '$region' => ['region', DI::l10n()->t('Region/State:'), $r[0]['region']],
'$postal_code' => ['postal_code', L10n::t('Postal/Zip Code:'), $r[0]['postal-code']], '$postal_code' => ['postal_code', DI::l10n()->t('Postal/Zip Code:'), $r[0]['postal-code']],
'$country_name' => ['country_name', L10n::t('Country:'), $r[0]['country-name']], '$country_name' => ['country_name', DI::l10n()->t('Country:'), $r[0]['country-name']],
'$age' => ((intval($r[0]['dob'])) ? '(' . L10n::t('Age: ') . Temporal::getAgeByTimezone($r[0]['dob'],$a->user['timezone'],$a->user['timezone']) . ')' : ''), '$age' => ((intval($r[0]['dob'])) ? '(' . DI::l10n()->t('Age: ') . Temporal::getAgeByTimezone($r[0]['dob'],$a->user['timezone'],$a->user['timezone']) . ')' : ''),
'$gender' => L10n::t(ContactSelector::gender($r[0]['gender'])), '$gender' => DI::l10n()->t(ContactSelector::gender($r[0]['gender'])),
'$marital' => ['selector' => ContactSelector::maritalStatus($r[0]['marital']), 'value' => L10n::t($r[0]['marital'])], '$marital' => ['selector' => ContactSelector::maritalStatus($r[0]['marital']), 'value' => DI::l10n()->t($r[0]['marital'])],
'$with' => ['with', L10n::t("Who: \x28if applicable\x29"), strip_tags($r[0]['with']), L10n::t('Examples: cathy123, Cathy Williams, cathy@example.com')], '$with' => ['with', DI::l10n()->t("Who: \x28if applicable\x29"), strip_tags($r[0]['with']), DI::l10n()->t('Examples: cathy123, Cathy Williams, cathy@example.com')],
'$howlong' => ['howlong', L10n::t('Since [date]:'), ($r[0]['howlong'] <= DBA::NULL_DATETIME ? '' : DateTimeFormat::local($r[0]['howlong']))], '$howlong' => ['howlong', DI::l10n()->t('Since [date]:'), ($r[0]['howlong'] <= DBA::NULL_DATETIME ? '' : DateTimeFormat::local($r[0]['howlong']))],
'$sexual' => ['selector' => ContactSelector::sexualPreference($r[0]['sexual']), 'value' => L10n::t($r[0]['sexual'])], '$sexual' => ['selector' => ContactSelector::sexualPreference($r[0]['sexual']), 'value' => DI::l10n()->t($r[0]['sexual'])],
'$about' => ['about', L10n::t('Tell us about yourself...'), $r[0]['about']], '$about' => ['about', DI::l10n()->t('Tell us about yourself...'), $r[0]['about']],
'$xmpp' => ['xmpp', L10n::t("XMPP \x28Jabber\x29 address:"), $r[0]['xmpp'], L10n::t("The XMPP address will be propagated to your contacts so that they can follow you.")], '$xmpp' => ['xmpp', DI::l10n()->t("XMPP \x28Jabber\x29 address:"), $r[0]['xmpp'], DI::l10n()->t("The XMPP address will be propagated to your contacts so that they can follow you.")],
'$homepage' => ['homepage', L10n::t('Homepage URL:'), $r[0]['homepage']], '$homepage' => ['homepage', DI::l10n()->t('Homepage URL:'), $r[0]['homepage']],
'$hometown' => ['hometown', L10n::t('Hometown:'), $r[0]['hometown']], '$hometown' => ['hometown', DI::l10n()->t('Hometown:'), $r[0]['hometown']],
'$politic' => ['politic', L10n::t('Political Views:'), $r[0]['politic']], '$politic' => ['politic', DI::l10n()->t('Political Views:'), $r[0]['politic']],
'$religion' => ['religion', L10n::t('Religious Views:'), $r[0]['religion']], '$religion' => ['religion', DI::l10n()->t('Religious Views:'), $r[0]['religion']],
'$pub_keywords' => ['pub_keywords', L10n::t('Public Keywords:'), $r[0]['pub_keywords'], L10n::t("\x28Used for suggesting potential friends, can be seen by others\x29")], '$pub_keywords' => ['pub_keywords', DI::l10n()->t('Public Keywords:'), $r[0]['pub_keywords'], DI::l10n()->t("\x28Used for suggesting potential friends, can be seen by others\x29")],
'$prv_keywords' => ['prv_keywords', L10n::t('Private Keywords:'), $r[0]['prv_keywords'], L10n::t("\x28Used for searching profiles, never shown to others\x29")], '$prv_keywords' => ['prv_keywords', DI::l10n()->t('Private Keywords:'), $r[0]['prv_keywords'], DI::l10n()->t("\x28Used for searching profiles, never shown to others\x29")],
'$likes' => ['likes', L10n::t('Likes:'), $r[0]['likes']], '$likes' => ['likes', DI::l10n()->t('Likes:'), $r[0]['likes']],
'$dislikes' => ['dislikes', L10n::t('Dislikes:'), $r[0]['dislikes']], '$dislikes' => ['dislikes', DI::l10n()->t('Dislikes:'), $r[0]['dislikes']],
'$music' => ['music', L10n::t('Musical interests'), $r[0]['music']], '$music' => ['music', DI::l10n()->t('Musical interests'), $r[0]['music']],
'$book' => ['book', L10n::t('Books, literature'), $r[0]['book']], '$book' => ['book', DI::l10n()->t('Books, literature'), $r[0]['book']],
'$tv' => ['tv', L10n::t('Television'), $r[0]['tv']], '$tv' => ['tv', DI::l10n()->t('Television'), $r[0]['tv']],
'$film' => ['film', L10n::t('Film/dance/culture/entertainment'), $r[0]['film']], '$film' => ['film', DI::l10n()->t('Film/dance/culture/entertainment'), $r[0]['film']],
'$interest' => ['interest', L10n::t('Hobbies/Interests'), $r[0]['interest']], '$interest' => ['interest', DI::l10n()->t('Hobbies/Interests'), $r[0]['interest']],
'$romance' => ['romance', L10n::t('Love/romance'), $r[0]['romance']], '$romance' => ['romance', DI::l10n()->t('Love/romance'), $r[0]['romance']],
'$work' => ['work', L10n::t('Work/employment'), $r[0]['work']], '$work' => ['work', DI::l10n()->t('Work/employment'), $r[0]['work']],
'$education' => ['education', L10n::t('School/education'), $r[0]['education']], '$education' => ['education', DI::l10n()->t('School/education'), $r[0]['education']],
'$contact' => ['contact', L10n::t('Contact information and Social Networks'), $r[0]['contact']], '$contact' => ['contact', DI::l10n()->t('Contact information and Social Networks'), $r[0]['contact']],
]); ]);
$arr = ['profile' => $r[0], 'entry' => $o]; $arr = ['profile' => $r[0], 'entry' => $o];
@ -655,18 +654,18 @@ function profiles_content(App $a) {
$profiles .= Renderer::replaceMacros($tpl, [ $profiles .= Renderer::replaceMacros($tpl, [
'$photo' => DI::baseUrl()->remove($rr['thumb']), '$photo' => DI::baseUrl()->remove($rr['thumb']),
'$id' => $rr['id'], '$id' => $rr['id'],
'$alt' => L10n::t('Profile Image'), '$alt' => DI::l10n()->t('Profile Image'),
'$profile_name' => $rr['profile-name'], '$profile_name' => $rr['profile-name'],
'$visible' => (($rr['is-default']) ? '<strong>' . L10n::t('visible to everybody') . '</strong>' '$visible' => (($rr['is-default']) ? '<strong>' . DI::l10n()->t('visible to everybody') . '</strong>'
: '<a href="'.'profperm/'.$rr['id'].'" />' . L10n::t('Edit visibility') . '</a>') : '<a href="'.'profperm/'.$rr['id'].'" />' . DI::l10n()->t('Edit visibility') . '</a>')
]); ]);
} }
$tpl_header = Renderer::getMarkupTemplate('profile_listing_header.tpl'); $tpl_header = Renderer::getMarkupTemplate('profile_listing_header.tpl');
$o .= Renderer::replaceMacros($tpl_header,[ $o .= Renderer::replaceMacros($tpl_header,[
'$header' => L10n::t('Edit/Manage Profiles'), '$header' => DI::l10n()->t('Edit/Manage Profiles'),
'$chg_photo' => L10n::t('Change profile photo'), '$chg_photo' => DI::l10n()->t('Change profile photo'),
'$cr_new' => L10n::t('Create New Profile'), '$cr_new' => DI::l10n()->t('Create New Profile'),
'$cr_new_link' => 'profiles/new?t=' . BaseModule::getFormSecurityToken("profile_new"), '$cr_new_link' => 'profiles/new?t=' . BaseModule::getFormSecurityToken("profile_new"),
'$profiles' => $profiles '$profiles' => $profiles
]); ]);

View file

@ -4,7 +4,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -27,13 +26,13 @@ function profperm_init(App $a)
function profperm_content(App $a) { function profperm_content(App $a) {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied') . EOL); notice(DI::l10n()->t('Permission denied') . EOL);
return; return;
} }
if ($a->argc < 2) { if ($a->argc < 2) {
notice(L10n::t('Invalid profile identifier.') . EOL ); notice(DI::l10n()->t('Invalid profile identifier.') . EOL );
return; return;
} }
@ -66,7 +65,7 @@ function profperm_content(App $a) {
intval(local_user()) intval(local_user())
); );
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
notice(L10n::t('Invalid profile identifier.') . EOL ); notice(DI::l10n()->t('Invalid profile identifier.') . EOL );
return; return;
} }
$profile = $r[0]; $profile = $r[0];
@ -112,11 +111,11 @@ function profperm_content(App $a) {
$ingroup[] = $member['id']; $ingroup[] = $member['id'];
} }
$o .= '<h2>' . L10n::t('Profile Visibility Editor') . '</h2>'; $o .= '<h2>' . DI::l10n()->t('Profile Visibility Editor') . '</h2>';
$o .= '<h3>' . L10n::t('Profile') . ' \'' . $profile['profile-name'] . '\'</h3>'; $o .= '<h3>' . DI::l10n()->t('Profile') . ' \'' . $profile['profile-name'] . '\'</h3>';
$o .= '<div id="prof-edit-desc">' . L10n::t('Click on a contact to add or remove.') . '</div>'; $o .= '<div id="prof-edit-desc">' . DI::l10n()->t('Click on a contact to add or remove.') . '</div>';
} }
@ -125,7 +124,7 @@ function profperm_content(App $a) {
$o = ''; $o = '';
$o .= '<div id="prof-members-title">'; $o .= '<div id="prof-members-title">';
$o .= '<h3>' . L10n::t('Visible To') . '</h3>'; $o .= '<h3>' . DI::l10n()->t('Visible To') . '</h3>';
$o .= '</div>'; $o .= '</div>';
$o .= '<div id="prof-members">'; $o .= '<div id="prof-members">';
@ -141,7 +140,7 @@ function profperm_content(App $a) {
$o .= '<hr id="prof-separator" />'; $o .= '<hr id="prof-separator" />';
$o .= '<div id="prof-all-contcts-title">'; $o .= '<div id="prof-all-contcts-title">';
$o .= '<h3>' . L10n::t("All Contacts \x28with secure profile access\x29") . '</h3>'; $o .= '<h3>' . DI::l10n()->t("All Contacts \x28with secure profile access\x29") . '</h3>';
$o .= '</div>'; $o .= '</div>';
$o .= '<div id="prof-all-contacts">'; $o .= '<div id="prof-all-contacts">';

View file

@ -1,7 +1,6 @@
<?php <?php
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Core\System; use Friendica\Core\System;
@ -30,7 +29,7 @@ function redir_init(App $a) {
$fields = ['id', 'uid', 'nurl', 'url', 'addr', 'name', 'network', 'poll', 'issued-id', 'dfrn-id', 'duplex', 'pending']; $fields = ['id', 'uid', 'nurl', 'url', 'addr', 'name', 'network', 'poll', 'issued-id', 'dfrn-id', 'duplex', 'pending'];
$contact = DBA::selectFirst('contact', $fields, ['id' => $cid, 'uid' => [0, local_user()]]); $contact = DBA::selectFirst('contact', $fields, ['id' => $cid, 'uid' => [0, local_user()]]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
notice(L10n::t('Contact not found.')); notice(DI::l10n()->t('Contact not found.'));
DI::baseUrl()->redirect(); DI::baseUrl()->redirect();
} }
@ -120,7 +119,7 @@ function redir_init(App $a) {
$a->redirect($url); $a->redirect($url);
} }
notice(L10n::t('Contact not found.')); notice(DI::l10n()->t('Contact not found.'));
DI::baseUrl()->redirect(); DI::baseUrl()->redirect();
} }
@ -135,7 +134,7 @@ function redir_magic($a, $cid, $url)
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
Logger::info('Contact not found', ['id' => $cid]); Logger::info('Contact not found', ['id' => $cid]);
// Shouldn't happen under normal conditions // Shouldn't happen under normal conditions
notice(L10n::t('Contact not found.')); notice(DI::l10n()->t('Contact not found.'));
if (!empty($url)) { if (!empty($url)) {
System::externalRedirect($url); System::externalRedirect($url);
} else { } else {

View file

@ -5,7 +5,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Worker; use Friendica\Core\Worker;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -36,7 +35,7 @@ function user_allow($hash)
Worker::add(PRIORITY_LOW, "Directory", $url); Worker::add(PRIORITY_LOW, "Directory", $url);
} }
$l10n = L10n::withLang($register['language']); $l10n = DI::l10n()->withLang($register['language']);
$res = User::sendRegisterOpenEmail( $res = User::sendRegisterOpenEmail(
$l10n, $l10n,
@ -47,7 +46,7 @@ function user_allow($hash)
); );
if ($res) { if ($res) {
info(L10n::t('Account approved.') . EOL); info(DI::l10n()->t('Account approved.') . EOL);
return true; return true;
} }
} }
@ -71,19 +70,19 @@ function user_deny($hash)
Register::deleteByHash($register['hash']); Register::deleteByHash($register['hash']);
notice(L10n::t('Registration revoked for %s', $user['username']) . EOL); notice(DI::l10n()->t('Registration revoked for %s', $user['username']) . EOL);
return true; return true;
} }
function regmod_content(App $a) function regmod_content(App $a)
{ {
if (!local_user()) { if (!local_user()) {
info(L10n::t('Please login.') . EOL); info(DI::l10n()->t('Please login.') . EOL);
return Login::form(DI::args()->getQueryString(), intval(Config::get('config', 'register_policy')) === \Friendica\Module\Register::CLOSED ? 0 : 1); return Login::form(DI::args()->getQueryString(), intval(Config::get('config', 'register_policy')) === \Friendica\Module\Register::CLOSED ? 0 : 1);
} }
if (!is_site_admin() || !empty($_SESSION['submanage'])) { if (!is_site_admin() || !empty($_SESSION['submanage'])) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return ''; return '';
} }

View file

@ -5,7 +5,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -44,9 +43,9 @@ function removeme_post(App $a)
} }
notification([ notification([
'type' => SYSTEM_EMAIL, 'type' => SYSTEM_EMAIL,
'subject' => L10n::t('[Friendica System Notify]') . ' ' . L10n::t('User deleted their account'), 'subject' => DI::l10n()->t('[Friendica System Notify]') . ' ' . DI::l10n()->t('User deleted their account'),
'preamble' => L10n::t('On your Friendica node an user deleted their account. Please ensure that their data is removed from the backups.'), 'preamble' => DI::l10n()->t('On your Friendica node an user deleted their account. Please ensure that their data is removed from the backups.'),
'body' => L10n::t('The user id is %d', local_user()), 'body' => DI::l10n()->t('The user id is %d', local_user()),
'to_email' => $admin['email'], 'to_email' => $admin['email'],
'to_name' => $admin['username'], 'to_name' => $admin['username'],
'uid' => $admin['uid'], 'uid' => $admin['uid'],
@ -82,10 +81,10 @@ function removeme_content(App $a)
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$basedir' => DI::baseUrl()->get(), '$basedir' => DI::baseUrl()->get(),
'$hash' => $hash, '$hash' => $hash,
'$title' => L10n::t('Remove My Account'), '$title' => DI::l10n()->t('Remove My Account'),
'$desc' => L10n::t('This will completely remove your account. Once this has been done it is not recoverable.'), '$desc' => DI::l10n()->t('This will completely remove your account. Once this has been done it is not recoverable.'),
'$passwd' => L10n::t('Please enter your password for verification:'), '$passwd' => DI::l10n()->t('Please enter your password for verification:'),
'$submit' => L10n::t('Remove My Account') '$submit' => DI::l10n()->t('Remove My Account')
]); ]);
return $o; return $o;

View file

@ -4,7 +4,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -13,12 +12,12 @@ use Friendica\Model\Contact;
function repair_ostatus_content(App $a) { function repair_ostatus_content(App $a) {
if (! local_user()) { if (! local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
DI::baseUrl()->redirect('ostatus_repair'); DI::baseUrl()->redirect('ostatus_repair');
// NOTREACHED // NOTREACHED
} }
$o = "<h2>".L10n::t("Resubscribing to OStatus contacts")."</h2>"; $o = "<h2>".DI::l10n()->t("Resubscribing to OStatus contacts")."</h2>";
$uid = local_user(); $uid = local_user();
@ -32,7 +31,7 @@ function repair_ostatus_content(App $a) {
intval(Contact::SHARING)); intval(Contact::SHARING));
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
return ($o . L10n::t("Error")); return ($o . DI::l10n()->t("Error"));
} }
$total = $r[0]["total"]; $total = $r[0]["total"];
@ -47,13 +46,13 @@ function repair_ostatus_content(App $a) {
intval(Contact::SHARING), $counter++); intval(Contact::SHARING), $counter++);
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
$o .= L10n::t("Done"); $o .= DI::l10n()->t("Done");
return $o; return $o;
} }
$o .= "<p>".$counter."/".$total.": ".$r[0]["url"]."</p>"; $o .= "<p>".$counter."/".$total.": ".$r[0]["url"]."</p>";
$o .= "<p>".L10n::t("Keep this window open until done.")."</p>"; $o .= "<p>".DI::l10n()->t("Keep this window open until done.")."</p>";
Contact::createFromProbe($uid, $r[0]["url"], true); Contact::createFromProbe($uid, $r[0]["url"], true);

View file

@ -10,7 +10,6 @@ use Friendica\Content\Nav;
use Friendica\Core\ACL; use Friendica\Core\ACL;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session; use Friendica\Core\Session;
@ -47,7 +46,7 @@ function get_theme_config_file($theme)
function settings_init(App $a) function settings_init(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -55,12 +54,12 @@ function settings_init(App $a)
$tpl = Renderer::getMarkupTemplate('settings/head.tpl'); $tpl = Renderer::getMarkupTemplate('settings/head.tpl');
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
'$ispublic' => L10n::t('everybody') '$ispublic' => DI::l10n()->t('everybody')
]); ]);
$tabs = [ $tabs = [
[ [
'label' => L10n::t('Account'), 'label' => DI::l10n()->t('Account'),
'url' => 'settings', 'url' => 'settings',
'selected' => (($a->argc == 1) && ($a->argv[0] === 'settings')?'active':''), 'selected' => (($a->argc == 1) && ($a->argv[0] === 'settings')?'active':''),
'accesskey' => 'o', 'accesskey' => 'o',
@ -68,14 +67,14 @@ function settings_init(App $a)
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Two-factor authentication'), 'label' => DI::l10n()->t('Two-factor authentication'),
'url' => 'settings/2fa', 'url' => 'settings/2fa',
'selected' => (($a->argc > 1) && ($a->argv[1] === '2fa') ? 'active' : ''), 'selected' => (($a->argc > 1) && ($a->argv[1] === '2fa') ? 'active' : ''),
'accesskey' => 'o', 'accesskey' => 'o',
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Profiles'), 'label' => DI::l10n()->t('Profiles'),
'url' => 'profiles', 'url' => 'profiles',
'selected' => (($a->argc == 1) && ($a->argv[0] === 'profiles')?'active':''), 'selected' => (($a->argc == 1) && ($a->argv[0] === 'profiles')?'active':''),
'accesskey' => 'p', 'accesskey' => 'p',
@ -83,7 +82,7 @@ function settings_init(App $a)
if (Feature::get()) { if (Feature::get()) {
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Additional features'), 'label' => DI::l10n()->t('Additional features'),
'url' => 'settings/features', 'url' => 'settings/features',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''), 'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
'accesskey' => 't', 'accesskey' => 't',
@ -91,49 +90,49 @@ function settings_init(App $a)
} }
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Display'), 'label' => DI::l10n()->t('Display'),
'url' => 'settings/display', 'url' => 'settings/display',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''), 'selected' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
'accesskey' => 'i', 'accesskey' => 'i',
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Social Networks'), 'label' => DI::l10n()->t('Social Networks'),
'url' => 'settings/connectors', 'url' => 'settings/connectors',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''), 'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
'accesskey' => 'w', 'accesskey' => 'w',
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Addons'), 'label' => DI::l10n()->t('Addons'),
'url' => 'settings/addon', 'url' => 'settings/addon',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''), 'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
'accesskey' => 'l', 'accesskey' => 'l',
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Delegations'), 'label' => DI::l10n()->t('Delegations'),
'url' => 'settings/delegation', 'url' => 'settings/delegation',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'delegation')?'active':''), 'selected' => (($a->argc > 1) && ($a->argv[1] === 'delegation')?'active':''),
'accesskey' => 'd', 'accesskey' => 'd',
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Connected apps'), 'label' => DI::l10n()->t('Connected apps'),
'url' => 'settings/oauth', 'url' => 'settings/oauth',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''), 'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
'accesskey' => 'b', 'accesskey' => 'b',
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Export personal data'), 'label' => DI::l10n()->t('Export personal data'),
'url' => 'settings/userexport', 'url' => 'settings/userexport',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'userexport')?'active':''), 'selected' => (($a->argc > 1) && ($a->argv[1] === 'userexport')?'active':''),
'accesskey' => 'e', 'accesskey' => 'e',
]; ];
$tabs[] = [ $tabs[] = [
'label' => L10n::t('Remove account'), 'label' => DI::l10n()->t('Remove account'),
'url' => 'removeme', 'url' => 'removeme',
'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme')?'active':''), 'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme')?'active':''),
'accesskey' => 'r', 'accesskey' => 'r',
@ -142,7 +141,7 @@ function settings_init(App $a)
$tabtpl = Renderer::getMarkupTemplate("generic_links_widget.tpl"); $tabtpl = Renderer::getMarkupTemplate("generic_links_widget.tpl");
DI::page()['aside'] = Renderer::replaceMacros($tabtpl, [ DI::page()['aside'] = Renderer::replaceMacros($tabtpl, [
'$title' => L10n::t('Settings'), '$title' => DI::l10n()->t('Settings'),
'$class' => 'settings-widget', '$class' => 'settings-widget',
'$items' => $tabs, '$items' => $tabs,
]); ]);
@ -160,7 +159,7 @@ function settings_post(App $a)
} }
if (count($a->user) && !empty($a->user['uid']) && $a->user['uid'] != local_user()) { if (count($a->user) && !empty($a->user['uid']) && $a->user['uid'] != local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -185,9 +184,9 @@ function settings_post(App $a)
$icon = $_POST['icon'] ?? ''; $icon = $_POST['icon'] ?? '';
if ($name == "" || $key == "" || $secret == "") { if ($name == "" || $key == "" || $secret == "") {
notice(L10n::t("Missing some important data!")); notice(DI::l10n()->t("Missing some important data!"));
} else { } else {
if ($_POST['submit'] == L10n::t("Update")) { if ($_POST['submit'] == DI::l10n()->t("Update")) {
q("UPDATE clients SET q("UPDATE clients SET
client_id='%s', client_id='%s',
pw='%s', pw='%s',
@ -295,12 +294,12 @@ function settings_post(App $a)
unset($dcrpass); unset($dcrpass);
if (!$mbox) { if (!$mbox) {
$failed = true; $failed = true;
notice(L10n::t('Failed to connect with email account using the settings provided.') . EOL); notice(DI::l10n()->t('Failed to connect with email account using the settings provided.') . EOL);
} }
} }
} }
if (!$failed) { if (!$failed) {
info(L10n::t('Email settings updated.') . EOL); info(DI::l10n()->t('Email settings updated.') . EOL);
} }
} }
} }
@ -316,7 +315,7 @@ function settings_post(App $a)
DI::pConfig()->set(local_user(), 'feature', substr($k, 8), ((intval($v)) ? 1 : 0)); DI::pConfig()->set(local_user(), 'feature', substr($k, 8), ((intval($v)) ? 1 : 0));
} }
} }
info(L10n::t('Features updated') . EOL); info(DI::l10n()->t('Features updated') . EOL);
return; return;
} }
@ -377,7 +376,7 @@ function settings_post(App $a)
DBA::update('user', ['theme' => $theme], ['uid' => local_user()]); DBA::update('user', ['theme' => $theme], ['uid' => local_user()]);
} }
} else { } else {
notice(L10n::t('The theme you chose isn\'t available.')); notice(DI::l10n()->t('The theme you chose isn\'t available.'));
} }
Hook::callAll('display_settings_post', $_POST); Hook::callAll('display_settings_post', $_POST);
@ -393,7 +392,7 @@ function settings_post(App $a)
// was there an error // was there an error
if ($_FILES['importcontact-filename']['error'] > 0) { if ($_FILES['importcontact-filename']['error'] > 0) {
Logger::notice('Contact CSV file upload error'); Logger::notice('Contact CSV file upload error');
info(L10n::t('Contact CSV file upload error')); info(DI::l10n()->t('Contact CSV file upload error'));
} else { } else {
$csvArray = array_map('str_getcsv', file($_FILES['importcontact-filename']['tmp_name'])); $csvArray = array_map('str_getcsv', file($_FILES['importcontact-filename']['tmp_name']));
// import contacts // import contacts
@ -407,7 +406,7 @@ function settings_post(App $a)
$arr = Contact::createFromProbe($_SESSION['uid'], $csvRow[0], '', false); $arr = Contact::createFromProbe($_SESSION['uid'], $csvRow[0], '', false);
} }
} }
info(L10n::t('Importing Contacts done')); info(DI::l10n()->t('Importing Contacts done'));
// delete temp file // delete temp file
unlink($filename); unlink($filename);
} }
@ -416,7 +415,7 @@ function settings_post(App $a)
if (!empty($_POST['resend_relocate'])) { if (!empty($_POST['resend_relocate'])) {
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, local_user()); Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, local_user());
info(L10n::t("Relocate message has been send to your contacts")); info(DI::l10n()->t("Relocate message has been send to your contacts"));
DI::baseUrl()->redirect('settings'); DI::baseUrl()->redirect('settings');
} }
@ -428,7 +427,7 @@ function settings_post(App $a)
try { try {
if ($newpass != $confirm) { if ($newpass != $confirm) {
throw new Exception(L10n::t('Passwords do not match.')); throw new Exception(DI::l10n()->t('Passwords do not match.'));
} }
// check if the old password was supplied correctly before changing it to the new value // check if the old password was supplied correctly before changing it to the new value
@ -436,13 +435,13 @@ function settings_post(App $a)
$result = User::updatePassword(local_user(), $newpass); $result = User::updatePassword(local_user(), $newpass);
if (!DBA::isResult($result)) { if (!DBA::isResult($result)) {
throw new Exception(L10n::t('Password update failed. Please try again.')); throw new Exception(DI::l10n()->t('Password update failed. Please try again.'));
} }
info(L10n::t('Password changed.')); info(DI::l10n()->t('Password changed.'));
} catch (Exception $e) { } catch (Exception $e) {
notice($e->getMessage()); notice($e->getMessage());
notice(L10n::t('Password unchanged.')); notice(DI::l10n()->t('Password unchanged.'));
} }
} }
@ -524,28 +523,28 @@ function settings_post(App $a)
if ($username != $a->user['username']) { if ($username != $a->user['username']) {
if (strlen($username) > 40) { if (strlen($username) > 40) {
$err .= L10n::t(' Please use a shorter name.'); $err .= DI::l10n()->t(' Please use a shorter name.');
} }
if (strlen($username) < 3) { if (strlen($username) < 3) {
$err .= L10n::t(' Name too short.'); $err .= DI::l10n()->t(' Name too short.');
} }
} }
if ($email != $a->user['email']) { if ($email != $a->user['email']) {
// check for the correct password // check for the correct password
if (!User::authenticate(intval(local_user()), $_POST['mpassword'])) { if (!User::authenticate(intval(local_user()), $_POST['mpassword'])) {
$err .= L10n::t('Wrong Password') . EOL; $err .= DI::l10n()->t('Wrong Password') . EOL;
$email = $a->user['email']; $email = $a->user['email'];
} }
// check the email is valid // check the email is valid
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$err .= L10n::t('Invalid email.'); $err .= DI::l10n()->t('Invalid email.');
} }
// ensure new email is not the admin mail // ensure new email is not the admin mail
if (Config::get('config', 'admin_email')) { if (Config::get('config', 'admin_email')) {
$adminlist = explode(",", str_replace(" ", "", strtolower(Config::get('config', 'admin_email')))); $adminlist = explode(",", str_replace(" ", "", strtolower(Config::get('config', 'admin_email'))));
if (in_array(strtolower($email), $adminlist)) { if (in_array(strtolower($email), $adminlist)) {
$err .= L10n::t('Cannot change to that email.'); $err .= DI::l10n()->t('Cannot change to that email.');
$email = $a->user['email']; $email = $a->user['email'];
} }
} }
@ -582,10 +581,10 @@ function settings_post(App $a)
$hidewall = 1; $hidewall = 1;
if (!$str_contact_allow && !$str_group_allow && !$str_contact_deny && !$str_group_deny) { if (!$str_contact_allow && !$str_group_allow && !$str_contact_deny && !$str_group_deny) {
if ($def_gid) { if ($def_gid) {
info(L10n::t('Private forum has no privacy permissions. Using default privacy group.'). EOL); info(DI::l10n()->t('Private forum has no privacy permissions. Using default privacy group.'). EOL);
$str_group_allow = '<' . $def_gid . '>'; $str_group_allow = '<' . $def_gid . '>';
} else { } else {
notice(L10n::t('Private forum has no privacy permissions and no default privacy group.') . EOL); notice(DI::l10n()->t('Private forum has no privacy permissions and no default privacy group.') . EOL);
} }
} }
} }
@ -602,7 +601,7 @@ function settings_post(App $a)
} }
if (DBA::update('user', $fields, ['uid' => local_user()])) { if (DBA::update('user', $fields, ['uid' => local_user()])) {
info(L10n::t('Settings updated.') . EOL); info(DI::l10n()->t('Settings updated.') . EOL);
} }
// clear session language // clear session language
@ -647,12 +646,12 @@ function settings_content(App $a)
Nav::setSelected('settings'); Nav::setSelected('settings');
if (!local_user()) { if (!local_user()) {
//notice(L10n::t('Permission denied.') . EOL); //notice(DI::l10n()->t('Permission denied.') . EOL);
return Login::form(); return Login::form();
} }
if (!empty($_SESSION['submanage'])) { if (!empty($_SESSION['submanage'])) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -661,14 +660,14 @@ function settings_content(App $a)
$tpl = Renderer::getMarkupTemplate('settings/oauth_edit.tpl'); $tpl = Renderer::getMarkupTemplate('settings/oauth_edit.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$form_security_token' => BaseModule::getFormSecurityToken("settings_oauth"), '$form_security_token' => BaseModule::getFormSecurityToken("settings_oauth"),
'$title' => L10n::t('Add application'), '$title' => DI::l10n()->t('Add application'),
'$submit' => L10n::t('Save Settings'), '$submit' => DI::l10n()->t('Save Settings'),
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$name' => ['name', L10n::t('Name'), '', ''], '$name' => ['name', DI::l10n()->t('Name'), '', ''],
'$key' => ['key', L10n::t('Consumer Key'), '', ''], '$key' => ['key', DI::l10n()->t('Consumer Key'), '', ''],
'$secret' => ['secret', L10n::t('Consumer Secret'), '', ''], '$secret' => ['secret', DI::l10n()->t('Consumer Secret'), '', ''],
'$redirect' => ['redirect', L10n::t('Redirect'), '', ''], '$redirect' => ['redirect', DI::l10n()->t('Redirect'), '', ''],
'$icon' => ['icon', L10n::t('Icon url'), '', ''], '$icon' => ['icon', DI::l10n()->t('Icon url'), '', ''],
]); ]);
return $o; return $o;
} }
@ -679,7 +678,7 @@ function settings_content(App $a)
local_user()); local_user());
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
notice(L10n::t("You can't edit this application.")); notice(DI::l10n()->t("You can't edit this application."));
return; return;
} }
$app = $r[0]; $app = $r[0];
@ -687,14 +686,14 @@ function settings_content(App $a)
$tpl = Renderer::getMarkupTemplate('settings/oauth_edit.tpl'); $tpl = Renderer::getMarkupTemplate('settings/oauth_edit.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$form_security_token' => BaseModule::getFormSecurityToken("settings_oauth"), '$form_security_token' => BaseModule::getFormSecurityToken("settings_oauth"),
'$title' => L10n::t('Add application'), '$title' => DI::l10n()->t('Add application'),
'$submit' => L10n::t('Update'), '$submit' => DI::l10n()->t('Update'),
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$name' => ['name', L10n::t('Name'), $app['name'] , ''], '$name' => ['name', DI::l10n()->t('Name'), $app['name'] , ''],
'$key' => ['key', L10n::t('Consumer Key'), $app['client_id'], ''], '$key' => ['key', DI::l10n()->t('Consumer Key'), $app['client_id'], ''],
'$secret' => ['secret', L10n::t('Consumer Secret'), $app['pw'], ''], '$secret' => ['secret', DI::l10n()->t('Consumer Secret'), $app['pw'], ''],
'$redirect' => ['redirect', L10n::t('Redirect'), $app['redirect_uri'], ''], '$redirect' => ['redirect', DI::l10n()->t('Redirect'), $app['redirect_uri'], ''],
'$icon' => ['icon', L10n::t('Icon url'), $app['icon'], ''], '$icon' => ['icon', DI::l10n()->t('Icon url'), $app['icon'], ''],
]); ]);
return $o; return $o;
} }
@ -720,13 +719,13 @@ function settings_content(App $a)
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$form_security_token' => BaseModule::getFormSecurityToken("settings_oauth"), '$form_security_token' => BaseModule::getFormSecurityToken("settings_oauth"),
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$title' => L10n::t('Connected Apps'), '$title' => DI::l10n()->t('Connected Apps'),
'$add' => L10n::t('Add application'), '$add' => DI::l10n()->t('Add application'),
'$edit' => L10n::t('Edit'), '$edit' => DI::l10n()->t('Edit'),
'$delete' => L10n::t('Delete'), '$delete' => DI::l10n()->t('Delete'),
'$consumerkey' => L10n::t('Client key starts with'), '$consumerkey' => DI::l10n()->t('Client key starts with'),
'$noname' => L10n::t('No name'), '$noname' => DI::l10n()->t('No name'),
'$remove' => L10n::t('Remove authorization'), '$remove' => DI::l10n()->t('Remove authorization'),
'$apps' => $r, '$apps' => $r,
]); ]);
return $o; return $o;
@ -737,7 +736,7 @@ function settings_content(App $a)
$r = q("SELECT * FROM `hook` WHERE `hook` = 'addon_settings' "); $r = q("SELECT * FROM `hook` WHERE `hook` = 'addon_settings' ");
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
$settings_addons = L10n::t('No Addon settings configured'); $settings_addons = DI::l10n()->t('No Addon settings configured');
} }
Hook::callAll('addon_settings', $settings_addons); Hook::callAll('addon_settings', $settings_addons);
@ -746,7 +745,7 @@ function settings_content(App $a)
$tpl = Renderer::getMarkupTemplate('settings/addons.tpl'); $tpl = Renderer::getMarkupTemplate('settings/addons.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$form_security_token' => BaseModule::getFormSecurityToken("settings_addon"), '$form_security_token' => BaseModule::getFormSecurityToken("settings_addon"),
'$title' => L10n::t('Addon Settings'), '$title' => DI::l10n()->t('Addon Settings'),
'$settings_addons' => $settings_addons '$settings_addons' => $settings_addons
]); ]);
return $o; return $o;
@ -760,16 +759,16 @@ function settings_content(App $a)
$arr[$fname] = []; $arr[$fname] = [];
$arr[$fname][0] = $fdata[0]; $arr[$fname][0] = $fdata[0];
foreach (array_slice($fdata,1) as $f) { foreach (array_slice($fdata,1) as $f) {
$arr[$fname][1][] = ['feature_' .$f[0], $f[1],((intval(Feature::isEnabled(local_user(), $f[0]))) ? "1" : ''), $f[2],[L10n::t('Off'), L10n::t('On')]]; $arr[$fname][1][] = ['feature_' .$f[0], $f[1],((intval(Feature::isEnabled(local_user(), $f[0]))) ? "1" : ''), $f[2],[DI::l10n()->t('Off'), DI::l10n()->t('On')]];
} }
} }
$tpl = Renderer::getMarkupTemplate('settings/features.tpl'); $tpl = Renderer::getMarkupTemplate('settings/features.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$form_security_token' => BaseModule::getFormSecurityToken("settings_features"), '$form_security_token' => BaseModule::getFormSecurityToken("settings_features"),
'$title' => L10n::t('Additional Features'), '$title' => DI::l10n()->t('Additional Features'),
'$features' => $arr, '$features' => $arr,
'$submit' => L10n::t('Save Settings'), '$submit' => DI::l10n()->t('Save Settings'),
]); ]);
return $o; return $o;
} }
@ -792,8 +791,8 @@ function settings_content(App $a)
Hook::callAll('connector_settings', $settings_connectors); Hook::callAll('connector_settings', $settings_connectors);
if (is_site_admin()) { if (is_site_admin()) {
$diasp_enabled = L10n::t('Built-in support for %s connectivity is %s', L10n::t('Diaspora'), ((Config::get('system', 'diaspora_enabled')) ? L10n::t('enabled') : L10n::t('disabled'))); $diasp_enabled = DI::l10n()->t('Built-in support for %s connectivity is %s', DI::l10n()->t('Diaspora'), ((Config::get('system', 'diaspora_enabled')) ? DI::l10n()->t('enabled') : DI::l10n()->t('disabled')));
$ostat_enabled = L10n::t('Built-in support for %s connectivity is %s', L10n::t("GNU Social \x28OStatus\x29"), ((Config::get('system', 'ostatus_disabled')) ? L10n::t('disabled') : L10n::t('enabled'))); $ostat_enabled = DI::l10n()->t('Built-in support for %s connectivity is %s', DI::l10n()->t("GNU Social \x28OStatus\x29"), ((Config::get('system', 'ostatus_disabled')) ? DI::l10n()->t('disabled') : DI::l10n()->t('enabled')));
} else { } else {
$diasp_enabled = ""; $diasp_enabled = "";
$ostat_enabled = ""; $ostat_enabled = "";
@ -824,50 +823,50 @@ function settings_content(App $a)
$tpl = Renderer::getMarkupTemplate('settings/connectors.tpl'); $tpl = Renderer::getMarkupTemplate('settings/connectors.tpl');
$mail_disabled_message = ($mail_disabled ? L10n::t('Email access is disabled on this site.') : ''); $mail_disabled_message = ($mail_disabled ? DI::l10n()->t('Email access is disabled on this site.') : '');
$ssl_options = ['TLS' => 'TLS', 'SSL' => 'SSL']; $ssl_options = ['TLS' => 'TLS', 'SSL' => 'SSL'];
if (Config::get('system', 'insecure_imap')) { if (Config::get('system', 'insecure_imap')) {
$ssl_options['notls'] = L10n::t('None'); $ssl_options['notls'] = DI::l10n()->t('None');
} }
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$form_security_token' => BaseModule::getFormSecurityToken("settings_connectors"), '$form_security_token' => BaseModule::getFormSecurityToken("settings_connectors"),
'$title' => L10n::t('Social Networks'), '$title' => DI::l10n()->t('Social Networks'),
'$diasp_enabled' => $diasp_enabled, '$diasp_enabled' => $diasp_enabled,
'$ostat_enabled' => $ostat_enabled, '$ostat_enabled' => $ostat_enabled,
'$general_settings' => L10n::t('General Social Media Settings'), '$general_settings' => DI::l10n()->t('General Social Media Settings'),
'$accept_only_sharer' => ['accept_only_sharer', L10n::t('Accept only top level posts by contacts you follow'), $accept_only_sharer, L10n::t('The system does an auto completion of threads when a comment arrives. This has got the side effect that you can receive posts that had been started by a non-follower but had been commented by someone you follow. This setting deactivates this behaviour. When activated, you strictly only will receive posts from people you really do follow.')], '$accept_only_sharer' => ['accept_only_sharer', DI::l10n()->t('Accept only top level posts by contacts you follow'), $accept_only_sharer, DI::l10n()->t('The system does an auto completion of threads when a comment arrives. This has got the side effect that you can receive posts that had been started by a non-follower but had been commented by someone you follow. This setting deactivates this behaviour. When activated, you strictly only will receive posts from people you really do follow.')],
'$disable_cw' => ['disable_cw', L10n::t('Disable Content Warning'), $disable_cw, L10n::t('Users on networks like Mastodon or Pleroma are able to set a content warning field which collapse their post by default. This disables the automatic collapsing and sets the content warning as the post title. Doesn\'t affect any other content filtering you eventually set up.')], '$disable_cw' => ['disable_cw', DI::l10n()->t('Disable Content Warning'), $disable_cw, DI::l10n()->t('Users on networks like Mastodon or Pleroma are able to set a content warning field which collapse their post by default. This disables the automatic collapsing and sets the content warning as the post title. Doesn\'t affect any other content filtering you eventually set up.')],
'$no_intelligent_shortening' => ['no_intelligent_shortening', L10n::t('Disable intelligent shortening'), $no_intelligent_shortening, L10n::t('Normally the system tries to find the best link to add to shortened posts. If this option is enabled then every shortened post will always point to the original friendica post.')], '$no_intelligent_shortening' => ['no_intelligent_shortening', DI::l10n()->t('Disable intelligent shortening'), $no_intelligent_shortening, DI::l10n()->t('Normally the system tries to find the best link to add to shortened posts. If this option is enabled then every shortened post will always point to the original friendica post.')],
'$attach_link_title' => ['attach_link_title', L10n::t('Attach the link title'), $attach_link_title, L10n::t('When activated, the title of the attached link will be added as a title on posts to Diaspora. This is mostly helpful with "remote-self" contacts that share feed content.')], '$attach_link_title' => ['attach_link_title', DI::l10n()->t('Attach the link title'), $attach_link_title, DI::l10n()->t('When activated, the title of the attached link will be added as a title on posts to Diaspora. This is mostly helpful with "remote-self" contacts that share feed content.')],
'$ostatus_autofriend' => ['snautofollow', L10n::t("Automatically follow any GNU Social \x28OStatus\x29 followers/mentioners"), $ostatus_autofriend, L10n::t('If you receive a message from an unknown OStatus user, this option decides what to do. If it is checked, a new contact will be created for every unknown user.')], '$ostatus_autofriend' => ['snautofollow', DI::l10n()->t("Automatically follow any GNU Social \x28OStatus\x29 followers/mentioners"), $ostatus_autofriend, DI::l10n()->t('If you receive a message from an unknown OStatus user, this option decides what to do. If it is checked, a new contact will be created for every unknown user.')],
'$default_group' => Group::displayGroupSelection(local_user(), $default_group, L10n::t("Default group for OStatus contacts")), '$default_group' => Group::displayGroupSelection(local_user(), $default_group, DI::l10n()->t("Default group for OStatus contacts")),
'$legacy_contact' => ['legacy_contact', L10n::t('Your legacy GNU Social account'), $legacy_contact, L10n::t("If you enter your old GNU Social/Statusnet account name here \x28in the format user@domain.tld\x29, your contacts will be added automatically. The field will be emptied when done.")], '$legacy_contact' => ['legacy_contact', DI::l10n()->t('Your legacy GNU Social account'), $legacy_contact, DI::l10n()->t("If you enter your old GNU Social/Statusnet account name here \x28in the format user@domain.tld\x29, your contacts will be added automatically. The field will be emptied when done.")],
'$repair_ostatus_url' => DI::baseUrl() . '/repair_ostatus', '$repair_ostatus_url' => DI::baseUrl() . '/repair_ostatus',
'$repair_ostatus_text' => L10n::t('Repair OStatus subscriptions'), '$repair_ostatus_text' => DI::l10n()->t('Repair OStatus subscriptions'),
'$settings_connectors' => $settings_connectors, '$settings_connectors' => $settings_connectors,
'$h_imap' => L10n::t('Email/Mailbox Setup'), '$h_imap' => DI::l10n()->t('Email/Mailbox Setup'),
'$imap_desc' => L10n::t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."), '$imap_desc' => DI::l10n()->t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."),
'$imap_lastcheck' => ['imap_lastcheck', L10n::t('Last successful email check:'), $mail_chk, ''], '$imap_lastcheck' => ['imap_lastcheck', DI::l10n()->t('Last successful email check:'), $mail_chk, ''],
'$mail_disabled' => $mail_disabled_message, '$mail_disabled' => $mail_disabled_message,
'$mail_server' => ['mail_server', L10n::t('IMAP server name:'), $mail_server, ''], '$mail_server' => ['mail_server', DI::l10n()->t('IMAP server name:'), $mail_server, ''],
'$mail_port' => ['mail_port', L10n::t('IMAP port:'), $mail_port, ''], '$mail_port' => ['mail_port', DI::l10n()->t('IMAP port:'), $mail_port, ''],
'$mail_ssl' => ['mail_ssl', L10n::t('Security:'), strtoupper($mail_ssl), '', $ssl_options], '$mail_ssl' => ['mail_ssl', DI::l10n()->t('Security:'), strtoupper($mail_ssl), '', $ssl_options],
'$mail_user' => ['mail_user', L10n::t('Email login name:'), $mail_user, ''], '$mail_user' => ['mail_user', DI::l10n()->t('Email login name:'), $mail_user, ''],
'$mail_pass' => ['mail_pass', L10n::t('Email password:'), '', ''], '$mail_pass' => ['mail_pass', DI::l10n()->t('Email password:'), '', ''],
'$mail_replyto' => ['mail_replyto', L10n::t('Reply-to address:'), $mail_replyto, 'Optional'], '$mail_replyto' => ['mail_replyto', DI::l10n()->t('Reply-to address:'), $mail_replyto, 'Optional'],
'$mail_pubmail' => ['mail_pubmail', L10n::t('Send public posts to all email contacts:'), $mail_pubmail, ''], '$mail_pubmail' => ['mail_pubmail', DI::l10n()->t('Send public posts to all email contacts:'), $mail_pubmail, ''],
'$mail_action' => ['mail_action', L10n::t('Action after import:'), $mail_action, '', [0 => L10n::t('None'), 1 => L10n::t('Delete'), 2 => L10n::t('Mark as seen'), 3 => L10n::t('Move to folder')]], '$mail_action' => ['mail_action', DI::l10n()->t('Action after import:'), $mail_action, '', [0 => DI::l10n()->t('None'), 1 => DI::l10n()->t('Delete'), 2 => DI::l10n()->t('Mark as seen'), 3 => DI::l10n()->t('Move to folder')]],
'$mail_movetofolder' => ['mail_movetofolder', L10n::t('Move to folder:'), $mail_movetofolder, ''], '$mail_movetofolder' => ['mail_movetofolder', DI::l10n()->t('Move to folder:'), $mail_movetofolder, ''],
'$submit' => L10n::t('Save Settings'), '$submit' => DI::l10n()->t('Save Settings'),
]); ]);
Hook::callAll('display_settings', $o); Hook::callAll('display_settings', $o);
@ -890,7 +889,7 @@ function settings_content(App $a)
$allowed_themes = Theme::getAllowedList(); $allowed_themes = Theme::getAllowedList();
$themes = []; $themes = [];
$mobile_themes = ["---" => L10n::t('No special theme for mobile devices')]; $mobile_themes = ["---" => DI::l10n()->t('No special theme for mobile devices')];
foreach ($allowed_themes as $theme) { foreach ($allowed_themes as $theme) {
$is_experimental = file_exists('view/theme/' . $theme . '/experimental'); $is_experimental = file_exists('view/theme/' . $theme . '/experimental');
$is_unsupported = file_exists('view/theme/' . $theme . '/unsupported'); $is_unsupported = file_exists('view/theme/' . $theme . '/unsupported');
@ -898,9 +897,9 @@ function settings_content(App $a)
if (!$is_experimental || ($is_experimental && (Config::get('experimentals', 'exp_themes')==1 || is_null(Config::get('experimentals', 'exp_themes'))))) { if (!$is_experimental || ($is_experimental && (Config::get('experimentals', 'exp_themes')==1 || is_null(Config::get('experimentals', 'exp_themes'))))) {
$theme_name = ucfirst($theme); $theme_name = ucfirst($theme);
if ($is_unsupported) { if ($is_unsupported) {
$theme_name = L10n::t('%s - (Unsupported)', $theme_name); $theme_name = DI::l10n()->t('%s - (Unsupported)', $theme_name);
} elseif ($is_experimental) { } elseif ($is_experimental) {
$theme_name = L10n::t('%s - (Experimental)', $theme_name); $theme_name = DI::l10n()->t('%s - (Experimental)', $theme_name);
} }
if ($is_mobile) { if ($is_mobile) {
@ -928,7 +927,7 @@ function settings_content(App $a)
$nosmile = DI::pConfig()->get(local_user(), 'system', 'no_smilies', 0); $nosmile = DI::pConfig()->get(local_user(), 'system', 'no_smilies', 0);
$first_day_of_week = DI::pConfig()->get(local_user(), 'system', 'first_day_of_week', 0); $first_day_of_week = DI::pConfig()->get(local_user(), 'system', 'first_day_of_week', 0);
$weekdays = [0 => L10n::t("Sunday"), 1 => L10n::t("Monday")]; $weekdays = [0 => DI::l10n()->t("Sunday"), 1 => DI::l10n()->t("Monday")];
$noinfo = DI::pConfig()->get(local_user(), 'system', 'ignore_info', 0); $noinfo = DI::pConfig()->get(local_user(), 'system', 'ignore_info', 0);
$infinite_scroll = DI::pConfig()->get(local_user(), 'system', 'infinite_scroll', 0); $infinite_scroll = DI::pConfig()->get(local_user(), 'system', 'infinite_scroll', 0);
@ -944,31 +943,31 @@ function settings_content(App $a)
$tpl = Renderer::getMarkupTemplate('settings/display.tpl'); $tpl = Renderer::getMarkupTemplate('settings/display.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$ptitle' => L10n::t('Display Settings'), '$ptitle' => DI::l10n()->t('Display Settings'),
'$form_security_token' => BaseModule::getFormSecurityToken("settings_display"), '$form_security_token' => BaseModule::getFormSecurityToken("settings_display"),
'$submit' => L10n::t('Save Settings'), '$submit' => DI::l10n()->t('Save Settings'),
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$uid' => local_user(), '$uid' => local_user(),
'$theme' => ['theme', L10n::t('Display Theme:'), $theme_selected, '', $themes, true], '$theme' => ['theme', DI::l10n()->t('Display Theme:'), $theme_selected, '', $themes, true],
'$mobile_theme' => ['mobile_theme', L10n::t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, false], '$mobile_theme' => ['mobile_theme', DI::l10n()->t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, false],
'$nowarn_insecure' => ['nowarn_insecure', L10n::t('Suppress warning of insecure networks'), $nowarn_insecure, L10n::t("Should the system suppress the warning that the current group contains members of networks that can't receive non public postings.")], '$nowarn_insecure' => ['nowarn_insecure', DI::l10n()->t('Suppress warning of insecure networks'), $nowarn_insecure, DI::l10n()->t("Should the system suppress the warning that the current group contains members of networks that can't receive non public postings.")],
'$ajaxint' => ['browser_update', L10n::t("Update browser every xx seconds"), $browser_update, L10n::t('Minimum of 10 seconds. Enter -1 to disable it.')], '$ajaxint' => ['browser_update', DI::l10n()->t("Update browser every xx seconds"), $browser_update, DI::l10n()->t('Minimum of 10 seconds. Enter -1 to disable it.')],
'$itemspage_network' => ['itemspage_network', L10n::t("Number of items to display per page:"), $itemspage_network, L10n::t('Maximum of 100 items')], '$itemspage_network' => ['itemspage_network', DI::l10n()->t("Number of items to display per page:"), $itemspage_network, DI::l10n()->t('Maximum of 100 items')],
'$itemspage_mobile_network' => ['itemspage_mobile_network', L10n::t("Number of items to display per page when viewed from mobile device:"), $itemspage_mobile_network, L10n::t('Maximum of 100 items')], '$itemspage_mobile_network' => ['itemspage_mobile_network', DI::l10n()->t("Number of items to display per page when viewed from mobile device:"), $itemspage_mobile_network, DI::l10n()->t('Maximum of 100 items')],
'$nosmile' => ['nosmile', L10n::t("Don't show emoticons"), $nosmile, ''], '$nosmile' => ['nosmile', DI::l10n()->t("Don't show emoticons"), $nosmile, ''],
'$calendar_title' => L10n::t('Calendar'), '$calendar_title' => DI::l10n()->t('Calendar'),
'$first_day_of_week' => ['first_day_of_week', L10n::t('Beginning of week:'), $first_day_of_week, '', $weekdays, false], '$first_day_of_week' => ['first_day_of_week', DI::l10n()->t('Beginning of week:'), $first_day_of_week, '', $weekdays, false],
'$noinfo' => ['noinfo', L10n::t("Don't show notices"), $noinfo, ''], '$noinfo' => ['noinfo', DI::l10n()->t("Don't show notices"), $noinfo, ''],
'$infinite_scroll' => ['infinite_scroll', L10n::t("Infinite scroll"), $infinite_scroll, ''], '$infinite_scroll' => ['infinite_scroll', DI::l10n()->t("Infinite scroll"), $infinite_scroll, ''],
'$no_auto_update' => ['no_auto_update', L10n::t("Automatic updates only at the top of the network page"), $no_auto_update, L10n::t('When disabled, the network page is updated all the time, which could be confusing while reading.')], '$no_auto_update' => ['no_auto_update', DI::l10n()->t("Automatic updates only at the top of the network page"), $no_auto_update, DI::l10n()->t('When disabled, the network page is updated all the time, which could be confusing while reading.')],
'$bandwidth_saver' => ['bandwidth_saver', L10n::t('Bandwidth Saver Mode'), $bandwidth_saver, L10n::t('When enabled, embedded content is not displayed on automatic updates, they only show on page reload.')], '$bandwidth_saver' => ['bandwidth_saver', DI::l10n()->t('Bandwidth Saver Mode'), $bandwidth_saver, DI::l10n()->t('When enabled, embedded content is not displayed on automatic updates, they only show on page reload.')],
'$no_smart_threading' => ['no_smart_threading', L10n::t('Disable Smart Threading'), $no_smart_threading, L10n::t('Disable the automatic suppression of extraneous thread indentation.')], '$no_smart_threading' => ['no_smart_threading', DI::l10n()->t('Disable Smart Threading'), $no_smart_threading, DI::l10n()->t('Disable the automatic suppression of extraneous thread indentation.')],
'$d_tset' => L10n::t('General Theme Settings'), '$d_tset' => DI::l10n()->t('General Theme Settings'),
'$d_ctset' => L10n::t('Custom Theme Settings'), '$d_ctset' => DI::l10n()->t('Custom Theme Settings'),
'$d_cset' => L10n::t('Content Settings'), '$d_cset' => DI::l10n()->t('Content Settings'),
'stitle' => L10n::t('Theme settings'), 'stitle' => DI::l10n()->t('Theme settings'),
'$theme_config' => $theme_config, '$theme_config' => $theme_config,
]); ]);
@ -982,7 +981,7 @@ function settings_content(App $a)
$profile = DBA::selectFirst('profile', [], ['is-default' => true, 'uid' => local_user()]); $profile = DBA::selectFirst('profile', [], ['is-default' => true, 'uid' => local_user()]);
if (!DBA::isResult($profile)) { if (!DBA::isResult($profile)) {
notice(L10n::t('Unable to find your profile. Please contact your admin.') . EOL); notice(DI::l10n()->t('Unable to find your profile. Please contact your admin.') . EOL);
return; return;
} }
@ -1021,49 +1020,49 @@ function settings_content(App $a)
$pageset_tpl = Renderer::getMarkupTemplate('settings/pagetypes.tpl'); $pageset_tpl = Renderer::getMarkupTemplate('settings/pagetypes.tpl');
$pagetype = Renderer::replaceMacros($pageset_tpl, [ $pagetype = Renderer::replaceMacros($pageset_tpl, [
'$account_types' => L10n::t("Account Types"), '$account_types' => DI::l10n()->t("Account Types"),
'$user' => L10n::t("Personal Page Subtypes"), '$user' => DI::l10n()->t("Personal Page Subtypes"),
'$community' => L10n::t("Community Forum Subtypes"), '$community' => DI::l10n()->t("Community Forum Subtypes"),
'$account_type' => $a->user['account-type'], '$account_type' => $a->user['account-type'],
'$type_person' => User::ACCOUNT_TYPE_PERSON, '$type_person' => User::ACCOUNT_TYPE_PERSON,
'$type_organisation' => User::ACCOUNT_TYPE_ORGANISATION, '$type_organisation' => User::ACCOUNT_TYPE_ORGANISATION,
'$type_news' => User::ACCOUNT_TYPE_NEWS, '$type_news' => User::ACCOUNT_TYPE_NEWS,
'$type_community' => User::ACCOUNT_TYPE_COMMUNITY, '$type_community' => User::ACCOUNT_TYPE_COMMUNITY,
'$account_person' => ['account-type', L10n::t('Personal Page'), User::ACCOUNT_TYPE_PERSON, '$account_person' => ['account-type', DI::l10n()->t('Personal Page'), User::ACCOUNT_TYPE_PERSON,
L10n::t('Account for a personal profile.'), DI::l10n()->t('Account for a personal profile.'),
($a->user['account-type'] == User::ACCOUNT_TYPE_PERSON)], ($a->user['account-type'] == User::ACCOUNT_TYPE_PERSON)],
'$account_organisation' => ['account-type', L10n::t('Organisation Page'), User::ACCOUNT_TYPE_ORGANISATION, '$account_organisation' => ['account-type', DI::l10n()->t('Organisation Page'), User::ACCOUNT_TYPE_ORGANISATION,
L10n::t('Account for an organisation that automatically approves contact requests as "Followers".'), DI::l10n()->t('Account for an organisation that automatically approves contact requests as "Followers".'),
($a->user['account-type'] == User::ACCOUNT_TYPE_ORGANISATION)], ($a->user['account-type'] == User::ACCOUNT_TYPE_ORGANISATION)],
'$account_news' => ['account-type', L10n::t('News Page'), User::ACCOUNT_TYPE_NEWS, '$account_news' => ['account-type', DI::l10n()->t('News Page'), User::ACCOUNT_TYPE_NEWS,
L10n::t('Account for a news reflector that automatically approves contact requests as "Followers".'), DI::l10n()->t('Account for a news reflector that automatically approves contact requests as "Followers".'),
($a->user['account-type'] == User::ACCOUNT_TYPE_NEWS)], ($a->user['account-type'] == User::ACCOUNT_TYPE_NEWS)],
'$account_community' => ['account-type', L10n::t('Community Forum'), User::ACCOUNT_TYPE_COMMUNITY, '$account_community' => ['account-type', DI::l10n()->t('Community Forum'), User::ACCOUNT_TYPE_COMMUNITY,
L10n::t('Account for community discussions.'), DI::l10n()->t('Account for community discussions.'),
($a->user['account-type'] == User::ACCOUNT_TYPE_COMMUNITY)], ($a->user['account-type'] == User::ACCOUNT_TYPE_COMMUNITY)],
'$page_normal' => ['page-flags', L10n::t('Normal Account Page'), User::PAGE_FLAGS_NORMAL, '$page_normal' => ['page-flags', DI::l10n()->t('Normal Account Page'), User::PAGE_FLAGS_NORMAL,
L10n::t('Account for a regular personal profile that requires manual approval of "Friends" and "Followers".'), DI::l10n()->t('Account for a regular personal profile that requires manual approval of "Friends" and "Followers".'),
($a->user['page-flags'] == User::PAGE_FLAGS_NORMAL)], ($a->user['page-flags'] == User::PAGE_FLAGS_NORMAL)],
'$page_soapbox' => ['page-flags', L10n::t('Soapbox Page'), User::PAGE_FLAGS_SOAPBOX, '$page_soapbox' => ['page-flags', DI::l10n()->t('Soapbox Page'), User::PAGE_FLAGS_SOAPBOX,
L10n::t('Account for a public profile that automatically approves contact requests as "Followers".'), DI::l10n()->t('Account for a public profile that automatically approves contact requests as "Followers".'),
($a->user['page-flags'] == User::PAGE_FLAGS_SOAPBOX)], ($a->user['page-flags'] == User::PAGE_FLAGS_SOAPBOX)],
'$page_community' => ['page-flags', L10n::t('Public Forum'), User::PAGE_FLAGS_COMMUNITY, '$page_community' => ['page-flags', DI::l10n()->t('Public Forum'), User::PAGE_FLAGS_COMMUNITY,
L10n::t('Automatically approves all contact requests.'), DI::l10n()->t('Automatically approves all contact requests.'),
($a->user['page-flags'] == User::PAGE_FLAGS_COMMUNITY)], ($a->user['page-flags'] == User::PAGE_FLAGS_COMMUNITY)],
'$page_freelove' => ['page-flags', L10n::t('Automatic Friend Page'), User::PAGE_FLAGS_FREELOVE, '$page_freelove' => ['page-flags', DI::l10n()->t('Automatic Friend Page'), User::PAGE_FLAGS_FREELOVE,
L10n::t('Account for a popular profile that automatically approves contact requests as "Friends".'), DI::l10n()->t('Account for a popular profile that automatically approves contact requests as "Friends".'),
($a->user['page-flags'] == User::PAGE_FLAGS_FREELOVE)], ($a->user['page-flags'] == User::PAGE_FLAGS_FREELOVE)],
'$page_prvgroup' => ['page-flags', L10n::t('Private Forum [Experimental]'), User::PAGE_FLAGS_PRVGROUP, '$page_prvgroup' => ['page-flags', DI::l10n()->t('Private Forum [Experimental]'), User::PAGE_FLAGS_PRVGROUP,
L10n::t('Requires manual approval of contact requests.'), DI::l10n()->t('Requires manual approval of contact requests.'),
($a->user['page-flags'] == User::PAGE_FLAGS_PRVGROUP)], ($a->user['page-flags'] == User::PAGE_FLAGS_PRVGROUP)],
@ -1074,7 +1073,7 @@ function settings_content(App $a)
if ($noid) { if ($noid) {
$openid_field = false; $openid_field = false;
} else { } else {
$openid_field = ['openid_url', L10n::t('OpenID:'), $openid, L10n::t("\x28Optional\x29 Allow this OpenID to login to this account."), "", "readonly", "url"]; $openid_field = ['openid_url', DI::l10n()->t('OpenID:'), $openid, DI::l10n()->t("\x28Optional\x29 Allow this OpenID to login to this account."), "", "readonly", "url"];
} }
$opt_tpl = Renderer::getMarkupTemplate("field_yesno.tpl"); $opt_tpl = Renderer::getMarkupTemplate("field_yesno.tpl");
@ -1082,64 +1081,64 @@ function settings_content(App $a)
$profile_in_dir = '<input type="hidden" name="profile_in_directory" value="1" />'; $profile_in_dir = '<input type="hidden" name="profile_in_directory" value="1" />';
} else { } else {
$profile_in_dir = Renderer::replaceMacros($opt_tpl, [ $profile_in_dir = Renderer::replaceMacros($opt_tpl, [
'$field' => ['profile_in_directory', L10n::t('Publish your default profile in your local site directory?'), $profile['publish'], L10n::t('Your profile will be published in this node\'s <a href="%s">local directory</a>. Your profile details may be publicly visible depending on the system settings.', DI::baseUrl().'/directory'), [L10n::t('No'), L10n::t('Yes')]] '$field' => ['profile_in_directory', DI::l10n()->t('Publish your default profile in your local site directory?'), $profile['publish'], DI::l10n()->t('Your profile will be published in this node\'s <a href="%s">local directory</a>. Your profile details may be publicly visible depending on the system settings.', DI::baseUrl().'/directory'), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]]
]); ]);
} }
if (strlen(Config::get('system', 'directory'))) { if (strlen(Config::get('system', 'directory'))) {
$profile_in_net_dir = Renderer::replaceMacros($opt_tpl, [ $profile_in_net_dir = Renderer::replaceMacros($opt_tpl, [
'$field' => ['profile_in_netdirectory', L10n::t('Publish your default profile in the global social directory?'), $profile['net-publish'], L10n::t('Your profile will be published in the global friendica directories (e.g. <a href="%s">%s</a>). Your profile will be visible in public.', Config::get('system', 'directory'), Config::get('system', 'directory')) . " " . L10n::t("This setting also determines whether Friendica will inform search engines that your profile should be indexed or not. Third-party search engines may or may not respect this setting."), [L10n::t('No'), L10n::t('Yes')]] '$field' => ['profile_in_netdirectory', DI::l10n()->t('Publish your default profile in the global social directory?'), $profile['net-publish'], DI::l10n()->t('Your profile will be published in the global friendica directories (e.g. <a href="%s">%s</a>). Your profile will be visible in public.', Config::get('system', 'directory'), Config::get('system', 'directory')) . " " . DI::l10n()->t("This setting also determines whether Friendica will inform search engines that your profile should be indexed or not. Third-party search engines may or may not respect this setting."), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]]
]); ]);
} else { } else {
$profile_in_net_dir = ''; $profile_in_net_dir = '';
} }
$hide_friends = Renderer::replaceMacros($opt_tpl, [ $hide_friends = Renderer::replaceMacros($opt_tpl, [
'$field' => ['hide-friends', L10n::t('Hide your contact/friend list from viewers of your default profile?'), $profile['hide-friends'], L10n::t('Your contact list won\'t be shown in your default profile page. You can decide to show your contact list separately for each additional profile you create'), [L10n::t('No'), L10n::t('Yes')]], '$field' => ['hide-friends', DI::l10n()->t('Hide your contact/friend list from viewers of your default profile?'), $profile['hide-friends'], DI::l10n()->t('Your contact list won\'t be shown in your default profile page. You can decide to show your contact list separately for each additional profile you create'), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
]); ]);
$hide_wall = Renderer::replaceMacros($opt_tpl, [ $hide_wall = Renderer::replaceMacros($opt_tpl, [
'$field' => ['hidewall', L10n::t('Hide your profile details from anonymous viewers?'), $a->user['hidewall'], L10n::t('Anonymous visitors will only see your profile picture, your display name and the nickname you are using on your profile page. Your public posts and replies will still be accessible by other means.'), [L10n::t('No'), L10n::t('Yes')]], '$field' => ['hidewall', DI::l10n()->t('Hide your profile details from anonymous viewers?'), $a->user['hidewall'], DI::l10n()->t('Anonymous visitors will only see your profile picture, your display name and the nickname you are using on your profile page. Your public posts and replies will still be accessible by other means.'), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
]); ]);
$blockwall = Renderer::replaceMacros($opt_tpl, [ $blockwall = Renderer::replaceMacros($opt_tpl, [
'$field' => ['blockwall', L10n::t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), L10n::t('Your contacts may write posts on your profile wall. These posts will be distributed to your contacts'), [L10n::t('No'), L10n::t('Yes')]], '$field' => ['blockwall', DI::l10n()->t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), DI::l10n()->t('Your contacts may write posts on your profile wall. These posts will be distributed to your contacts'), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
]); ]);
$blocktags = Renderer::replaceMacros($opt_tpl, [ $blocktags = Renderer::replaceMacros($opt_tpl, [
'$field' => ['blocktags', L10n::t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), L10n::t('Your contacts can add additional tags to your posts.'), [L10n::t('No'), L10n::t('Yes')]], '$field' => ['blocktags', DI::l10n()->t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), DI::l10n()->t('Your contacts can add additional tags to your posts.'), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
]); ]);
$suggestme = Renderer::replaceMacros($opt_tpl, [ $suggestme = Renderer::replaceMacros($opt_tpl, [
'$field' => ['suggestme', L10n::t('Allow us to suggest you as a potential friend to new members?'), $suggestme, L10n::t('If you like, Friendica may suggest new members to add you as a contact.'), [L10n::t('No'), L10n::t('Yes')]], '$field' => ['suggestme', DI::l10n()->t('Allow us to suggest you as a potential friend to new members?'), $suggestme, DI::l10n()->t('If you like, Friendica may suggest new members to add you as a contact.'), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
]); ]);
$unkmail = Renderer::replaceMacros($opt_tpl, [ $unkmail = Renderer::replaceMacros($opt_tpl, [
'$field' => ['unkmail', L10n::t('Permit unknown people to send you private mail?'), $unkmail, L10n::t('Friendica network users may send you private messages even if they are not in your contact list.'), [L10n::t('No'), L10n::t('Yes')]], '$field' => ['unkmail', DI::l10n()->t('Permit unknown people to send you private mail?'), $unkmail, DI::l10n()->t('Friendica network users may send you private messages even if they are not in your contact list.'), [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
]); ]);
if (!$profile['publish'] && !$profile['net-publish']) { if (!$profile['publish'] && !$profile['net-publish']) {
info(L10n::t('Profile is <strong>not published</strong>.') . EOL); info(DI::l10n()->t('Profile is <strong>not published</strong>.') . EOL);
} }
$tpl_addr = Renderer::getMarkupTemplate('settings/nick_set.tpl'); $tpl_addr = Renderer::getMarkupTemplate('settings/nick_set.tpl');
$prof_addr = Renderer::replaceMacros($tpl_addr,[ $prof_addr = Renderer::replaceMacros($tpl_addr,[
'$desc' => L10n::t("Your Identity Address is <strong>'%s'</strong> or '%s'.", $nickname . '@' . DI::baseUrl()->getHostname() . DI::baseUrl()->getUrlPath(), DI::baseUrl() . '/profile/' . $nickname), '$desc' => DI::l10n()->t("Your Identity Address is <strong>'%s'</strong> or '%s'.", $nickname . '@' . DI::baseUrl()->getHostname() . DI::baseUrl()->getUrlPath(), DI::baseUrl() . '/profile/' . $nickname),
'$basepath' => DI::baseUrl()->getHostname() '$basepath' => DI::baseUrl()->getHostname()
]); ]);
$stpl = Renderer::getMarkupTemplate('settings/settings.tpl'); $stpl = Renderer::getMarkupTemplate('settings/settings.tpl');
$expire_arr = [ $expire_arr = [
'days' => ['expire', L10n::t("Automatically expire posts after this many days:"), $expire, L10n::t('If empty, posts will not expire. Expired posts will be deleted')], 'days' => ['expire', DI::l10n()->t("Automatically expire posts after this many days:"), $expire, DI::l10n()->t('If empty, posts will not expire. Expired posts will be deleted')],
'advanced' => L10n::t('Advanced expiration settings'), 'advanced' => DI::l10n()->t('Advanced expiration settings'),
'label' => L10n::t('Advanced Expiration'), 'label' => DI::l10n()->t('Advanced Expiration'),
'items' => ['expire_items', L10n::t("Expire posts:"), $expire_items, '', [L10n::t('No'), L10n::t('Yes')]], 'items' => ['expire_items', DI::l10n()->t("Expire posts:"), $expire_items, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
'notes' => ['expire_notes', L10n::t("Expire personal notes:"), $expire_notes, '', [L10n::t('No'), L10n::t('Yes')]], 'notes' => ['expire_notes', DI::l10n()->t("Expire personal notes:"), $expire_notes, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
'starred' => ['expire_starred', L10n::t("Expire starred posts:"), $expire_starred, '', [L10n::t('No'), L10n::t('Yes')]], 'starred' => ['expire_starred', DI::l10n()->t("Expire starred posts:"), $expire_starred, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
'photos' => ['expire_photos', L10n::t("Expire photos:"), $expire_photos, '', [L10n::t('No'), L10n::t('Yes')]], 'photos' => ['expire_photos', DI::l10n()->t("Expire photos:"), $expire_photos, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
'network_only' => ['expire_network_only', L10n::t("Only expire posts by others:"), $expire_network_only, '', [L10n::t('No'), L10n::t('Yes')]], 'network_only' => ['expire_network_only', DI::l10n()->t("Only expire posts by others:"), $expire_network_only, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]],
]; ];
$group_select = Group::displayGroupSelection(local_user(), $a->user['def_gid']); $group_select = Group::displayGroupSelection(local_user(), $a->user['def_gid']);
@ -1165,56 +1164,56 @@ function settings_content(App $a)
} }
/* Installed langs */ /* Installed langs */
$lang_choices = L10n::getAvailableLanguages(); $lang_choices = DI::l10n()->getAvailableLanguages();
/// @TODO Fix indending (or so) /// @TODO Fix indending (or so)
$o .= Renderer::replaceMacros($stpl, [ $o .= Renderer::replaceMacros($stpl, [
'$ptitle' => L10n::t('Account Settings'), '$ptitle' => DI::l10n()->t('Account Settings'),
'$submit' => L10n::t('Save Settings'), '$submit' => DI::l10n()->t('Save Settings'),
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$uid' => local_user(), '$uid' => local_user(),
'$form_security_token' => BaseModule::getFormSecurityToken("settings"), '$form_security_token' => BaseModule::getFormSecurityToken("settings"),
'$nickname_block' => $prof_addr, '$nickname_block' => $prof_addr,
'$h_pass' => L10n::t('Password Settings'), '$h_pass' => DI::l10n()->t('Password Settings'),
'$password1'=> ['password', L10n::t('New Password:'), '', L10n::t('Allowed characters are a-z, A-Z, 0-9 and special characters except white spaces, accentuated letters and colon (:).')], '$password1'=> ['password', DI::l10n()->t('New Password:'), '', DI::l10n()->t('Allowed characters are a-z, A-Z, 0-9 and special characters except white spaces, accentuated letters and colon (:).')],
'$password2'=> ['confirm', L10n::t('Confirm:'), '', L10n::t('Leave password fields blank unless changing')], '$password2'=> ['confirm', DI::l10n()->t('Confirm:'), '', DI::l10n()->t('Leave password fields blank unless changing')],
'$password3'=> ['opassword', L10n::t('Current Password:'), '', L10n::t('Your current password to confirm the changes')], '$password3'=> ['opassword', DI::l10n()->t('Current Password:'), '', DI::l10n()->t('Your current password to confirm the changes')],
'$password4'=> ['mpassword', L10n::t('Password:'), '', L10n::t('Your current password to confirm the changes')], '$password4'=> ['mpassword', DI::l10n()->t('Password:'), '', DI::l10n()->t('Your current password to confirm the changes')],
'$oid_enable' => (!Config::get('system', 'no_openid')), '$oid_enable' => (!Config::get('system', 'no_openid')),
'$openid' => $openid_field, '$openid' => $openid_field,
'$delete_openid' => ['delete_openid', L10n::t('Delete OpenID URL'), false, ''], '$delete_openid' => ['delete_openid', DI::l10n()->t('Delete OpenID URL'), false, ''],
'$h_basic' => L10n::t('Basic Settings'), '$h_basic' => DI::l10n()->t('Basic Settings'),
'$username' => ['username', L10n::t('Full Name:'), $username, ''], '$username' => ['username', DI::l10n()->t('Full Name:'), $username, ''],
'$email' => ['email', L10n::t('Email Address:'), $email, '', '', '', 'email'], '$email' => ['email', DI::l10n()->t('Email Address:'), $email, '', '', '', 'email'],
'$timezone' => ['timezone_select' , L10n::t('Your Timezone:'), Temporal::getTimezoneSelect($timezone), ''], '$timezone' => ['timezone_select' , DI::l10n()->t('Your Timezone:'), Temporal::getTimezoneSelect($timezone), ''],
'$language' => ['language', L10n::t('Your Language:'), $language, L10n::t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices], '$language' => ['language', DI::l10n()->t('Your Language:'), $language, DI::l10n()->t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices],
'$defloc' => ['defloc', L10n::t('Default Post Location:'), $defloc, ''], '$defloc' => ['defloc', DI::l10n()->t('Default Post Location:'), $defloc, ''],
'$allowloc' => ['allow_location', L10n::t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''], '$allowloc' => ['allow_location', DI::l10n()->t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''],
'$h_prv' => L10n::t('Security and Privacy Settings'), '$h_prv' => DI::l10n()->t('Security and Privacy Settings'),
'$maxreq' => ['maxreq', L10n::t('Maximum Friend Requests/Day:'), $maxreq , L10n::t("\x28to prevent spam abuse\x29")], '$maxreq' => ['maxreq', DI::l10n()->t('Maximum Friend Requests/Day:'), $maxreq , DI::l10n()->t("\x28to prevent spam abuse\x29")],
'$permissions' => L10n::t('Default Post Permissions'), '$permissions' => DI::l10n()->t('Default Post Permissions'),
'$permdesc' => L10n::t("\x28click to open/close\x29"), '$permdesc' => DI::l10n()->t("\x28click to open/close\x29"),
'$visibility' => $profile['net-publish'], '$visibility' => $profile['net-publish'],
'$aclselect' => ACL::getFullSelectorHTML(DI::page(), $a->user), '$aclselect' => ACL::getFullSelectorHTML(DI::page(), $a->user),
'$suggestme' => $suggestme, '$suggestme' => $suggestme,
'$blockwall'=> $blockwall, // array('blockwall', L10n::t('Allow friends to post to your profile page:'), !$blockwall, ''), '$blockwall'=> $blockwall, // array('blockwall', DI::l10n()->t('Allow friends to post to your profile page:'), !$blockwall, ''),
'$blocktags'=> $blocktags, // array('blocktags', L10n::t('Allow friends to tag your posts:'), !$blocktags, ''), '$blocktags'=> $blocktags, // array('blocktags', DI::l10n()->t('Allow friends to tag your posts:'), !$blocktags, ''),
// ACL permissions box // ACL permissions box
'$group_perms' => L10n::t('Show to Groups'), '$group_perms' => DI::l10n()->t('Show to Groups'),
'$contact_perms' => L10n::t('Show to Contacts'), '$contact_perms' => DI::l10n()->t('Show to Contacts'),
'$private' => L10n::t('Default Private Post'), '$private' => DI::l10n()->t('Default Private Post'),
'$public' => L10n::t('Default Public Post'), '$public' => DI::l10n()->t('Default Public Post'),
'$is_private' => $private_post, '$is_private' => $private_post,
'$return_path' => $query_str, '$return_path' => $query_str,
'$public_link' => $public_post_link, '$public_link' => $public_post_link,
'$settings_perms' => L10n::t('Default Permissions for New Posts'), '$settings_perms' => DI::l10n()->t('Default Permissions for New Posts'),
'$group_select' => $group_select, '$group_select' => $group_select,
@ -1226,41 +1225,41 @@ function settings_content(App $a)
'$hide_friends' => $hide_friends, '$hide_friends' => $hide_friends,
'$hide_wall' => $hide_wall, '$hide_wall' => $hide_wall,
'$unkmail' => $unkmail, '$unkmail' => $unkmail,
'$cntunkmail' => ['cntunkmail', L10n::t('Maximum private messages per day from unknown people:'), $cntunkmail , L10n::t("\x28to prevent spam abuse\x29")], '$cntunkmail' => ['cntunkmail', DI::l10n()->t('Maximum private messages per day from unknown people:'), $cntunkmail , DI::l10n()->t("\x28to prevent spam abuse\x29")],
'$h_not' => L10n::t('Notification Settings'), '$h_not' => DI::l10n()->t('Notification Settings'),
'$lbl_not' => L10n::t('Send a notification email when:'), '$lbl_not' => DI::l10n()->t('Send a notification email when:'),
'$notify1' => ['notify1', L10n::t('You receive an introduction'), ($notify & NOTIFY_INTRO), NOTIFY_INTRO, ''], '$notify1' => ['notify1', DI::l10n()->t('You receive an introduction'), ($notify & NOTIFY_INTRO), NOTIFY_INTRO, ''],
'$notify2' => ['notify2', L10n::t('Your introductions are confirmed'), ($notify & NOTIFY_CONFIRM), NOTIFY_CONFIRM, ''], '$notify2' => ['notify2', DI::l10n()->t('Your introductions are confirmed'), ($notify & NOTIFY_CONFIRM), NOTIFY_CONFIRM, ''],
'$notify3' => ['notify3', L10n::t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, ''], '$notify3' => ['notify3', DI::l10n()->t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, ''],
'$notify4' => ['notify4', L10n::t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, ''], '$notify4' => ['notify4', DI::l10n()->t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, ''],
'$notify5' => ['notify5', L10n::t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''], '$notify5' => ['notify5', DI::l10n()->t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''],
'$notify6' => ['notify6', L10n::t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''], '$notify6' => ['notify6', DI::l10n()->t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''],
'$notify7' => ['notify7', L10n::t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''], '$notify7' => ['notify7', DI::l10n()->t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''],
'$notify8' => ['notify8', L10n::t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''], '$notify8' => ['notify8', DI::l10n()->t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''],
'$desktop_notifications' => ['desktop_notifications', L10n::t('Activate desktop notifications') , false, L10n::t('Show desktop popup on new notifications')], '$desktop_notifications' => ['desktop_notifications', DI::l10n()->t('Activate desktop notifications') , false, DI::l10n()->t('Show desktop popup on new notifications')],
'$email_textonly' => ['email_textonly', L10n::t('Text-only notification emails'), '$email_textonly' => ['email_textonly', DI::l10n()->t('Text-only notification emails'),
DI::pConfig()->get(local_user(), 'system', 'email_textonly'), DI::pConfig()->get(local_user(), 'system', 'email_textonly'),
L10n::t('Send text only notification emails, without the html part')], DI::l10n()->t('Send text only notification emails, without the html part')],
'$detailed_notif' => ['detailed_notif', L10n::t('Show detailled notifications'), '$detailed_notif' => ['detailed_notif', DI::l10n()->t('Show detailled notifications'),
DI::pConfig()->get(local_user(), 'system', 'detailed_notif'), DI::pConfig()->get(local_user(), 'system', 'detailed_notif'),
L10n::t('Per default, notifications are condensed to a single notification per item. When enabled every notification is displayed.')], DI::l10n()->t('Per default, notifications are condensed to a single notification per item. When enabled every notification is displayed.')],
'$h_advn' => L10n::t('Advanced Account/Page Type Settings'), '$h_advn' => DI::l10n()->t('Advanced Account/Page Type Settings'),
'$h_descadvn' => L10n::t('Change the behaviour of this account for special situations'), '$h_descadvn' => DI::l10n()->t('Change the behaviour of this account for special situations'),
'$pagetype' => $pagetype, '$pagetype' => $pagetype,
'$importcontact' => L10n::t('Import Contacts'), '$importcontact' => DI::l10n()->t('Import Contacts'),
'$importcontact_text' => L10n::t('Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account.'), '$importcontact_text' => DI::l10n()->t('Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account.'),
'$importcontact_button' => L10n::t('Upload File'), '$importcontact_button' => DI::l10n()->t('Upload File'),
'$importcontact_maxsize' => Config::get('system', 'max_csv_file_size', 30720), '$importcontact_maxsize' => Config::get('system', 'max_csv_file_size', 30720),
'$relocate' => L10n::t('Relocate'), '$relocate' => DI::l10n()->t('Relocate'),
'$relocate_text' => L10n::t("If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."), '$relocate_text' => DI::l10n()->t("If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."),
'$relocate_button' => L10n::t("Resend relocate message to contacts"), '$relocate_button' => DI::l10n()->t("Resend relocate message to contacts"),
]); ]);

View file

@ -5,7 +5,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Core\System; use Friendica\Core\System;
@ -89,7 +88,7 @@ function subthread_content(App $a) {
$uri = Item::newURI($owner_uid); $uri = Item::newURI($owner_uid);
$post_type = (($item['resource-id']) ? L10n::t('photo') : L10n::t('status')); $post_type = (($item['resource-id']) ? DI::l10n()->t('photo') : DI::l10n()->t('status'));
$objtype = (($item['resource-id']) ? Activity\ObjectType::IMAGE : Activity\ObjectType::NOTE ); $objtype = (($item['resource-id']) ? Activity\ObjectType::IMAGE : Activity\ObjectType::NOTE );
$link = XML::escape('<link rel="alternate" type="text/html" href="' . DI::baseUrl() . '/display/' . $item['guid'] . '" />' . "\n"); $link = XML::escape('<link rel="alternate" type="text/html" href="' . DI::baseUrl() . '/display/' . $item['guid'] . '" />' . "\n");
$body = $item['body']; $body = $item['body'];
@ -105,7 +104,7 @@ function subthread_content(App $a) {
<content>$body</content> <content>$body</content>
</object> </object>
EOT; EOT;
$bodyverb = L10n::t('%1$s is following %2$s\'s %3$s'); $bodyverb = DI::l10n()->t('%1$s is following %2$s\'s %3$s');
if (!isset($bodyverb)) { if (!isset($bodyverb)) {
return; return;

View file

@ -6,7 +6,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\ContactSelector; use Friendica\Content\ContactSelector;
use Friendica\Content\Widget; use Friendica\Content\Widget;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -25,7 +24,7 @@ function suggest_post(App $a)
{ {
if (!empty($_POST['ignore']) && !empty($_POST['confirm'])) { if (!empty($_POST['ignore']) && !empty($_POST['confirm'])) {
DBA::insert('gcign', ['uid' => local_user(), 'gcid' => $_POST['ignore']]); DBA::insert('gcign', ['uid' => local_user(), 'gcid' => $_POST['ignore']]);
notice(L10n::t('Contact suggestion successfully ignored.')); notice(DI::l10n()->t('Contact suggestion successfully ignored.'));
} }
DI::baseUrl()->redirect('suggest'); DI::baseUrl()->redirect('suggest');
@ -36,7 +35,7 @@ function suggest_content(App $a)
$o = ''; $o = '';
if (! local_user()) { if (! local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -49,7 +48,7 @@ function suggest_content(App $a)
$r = GContact::suggestionQuery(local_user()); $r = GContact::suggestionQuery(local_user());
if (! DBA::isResult($r)) { if (! DBA::isResult($r)) {
$o .= L10n::t('No suggestions available. If this is a new site, please try again in 24 hours.'); $o .= DI::l10n()->t('No suggestions available. If this is a new site, please try again in 24 hours.');
return $o; return $o;
} }
@ -68,12 +67,12 @@ function suggest_content(App $a)
return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [
'$method' => 'post', '$method' => 'post',
'$message' => L10n::t('Do you really want to delete this suggestion?'), '$message' => DI::l10n()->t('Do you really want to delete this suggestion?'),
'$extra_inputs' => $inputs, '$extra_inputs' => $inputs,
'$confirm' => L10n::t('Yes'), '$confirm' => DI::l10n()->t('Yes'),
'$confirm_url' => $query['base'], '$confirm_url' => $query['base'],
'$confirm_name' => 'confirm', '$confirm_name' => 'confirm',
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
]); ]);
} }
@ -84,9 +83,9 @@ function suggest_content(App $a)
$connlnk = DI::baseUrl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']); $connlnk = DI::baseUrl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']);
$ignlnk = DI::baseUrl() . '/suggest?ignore=' . $rr['id']; $ignlnk = DI::baseUrl() . '/suggest?ignore=' . $rr['id'];
$photo_menu = [ $photo_menu = [
'profile' => [L10n::t("View Profile"), Contact::magicLink($rr["url"])], 'profile' => [DI::l10n()->t("View Profile"), Contact::magicLink($rr["url"])],
'follow' => [L10n::t("Connect/Follow"), $connlnk], 'follow' => [DI::l10n()->t("Connect/Follow"), $connlnk],
'hide' => [L10n::t('Ignore/Hide'), $ignlnk] 'hide' => [DI::l10n()->t('Ignore/Hide'), $ignlnk]
]; ];
$contact_details = Contact::getDetailsByURL($rr["url"], local_user(), $rr); $contact_details = Contact::getDetailsByURL($rr["url"], local_user(), $rr);
@ -103,10 +102,10 @@ function suggest_content(App $a)
'account_type' => Contact::getAccountType($contact_details), 'account_type' => Contact::getAccountType($contact_details),
'ignlnk' => $ignlnk, 'ignlnk' => $ignlnk,
'ignid' => $rr['id'], 'ignid' => $rr['id'],
'conntxt' => L10n::t('Connect'), 'conntxt' => DI::l10n()->t('Connect'),
'connlnk' => $connlnk, 'connlnk' => $connlnk,
'photo_menu' => $photo_menu, 'photo_menu' => $photo_menu,
'ignore' => L10n::t('Ignore/Hide'), 'ignore' => DI::l10n()->t('Ignore/Hide'),
'network' => ContactSelector::networkToName($rr['network'], $rr['url']), 'network' => ContactSelector::networkToName($rr['network'], $rr['url']),
'id' => ++$id, 'id' => ++$id,
]; ];
@ -116,7 +115,7 @@ function suggest_content(App $a)
$tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl'); $tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl');
$o .= Renderer::replaceMacros($tpl,[ $o .= Renderer::replaceMacros($tpl,[
'$title' => L10n::t('Friend Suggestions'), '$title' => DI::l10n()->t('Friend Suggestions'),
'$contacts' => $entries, '$contacts' => $entries,
]); ]);

View file

@ -5,7 +5,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Core\System; use Friendica\Core\System;
@ -70,7 +69,7 @@ function tagger_content(App $a) {
$uri = Item::newURI($owner_uid); $uri = Item::newURI($owner_uid);
$xterm = XML::escape($term); $xterm = XML::escape($term);
$post_type = (($item['resource-id']) ? L10n::t('photo') : L10n::t('status')); $post_type = (($item['resource-id']) ? DI::l10n()->t('photo') : DI::l10n()->t('status'));
$targettype = (($item['resource-id']) ? Activity\ObjectType::IMAGE : Activity\ObjectType::NOTE ); $targettype = (($item['resource-id']) ? Activity\ObjectType::IMAGE : Activity\ObjectType::NOTE );
$href = DI::baseUrl() . '/display/' . $item['guid']; $href = DI::baseUrl() . '/display/' . $item['guid'];
@ -103,7 +102,7 @@ EOT;
</object> </object>
EOT; EOT;
$bodyverb = L10n::t('%1$s tagged %2$s\'s %3$s with %4$s'); $bodyverb = DI::l10n()->t('%1$s tagged %2$s\'s %3$s with %4$s');
if (!isset($bodyverb)) { if (!isset($bodyverb)) {
return; return;

View file

@ -5,7 +5,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Content\Text\BBCode; use Friendica\Content\Text\BBCode;
use Friendica\Core\L10n;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Model\Item; use Friendica\Model\Item;
@ -18,7 +17,7 @@ function tagrm_post(App $a)
DI::baseUrl()->redirect($_SESSION['photo_return']); DI::baseUrl()->redirect($_SESSION['photo_return']);
} }
if (!empty($_POST['submit']) && ($_POST['submit'] === L10n::t('Cancel'))) { if (!empty($_POST['submit']) && ($_POST['submit'] === DI::l10n()->t('Cancel'))) {
DI::baseUrl()->redirect($_SESSION['photo_return']); DI::baseUrl()->redirect($_SESSION['photo_return']);
} }
@ -29,7 +28,7 @@ function tagrm_post(App $a)
$item_id = $_POST['item'] ?? 0; $item_id = $_POST['item'] ?? 0;
update_tags($item_id, $tags); update_tags($item_id, $tags);
info(L10n::t('Tag(s) removed') . EOL); info(DI::l10n()->t('Tag(s) removed') . EOL);
DI::baseUrl()->redirect($_SESSION['photo_return']); DI::baseUrl()->redirect($_SESSION['photo_return']);
// NOTREACHED // NOTREACHED
@ -99,9 +98,9 @@ function tagrm_content(App $a)
DI::baseUrl()->redirect($_SESSION['photo_return']); DI::baseUrl()->redirect($_SESSION['photo_return']);
} }
$o .= '<h3>' . L10n::t('Remove Item Tag') . '</h3>'; $o .= '<h3>' . DI::l10n()->t('Remove Item Tag') . '</h3>';
$o .= '<p id="tag-remove-desc">' . L10n::t('Select a tag to remove: ') . '</p>'; $o .= '<p id="tag-remove-desc">' . DI::l10n()->t('Select a tag to remove: ') . '</p>';
$o .= '<form id="tagrm" action="tagrm" method="post" >'; $o .= '<form id="tagrm" action="tagrm" method="post" >';
$o .= '<input type="hidden" name="item" value="' . $item_id . '" />'; $o .= '<input type="hidden" name="item" value="' . $item_id . '" />';
@ -112,8 +111,8 @@ function tagrm_content(App $a)
} }
$o .= '</ul>'; $o .= '</ul>';
$o .= '<input id="tagrm-submit" type="submit" name="submit" value="' . L10n::t('Remove') .'" />'; $o .= '<input id="tagrm-submit" type="submit" name="submit" value="' . DI::l10n()->t('Remove') .'" />';
$o .= '<input id="tagrm-cancel" type="submit" name="submit" value="' . L10n::t('Cancel') .'" />'; $o .= '<input id="tagrm-cancel" type="submit" name="submit" value="' . DI::l10n()->t('Cancel') .'" />';
$o .= '</form>'; $o .= '</form>';
return $o; return $o;

View file

@ -6,15 +6,15 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\UserImport; use Friendica\Core\UserImport;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\DI;
function uimport_post(App $a) function uimport_post(App $a)
{ {
if ((Config::get('config', 'register_policy') != \Friendica\Module\Register::OPEN) && !is_site_admin()) { if ((Config::get('config', 'register_policy') != \Friendica\Module\Register::OPEN) && !is_site_admin()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -27,7 +27,7 @@ function uimport_post(App $a)
function uimport_content(App $a) function uimport_content(App $a)
{ {
if ((Config::get('config', 'register_policy') != \Friendica\Module\Register::OPEN) && !is_site_admin()) { if ((Config::get('config', 'register_policy') != \Friendica\Module\Register::OPEN) && !is_site_admin()) {
notice(L10n::t('User imports on closed servers can only be done by an administrator.') . EOL); notice(DI::l10n()->t('User imports on closed servers can only be done by an administrator.') . EOL);
return; return;
} }
@ -36,20 +36,20 @@ function uimport_content(App $a)
$r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day"); $r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day");
if ($r && $r[0]['total'] >= $max_dailies) { if ($r && $r[0]['total'] >= $max_dailies) {
Logger::log('max daily registrations exceeded.'); Logger::log('max daily registrations exceeded.');
notice(L10n::t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL); notice(DI::l10n()->t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
return; return;
} }
} }
$tpl = Renderer::getMarkupTemplate("uimport.tpl"); $tpl = Renderer::getMarkupTemplate("uimport.tpl");
return Renderer::replaceMacros($tpl, [ return Renderer::replaceMacros($tpl, [
'$regbutt' => L10n::t('Import'), '$regbutt' => DI::l10n()->t('Import'),
'$import' => [ '$import' => [
'title' => L10n::t("Move account"), 'title' => DI::l10n()->t("Move account"),
'intro' => L10n::t("You can import an account from another Friendica server."), 'intro' => DI::l10n()->t("You can import an account from another Friendica server."),
'instruct' => L10n::t("You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."), 'instruct' => DI::l10n()->t("You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."),
'warn' => L10n::t("This feature is experimental. We can't import contacts from the OStatus network \x28GNU Social/Statusnet\x29 or from Diaspora"), 'warn' => DI::l10n()->t("This feature is experimental. We can't import contacts from the OStatus network \x28GNU Social/Statusnet\x29 or from Diaspora"),
'field' => ['accountfile', L10n::t('Account file'), '<input id="id_accountfile" name="accountfile" type="file">', L10n::t('To export your account, go to "Settings->Export your personal data" and select "Export account"')], 'field' => ['accountfile', DI::l10n()->t('Account file'), '<input id="id_accountfile" name="accountfile" type="file">', DI::l10n()->t('To export your account, go to "Settings->Export your personal data" and select "Export account"')],
], ],
]); ]);
} }

View file

@ -4,7 +4,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -19,7 +18,7 @@ function unfollow_post(App $a)
$base_return_path = 'contact'; $base_return_path = 'contact';
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.')); notice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect('login'); DI::baseUrl()->redirect('login');
// NOTREACHED // NOTREACHED
} }
@ -33,7 +32,7 @@ function unfollow_post(App $a)
$contact = DBA::selectFirst('contact', [], $condition); $contact = DBA::selectFirst('contact', [], $condition);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
notice(L10n::t("You aren't following this contact.")); notice(DI::l10n()->t("You aren't following this contact."));
DI::baseUrl()->redirect($base_return_path); DI::baseUrl()->redirect($base_return_path);
// NOTREACHED // NOTREACHED
} }
@ -43,7 +42,7 @@ function unfollow_post(App $a)
} }
if (!in_array($contact['network'], Protocol::NATIVE_SUPPORT)) { if (!in_array($contact['network'], Protocol::NATIVE_SUPPORT)) {
notice(L10n::t('Unfollowing is currently not supported by your network.')); notice(DI::l10n()->t('Unfollowing is currently not supported by your network.'));
DI::baseUrl()->redirect($base_return_path . '/' . $contact['id']); DI::baseUrl()->redirect($base_return_path . '/' . $contact['id']);
// NOTREACHED // NOTREACHED
} }
@ -64,7 +63,7 @@ function unfollow_post(App $a)
$return_path = $base_return_path . '/' . $contact['id']; $return_path = $base_return_path . '/' . $contact['id'];
} }
info(L10n::t('Contact unfollowed')); info(DI::l10n()->t('Contact unfollowed'));
DI::baseUrl()->redirect($return_path); DI::baseUrl()->redirect($return_path);
// NOTREACHED // NOTREACHED
} }
@ -74,7 +73,7 @@ function unfollow_content(App $a)
$base_return_path = 'contact'; $base_return_path = 'contact';
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.')); notice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect('login'); DI::baseUrl()->redirect('login');
// NOTREACHED // NOTREACHED
} }
@ -89,13 +88,13 @@ function unfollow_content(App $a)
$contact = DBA::selectFirst('contact', ['url', 'network', 'addr', 'name'], $condition); $contact = DBA::selectFirst('contact', ['url', 'network', 'addr', 'name'], $condition);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
notice(L10n::t("You aren't following this contact.")); notice(DI::l10n()->t("You aren't following this contact."));
DI::baseUrl()->redirect($base_return_path); DI::baseUrl()->redirect($base_return_path);
// NOTREACHED // NOTREACHED
} }
if (!in_array($contact['network'], Protocol::NATIVE_SUPPORT)) { if (!in_array($contact['network'], Protocol::NATIVE_SUPPORT)) {
notice(L10n::t('Unfollowing is currently not supported by your network.')); notice(DI::l10n()->t('Unfollowing is currently not supported by your network.'));
DI::baseUrl()->redirect($base_return_path . '/' . $contact['id']); DI::baseUrl()->redirect($base_return_path . '/' . $contact['id']);
// NOTREACHED // NOTREACHED
} }
@ -106,7 +105,7 @@ function unfollow_content(App $a)
$self = DBA::selectFirst('contact', ['url'], ['uid' => $uid, 'self' => true]); $self = DBA::selectFirst('contact', ['url'], ['uid' => $uid, 'self' => true]);
if (!DBA::isResult($self)) { if (!DBA::isResult($self)) {
notice(L10n::t('Permission denied.')); notice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect($base_return_path); DI::baseUrl()->redirect($base_return_path);
// NOTREACHED // NOTREACHED
} }
@ -115,7 +114,7 @@ function unfollow_content(App $a)
$_SESSION['fastlane'] = $contact['url']; $_SESSION['fastlane'] = $contact['url'];
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$header' => L10n::t('Disconnect/Unfollow'), '$header' => DI::l10n()->t('Disconnect/Unfollow'),
'$desc' => '', '$desc' => '',
'$pls_answer' => '', '$pls_answer' => '',
'$does_know_you' => '', '$does_know_you' => '',
@ -125,16 +124,16 @@ function unfollow_content(App $a)
'$statusnet' => '', '$statusnet' => '',
'$diaspora' => '', '$diaspora' => '',
'$diasnote' => '', '$diasnote' => '',
'$your_address' => L10n::t('Your Identity Address:'), '$your_address' => DI::l10n()->t('Your Identity Address:'),
'$invite_desc' => '', '$invite_desc' => '',
'$emailnet' => '', '$emailnet' => '',
'$submit' => L10n::t('Submit Request'), '$submit' => DI::l10n()->t('Submit Request'),
'$cancel' => L10n::t('Cancel'), '$cancel' => DI::l10n()->t('Cancel'),
'$nickname' => '', '$nickname' => '',
'$name' => $contact['name'], '$name' => $contact['name'],
'$url' => $contact['url'], '$url' => $contact['url'],
'$zrl' => Contact::magicLink($contact['url']), '$zrl' => Contact::magicLink($contact['url']),
'$url_label' => L10n::t('Profile URL'), '$url_label' => DI::l10n()->t('Profile URL'),
'$myaddr' => $self['url'], '$myaddr' => $self['url'],
'$request' => $request, '$request' => $request,
'$keywords' => '', '$keywords' => '',
@ -144,7 +143,7 @@ function unfollow_content(App $a)
DI::page()['aside'] = ''; DI::page()['aside'] = '';
Profile::load($a, '', 0, Contact::getDetailsByURL($contact['url'])); Profile::load($a, '', 0, Contact::getDetailsByURL($contact['url']));
$o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'), ['$title' => L10n::t('Status Messages and Posts')]); $o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'), ['$title' => DI::l10n()->t('Status Messages and Posts')]);
// Show last public posts // Show last public posts
$o .= Contact::getPostsFromUrl($contact['url']); $o .= Contact::getPostsFromUrl($contact['url']);

View file

@ -3,7 +3,6 @@
// See update_profile.php for documentation // See update_profile.php for documentation
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\DI; use Friendica\DI;
require_once 'mod/community.php'; require_once 'mod/community.php';
@ -20,7 +19,7 @@ function update_community_content(App $a) {
} }
if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />"; $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
$text = preg_replace($pattern, $replace, $text); $text = preg_replace($pattern, $replace, $text);
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";

View file

@ -3,7 +3,6 @@
// See update_profile.php for documentation // See update_profile.php for documentation
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\DI; use Friendica\DI;
use Friendica\Module\Contact; use Friendica\Module\Contact;
@ -20,7 +19,7 @@ function update_contact_content(App $a)
} }
if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />"; $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
$text = preg_replace($pattern, $replace, $text); $text = preg_replace($pattern, $replace, $text);
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";

View file

@ -5,7 +5,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\DI; use Friendica\DI;
require_once "mod/display.php"; require_once "mod/display.php";
@ -21,7 +20,7 @@ function update_display_content(App $a)
$text = display_content($a, true, $profile_uid); $text = display_content($a, true, $profile_uid);
if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
$replace = "<br />" . L10n::t("[Embedded content - reload page to view]") . "<br />"; $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
$text = preg_replace($pattern, $replace, $text); $text = preg_replace($pattern, $replace, $text);
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";

View file

@ -5,7 +5,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\DI; use Friendica\DI;
require_once "mod/network.php"; require_once "mod/network.php";
@ -30,7 +29,7 @@ function update_network_content(App $a)
} }
if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
$replace = "<br />" . L10n::t("[Embedded content - reload page to view]") . "<br />"; $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
$text = preg_replace($pattern, $replace, $text); $text = preg_replace($pattern, $replace, $text);
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";

View file

@ -6,7 +6,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\DI; use Friendica\DI;
require_once("mod/notes.php"); require_once("mod/notes.php");
@ -33,7 +32,7 @@ function update_notes_content(App $a) {
$text = notes_content($a, $profile_uid); $text = notes_content($a, $profile_uid);
if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />"; $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
$text = preg_replace($pattern, $replace, $text); $text = preg_replace($pattern, $replace, $text);
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";

View file

@ -6,7 +6,6 @@
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\DI; use Friendica\DI;
use Friendica\Module\Profile; use Friendica\Module\Profile;
@ -31,7 +30,7 @@ function update_profile_content(App $a) {
$text = Profile::content([], $profile_uid); $text = Profile::content([], $profile_uid);
if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) { if (DI::pConfig()->get(local_user(), "system", "bandwidth_saver")) {
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />"; $replace = "<br />" . DI::l10n()->t("[Embedded content - reload page to view]") . "<br />";
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i"; $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
$text = preg_replace($pattern, $replace, $text); $text = preg_replace($pattern, $replace, $text);
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i"; $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";

View file

@ -7,7 +7,6 @@ use Friendica\App;
use Friendica\Content\Nav; use Friendica\Content\Nav;
use Friendica\Content\Pager; use Friendica\Content\Pager;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -110,12 +109,12 @@ function videos_content(App $a)
if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { if (Config::get('system', 'block_public') && !Session::isAuthenticated()) {
notice(L10n::t('Public access denied.') . EOL); notice(DI::l10n()->t('Public access denied.') . EOL);
return; return;
} }
if (empty($a->data['user'])) { if (empty($a->data['user'])) {
notice(L10n::t('No videos selected') . EOL ); notice(DI::l10n()->t('No videos selected') . EOL );
return; return;
} }
@ -163,7 +162,7 @@ function videos_content(App $a)
} }
if ($a->data['user']['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) { if ($a->data['user']['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) {
notice(L10n::t('Access to this item is restricted.') . EOL); notice(DI::l10n()->t('Access to this item is restricted.') . EOL);
return; return;
} }
@ -233,14 +232,14 @@ function videos_content(App $a)
$videos[] = [ $videos[] = [
'id' => $rr['id'], 'id' => $rr['id'],
'link' => DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/video/' . $rr['hash'], 'link' => DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/video/' . $rr['hash'],
'title' => L10n::t('View Video'), 'title' => DI::l10n()->t('View Video'),
'src' => DI::baseUrl() . '/attach/' . $rr['id'] . '?attachment=0', 'src' => DI::baseUrl() . '/attach/' . $rr['id'] . '?attachment=0',
'alt' => $alt_e, 'alt' => $alt_e,
'mime' => $rr['filetype'], 'mime' => $rr['filetype'],
'album' => [ 'album' => [
'link' => DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']), 'link' => DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']),
'name' => $name_e, 'name' => $name_e,
'alt' => L10n::t('View Album'), 'alt' => DI::l10n()->t('View Album'),
], ],
]; ];
} }
@ -248,9 +247,9 @@ function videos_content(App $a)
$tpl = Renderer::getMarkupTemplate('videos_recent.tpl'); $tpl = Renderer::getMarkupTemplate('videos_recent.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Recent Videos'), '$title' => DI::l10n()->t('Recent Videos'),
'$can_post' => $can_post, '$can_post' => $can_post,
'$upload' => [L10n::t('Upload New Videos'), DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/upload'], '$upload' => [DI::l10n()->t('Upload New Videos'), DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/upload'],
'$videos' => $videos, '$videos' => $videos,
'$delete_url' => (($can_post) ? DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] : false) '$delete_url' => (($can_post) ? DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] : false)
]); ]);

View file

@ -5,9 +5,9 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Attach; use Friendica\Model\Attach;
use Friendica\Model\User; use Friendica\Model\User;
use Friendica\Util\Strings; use Friendica\Util\Strings;
@ -24,14 +24,14 @@ function wall_attach_post(App $a) {
if (! DBA::isResult($r)) { if (! DBA::isResult($r)) {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Invalid request.')]); echo json_encode(['error' => DI::l10n()->t('Invalid request.')]);
exit(); exit();
} }
return; return;
} }
} else { } else {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Invalid request.')]); echo json_encode(['error' => DI::l10n()->t('Invalid request.')]);
exit(); exit();
} }
@ -60,16 +60,16 @@ function wall_attach_post(App $a) {
if (!$can_post) { if (!$can_post) {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Permission denied.')]); echo json_encode(['error' => DI::l10n()->t('Permission denied.')]);
exit(); exit();
} }
notice(L10n::t('Permission denied.') . EOL ); notice(DI::l10n()->t('Permission denied.') . EOL );
exit(); exit();
} }
if (empty($_FILES['userfile'])) { if (empty($_FILES['userfile'])) {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Invalid request.')]); echo json_encode(['error' => DI::l10n()->t('Invalid request.')]);
} }
exit(); exit();
} }
@ -87,7 +87,7 @@ function wall_attach_post(App $a) {
*/ */
if ($filesize <= 0) { if ($filesize <= 0) {
$msg = L10n::t('Sorry, maybe your upload is bigger than the PHP configuration allows') . EOL .(L10n::t('Or - did you try to upload an empty file?')); $msg = DI::l10n()->t('Sorry, maybe your upload is bigger than the PHP configuration allows') . EOL .(DI::l10n()->t('Or - did you try to upload an empty file?'));
if ($r_json) { if ($r_json) {
echo json_encode(['error' => $msg]); echo json_encode(['error' => $msg]);
} else { } else {
@ -98,7 +98,7 @@ function wall_attach_post(App $a) {
} }
if ($maxfilesize && $filesize > $maxfilesize) { if ($maxfilesize && $filesize > $maxfilesize) {
$msg = L10n::t('File exceeds size limit of %s', Strings::formatBytes($maxfilesize)); $msg = DI::l10n()->t('File exceeds size limit of %s', Strings::formatBytes($maxfilesize));
if ($r_json) { if ($r_json) {
echo json_encode(['error' => $msg]); echo json_encode(['error' => $msg]);
} else { } else {
@ -113,7 +113,7 @@ function wall_attach_post(App $a) {
@unlink($src); @unlink($src);
if ($newid === false) { if ($newid === false) {
$msg = L10n::t('File upload failed.'); $msg = DI::l10n()->t('File upload failed.');
if ($r_json) { if ($r_json) {
echo json_encode(['error' => $msg]); echo json_encode(['error' => $msg]);
} else { } else {

View file

@ -10,7 +10,6 @@
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -40,7 +39,7 @@ function wall_upload_post(App $a, $desktopmode = true)
if (!DBA::isResult($r)) { if (!DBA::isResult($r)) {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Invalid request.')]); echo json_encode(['error' => DI::l10n()->t('Invalid request.')]);
exit(); exit();
} }
return; return;
@ -56,7 +55,7 @@ function wall_upload_post(App $a, $desktopmode = true)
} }
} else { } else {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Invalid request.')]); echo json_encode(['error' => DI::l10n()->t('Invalid request.')]);
exit(); exit();
} }
return; return;
@ -92,16 +91,16 @@ function wall_upload_post(App $a, $desktopmode = true)
if (!$can_post) { if (!$can_post) {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Permission denied.')]); echo json_encode(['error' => DI::l10n()->t('Permission denied.')]);
exit(); exit();
} }
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
exit(); exit();
} }
if (empty($_FILES['userfile']) && empty($_FILES['media'])) { if (empty($_FILES['userfile']) && empty($_FILES['media'])) {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Invalid request.')]); echo json_encode(['error' => DI::l10n()->t('Invalid request.')]);
} }
exit(); exit();
} }
@ -152,10 +151,10 @@ function wall_upload_post(App $a, $desktopmode = true)
if ($src == "") { if ($src == "") {
if ($r_json) { if ($r_json) {
echo json_encode(['error' => L10n::t('Invalid request.')]); echo json_encode(['error' => DI::l10n()->t('Invalid request.')]);
exit(); exit();
} }
notice(L10n::t('Invalid request.').EOL); notice(DI::l10n()->t('Invalid request.').EOL);
exit(); exit();
} }
@ -183,7 +182,7 @@ function wall_upload_post(App $a, $desktopmode = true)
$maximagesize = Config::get('system', 'maximagesize'); $maximagesize = Config::get('system', 'maximagesize');
if (($maximagesize) && ($filesize > $maximagesize)) { if (($maximagesize) && ($filesize > $maximagesize)) {
$msg = L10n::t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)); $msg = DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize));
if ($r_json) { if ($r_json) {
echo json_encode(['error' => $msg]); echo json_encode(['error' => $msg]);
} else { } else {
@ -197,7 +196,7 @@ function wall_upload_post(App $a, $desktopmode = true)
$Image = new Image($imagedata, $filetype); $Image = new Image($imagedata, $filetype);
if (!$Image->isValid()) { if (!$Image->isValid()) {
$msg = L10n::t('Unable to process image.'); $msg = DI::l10n()->t('Unable to process image.');
if ($r_json) { if ($r_json) {
echo json_encode(['error' => $msg]); echo json_encode(['error' => $msg]);
} else { } else {
@ -228,7 +227,7 @@ function wall_upload_post(App $a, $desktopmode = true)
// If we don't have an album name use the Wall Photos album // If we don't have an album name use the Wall Photos album
if (!strlen($album)) { if (!strlen($album)) {
$album = L10n::t('Wall Photos'); $album = DI::l10n()->t('Wall Photos');
} }
$defperm = '<' . $default_cid . '>'; $defperm = '<' . $default_cid . '>';
@ -236,7 +235,7 @@ function wall_upload_post(App $a, $desktopmode = true)
$r = Photo::store($Image, $page_owner_uid, $visitor, $resource_id, $filename, $album, 0, 0, $defperm); $r = Photo::store($Image, $page_owner_uid, $visitor, $resource_id, $filename, $album, 0, 0, $defperm);
if (!$r) { if (!$r) {
$msg = L10n::t('Image upload failed.'); $msg = DI::l10n()->t('Image upload failed.');
if ($r_json) { if ($r_json) {
echo json_encode(['error' => $msg]); echo json_encode(['error' => $msg]);
} else { } else {

View file

@ -3,7 +3,6 @@
* @file mod/wallmessage.php * @file mod/wallmessage.php
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -16,7 +15,7 @@ function wallmessage_post(App $a) {
$replyto = Profile::getMyURL(); $replyto = Profile::getMyURL();
if (!$replyto) { if (!$replyto) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -40,7 +39,7 @@ function wallmessage_post(App $a) {
$user = $r[0]; $user = $r[0];
if (! intval($user['unkmail'])) { if (! intval($user['unkmail'])) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -49,7 +48,7 @@ function wallmessage_post(App $a) {
); );
if ($r[0]['total'] > $user['cntunkmail']) { if ($r[0]['total'] > $user['cntunkmail']) {
notice(L10n::t('Number of daily wall messages for %s exceeded. Message failed.', $user['username'])); notice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
return; return;
} }
@ -57,19 +56,19 @@ function wallmessage_post(App $a) {
switch ($ret) { switch ($ret) {
case -1: case -1:
notice(L10n::t('No recipient selected.') . EOL); notice(DI::l10n()->t('No recipient selected.') . EOL);
break; break;
case -2: case -2:
notice(L10n::t('Unable to check your home location.') . EOL); notice(DI::l10n()->t('Unable to check your home location.') . EOL);
break; break;
case -3: case -3:
notice(L10n::t('Message could not be sent.') . EOL); notice(DI::l10n()->t('Message could not be sent.') . EOL);
break; break;
case -4: case -4:
notice(L10n::t('Message collection failure.') . EOL); notice(DI::l10n()->t('Message collection failure.') . EOL);
break; break;
default: default:
info(L10n::t('Message sent.') . EOL); info(DI::l10n()->t('Message sent.') . EOL);
} }
DI::baseUrl()->redirect('profile/'.$user['nickname']); DI::baseUrl()->redirect('profile/'.$user['nickname']);
@ -79,14 +78,14 @@ function wallmessage_post(App $a) {
function wallmessage_content(App $a) { function wallmessage_content(App $a) {
if (!Profile::getMyURL()) { if (!Profile::getMyURL()) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
$recipient = (($a->argc > 1) ? $a->argv[1] : ''); $recipient = (($a->argc > 1) ? $a->argv[1] : '');
if (!$recipient) { if (!$recipient) {
notice(L10n::t('No recipient.') . EOL); notice(DI::l10n()->t('No recipient.') . EOL);
return; return;
} }
@ -95,7 +94,7 @@ function wallmessage_content(App $a) {
); );
if (! DBA::isResult($r)) { if (! DBA::isResult($r)) {
notice(L10n::t('No recipient.') . EOL); notice(DI::l10n()->t('No recipient.') . EOL);
Logger::log('wallmessage: no recipient'); Logger::log('wallmessage: no recipient');
return; return;
} }
@ -103,7 +102,7 @@ function wallmessage_content(App $a) {
$user = $r[0]; $user = $r[0];
if (!intval($user['unkmail'])) { if (!intval($user['unkmail'])) {
notice(L10n::t('Permission denied.') . EOL); notice(DI::l10n()->t('Permission denied.') . EOL);
return; return;
} }
@ -112,7 +111,7 @@ function wallmessage_content(App $a) {
); );
if ($r[0]['total'] > $user['cntunkmail']) { if ($r[0]['total'] > $user['cntunkmail']) {
notice(L10n::t('Number of daily wall messages for %s exceeded. Message failed.', $user['username'])); notice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
return; return;
} }
@ -120,25 +119,25 @@ function wallmessage_content(App $a) {
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
'$nickname' => $user['nickname'], '$nickname' => $user['nickname'],
'$linkurl' => L10n::t('Please enter a link URL:') '$linkurl' => DI::l10n()->t('Please enter a link URL:')
]); ]);
$tpl = Renderer::getMarkupTemplate('wallmessage.tpl'); $tpl = Renderer::getMarkupTemplate('wallmessage.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$header' => L10n::t('Send Private Message'), '$header' => DI::l10n()->t('Send Private Message'),
'$subheader' => L10n::t('If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders.', $user['username']), '$subheader' => DI::l10n()->t('If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders.', $user['username']),
'$to' => L10n::t('To:'), '$to' => DI::l10n()->t('To:'),
'$subject' => L10n::t('Subject:'), '$subject' => DI::l10n()->t('Subject:'),
'$recipname' => $user['username'], '$recipname' => $user['username'],
'$nickname' => $user['nickname'], '$nickname' => $user['nickname'],
'$subjtxt' => $_REQUEST['subject'] ?? '', '$subjtxt' => $_REQUEST['subject'] ?? '',
'$text' => $_REQUEST['body'] ?? '', '$text' => $_REQUEST['body'] ?? '',
'$readonly' => '', '$readonly' => '',
'$yourmessage'=> L10n::t('Your message:'), '$yourmessage'=> DI::l10n()->t('Your message:'),
'$parent' => '', '$parent' => '',
'$upload' => L10n::t('Upload photo'), '$upload' => DI::l10n()->t('Upload photo'),
'$insert' => L10n::t('Insert web link'), '$insert' => DI::l10n()->t('Insert web link'),
'$wait' => L10n::t('Please wait') '$wait' => DI::l10n()->t('Please wait')
]); ]);
return $o; return $o;

View file

@ -11,7 +11,7 @@ use Friendica\App\Authentication;
use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Core\Config\IConfiguration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\IPConfiguration; use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Core\Theme; use Friendica\Core\Theme;
use Friendica\Database\Database; use Friendica\Database\Database;

View file

@ -22,7 +22,7 @@ use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network; use Friendica\Util\Network;
use Friendica\Util\Strings; use Friendica\Util\Strings;
use LightOpenID; use LightOpenID;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
/** /**

View file

@ -207,15 +207,15 @@ class Module
/** /**
* Run the determined module class and calls all hooks applied to * Run the determined module class and calls all hooks applied to
* *
* @param Core\L10n\L10n $l10n The L10n instance * @param \Friendica\Core\L10n $l10n The L10n instance
* @param App\BaseURL $baseUrl The Friendica Base URL * @param App\BaseURL $baseUrl The Friendica Base URL
* @param LoggerInterface $logger The Friendica logger * @param LoggerInterface $logger The Friendica logger
* @param array $server The $_SERVER variable * @param array $server The $_SERVER variable
* @param array $post The $_POST variables * @param array $post The $_POST variables
* *
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/ */
public function run(Core\L10n\L10n $l10n, App\BaseURL $baseUrl, LoggerInterface $logger, array $server, array $post) public function run(Core\L10n $l10n, App\BaseURL $baseUrl, LoggerInterface $logger, array $server, array $post)
{ {
if ($this->printNotAllowedAddon) { if ($this->printNotAllowedAddon) {
info($l10n->t("You must be logged in to use addons. ")); info($l10n->t("You must be logged in to use addons. "));

View file

@ -10,7 +10,7 @@ use Friendica\Content\Nav;
use Friendica\Core\Config\IConfiguration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Config\IPConfiguration; use Friendica\Core\Config\IPConfiguration;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Theme; use Friendica\Core\Theme;
use Friendica\Module\Special\HTTPException as ModuleHTTPException; use Friendica\Module\Special\HTTPException as ModuleHTTPException;

View file

@ -8,7 +8,7 @@ use FastRoute\Dispatcher;
use FastRoute\RouteCollector; use FastRoute\RouteCollector;
use FastRoute\RouteParser\Std; use FastRoute\RouteParser\Std;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n; use Friendica\DI;
use Friendica\Network\HTTPException; use Friendica\Network\HTTPException;
/** /**
@ -181,9 +181,9 @@ class Router
$moduleClass = $routeInfo[1]; $moduleClass = $routeInfo[1];
$this->parameters = $routeInfo[2]; $this->parameters = $routeInfo[2];
} elseif ($routeInfo[0] === Dispatcher::METHOD_NOT_ALLOWED) { } elseif ($routeInfo[0] === Dispatcher::METHOD_NOT_ALLOWED) {
throw new HTTPException\MethodNotAllowedException(L10n::t('Method not allowed for this module. Allowed method(s): %s', implode(', ', $routeInfo[1]))); throw new HTTPException\MethodNotAllowedException(DI::l10n()->t('Method not allowed for this module. Allowed method(s): %s', implode(', ', $routeInfo[1])));
} else { } else {
throw new HTTPException\NotFoundException(L10n::t('Page not found.')); throw new HTTPException\NotFoundException(DI::l10n()->t('Page not found.'));
} }
return $moduleClass; return $moduleClass;

View file

@ -2,7 +2,6 @@
namespace Friendica; namespace Friendica;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
/** /**
@ -130,7 +129,7 @@ abstract class BaseModule
public static function getFormSecurityStandardErrorMessage() public static function getFormSecurityStandardErrorMessage()
{ {
return L10n::t("The form security token was not correct. This probably happened because the form has been opened for too long \x28>3 hours\x29 before submitting it.") . EOL; return DI::l10n()->t("The form security token was not correct. This probably happened because the form has been opened for too long \x28>3 hours\x29 before submitting it.") . EOL;
} }
public static function checkFormSecurityTokenRedirectOnError($err_redirect, $typename = '', $formname = 'form_security_token') public static function checkFormSecurityTokenRedirectOnError($err_redirect, $typename = '', $formname = 'form_security_token')

View file

@ -3,8 +3,8 @@
namespace Friendica\Console; namespace Friendica\Console;
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Database\Database; use Friendica\Database\Database;
use Friendica\DI;
use Friendica\Util\Strings; use Friendica\Util\Strings;
use RuntimeException; use RuntimeException;
@ -30,7 +30,7 @@ class ArchiveContact extends \Asika\SimpleConsole\Console
*/ */
private $dba; private $dba;
/** /**
* @var L10n\L10n * @var \Friendica\Core\L10n
*/ */
private $l10n; private $l10n;
@ -51,7 +51,7 @@ HELP;
return $help; return $help;
} }
public function __construct(App\Mode $appMode, Database $dba, L10n\L10n $l10n, array $argv = null) public function __construct(App\Mode $appMode, Database $dba, \Friendica\Core\L10n $l10n, array $argv = null)
{ {
parent::__construct($argv); parent::__construct($argv);
@ -83,7 +83,7 @@ HELP;
$nurl = Strings::normaliseLink($this->getArgument(0)); $nurl = Strings::normaliseLink($this->getArgument(0));
if (!$this->dba->exists('contact', ['nurl' => $nurl, 'archive' => false])) { if (!$this->dba->exists('contact', ['nurl' => $nurl, 'archive' => false])) {
throw new RuntimeException(L10n::t('Could not find any unarchived contact entry for this URL (%s)', $nurl)); throw new RuntimeException(DI::l10n()->t('Could not find any unarchived contact entry for this URL (%s)', $nurl));
} }
if ($this->dba->update('contact', ['archive' => true], ['nurl' => $nurl])) { if ($this->dba->update('contact', ['archive' => true], ['nurl' => $nurl])) {
$this->out($this->l10n->t('The contact entries have been archived')); $this->out($this->l10n->t('The contact entries have been archived'));

View file

@ -65,8 +65,8 @@ HELP;
foreach ($files as $file) { foreach ($files as $file) {
$str = file_get_contents($file); $str = file_get_contents($file);
$pat = '|L10n::t\(([^\)]*+)[\)]|'; $pat = '|->t\(([^\)]*+)[\)]|';
$patt = '|L10n::tt\(([^\)]*+)[\)]|'; $patt = '|->tt\(([^\)]*+)[\)]|';
$matches = []; $matches = [];
$matchestt = []; $matchestt = [];

View file

@ -26,7 +26,7 @@ class GlobalCommunityBlock extends \Asika\SimpleConsole\Console
*/ */
private $appMode; private $appMode;
/** /**
* @var L10n\L10n * @var \Friendica\Core\L10n
*/ */
private $l10n; private $l10n;

View file

@ -3,7 +3,7 @@
namespace Friendica\Console; namespace Friendica\Console;
use Friendica\App; use Friendica\App;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n;
use Friendica\Database\Database; use Friendica\Database\Database;
use Friendica\Model\User; use Friendica\Model\User;
use RuntimeException; use RuntimeException;

View file

@ -4,7 +4,7 @@ namespace Friendica\Console;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config\IConfiguration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\L10n\L10n; use Friendica\Core\L10n;
use Friendica\Core\Update; use Friendica\Core\Update;
/** /**

View file

@ -5,9 +5,9 @@
namespace Friendica\Content; namespace Friendica\Content;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Util\Network; use Friendica\Util\Network;
use Friendica\Util\Strings; use Friendica\Util\Strings;
@ -55,12 +55,12 @@ class ContactSelector
$o .= "<select id=\"contact-poll-interval\" name=\"poll\" $dis />" . "\r\n"; $o .= "<select id=\"contact-poll-interval\" name=\"poll\" $dis />" . "\r\n";
$rep = [ $rep = [
0 => L10n::t('Frequently'), 0 => DI::l10n()->t('Frequently'),
1 => L10n::t('Hourly'), 1 => DI::l10n()->t('Hourly'),
2 => L10n::t('Twice daily'), 2 => DI::l10n()->t('Twice daily'),
3 => L10n::t('Daily'), 3 => DI::l10n()->t('Daily'),
4 => L10n::t('Weekly'), 4 => DI::l10n()->t('Weekly'),
5 => L10n::t('Monthly') 5 => DI::l10n()->t('Monthly')
]; ];
foreach ($rep as $k => $v) { foreach ($rep as $k => $v) {
@ -114,23 +114,23 @@ class ContactSelector
public static function networkToName($network, $profile = '', $protocol = '') public static function networkToName($network, $profile = '', $protocol = '')
{ {
$nets = [ $nets = [
Protocol::DFRN => L10n::t('DFRN'), Protocol::DFRN => DI::l10n()->t('DFRN'),
Protocol::OSTATUS => L10n::t('OStatus'), Protocol::OSTATUS => DI::l10n()->t('OStatus'),
Protocol::FEED => L10n::t('RSS/Atom'), Protocol::FEED => DI::l10n()->t('RSS/Atom'),
Protocol::MAIL => L10n::t('Email'), Protocol::MAIL => DI::l10n()->t('Email'),
Protocol::DIASPORA => L10n::t('Diaspora'), Protocol::DIASPORA => DI::l10n()->t('Diaspora'),
Protocol::ZOT => L10n::t('Zot!'), Protocol::ZOT => DI::l10n()->t('Zot!'),
Protocol::LINKEDIN => L10n::t('LinkedIn'), Protocol::LINKEDIN => DI::l10n()->t('LinkedIn'),
Protocol::XMPP => L10n::t('XMPP/IM'), Protocol::XMPP => DI::l10n()->t('XMPP/IM'),
Protocol::MYSPACE => L10n::t('MySpace'), Protocol::MYSPACE => DI::l10n()->t('MySpace'),
Protocol::GPLUS => L10n::t('Google+'), Protocol::GPLUS => DI::l10n()->t('Google+'),
Protocol::PUMPIO => L10n::t('pump.io'), Protocol::PUMPIO => DI::l10n()->t('pump.io'),
Protocol::TWITTER => L10n::t('Twitter'), Protocol::TWITTER => DI::l10n()->t('Twitter'),
Protocol::DISCOURSE => L10n::t('Discourse'), Protocol::DISCOURSE => DI::l10n()->t('Discourse'),
Protocol::DIASPORA2 => L10n::t('Diaspora Connector'), Protocol::DIASPORA2 => DI::l10n()->t('Diaspora Connector'),
Protocol::STATUSNET => L10n::t('GNU Social Connector'), Protocol::STATUSNET => DI::l10n()->t('GNU Social Connector'),
Protocol::ACTIVITYPUB => L10n::t('ActivityPub'), Protocol::ACTIVITYPUB => DI::l10n()->t('ActivityPub'),
Protocol::PNUT => L10n::t('pnut'), Protocol::PNUT => DI::l10n()->t('pnut'),
]; ];
Hook::callAll('network_to_name', $nets); Hook::callAll('network_to_name', $nets);
@ -164,7 +164,7 @@ class ContactSelector
} }
if (!empty($protocol) && ($protocol != $network)) { if (!empty($protocol) && ($protocol != $network)) {
$networkname = L10n::t('%s (via %s)', $networkname, self::networkToName($protocol)); $networkname = DI::l10n()->t('%s (via %s)', $networkname, self::networkToName($protocol));
} }
return $networkname; return $networkname;
@ -233,21 +233,21 @@ class ContactSelector
{ {
$o = ''; $o = '';
$select = [ $select = [
'' => L10n::t('No answer'), '' => DI::l10n()->t('No answer'),
'Male' => L10n::t('Male'), 'Male' => DI::l10n()->t('Male'),
'Female' => L10n::t('Female'), 'Female' => DI::l10n()->t('Female'),
'Currently Male' => L10n::t('Currently Male'), 'Currently Male' => DI::l10n()->t('Currently Male'),
'Currently Female' => L10n::t('Currently Female'), 'Currently Female' => DI::l10n()->t('Currently Female'),
'Mostly Male' => L10n::t('Mostly Male'), 'Mostly Male' => DI::l10n()->t('Mostly Male'),
'Mostly Female' => L10n::t('Mostly Female'), 'Mostly Female' => DI::l10n()->t('Mostly Female'),
'Transgender' => L10n::t('Transgender'), 'Transgender' => DI::l10n()->t('Transgender'),
'Intersex' => L10n::t('Intersex'), 'Intersex' => DI::l10n()->t('Intersex'),
'Transsexual' => L10n::t('Transsexual'), 'Transsexual' => DI::l10n()->t('Transsexual'),
'Hermaphrodite' => L10n::t('Hermaphrodite'), 'Hermaphrodite' => DI::l10n()->t('Hermaphrodite'),
'Neuter' => L10n::t('Neuter'), 'Neuter' => DI::l10n()->t('Neuter'),
'Non-specific' => L10n::t('Non-specific'), 'Non-specific' => DI::l10n()->t('Non-specific'),
'Other' => L10n::t('Other'), 'Other' => DI::l10n()->t('Other'),
'Undecided' => L10n::t('Undecided'), 'Undecided' => DI::l10n()->t('Undecided'),
]; ];
Hook::callAll('gender_selector', $select); Hook::callAll('gender_selector', $select);
@ -273,20 +273,20 @@ class ContactSelector
{ {
$o = ''; $o = '';
$select = [ $select = [
'' => L10n::t('No answer'), '' => DI::l10n()->t('No answer'),
'Males' => L10n::t('Males'), 'Males' => DI::l10n()->t('Males'),
'Females' => L10n::t('Females'), 'Females' => DI::l10n()->t('Females'),
'Gay' => L10n::t('Gay'), 'Gay' => DI::l10n()->t('Gay'),
'Lesbian' => L10n::t('Lesbian'), 'Lesbian' => DI::l10n()->t('Lesbian'),
'No Preference' => L10n::t('No Preference'), 'No Preference' => DI::l10n()->t('No Preference'),
'Bisexual' => L10n::t('Bisexual'), 'Bisexual' => DI::l10n()->t('Bisexual'),
'Autosexual' => L10n::t('Autosexual'), 'Autosexual' => DI::l10n()->t('Autosexual'),
'Abstinent' => L10n::t('Abstinent'), 'Abstinent' => DI::l10n()->t('Abstinent'),
'Virgin' => L10n::t('Virgin'), 'Virgin' => DI::l10n()->t('Virgin'),
'Deviant' => L10n::t('Deviant'), 'Deviant' => DI::l10n()->t('Deviant'),
'Fetish' => L10n::t('Fetish'), 'Fetish' => DI::l10n()->t('Fetish'),
'Oodles' => L10n::t('Oodles'), 'Oodles' => DI::l10n()->t('Oodles'),
'Nonsexual' => L10n::t('Nonsexual'), 'Nonsexual' => DI::l10n()->t('Nonsexual'),
]; ];
Hook::callAll('sexpref_selector', $select); Hook::callAll('sexpref_selector', $select);
@ -311,37 +311,37 @@ class ContactSelector
{ {
$o = ''; $o = '';
$select = [ $select = [
'' => L10n::t('No answer'), '' => DI::l10n()->t('No answer'),
'Single' => L10n::t('Single'), 'Single' => DI::l10n()->t('Single'),
'Lonely' => L10n::t('Lonely'), 'Lonely' => DI::l10n()->t('Lonely'),
'In a relation' => L10n::t('In a relation'), 'In a relation' => DI::l10n()->t('In a relation'),
'Has crush' => L10n::t('Has crush'), 'Has crush' => DI::l10n()->t('Has crush'),
'Infatuated' => L10n::t('Infatuated'), 'Infatuated' => DI::l10n()->t('Infatuated'),
'Dating' => L10n::t('Dating'), 'Dating' => DI::l10n()->t('Dating'),
'Unfaithful' => L10n::t('Unfaithful'), 'Unfaithful' => DI::l10n()->t('Unfaithful'),
'Sex Addict' => L10n::t('Sex Addict'), 'Sex Addict' => DI::l10n()->t('Sex Addict'),
'Friends' => L10n::t('Friends'), 'Friends' => DI::l10n()->t('Friends'),
'Friends/Benefits' => L10n::t('Friends/Benefits'), 'Friends/Benefits' => DI::l10n()->t('Friends/Benefits'),
'Casual' => L10n::t('Casual'), 'Casual' => DI::l10n()->t('Casual'),
'Engaged' => L10n::t('Engaged'), 'Engaged' => DI::l10n()->t('Engaged'),
'Married' => L10n::t('Married'), 'Married' => DI::l10n()->t('Married'),
'Imaginarily married' => L10n::t('Imaginarily married'), 'Imaginarily married' => DI::l10n()->t('Imaginarily married'),
'Partners' => L10n::t('Partners'), 'Partners' => DI::l10n()->t('Partners'),
'Cohabiting' => L10n::t('Cohabiting'), 'Cohabiting' => DI::l10n()->t('Cohabiting'),
'Common law' => L10n::t('Common law'), 'Common law' => DI::l10n()->t('Common law'),
'Happy' => L10n::t('Happy'), 'Happy' => DI::l10n()->t('Happy'),
'Not looking' => L10n::t('Not looking'), 'Not looking' => DI::l10n()->t('Not looking'),
'Swinger' => L10n::t('Swinger'), 'Swinger' => DI::l10n()->t('Swinger'),
'Betrayed' => L10n::t('Betrayed'), 'Betrayed' => DI::l10n()->t('Betrayed'),
'Separated' => L10n::t('Separated'), 'Separated' => DI::l10n()->t('Separated'),
'Unstable' => L10n::t('Unstable'), 'Unstable' => DI::l10n()->t('Unstable'),
'Divorced' => L10n::t('Divorced'), 'Divorced' => DI::l10n()->t('Divorced'),
'Imaginarily divorced' => L10n::t('Imaginarily divorced'), 'Imaginarily divorced' => DI::l10n()->t('Imaginarily divorced'),
'Widowed' => L10n::t('Widowed'), 'Widowed' => DI::l10n()->t('Widowed'),
'Uncertain' => L10n::t('Uncertain'), 'Uncertain' => DI::l10n()->t('Uncertain'),
'It\'s complicated' => L10n::t('It\'s complicated'), 'It\'s complicated' => DI::l10n()->t('It\'s complicated'),
'Don\'t care' => L10n::t('Don\'t care'), 'Don\'t care' => DI::l10n()->t('Don\'t care'),
'Ask me' => L10n::t('Ask me'), 'Ask me' => DI::l10n()->t('Ask me'),
]; ];
Hook::callAll('marital_selector', $select); Hook::callAll('marital_selector', $select);

View file

@ -7,7 +7,6 @@ namespace Friendica\Content;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\DI; use Friendica\DI;
class Feature class Feature
@ -79,47 +78,47 @@ class Feature
// General // General
'general' => [ 'general' => [
L10n::t('General Features'), DI::l10n()->t('General Features'),
//array('expire', L10n::t('Content Expiration'), L10n::t('Remove old posts/comments after a period of time')), //array('expire', DI::l10n()->t('Content Expiration'), DI::l10n()->t('Remove old posts/comments after a period of time')),
['multi_profiles', L10n::t('Multiple Profiles'), L10n::t('Ability to create multiple profiles'), false, Config::get('feature_lock', 'multi_profiles', false)], ['multi_profiles', DI::l10n()->t('Multiple Profiles'), DI::l10n()->t('Ability to create multiple profiles'), false, Config::get('feature_lock', 'multi_profiles', false)],
['photo_location', L10n::t('Photo Location'), L10n::t("Photo metadata is normally stripped. This extracts the location \x28if present\x29 prior to stripping metadata and links it to a map."), false, Config::get('feature_lock', 'photo_location', false)], ['photo_location', DI::l10n()->t('Photo Location'), DI::l10n()->t("Photo metadata is normally stripped. This extracts the location \x28if present\x29 prior to stripping metadata and links it to a map."), false, Config::get('feature_lock', 'photo_location', false)],
['export_calendar', L10n::t('Export Public Calendar'), L10n::t('Ability for visitors to download the public calendar'), false, Config::get('feature_lock', 'export_calendar', false)], ['export_calendar', DI::l10n()->t('Export Public Calendar'), DI::l10n()->t('Ability for visitors to download the public calendar'), false, Config::get('feature_lock', 'export_calendar', false)],
['trending_tags', L10n::t('Trending Tags'), L10n::t('Show a community page widget with a list of the most popular tags in recent public posts.'), false, Config::get('feature_lock', 'trending_tags', false)], ['trending_tags', DI::l10n()->t('Trending Tags'), DI::l10n()->t('Show a community page widget with a list of the most popular tags in recent public posts.'), false, Config::get('feature_lock', 'trending_tags', false)],
], ],
// Post composition // Post composition
'composition' => [ 'composition' => [
L10n::t('Post Composition Features'), DI::l10n()->t('Post Composition Features'),
['aclautomention', L10n::t('Auto-mention Forums'), L10n::t('Add/remove mention when a forum page is selected/deselected in ACL window.'), false, Config::get('feature_lock', 'aclautomention', false)], ['aclautomention', DI::l10n()->t('Auto-mention Forums'), DI::l10n()->t('Add/remove mention when a forum page is selected/deselected in ACL window.'), false, Config::get('feature_lock', 'aclautomention', false)],
['explicit_mentions', L10n::t('Explicit Mentions'), L10n::t('Add explicit mentions to comment box for manual control over who gets mentioned in replies.'), false, Config::get('feature_lock', 'explicit_mentions', false)], ['explicit_mentions', DI::l10n()->t('Explicit Mentions'), DI::l10n()->t('Add explicit mentions to comment box for manual control over who gets mentioned in replies.'), false, Config::get('feature_lock', 'explicit_mentions', false)],
], ],
// Network sidebar widgets // Network sidebar widgets
'widgets' => [ 'widgets' => [
L10n::t('Network Sidebar'), DI::l10n()->t('Network Sidebar'),
['archives', L10n::t('Archives'), L10n::t('Ability to select posts by date ranges'), false, Config::get('feature_lock', 'archives', false)], ['archives', DI::l10n()->t('Archives'), DI::l10n()->t('Ability to select posts by date ranges'), false, Config::get('feature_lock', 'archives', false)],
['networks', L10n::t('Protocol Filter'), L10n::t('Enable widget to display Network posts only from selected protocols'), false, Config::get('feature_lock', 'networks', false)], ['networks', DI::l10n()->t('Protocol Filter'), DI::l10n()->t('Enable widget to display Network posts only from selected protocols'), false, Config::get('feature_lock', 'networks', false)],
], ],
// Network tabs // Network tabs
'net_tabs' => [ 'net_tabs' => [
L10n::t('Network Tabs'), DI::l10n()->t('Network Tabs'),
['new_tab', L10n::t('Network New Tab'), L10n::t("Enable tab to display only new Network posts \x28from the last 12 hours\x29"), false, Config::get('feature_lock', 'new_tab', false)], ['new_tab', DI::l10n()->t('Network New Tab'), DI::l10n()->t("Enable tab to display only new Network posts \x28from the last 12 hours\x29"), false, Config::get('feature_lock', 'new_tab', false)],
['link_tab', L10n::t('Network Shared Links Tab'), L10n::t('Enable tab to display only Network posts with links in them'), false, Config::get('feature_lock', 'link_tab', false)], ['link_tab', DI::l10n()->t('Network Shared Links Tab'), DI::l10n()->t('Enable tab to display only Network posts with links in them'), false, Config::get('feature_lock', 'link_tab', false)],
], ],
// Item tools // Item tools
'tools' => [ 'tools' => [
L10n::t('Post/Comment Tools'), DI::l10n()->t('Post/Comment Tools'),
['categories', L10n::t('Post Categories'), L10n::t('Add categories to your posts'), false, Config::get('feature_lock', 'categories', false)], ['categories', DI::l10n()->t('Post Categories'), DI::l10n()->t('Add categories to your posts'), false, Config::get('feature_lock', 'categories', false)],
], ],
// Advanced Profile Settings // Advanced Profile Settings
'advanced_profile' => [ 'advanced_profile' => [
L10n::t('Advanced Profile Settings'), DI::l10n()->t('Advanced Profile Settings'),
['forumlist_profile', L10n::t('List Forums'), L10n::t('Show visitors public community forums at the Advanced Profile Page'), false, Config::get('feature_lock', 'forumlist_profile', false)], ['forumlist_profile', DI::l10n()->t('List Forums'), DI::l10n()->t('Show visitors public community forums at the Advanced Profile Page'), false, Config::get('feature_lock', 'forumlist_profile', false)],
['tagadelic', L10n::t('Tag Cloud'), L10n::t('Provide a personal tag cloud on your profile page'), false, Config::get('feature_lock', 'tagadelic', false)], ['tagadelic', DI::l10n()->t('Tag Cloud'), DI::l10n()->t('Provide a personal tag cloud on your profile page'), false, Config::get('feature_lock', 'tagadelic', false)],
['profile_membersince', L10n::t('Display Membership Date'), L10n::t('Display membership date in profile'), false, Config::get('feature_lock', 'profile_membersince', false)], ['profile_membersince', DI::l10n()->t('Display Membership Date'), DI::l10n()->t('Display membership date in profile'), false, Config::get('feature_lock', 'profile_membersince', false)],
], ],
]; ];

View file

@ -7,7 +7,6 @@ namespace Friendica\Content;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -127,12 +126,12 @@ class ForumManager
$o .= Renderer::replaceMacros( $o .= Renderer::replaceMacros(
$tpl, $tpl,
[ [
'$title' => L10n::t('Forums'), '$title' => DI::l10n()->t('Forums'),
'$forums' => $entries, '$forums' => $entries,
'$link_desc' => L10n::t('External link to forum'), '$link_desc' => DI::l10n()->t('External link to forum'),
'$total' => $total, '$total' => $total,
'$visible_forums' => $visible_forums, '$visible_forums' => $visible_forums,
'$showmore' => L10n::t('show more')] '$showmore' => DI::l10n()->t('show more')]
); );
} }

View file

@ -7,7 +7,6 @@ namespace Friendica\Content;
use Friendica\App; use Friendica\App;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session; use Friendica\Core\Session;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -71,12 +70,12 @@ class Nav
'$sitelocation' => $nav_info['sitelocation'], '$sitelocation' => $nav_info['sitelocation'],
'$nav' => $nav_info['nav'], '$nav' => $nav_info['nav'],
'$banner' => $nav_info['banner'], '$banner' => $nav_info['banner'],
'$emptynotifications' => L10n::t('Nothing new here'), '$emptynotifications' => DI::l10n()->t('Nothing new here'),
'$userinfo' => $nav_info['userinfo'], '$userinfo' => $nav_info['userinfo'],
'$sel' => self::$selected, '$sel' => self::$selected,
'$apps' => self::getAppMenu(), '$apps' => self::getAppMenu(),
'$clear_notifs' => L10n::t('Clear notifications'), '$clear_notifs' => DI::l10n()->t('Clear notifications'),
'$search_hint' => L10n::t('@name, !forum, #tags, content') '$search_hint' => DI::l10n()->t('@name, !forum, #tags, content')
]); ]);
Hook::callAll('page_header', $nav); Hook::callAll('page_header', $nav);
@ -149,19 +148,19 @@ class Nav
$userinfo = null; $userinfo = null;
if (Session::isAuthenticated()) { if (Session::isAuthenticated()) {
$nav['logout'] = ['logout', L10n::t('Logout'), '', L10n::t('End this session')]; $nav['logout'] = ['logout', DI::l10n()->t('Logout'), '', DI::l10n()->t('End this session')];
} else { } else {
$nav['login'] = ['login', L10n::t('Login'), (DI::module()->getName() == 'login' ? 'selected' : ''), L10n::t('Sign in')]; $nav['login'] = ['login', DI::l10n()->t('Login'), (DI::module()->getName() == 'login' ? 'selected' : ''), DI::l10n()->t('Sign in')];
} }
if (local_user()) { if (local_user()) {
// user menu // user menu
$nav['usermenu'][] = ['profile/' . $a->user['nickname'], L10n::t('Status'), '', L10n::t('Your posts and conversations')]; $nav['usermenu'][] = ['profile/' . $a->user['nickname'], DI::l10n()->t('Status'), '', DI::l10n()->t('Your posts and conversations')];
$nav['usermenu'][] = ['profile/' . $a->user['nickname'] . '?tab=profile', L10n::t('Profile'), '', L10n::t('Your profile page')]; $nav['usermenu'][] = ['profile/' . $a->user['nickname'] . '?tab=profile', DI::l10n()->t('Profile'), '', DI::l10n()->t('Your profile page')];
$nav['usermenu'][] = ['photos/' . $a->user['nickname'], L10n::t('Photos'), '', L10n::t('Your photos')]; $nav['usermenu'][] = ['photos/' . $a->user['nickname'], DI::l10n()->t('Photos'), '', DI::l10n()->t('Your photos')];
$nav['usermenu'][] = ['videos/' . $a->user['nickname'], L10n::t('Videos'), '', L10n::t('Your videos')]; $nav['usermenu'][] = ['videos/' . $a->user['nickname'], DI::l10n()->t('Videos'), '', DI::l10n()->t('Your videos')];
$nav['usermenu'][] = ['events/', L10n::t('Events'), '', L10n::t('Your events')]; $nav['usermenu'][] = ['events/', DI::l10n()->t('Events'), '', DI::l10n()->t('Your events')];
$nav['usermenu'][] = ['notes/', L10n::t('Personal notes'), '', L10n::t('Your personal notes')]; $nav['usermenu'][] = ['notes/', DI::l10n()->t('Personal notes'), '', DI::l10n()->t('Your personal notes')];
// user info // user info
$contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->user['uid'], 'self' => true]); $contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->user['uid'], 'self' => true]);
@ -178,34 +177,34 @@ class Nav
} }
if ((DI::module()->getName() != 'home') && (! (local_user()))) { if ((DI::module()->getName() != 'home') && (! (local_user()))) {
$nav['home'] = [$homelink, L10n::t('Home'), '', L10n::t('Home Page')]; $nav['home'] = [$homelink, DI::l10n()->t('Home'), '', DI::l10n()->t('Home Page')];
} }
if (intval(Config::get('config', 'register_policy')) === \Friendica\Module\Register::OPEN && !Session::isAuthenticated()) { if (intval(Config::get('config', 'register_policy')) === \Friendica\Module\Register::OPEN && !Session::isAuthenticated()) {
$nav['register'] = ['register', L10n::t('Register'), '', L10n::t('Create an account')]; $nav['register'] = ['register', DI::l10n()->t('Register'), '', DI::l10n()->t('Create an account')];
} }
$help_url = 'help'; $help_url = 'help';
if (!Config::get('system', 'hide_help')) { if (!Config::get('system', 'hide_help')) {
$nav['help'] = [$help_url, L10n::t('Help'), '', L10n::t('Help and documentation')]; $nav['help'] = [$help_url, DI::l10n()->t('Help'), '', DI::l10n()->t('Help and documentation')];
} }
if (count(self::getAppMenu()) > 0) { if (count(self::getAppMenu()) > 0) {
$nav['apps'] = ['apps', L10n::t('Apps'), '', L10n::t('Addon applications, utilities, games')]; $nav['apps'] = ['apps', DI::l10n()->t('Apps'), '', DI::l10n()->t('Addon applications, utilities, games')];
} }
if (local_user() || !Config::get('system', 'local_search')) { if (local_user() || !Config::get('system', 'local_search')) {
$nav['search'] = ['search', L10n::t('Search'), '', L10n::t('Search site content')]; $nav['search'] = ['search', DI::l10n()->t('Search'), '', DI::l10n()->t('Search site content')];
$nav['searchoption'] = [ $nav['searchoption'] = [
L10n::t('Full Text'), DI::l10n()->t('Full Text'),
L10n::t('Tags'), DI::l10n()->t('Tags'),
L10n::t('Contacts') DI::l10n()->t('Contacts')
]; ];
if (Config::get('system', 'poco_local_search')) { if (Config::get('system', 'poco_local_search')) {
$nav['searchoption'][] = L10n::t('Forums'); $nav['searchoption'][] = DI::l10n()->t('Forums');
} }
} }
@ -220,59 +219,59 @@ class Nav
if ((local_user() || Config::get('system', 'community_page_style') != CP_NO_COMMUNITY_PAGE) && if ((local_user() || Config::get('system', 'community_page_style') != CP_NO_COMMUNITY_PAGE) &&
!(Config::get('system', 'community_page_style') == CP_NO_INTERNAL_COMMUNITY)) { !(Config::get('system', 'community_page_style') == CP_NO_INTERNAL_COMMUNITY)) {
$nav['community'] = ['community', L10n::t('Community'), '', L10n::t('Conversations on this and other servers')]; $nav['community'] = ['community', DI::l10n()->t('Community'), '', DI::l10n()->t('Conversations on this and other servers')];
} }
if (local_user()) { if (local_user()) {
$nav['events'] = ['events', L10n::t('Events'), '', L10n::t('Events and Calendar')]; $nav['events'] = ['events', DI::l10n()->t('Events'), '', DI::l10n()->t('Events and Calendar')];
} }
$nav['directory'] = [$gdirpath, L10n::t('Directory'), '', L10n::t('People directory')]; $nav['directory'] = [$gdirpath, DI::l10n()->t('Directory'), '', DI::l10n()->t('People directory')];
$nav['about'] = ['friendica', L10n::t('Information'), '', L10n::t('Information about this friendica instance')]; $nav['about'] = ['friendica', DI::l10n()->t('Information'), '', DI::l10n()->t('Information about this friendica instance')];
if (Config::get('system', 'tosdisplay')) { if (Config::get('system', 'tosdisplay')) {
$nav['tos'] = ['tos', L10n::t('Terms of Service'), '', L10n::t('Terms of Service of this Friendica instance')]; $nav['tos'] = ['tos', DI::l10n()->t('Terms of Service'), '', DI::l10n()->t('Terms of Service of this Friendica instance')];
} }
// The following nav links are only show to logged in users // The following nav links are only show to logged in users
if (local_user()) { if (local_user()) {
$nav['network'] = ['network', L10n::t('Network'), '', L10n::t('Conversations from your friends')]; $nav['network'] = ['network', DI::l10n()->t('Network'), '', DI::l10n()->t('Conversations from your friends')];
$nav['home'] = ['profile/' . $a->user['nickname'], L10n::t('Home'), '', L10n::t('Your posts and conversations')]; $nav['home'] = ['profile/' . $a->user['nickname'], DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')];
// Don't show notifications for public communities // Don't show notifications for public communities
if (Session::get('page_flags', '') != User::PAGE_FLAGS_COMMUNITY) { if (Session::get('page_flags', '') != User::PAGE_FLAGS_COMMUNITY) {
$nav['introductions'] = ['notifications/intros', L10n::t('Introductions'), '', L10n::t('Friend Requests')]; $nav['introductions'] = ['notifications/intros', DI::l10n()->t('Introductions'), '', DI::l10n()->t('Friend Requests')];
$nav['notifications'] = ['notifications', L10n::t('Notifications'), '', L10n::t('Notifications')]; $nav['notifications'] = ['notifications', DI::l10n()->t('Notifications'), '', DI::l10n()->t('Notifications')];
$nav['notifications']['all'] = ['notifications/system', L10n::t('See all notifications'), '', '']; $nav['notifications']['all'] = ['notifications/system', DI::l10n()->t('See all notifications'), '', ''];
$nav['notifications']['mark'] = ['', L10n::t('Mark as seen'), '', L10n::t('Mark all system notifications seen')]; $nav['notifications']['mark'] = ['', DI::l10n()->t('Mark as seen'), '', DI::l10n()->t('Mark all system notifications seen')];
} }
$nav['messages'] = ['message', L10n::t('Messages'), '', L10n::t('Private mail')]; $nav['messages'] = ['message', DI::l10n()->t('Messages'), '', DI::l10n()->t('Private mail')];
$nav['messages']['inbox'] = ['message', L10n::t('Inbox'), '', L10n::t('Inbox')]; $nav['messages']['inbox'] = ['message', DI::l10n()->t('Inbox'), '', DI::l10n()->t('Inbox')];
$nav['messages']['outbox'] = ['message/sent', L10n::t('Outbox'), '', L10n::t('Outbox')]; $nav['messages']['outbox'] = ['message/sent', DI::l10n()->t('Outbox'), '', DI::l10n()->t('Outbox')];
$nav['messages']['new'] = ['message/new', L10n::t('New Message'), '', L10n::t('New Message')]; $nav['messages']['new'] = ['message/new', DI::l10n()->t('New Message'), '', DI::l10n()->t('New Message')];
if (is_array($a->identities) && count($a->identities) > 1) { if (is_array($a->identities) && count($a->identities) > 1) {
$nav['delegation'] = ['delegation', L10n::t('Delegation'), '', L10n::t('Manage other pages')]; $nav['delegation'] = ['delegation', DI::l10n()->t('Delegation'), '', DI::l10n()->t('Manage other pages')];
} }
$nav['settings'] = ['settings', L10n::t('Settings'), '', L10n::t('Account settings')]; $nav['settings'] = ['settings', DI::l10n()->t('Settings'), '', DI::l10n()->t('Account settings')];
if (Feature::isEnabled(local_user(), 'multi_profiles')) { if (Feature::isEnabled(local_user(), 'multi_profiles')) {
$nav['profiles'] = ['profiles', L10n::t('Profiles'), '', L10n::t('Manage/Edit Profiles')]; $nav['profiles'] = ['profiles', DI::l10n()->t('Profiles'), '', DI::l10n()->t('Manage/Edit Profiles')];
} }
$nav['contacts'] = ['contact', L10n::t('Contacts'), '', L10n::t('Manage/edit friends and contacts')]; $nav['contacts'] = ['contact', DI::l10n()->t('Contacts'), '', DI::l10n()->t('Manage/edit friends and contacts')];
} }
// Show the link to the admin configuration page if user is admin // Show the link to the admin configuration page if user is admin
if (is_site_admin()) { if (is_site_admin()) {
$nav['admin'] = ['admin/', L10n::t('Admin'), '', L10n::t('Site setup and configuration')]; $nav['admin'] = ['admin/', DI::l10n()->t('Admin'), '', DI::l10n()->t('Site setup and configuration')];
} }
$nav['navigation'] = ['navigation/', L10n::t('Navigation'), '', L10n::t('Site map')]; $nav['navigation'] = ['navigation/', DI::l10n()->t('Navigation'), '', DI::l10n()->t('Site map')];
// Provide a banner/logo/whatever // Provide a banner/logo/whatever
$banner = Config::get('system', 'banner'); $banner = Config::get('system', 'banner');

View file

@ -13,7 +13,6 @@ use Exception;
use Friendica\Core\Cache\Duration; use Friendica\Core\Cache\Duration;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -251,7 +250,7 @@ class OEmbed
{ {
$stopoembed = Config::get("system", "no_oembed"); $stopoembed = Config::get("system", "no_oembed");
if ($stopoembed == true) { if ($stopoembed == true) {
return preg_replace("/\[embed\](.+?)\[\/embed\]/is", "<!-- oembed $1 --><i>" . L10n::t('Embedding disabled') . " : $1</i><!-- /oembed $1 -->", $text); return preg_replace("/\[embed\](.+?)\[\/embed\]/is", "<!-- oembed $1 --><i>" . DI::l10n()->t('Embedding disabled') . " : $1</i><!-- /oembed $1 -->", $text);
} }
return preg_replace_callback("/\[embed\](.+?)\[\/embed\]/is", ['self', 'replaceCallback'], $text); return preg_replace_callback("/\[embed\](.+?)\[\/embed\]/is", ['self', 'replaceCallback'], $text);
} }
@ -373,7 +372,7 @@ class OEmbed
$width = '100%'; $width = '100%';
$src = DI::baseUrl() . '/oembed/' . Strings::base64UrlEncode($src); $src = DI::baseUrl() . '/oembed/' . Strings::base64UrlEncode($src);
return '<iframe onload="resizeIframe(this);" class="embed_rich" height="' . $height . '" width="' . $width . '" src="' . $src . '" allowfullscreen scrolling="no" frameborder="no">' . L10n::t('Embedded content') . '</iframe>'; return '<iframe onload="resizeIframe(this);" class="embed_rich" height="' . $height . '" width="' . $width . '" src="' . $src . '" allowfullscreen scrolling="no" frameborder="no">' . DI::l10n()->t('Embedded content') . '</iframe>';
} }
/** /**

View file

@ -2,8 +2,8 @@
namespace Friendica\Content; namespace Friendica\Content;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\DI;
use Friendica\Util\Strings; use Friendica\Util\Strings;
/** /**
@ -150,12 +150,12 @@ class Pager
'class' => 'pager', 'class' => 'pager',
'prev' => [ 'prev' => [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)), 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
'text' => L10n::t('newer'), 'text' => DI::l10n()->t('newer'),
'class' => 'previous' . ($this->getPage() == 1 ? ' disabled' : '') 'class' => 'previous' . ($this->getPage() == 1 ? ' disabled' : '')
], ],
'next' => [ 'next' => [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)), 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
'text' => L10n::t('older'), 'text' => DI::l10n()->t('older'),
'class' => 'next' . ($displayedItemCount < $this->getItemsPerPage() ? ' disabled' : '') 'class' => 'next' . ($displayedItemCount < $this->getItemsPerPage() ? ' disabled' : '')
] ]
]; ];
@ -195,12 +195,12 @@ class Pager
if ($totalItemCount > $this->getItemsPerPage()) { if ($totalItemCount > $this->getItemsPerPage()) {
$data['first'] = [ $data['first'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=1'), 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=1'),
'text' => L10n::t('first'), 'text' => DI::l10n()->t('first'),
'class' => $this->getPage() == 1 ? 'disabled' : '' 'class' => $this->getPage() == 1 ? 'disabled' : ''
]; ];
$data['prev'] = [ $data['prev'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)), 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() - 1)),
'text' => L10n::t('prev'), 'text' => DI::l10n()->t('prev'),
'class' => $this->getPage() == 1 ? 'disabled' : '' 'class' => $this->getPage() == 1 ? 'disabled' : ''
]; ];
@ -255,12 +255,12 @@ class Pager
$data['next'] = [ $data['next'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)), 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . ($this->getPage() + 1)),
'text' => L10n::t('next'), 'text' => DI::l10n()->t('next'),
'class' => $this->getPage() == $lastpage ? 'disabled' : '' 'class' => $this->getPage() == $lastpage ? 'disabled' : ''
]; ];
$data['last'] = [ $data['last'] = [
'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . $lastpage), 'url' => Strings::ensureQueryParameter($this->baseQueryString . '&page=' . $lastpage),
'text' => L10n::t('last'), 'text' => DI::l10n()->t('last'),
'class' => $this->getPage() == $lastpage ? 'disabled' : '' 'class' => $this->getPage() == $lastpage ? 'disabled' : ''
]; ];
} }

View file

@ -12,7 +12,6 @@ use Friendica\Content\OEmbed;
use Friendica\Content\Smilies; use Friendica\Content\Smilies;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
@ -907,7 +906,7 @@ class BBCode
// it loops over the array starting from the first element and going sequentially // it loops over the array starting from the first element and going sequentially
// to the last element // to the last element
$newbody = str_replace('[$#saved_image' . $cnt . '#$]', $newbody = str_replace('[$#saved_image' . $cnt . '#$]',
'<img src="' . self::proxyUrl($image) . '" alt="' . L10n::t('Image/photo') . '" />', $newbody); '<img src="' . self::proxyUrl($image) . '" alt="' . DI::l10n()->t('Image/photo') . '" />', $newbody);
$cnt++; $cnt++;
} }
@ -1024,7 +1023,7 @@ class BBCode
break; break;
case 4: case 4:
$headline = '<p><b>' . html_entity_decode('&#x2672; ', ENT_QUOTES, 'UTF-8'); $headline = '<p><b>' . html_entity_decode('&#x2672; ', ENT_QUOTES, 'UTF-8');
$headline .= L10n::t('<a href="%1$s" target="_blank">%2$s</a> %3$s', $attributes['link'], $mention, $attributes['posted']); $headline .= DI::l10n()->t('<a href="%1$s" target="_blank">%2$s</a> %3$s', $attributes['link'], $mention, $attributes['posted']);
$headline .= ':</b></p>' . "\n"; $headline .= ':</b></p>' . "\n";
$text = ($is_quote_share? '<hr />' : '') . $headline . '<blockquote class="shared_content">' . trim($content) . '</blockquote>' . "\n"; $text = ($is_quote_share? '<hr />' : '') . $headline . '<blockquote class="shared_content">' . trim($content) . '</blockquote>' . "\n";
@ -1521,7 +1520,7 @@ class BBCode
$text = preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/sm", "<span style=\"font-family: $1;\">$2</span>", $text); $text = preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/sm", "<span style=\"font-family: $1;\">$2</span>", $text);
// Declare the format for [spoiler] layout // Declare the format for [spoiler] layout
$SpoilerLayout = '<details class="spoiler"><summary>' . L10n::t('Click to open/close') . '</summary>$1</details>'; $SpoilerLayout = '<details class="spoiler"><summary>' . DI::l10n()->t('Click to open/close') . '</summary>$1</details>';
// Check for [spoiler] text // Check for [spoiler] text
// handle nested quotes // handle nested quotes
@ -1552,7 +1551,7 @@ class BBCode
// Check for [quote=Author] text // Check for [quote=Author] text
$t_wrote = L10n::t('$1 wrote:'); $t_wrote = DI::l10n()->t('$1 wrote:');
// handle nested quotes // handle nested quotes
$endlessloop = 0; $endlessloop = 0;
@ -1603,12 +1602,12 @@ class BBCode
$text $text
); );
$text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . L10n::t('Image/photo') . '" />', $text); $text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . DI::l10n()->t('Image/photo') . '" />', $text);
$text = preg_replace("/\[zmg\](.*?)\[\/zmg\]/ism", '<img src="$1" alt="' . L10n::t('Image/photo') . '" />', $text); $text = preg_replace("/\[zmg\](.*?)\[\/zmg\]/ism", '<img src="$1" alt="' . DI::l10n()->t('Image/photo') . '" />', $text);
$text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism", '<br/><img src="' .DI::baseUrl() . '/images/lock_icon.gif" alt="' . L10n::t('Encrypted content') . '" title="' . L10n::t('Encrypted content') . '" /><br />', $text); $text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism", '<br/><img src="' .DI::baseUrl() . '/images/lock_icon.gif" alt="' . DI::l10n()->t('Encrypted content') . '" title="' . DI::l10n()->t('Encrypted content') . '" /><br />', $text);
$text = preg_replace("/\[crypt(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .DI::baseUrl() . '/images/lock_icon.gif" alt="' . L10n::t('Encrypted content') . '" title="' . '$1' . ' ' . L10n::t('Encrypted content') . '" /><br />', $text); $text = preg_replace("/\[crypt(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .DI::baseUrl() . '/images/lock_icon.gif" alt="' . DI::l10n()->t('Encrypted content') . '" title="' . '$1' . ' ' . DI::l10n()->t('Encrypted content') . '" /><br />', $text);
//$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .DI::baseUrl() . '/images/lock_icon.gif" alt="' . L10n::t('Encrypted content') . '" title="' . '$1' . ' ' . L10n::t('Encrypted content') . '" /><br />', $Text); //$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism", '<br/><img src="' .DI::baseUrl() . '/images/lock_icon.gif" alt="' . DI::l10n()->t('Encrypted content') . '" title="' . '$1' . ' ' . DI::l10n()->t('Encrypted content') . '" /><br />', $Text);
// Simplify "video" element // Simplify "video" element
$text = preg_replace('(\[video.*?\ssrc\s?=\s?([^\s\]]+).*?\].*?\[/video\])ism', '[video]$1[/video]', $text); $text = preg_replace('(\[video.*?\ssrc\s?=\s?([^\s\]]+).*?\].*?\[/video\])ism', '[video]$1[/video]', $text);
@ -1832,7 +1831,7 @@ class BBCode
array_walk($allowed_src_protocols, function(&$value) { $value = preg_quote($value, '#');}); array_walk($allowed_src_protocols, function(&$value) { $value = preg_quote($value, '#');});
$text = preg_replace('#<([^>]*?)(src)="(?!' . implode('|', $allowed_src_protocols) . ')(.*?)"(.*?)>#ism', $text = preg_replace('#<([^>]*?)(src)="(?!' . implode('|', $allowed_src_protocols) . ')(.*?)"(.*?)>#ism',
'<$1$2=""$4 data-original-src="$3" class="invalid-src" title="' . L10n::t('Invalid source protocol') . '">', $text); '<$1$2=""$4 data-original-src="$3" class="invalid-src" title="' . DI::l10n()->t('Invalid source protocol') . '">', $text);
// sanitize href attributes (only whitelisted protocols URLs) // sanitize href attributes (only whitelisted protocols URLs)
// default value for backward compatibility // default value for backward compatibility
@ -1847,7 +1846,7 @@ class BBCode
array_walk($allowed_link_protocols, function(&$value) { $value = preg_quote($value, '#');}); array_walk($allowed_link_protocols, function(&$value) { $value = preg_quote($value, '#');});
$regex = '#<([^>]*?)(href)="(?!' . implode('|', $allowed_link_protocols) . ')(.*?)"(.*?)>#ism'; $regex = '#<([^>]*?)(href)="(?!' . implode('|', $allowed_link_protocols) . ')(.*?)"(.*?)>#ism';
$text = preg_replace($regex, '<$1$2="javascript:void(0)"$4 data-original-href="$3" class="invalid-href" title="' . L10n::t('Invalid link protocol') . '">', $text); $text = preg_replace($regex, '<$1$2="javascript:void(0)"$4 data-original-href="$3" class="invalid-href" title="' . DI::l10n()->t('Invalid link protocol') . '">', $text);
// Shared content // Shared content
$text = self::convertShare( $text = self::convertShare(

View file

@ -9,7 +9,6 @@ use DOMDocument;
use DOMXPath; use DOMXPath;
use Friendica\Content\Widget\ContactBlock; use Friendica\Content\Widget\ContactBlock;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\DI; use Friendica\DI;
@ -799,8 +798,8 @@ class HTML
{ {
$tpl = Renderer::getMarkupTemplate("scroll_loader.tpl"); $tpl = Renderer::getMarkupTemplate("scroll_loader.tpl");
return Renderer::replaceMacros($tpl, [ return Renderer::replaceMacros($tpl, [
'wait' => L10n::t('Loading more entries...'), 'wait' => DI::l10n()->t('Loading more entries...'),
'end' => L10n::t('The end') 'end' => DI::l10n()->t('The end')
]); ]);
} }
@ -893,28 +892,28 @@ class HTML
if (strpos($s, '#') === 0) { if (strpos($s, '#') === 0) {
$mode = 'tag'; $mode = 'tag';
} }
$save_label = $mode === 'text' ? L10n::t('Save') : L10n::t('Follow'); $save_label = $mode === 'text' ? DI::l10n()->t('Save') : DI::l10n()->t('Follow');
$values = [ $values = [
'$s' => $s, '$s' => $s,
'$q' => urlencode($s), '$q' => urlencode($s),
'$id' => $id, '$id' => $id,
'$search_label' => L10n::t('Search'), '$search_label' => DI::l10n()->t('Search'),
'$save_label' => $save_label, '$save_label' => $save_label,
'$search_hint' => L10n::t('@name, !forum, #tags, content'), '$search_hint' => DI::l10n()->t('@name, !forum, #tags, content'),
'$mode' => $mode, '$mode' => $mode,
'$return_url' => urlencode('search?q=' . urlencode($s)), '$return_url' => urlencode('search?q=' . urlencode($s)),
]; ];
if (!$aside) { if (!$aside) {
$values['$search_options'] = [ $values['$search_options'] = [
'fulltext' => L10n::t('Full Text'), 'fulltext' => DI::l10n()->t('Full Text'),
'tags' => L10n::t('Tags'), 'tags' => DI::l10n()->t('Tags'),
'contacts' => L10n::t('Contacts') 'contacts' => DI::l10n()->t('Contacts')
]; ];
if (Config::get('system', 'poco_local_search')) { if (Config::get('system', 'poco_local_search')) {
$values['$searchoption']['forums'] = L10n::t('Forums'); $values['$searchoption']['forums'] = DI::l10n()->t('Forums');
} }
} }
@ -951,7 +950,7 @@ class HTML
$html = Renderer::replaceMacros($tpl, [ $html = Renderer::replaceMacros($tpl, [
'$reasons' => $reasons, '$reasons' => $reasons,
'$rnd' => Strings::getRandomHex(8), '$rnd' => Strings::getRandomHex(8),
'$openclose' => L10n::t('Click to open/close'), '$openclose' => DI::l10n()->t('Click to open/close'),
'$html' => $html '$html' => $html
]); ]);
} }

View file

@ -6,7 +6,6 @@ namespace Friendica\Content;
use Friendica\Core\Addon; use Friendica\Core\Addon;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\Session; use Friendica\Core\Session;
@ -34,11 +33,11 @@ class Widget
public static function follow($value = "") public static function follow($value = "")
{ {
return Renderer::replaceMacros(Renderer::getMarkupTemplate('widget/follow.tpl'), array( return Renderer::replaceMacros(Renderer::getMarkupTemplate('widget/follow.tpl'), array(
'$connect' => L10n::t('Add New Contact'), '$connect' => DI::l10n()->t('Add New Contact'),
'$desc' => L10n::t('Enter address or web location'), '$desc' => DI::l10n()->t('Enter address or web location'),
'$hint' => L10n::t('Example: bob@example.com, http://example.com/barbara'), '$hint' => DI::l10n()->t('Example: bob@example.com, http://example.com/barbara'),
'$value' => $value, '$value' => $value,
'$follow' => L10n::t('Connect') '$follow' => DI::l10n()->t('Connect')
)); ));
} }
@ -53,24 +52,24 @@ class Widget
$x = intval(DI::pConfig()->get(local_user(), 'system', 'invites_remaining')); $x = intval(DI::pConfig()->get(local_user(), 'system', 'invites_remaining'));
if ($x || is_site_admin()) { if ($x || is_site_admin()) {
DI::page()['aside'] .= '<div class="side-link widget" id="side-invite-remain">' DI::page()['aside'] .= '<div class="side-link widget" id="side-invite-remain">'
. L10n::tt('%d invitation available', '%d invitations available', $x) . DI::l10n()->tt('%d invitation available', '%d invitations available', $x)
. '</div>'; . '</div>';
} }
} }
$nv = []; $nv = [];
$nv['findpeople'] = L10n::t('Find People'); $nv['findpeople'] = DI::l10n()->t('Find People');
$nv['desc'] = L10n::t('Enter name or interest'); $nv['desc'] = DI::l10n()->t('Enter name or interest');
$nv['label'] = L10n::t('Connect/Follow'); $nv['label'] = DI::l10n()->t('Connect/Follow');
$nv['hint'] = L10n::t('Examples: Robert Morgenstein, Fishing'); $nv['hint'] = DI::l10n()->t('Examples: Robert Morgenstein, Fishing');
$nv['findthem'] = L10n::t('Find'); $nv['findthem'] = DI::l10n()->t('Find');
$nv['suggest'] = L10n::t('Friend Suggestions'); $nv['suggest'] = DI::l10n()->t('Friend Suggestions');
$nv['similar'] = L10n::t('Similar Interests'); $nv['similar'] = DI::l10n()->t('Similar Interests');
$nv['random'] = L10n::t('Random Profile'); $nv['random'] = DI::l10n()->t('Random Profile');
$nv['inv'] = L10n::t('Invite Friends'); $nv['inv'] = DI::l10n()->t('Invite Friends');
$nv['directory'] = L10n::t('Global Directory'); $nv['directory'] = DI::l10n()->t('Global Directory');
$nv['global_dir'] = $global_dir; $nv['global_dir'] = $global_dir;
$nv['local_directory'] = L10n::t('Local Directory'); $nv['local_directory'] = DI::l10n()->t('Local Directory');
$aside = []; $aside = [];
$aside['$nv'] = $nv; $aside['$nv'] = $nv;
@ -191,16 +190,16 @@ class Widget
} }
$options = [ $options = [
['ref' => 'followers', 'name' => L10n::t('Followers')], ['ref' => 'followers', 'name' => DI::l10n()->t('Followers')],
['ref' => 'following', 'name' => L10n::t('Following')], ['ref' => 'following', 'name' => DI::l10n()->t('Following')],
['ref' => 'mutuals', 'name' => L10n::t('Mutual friends')], ['ref' => 'mutuals', 'name' => DI::l10n()->t('Mutual friends')],
]; ];
return self::filter( return self::filter(
'rel', 'rel',
L10n::t('Relationships'), DI::l10n()->t('Relationships'),
'', '',
L10n::t('All Contacts'), DI::l10n()->t('All Contacts'),
$baseurl, $baseurl,
$options, $options,
$selected $selected
@ -243,9 +242,9 @@ class Widget
return self::filter( return self::filter(
'nets', 'nets',
L10n::t('Protocols'), DI::l10n()->t('Protocols'),
'', '',
L10n::t('All Protocols'), DI::l10n()->t('All Protocols'),
$baseurl, $baseurl,
$nets, $nets,
$selected $selected
@ -282,9 +281,9 @@ class Widget
return self::filter( return self::filter(
'file', 'file',
L10n::t('Saved Folders'), DI::l10n()->t('Saved Folders'),
'', '',
L10n::t('Everything'), DI::l10n()->t('Everything'),
$baseurl, $baseurl,
$terms, $terms,
$selected $selected
@ -321,9 +320,9 @@ class Widget
return self::filter( return self::filter(
'category', 'category',
L10n::t('Categories'), DI::l10n()->t('Categories'),
'', '',
L10n::t('Everything'), DI::l10n()->t('Everything'),
$baseurl, $baseurl,
$terms, $terms,
$selected $selected
@ -398,12 +397,12 @@ class Widget
$tpl = Renderer::getMarkupTemplate('widget/remote_friends_common.tpl'); $tpl = Renderer::getMarkupTemplate('widget/remote_friends_common.tpl');
return Renderer::replaceMacros($tpl, [ return Renderer::replaceMacros($tpl, [
'$desc' => L10n::tt("%d contact in common", "%d contacts in common", $t), '$desc' => DI::l10n()->tt("%d contact in common", "%d contacts in common", $t),
'$base' => DI::baseUrl(), '$base' => DI::baseUrl(),
'$uid' => $profile_uid, '$uid' => $profile_uid,
'$cid' => (($cid) ? $cid : '0'), '$cid' => (($cid) ? $cid : '0'),
'$linkmore' => (($t > 5) ? 'true' : ''), '$linkmore' => (($t > 5) ? 'true' : ''),
'$more' => L10n::t('show more'), '$more' => DI::l10n()->t('show more'),
'$items' => $entries '$items' => $entries
]); ]);
} }
@ -476,7 +475,7 @@ class Widget
$dend = substr($dnow, 0, 8) . Temporal::getDaysInMonth(intval($dnow), intval(substr($dnow, 5))); $dend = substr($dnow, 0, 8) . Temporal::getDaysInMonth(intval($dnow), intval(substr($dnow, 5)));
$start_month = DateTimeFormat::utc($dstart, 'Y-m-d'); $start_month = DateTimeFormat::utc($dstart, 'Y-m-d');
$end_month = DateTimeFormat::utc($dend, 'Y-m-d'); $end_month = DateTimeFormat::utc($dend, 'Y-m-d');
$str = L10n::getDay(DateTimeFormat::utc($dnow, 'F')); $str = DI::l10n()->getDay(DateTimeFormat::utc($dnow, 'F'));
if (empty($ret[$dyear])) { if (empty($ret[$dyear])) {
$ret[$dyear] = []; $ret[$dyear] = [];
@ -496,13 +495,13 @@ class Widget
$cutoff = array_key_exists($cutoff_year, $ret); $cutoff = array_key_exists($cutoff_year, $ret);
$o = Renderer::replaceMacros(Renderer::getMarkupTemplate('widget/posted_date.tpl'),[ $o = Renderer::replaceMacros(Renderer::getMarkupTemplate('widget/posted_date.tpl'),[
'$title' => L10n::t('Archives'), '$title' => DI::l10n()->t('Archives'),
'$size' => $visible_years, '$size' => $visible_years,
'$cutoff_year' => $cutoff_year, '$cutoff_year' => $cutoff_year,
'$cutoff' => $cutoff, '$cutoff' => $cutoff,
'$url' => $url, '$url' => $url,
'$dates' => $ret, '$dates' => $ret,
'$showmore' => L10n::t('show more') '$showmore' => DI::l10n()->t('show more')
]); ]);
return $o; return $o;

View file

@ -7,7 +7,6 @@
namespace Friendica\Content\Widget; namespace Friendica\Content\Widget;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\DI; use Friendica\DI;
@ -62,9 +61,9 @@ class CalendarExport
$tpl = Renderer::getMarkupTemplate("widget/events.tpl"); $tpl = Renderer::getMarkupTemplate("widget/events.tpl");
$return = Renderer::replaceMacros($tpl, [ $return = Renderer::replaceMacros($tpl, [
'$etitle' => L10n::t("Export"), '$etitle' => DI::l10n()->t("Export"),
'$export_ical' => L10n::t("Export calendar as ical"), '$export_ical' => DI::l10n()->t("Export calendar as ical"),
'$export_csv' => L10n::t("Export calendar as csv"), '$export_csv' => DI::l10n()->t("Export calendar as csv"),
'$user' => $user '$user' => $user
]); ]);

View file

@ -8,7 +8,6 @@ namespace Friendica\Content\Widget;
use Friendica\Content\Text\HTML; use Friendica\Content\Text\HTML;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
@ -55,7 +54,7 @@ class ContactBlock
'network' => [Protocol::DFRN, Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::FEED], 'network' => [Protocol::DFRN, Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::FEED],
]); ]);
$contacts_title = L10n::t('No contacts'); $contacts_title = DI::l10n()->t('No contacts');
$micropro = []; $micropro = [];
@ -87,7 +86,7 @@ class ContactBlock
$contacts_stmt = DBA::select('contact', ['id', 'uid', 'addr', 'url', 'name', 'thumb', 'network'], ['id' => $contact_ids]); $contacts_stmt = DBA::select('contact', ['id', 'uid', 'addr', 'url', 'name', 'thumb', 'network'], ['id' => $contact_ids]);
if (DBA::isResult($contacts_stmt)) { if (DBA::isResult($contacts_stmt)) {
$contacts_title = L10n::tt('%d Contact', '%d Contacts', $total); $contacts_title = DI::l10n()->tt('%d Contact', '%d Contacts', $total);
$micropro = []; $micropro = [];
while ($contact = DBA::fetch($contacts_stmt)) { while ($contact = DBA::fetch($contacts_stmt)) {
@ -106,7 +105,7 @@ class ContactBlock
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$contacts' => $contacts_title, '$contacts' => $contacts_title,
'$nickname' => $profile['nickname'], '$nickname' => $profile['nickname'],
'$viewcontacts' => L10n::t('View Contacts'), '$viewcontacts' => DI::l10n()->t('View Contacts'),
'$micropro' => $micropro, '$micropro' => $micropro,
]); ]);

View file

@ -2,9 +2,9 @@
namespace Friendica\Content\Widget; namespace Friendica\Content\Widget;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI;
class SavedSearches class SavedSearches
{ {
@ -26,7 +26,7 @@ class SavedSearches
'id' => $saved_search['id'], 'id' => $saved_search['id'],
'term' => $saved_search['term'], 'term' => $saved_search['term'],
'encodedterm' => urlencode($saved_search['term']), 'encodedterm' => urlencode($saved_search['term']),
'delete' => L10n::t('Remove term'), 'delete' => DI::l10n()->t('Remove term'),
'selected' => $search == $saved_search['term'], 'selected' => $search == $saved_search['term'],
]; ];
} }
@ -34,7 +34,7 @@ class SavedSearches
$tpl = Renderer::getMarkupTemplate('widget/saved_searches.tpl'); $tpl = Renderer::getMarkupTemplate('widget/saved_searches.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Saved Searches'), '$title' => DI::l10n()->t('Saved Searches'),
'$add' => '', '$add' => '',
'$searchbox' => '', '$searchbox' => '',
'$saved' => $saved, '$saved' => $saved,

View file

@ -6,7 +6,6 @@
namespace Friendica\Content\Widget; namespace Friendica\Content\Widget;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -50,7 +49,7 @@ class TagCloud
$tpl = Renderer::getMarkupTemplate('widget/tagcloud.tpl'); $tpl = Renderer::getMarkupTemplate('widget/tagcloud.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$title' => L10n::t('Tags'), '$title' => DI::l10n()->t('Tags'),
'$tags' => $tags '$tags' => $tags
]); ]);
} }

View file

@ -2,8 +2,8 @@
namespace Friendica\Content\Widget; namespace Friendica\Content\Widget;
use Friendica\Core\L10n;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\DI;
use Friendica\Model\Term; use Friendica\Model\Term;
/** /**
@ -29,8 +29,8 @@ class TrendingTags
$tpl = Renderer::getMarkupTemplate('widget/trending_tags.tpl'); $tpl = Renderer::getMarkupTemplate('widget/trending_tags.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$title' => L10n::tt('Trending Tags (last %d hour)', 'Trending Tags (last %d hours)', $period), '$title' => DI::l10n()->tt('Trending Tags (last %d hour)', 'Trending Tags (last %d hours)', $period),
'$more' => L10n::t('More Trending Tags'), '$more' => DI::l10n()->t('More Trending Tags'),
'$tags' => $tags, '$tags' => $tags,
]); ]);

View file

@ -266,14 +266,14 @@ class ACL
$acl_groups = [ $acl_groups = [
[ [
'id' => Group::FOLLOWERS, 'id' => Group::FOLLOWERS,
'name' => L10n::t('Followers'), 'name' => DI::l10n()->t('Followers'),
'addr' => '', 'addr' => '',
'micro' => 'images/twopeople.png', 'micro' => 'images/twopeople.png',
'type' => 'group', 'type' => 'group',
], ],
[ [
'id' => Group::MUTUALS, 'id' => Group::MUTUALS,
'name' => L10n::t('Mutuals'), 'name' => DI::l10n()->t('Mutuals'),
'addr' => '', 'addr' => '',
'micro' => 'images/twopeople.png', 'micro' => 'images/twopeople.png',
'type' => 'group', 'type' => 'group',
@ -363,7 +363,7 @@ class ACL
'type' => 'checkbox', 'type' => 'checkbox',
'field' => [ 'field' => [
'pubmail_enable', 'pubmail_enable',
L10n::t('Post to Email'), DI::l10n()->t('Post to Email'),
$pubmail_enabled $pubmail_enabled
] ]
]; ];
@ -381,16 +381,16 @@ class ACL
$tpl = Renderer::getMarkupTemplate('acl_selector.tpl'); $tpl = Renderer::getMarkupTemplate('acl_selector.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$public_title' => L10n::t('Public'), '$public_title' => DI::l10n()->t('Public'),
'$public_desc' => L10n::t('This content will be shown to all your followers and can be seen in the community pages and by anyone with its link.'), '$public_desc' => DI::l10n()->t('This content will be shown to all your followers and can be seen in the community pages and by anyone with its link.'),
'$custom_title' => L10n::t('Limited/Private'), '$custom_title' => DI::l10n()->t('Limited/Private'),
'$custom_desc' => L10n::t('This content will be shown only to the people in the first box, to the exception of the people mentioned in the second box. It won\'t appear anywhere public.'), '$custom_desc' => DI::l10n()->t('This content will be shown only to the people in the first box, to the exception of the people mentioned in the second box. It won\'t appear anywhere public.'),
'$allow_label' => L10n::t('Show to:'), '$allow_label' => DI::l10n()->t('Show to:'),
'$deny_label' => L10n::t('Except to:'), '$deny_label' => DI::l10n()->t('Except to:'),
'$emailcc' => L10n::t('CC: email addresses'), '$emailcc' => DI::l10n()->t('CC: email addresses'),
'$emtitle' => L10n::t('Example: bob@example.com, mary@example.com'), '$emtitle' => DI::l10n()->t('Example: bob@example.com, mary@example.com'),
'$jotnets_summary' => L10n::t('Connectors'), '$jotnets_summary' => DI::l10n()->t('Connectors'),
'$jotnets_disabled_label' => L10n::t('Connectors disabled, since "%s" is enabled.', L10n::t('Hide your profile details from unknown viewers?')), '$jotnets_disabled_label' => DI::l10n()->t('Connectors disabled, since "%s" is enabled.', DI::l10n()->t('Hide your profile details from unknown viewers?')),
'$visibility' => $visibility, '$visibility' => $visibility,
'$acl_contacts' => $acl_contacts, '$acl_contacts' => $acl_contacts,
'$acl_groups' => $acl_groups, '$acl_groups' => $acl_groups,

View file

@ -9,6 +9,7 @@ use Exception;
use Friendica\Core\Config\Cache\ConfigCache; use Friendica\Core\Config\Cache\ConfigCache;
use Friendica\Database\Database; use Friendica\Database\Database;
use Friendica\Database\DBStructure; use Friendica\Database\DBStructure;
use Friendica\DI;
use Friendica\Util\Images; use Friendica\Util\Images;
use Friendica\Util\Network; use Friendica\Util\Network;
use Friendica\Util\Strings; use Friendica\Util\Strings;
@ -159,7 +160,7 @@ class Installer
$result = file_put_contents($basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.config.php', $txt); $result = file_put_contents($basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.config.php', $txt);
if (!$result) { if (!$result) {
$this->addCheck(L10n::t('The database configuration file "config/local.config.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.'), false, false, htmlentities($txt, ENT_COMPAT, 'UTF-8')); $this->addCheck(DI::l10n()->t('The database configuration file "config/local.config.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.'), false, false, htmlentities($txt, ENT_COMPAT, 'UTF-8'));
} }
return $result; return $result;
@ -178,8 +179,8 @@ class Installer
$result = DBStructure::update($basePath, false, true, true); $result = DBStructure::update($basePath, false, true, true);
if ($result) { if ($result) {
$txt = L10n::t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . EOL; $txt = DI::l10n()->t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . EOL;
$txt .= L10n::t('Please see the file "INSTALL.txt".'); $txt .= DI::l10n()->t('Please see the file "INSTALL.txt".');
$this->addCheck($txt, false, true, htmlentities($result, ENT_COMPAT, 'UTF-8')); $this->addCheck($txt, false, true, htmlentities($result, ENT_COMPAT, 'UTF-8'));
@ -240,18 +241,18 @@ class Installer
$help = ""; $help = "";
if (!$passed) { if (!$passed) {
$help .= L10n::t('Could not find a command line version of PHP in the web server PATH.') . EOL; $help .= DI::l10n()->t('Could not find a command line version of PHP in the web server PATH.') . EOL;
$help .= L10n::t("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>") . EOL; $help .= DI::l10n()->t("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>") . EOL;
$help .= EOL . EOL; $help .= EOL . EOL;
$tpl = Renderer::getMarkupTemplate('field_input.tpl'); $tpl = Renderer::getMarkupTemplate('field_input.tpl');
/// @todo Separate backend Installer class and presentation layer/view /// @todo Separate backend Installer class and presentation layer/view
$help .= Renderer::replaceMacros($tpl, [ $help .= Renderer::replaceMacros($tpl, [
'$field' => ['config-php_path', L10n::t('PHP executable path'), $phppath, L10n::t('Enter full path to php executable. You can leave this blank to continue the installation.')], '$field' => ['config-php_path', DI::l10n()->t('PHP executable path'), $phppath, DI::l10n()->t('Enter full path to php executable. You can leave this blank to continue the installation.')],
]); ]);
$phppath = ""; $phppath = "";
} }
$this->addCheck(L10n::t('Command line PHP') . ($passed ? " (<tt>$phppath</tt>)" : ""), $passed, false, $help); $this->addCheck(DI::l10n()->t('Command line PHP') . ($passed ? " (<tt>$phppath</tt>)" : ""), $passed, false, $help);
if ($passed) { if ($passed) {
$cmd = "$phppath -v"; $cmd = "$phppath -v";
@ -260,10 +261,10 @@ class Installer
list($result) = explode("\n", $result); list($result) = explode("\n", $result);
$help = ""; $help = "";
if (!$passed2) { if (!$passed2) {
$help .= L10n::t("PHP executable is not the php cli binary \x28could be cgi-fgci version\x29") . EOL; $help .= DI::l10n()->t("PHP executable is not the php cli binary \x28could be cgi-fgci version\x29") . EOL;
$help .= L10n::t('Found PHP version: ') . "<tt>$result</tt>"; $help .= DI::l10n()->t('Found PHP version: ') . "<tt>$result</tt>";
} }
$this->addCheck(L10n::t('PHP cli binary'), $passed2, true, $help); $this->addCheck(DI::l10n()->t('PHP cli binary'), $passed2, true, $help);
} else { } else {
// return if it was required // return if it was required
return !$required; return !$required;
@ -276,13 +277,13 @@ class Installer
$passed3 = $result == $str; $passed3 = $result == $str;
$help = ""; $help = "";
if (!$passed3) { if (!$passed3) {
$help .= L10n::t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL; $help .= DI::l10n()->t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL;
$help .= L10n::t('This is required for message delivery to work.'); $help .= DI::l10n()->t('This is required for message delivery to work.');
} else { } else {
$this->phppath = $phppath; $this->phppath = $phppath;
} }
$this->addCheck(L10n::t('PHP register_argc_argv'), $passed3, true, $help); $this->addCheck(DI::l10n()->t('PHP register_argc_argv'), $passed3, true, $help);
} }
// passed2 & passed3 are required if first check passed // passed2 & passed3 are required if first check passed
@ -314,11 +315,11 @@ class Installer
// Get private key // Get private key
if (!$res) { if (!$res) {
$help .= L10n::t('Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys') . EOL; $help .= DI::l10n()->t('Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys') . EOL;
$help .= L10n::t('If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".'); $help .= DI::l10n()->t('If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".');
$status = false; $status = false;
} }
$this->addCheck(L10n::t('Generate encryption keys'), $res, true, $help); $this->addCheck(DI::l10n()->t('Generate encryption keys'), $res, true, $help);
return $status; return $status;
} }
@ -370,27 +371,27 @@ class Installer
$status = true; $status = true;
if (function_exists('apache_get_modules')) { if (function_exists('apache_get_modules')) {
if (!in_array('mod_rewrite', apache_get_modules())) { if (!in_array('mod_rewrite', apache_get_modules())) {
$help = L10n::t('Error: Apache webserver mod-rewrite module is required but not installed.'); $help = DI::l10n()->t('Error: Apache webserver mod-rewrite module is required but not installed.');
$status = false; $status = false;
$returnVal = false; $returnVal = false;
} }
} }
$this->addCheck(L10n::t('Apache mod_rewrite module'), $status, true, $help); $this->addCheck(DI::l10n()->t('Apache mod_rewrite module'), $status, true, $help);
$help = ''; $help = '';
$status = true; $status = true;
if (!function_exists('mysqli_connect') && !class_exists('pdo')) { if (!function_exists('mysqli_connect') && !class_exists('pdo')) {
$status = false; $status = false;
$help = L10n::t('Error: PDO or MySQLi PHP module required but not installed.'); $help = DI::l10n()->t('Error: PDO or MySQLi PHP module required but not installed.');
$returnVal = false; $returnVal = false;
} else { } else {
if (!function_exists('mysqli_connect') && class_exists('pdo') && !in_array('mysql', \PDO::getAvailableDrivers())) { if (!function_exists('mysqli_connect') && class_exists('pdo') && !in_array('mysql', \PDO::getAvailableDrivers())) {
$status = false; $status = false;
$help = L10n::t('Error: The MySQL driver for PDO is not installed.'); $help = DI::l10n()->t('Error: The MySQL driver for PDO is not installed.');
$returnVal = false; $returnVal = false;
} }
} }
$this->addCheck(L10n::t('PDO or MySQLi PHP module'), $status, true, $help); $this->addCheck(DI::l10n()->t('PDO or MySQLi PHP module'), $status, true, $help);
// check for XML DOM Documents being able to be generated // check for XML DOM Documents being able to be generated
$help = ''; $help = '';
@ -398,64 +399,64 @@ class Installer
try { try {
new DOMDocument(); new DOMDocument();
} catch (Exception $e) { } catch (Exception $e) {
$help = L10n::t('Error, XML PHP module required but not installed.'); $help = DI::l10n()->t('Error, XML PHP module required but not installed.');
$status = false; $status = false;
$returnVal = false; $returnVal = false;
} }
$this->addCheck(L10n::t('XML PHP module'), $status, true, $help); $this->addCheck(DI::l10n()->t('XML PHP module'), $status, true, $help);
$status = $this->checkFunction('curl_init', $status = $this->checkFunction('curl_init',
L10n::t('libCurl PHP module'), DI::l10n()->t('libCurl PHP module'),
L10n::t('Error: libCURL PHP module required but not installed.'), DI::l10n()->t('Error: libCURL PHP module required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('imagecreatefromjpeg', $status = $this->checkFunction('imagecreatefromjpeg',
L10n::t('GD graphics PHP module'), DI::l10n()->t('GD graphics PHP module'),
L10n::t('Error: GD graphics PHP module with JPEG support required but not installed.'), DI::l10n()->t('Error: GD graphics PHP module with JPEG support required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('openssl_public_encrypt', $status = $this->checkFunction('openssl_public_encrypt',
L10n::t('OpenSSL PHP module'), DI::l10n()->t('OpenSSL PHP module'),
L10n::t('Error: openssl PHP module required but not installed.'), DI::l10n()->t('Error: openssl PHP module required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('mb_strlen', $status = $this->checkFunction('mb_strlen',
L10n::t('mb_string PHP module'), DI::l10n()->t('mb_string PHP module'),
L10n::t('Error: mb_string PHP module required but not installed.'), DI::l10n()->t('Error: mb_string PHP module required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('iconv_strlen', $status = $this->checkFunction('iconv_strlen',
L10n::t('iconv PHP module'), DI::l10n()->t('iconv PHP module'),
L10n::t('Error: iconv PHP module required but not installed.'), DI::l10n()->t('Error: iconv PHP module required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('posix_kill', $status = $this->checkFunction('posix_kill',
L10n::t('POSIX PHP module'), DI::l10n()->t('POSIX PHP module'),
L10n::t('Error: POSIX PHP module required but not installed.'), DI::l10n()->t('Error: POSIX PHP module required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('json_encode', $status = $this->checkFunction('json_encode',
L10n::t('JSON PHP module'), DI::l10n()->t('JSON PHP module'),
L10n::t('Error: JSON PHP module required but not installed.'), DI::l10n()->t('Error: JSON PHP module required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('finfo_open', $status = $this->checkFunction('finfo_open',
L10n::t('File Information PHP module'), DI::l10n()->t('File Information PHP module'),
L10n::t('Error: File Information PHP module required but not installed.'), DI::l10n()->t('Error: File Information PHP module required but not installed.'),
true true
); );
$returnVal = $returnVal ? $status : false; $returnVal = $returnVal ? $status : false;
@ -478,13 +479,13 @@ class Installer
(!file_exists('config/local.config.php') && !is_writable('.'))) { (!file_exists('config/local.config.php') && !is_writable('.'))) {
$status = false; $status = false;
$help = L10n::t('The web installer needs to be able to create a file called "local.config.php" in the "config" folder of your web server and it is unable to do so.') . EOL; $help = DI::l10n()->t('The web installer needs to be able to create a file called "local.config.php" in the "config" folder of your web server and it is unable to do so.') . EOL;
$help .= L10n::t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.') . EOL; $help .= DI::l10n()->t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.') . EOL;
$help .= L10n::t('At the end of this procedure, we will give you a text to save in a file named local.config.php in your Friendica "config" folder.') . EOL; $help .= DI::l10n()->t('At the end of this procedure, we will give you a text to save in a file named local.config.php in your Friendica "config" folder.') . EOL;
$help .= L10n::t('You can alternatively skip this procedure and perform a manual installation. Please see the file "INSTALL.txt" for instructions.') . EOL; $help .= DI::l10n()->t('You can alternatively skip this procedure and perform a manual installation. Please see the file "INSTALL.txt" for instructions.') . EOL;
} }
$this->addCheck(L10n::t('config/local.config.php is writable'), $status, false, $help); $this->addCheck(DI::l10n()->t('config/local.config.php is writable'), $status, false, $help);
// Local INI File is not required // Local INI File is not required
return true; return true;
@ -504,13 +505,13 @@ class Installer
if (!is_writable('view/smarty3')) { if (!is_writable('view/smarty3')) {
$status = false; $status = false;
$help = L10n::t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') . EOL; $help = DI::l10n()->t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') . EOL;
$help .= L10n::t('In order to store these compiled templates, the web server needs to have write access to the directory view/smarty3/ under the Friendica top level folder.') . EOL; $help .= DI::l10n()->t('In order to store these compiled templates, the web server needs to have write access to the directory view/smarty3/ under the Friendica top level folder.') . EOL;
$help .= L10n::t("Please ensure that the user that your web server runs as \x28e.g. www-data\x29 has write access to this folder.") . EOL; $help .= DI::l10n()->t("Please ensure that the user that your web server runs as \x28e.g. www-data\x29 has write access to this folder.") . EOL;
$help .= L10n::t("Note: as a security measure, you should give the web server write access to view/smarty3/ only--not the template files \x28.tpl\x29 that it contains.") . EOL; $help .= DI::l10n()->t("Note: as a security measure, you should give the web server write access to view/smarty3/ only--not the template files \x28.tpl\x29 that it contains.") . EOL;
} }
$this->addCheck(L10n::t('view/smarty3 is writable'), $status, true, $help); $this->addCheck(DI::l10n()->t('view/smarty3 is writable'), $status, true, $help);
return $status; return $status;
} }
@ -539,14 +540,14 @@ class Installer
if ($fetchResult->getReturnCode() != 204) { if ($fetchResult->getReturnCode() != 204) {
$status = false; $status = false;
$help = L10n::t('Url rewrite in .htaccess is not working. Make sure you copied .htaccess-dist to .htaccess.'); $help = DI::l10n()->t('Url rewrite in .htaccess is not working. Make sure you copied .htaccess-dist to .htaccess.');
$error_msg = []; $error_msg = [];
$error_msg['head'] = L10n::t('Error message from Curl when fetching'); $error_msg['head'] = DI::l10n()->t('Error message from Curl when fetching');
$error_msg['url'] = $fetchResult->getRedirectUrl(); $error_msg['url'] = $fetchResult->getRedirectUrl();
$error_msg['msg'] = $fetchResult->getError(); $error_msg['msg'] = $fetchResult->getError();
} }
$this->addCheck(L10n::t('Url rewrite is working'), $status, true, $help, $error_msg); $this->addCheck(DI::l10n()->t('Url rewrite is working'), $status, true, $help, $error_msg);
} else { } else {
// cannot check modrewrite if libcurl is not installed // cannot check modrewrite if libcurl is not installed
/// @TODO Maybe issue warning here? /// @TODO Maybe issue warning here?
@ -575,11 +576,11 @@ class Installer
} }
} }
if (!$imagick) { if (!$imagick) {
$this->addCheck(L10n::t('ImageMagick PHP extension is not installed'), $imagick, false, ""); $this->addCheck(DI::l10n()->t('ImageMagick PHP extension is not installed'), $imagick, false, "");
} else { } else {
$this->addCheck(L10n::t('ImageMagick PHP extension is installed'), $imagick, false, ""); $this->addCheck(DI::l10n()->t('ImageMagick PHP extension is installed'), $imagick, false, "");
if ($imagick) { if ($imagick) {
$this->addCheck(L10n::t('ImageMagick supports GIF'), $gif, false, ""); $this->addCheck(DI::l10n()->t('ImageMagick supports GIF'), $gif, false, "");
} }
} }
@ -601,12 +602,12 @@ class Installer
if ($dba->isConnected()) { if ($dba->isConnected()) {
if (DBStructure::existsTable('user')) { if (DBStructure::existsTable('user')) {
$this->addCheck(L10n::t('Database already in use.'), false, true, ''); $this->addCheck(DI::l10n()->t('Database already in use.'), false, true, '');
return false; return false;
} }
} else { } else {
$this->addCheck(L10n::t('Could not connect to database.'), false, true, ''); $this->addCheck(DI::l10n()->t('Could not connect to database.'), false, true, '');
return false; return false;
} }

View file

@ -1,11 +1,12 @@
<?php <?php
/**
* @file src/Core/L10n.php
*/
namespace Friendica\Core; namespace Friendica\Core;
use Friendica\Core\L10n\L10n as L10nClass; use Friendica\Core\Config\IConfiguration;
use Friendica\DI; use Friendica\Core\Session\ISession;
use Friendica\Database\Database;
use Friendica\Util\Strings;
use Psr\Log\LoggerInterface;
/** /**
* Provide Language, Translation, and Localization functions to the application * Provide Language, Translation, and Localization functions to the application
@ -13,26 +14,198 @@ use Friendica\DI;
*/ */
class L10n class L10n
{ {
/**
* A string indicating the current language used for translation:
* - Two-letter ISO 639-1 code.
* - Two-letter ISO 639-1 code + dash + Two-letter ISO 3166-1 alpha-2 country code.
*
* @var string
*/
private $lang = '';
/**
* An array of translation strings whose key is the neutral english message.
*
* @var array
*/
private $strings = [];
/**
* @var Database
*/
private $dba;
/**
* @var LoggerInterface
*/
private $logger;
public function __construct(IConfiguration $config, Database $dba, LoggerInterface $logger, ISession $session, array $server, array $get)
{
$this->dba = $dba;
$this->logger = $logger;
$this->loadTranslationTable(L10n::detectLanguage($server, $get, $config->get('system', 'language', 'en')));
$this->setSessionVariable($session);
$this->setLangFromSession($session);
}
/** /**
* Returns the current language code * Returns the current language code
* *
* @return string Language code * @return string Language code
*/ */
public static function getCurrentLang() public function getCurrentLang()
{ {
return DI::l10n()->getCurrentLang(); return $this->lang;
} }
/** /**
* @param string $lang * Sets the language session variable
*
* @return L10nClass The new L10n class with the new language
*
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/ */
public static function withLang(string $lang) private function setSessionVariable(ISession $session)
{ {
return DI::l10n()->withLang($lang); if ($session->get('authenticated') && !$session->get('language')) {
$session->set('language', $this->lang);
// we haven't loaded user data yet, but we need user language
if ($session->get('uid')) {
$user = $this->dba->selectFirst('user', ['language'], ['uid' => $_SESSION['uid']]);
if ($this->dba->isResult($user)) {
$session->set('language', $user['language']);
}
}
}
if (isset($_GET['lang'])) {
$session->set('language', $_GET['lang']);
}
}
private function setLangFromSession(ISession $session)
{
if ($session->get('language') !== $this->lang) {
$this->loadTranslationTable($session->get('language'));
}
}
/**
* Loads string translation table
*
* First addon strings are loaded, then globals
*
* Uses an App object shim since all the strings files refer to $a->strings
*
* @param string $lang language code to load
*
* @throws \Exception
*/
private function loadTranslationTable($lang)
{
$lang = Strings::sanitizeFilePathItem($lang);
// Don't override the language setting with empty languages
if (empty($lang)) {
return;
}
$a = new \stdClass();
$a->strings = [];
// load enabled addons strings
$addons = $this->dba->select('addon', ['name'], ['installed' => true]);
while ($p = $this->dba->fetch($addons)) {
$name = Strings::sanitizeFilePathItem($p['name']);
if (file_exists(__DIR__ . "/../../addon/$name/lang/$lang/strings.php")) {
include __DIR__ . "/../../addon/$name/lang/$lang/strings.php";
}
}
if (file_exists(__DIR__ . "/../../view/lang/$lang/strings.php")) {
include __DIR__ . "/../../view/lang/$lang/strings.php";
}
$this->lang = $lang;
$this->strings = $a->strings;
unset($a);
}
/**
* @brief Returns the preferred language from the HTTP_ACCEPT_LANGUAGE header
*
* @param string $sysLang The default fallback language
* @param array $server The $_SERVER array
* @param array $get The $_GET array
*
* @return string The two-letter language code
*/
public static function detectLanguage(array $server, array $get, string $sysLang = 'en')
{
$lang_variable = $server['HTTP_ACCEPT_LANGUAGE'] ?? null;
$acceptedLanguages = preg_split('/,\s*/', $lang_variable);
if (empty($acceptedLanguages)) {
$acceptedLanguages = [];
}
// Add get as absolute quality accepted language (except this language isn't valid)
if (!empty($get['lang'])) {
$acceptedLanguages[] = $get['lang'];
}
// return the sys language in case there's nothing to do
if (empty($acceptedLanguages)) {
return $sysLang;
}
// Set the syslang as default fallback
$current_lang = $sysLang;
// start with quality zero (every guessed language is more acceptable ..)
$current_q = 0;
foreach ($acceptedLanguages as $acceptedLanguage) {
$res = preg_match(
'/^([a-z]{1,8}(?:-[a-z]{1,8})*)(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i',
$acceptedLanguage,
$matches
);
// Invalid language? -> skip
if (!$res) {
continue;
}
// split language codes based on it's "-"
$lang_code = explode('-', $matches[1]);
// determine the quality of the guess
if (isset($matches[2])) {
$lang_quality = (float)$matches[2];
} else {
// fallback so without a quality parameter, it's probably the best
$lang_quality = 1;
}
// loop through each part of the code-parts
while (count($lang_code)) {
// try to mix them so we can get double-code parts too
$match_lang = strtolower(join('-', $lang_code));
if (file_exists(__DIR__ . "/../../view/lang/$match_lang") &&
is_dir(__DIR__ . "/../../view/lang/$match_lang")) {
if ($lang_quality > $current_q) {
$current_lang = $match_lang;
$current_q = $lang_quality;
break;
}
}
// remove the most right code-part
array_pop($lang_code);
}
}
return $current_lang;
} }
/** /**
@ -43,18 +216,31 @@ class L10n
* string interpolation (sprintf) with additional optional arguments. * string interpolation (sprintf) with additional optional arguments.
* *
* Usages: * Usages:
* - L10n::t('This is an example') * - DI::l10n()->t('This is an example')
* - L10n::t('URL %s returned no result', $url) * - DI::l10n()->t('URL %s returned no result', $url)
* - L10n::t('Current version: %s, new version: %s', $current_version, $new_version) * - DI::l10n()->t('Current version: %s, new version: %s', $current_version, $new_version)
* *
* @param string $s * @param string $s
* @param array $vars Variables to interpolate in the translation string * @param array $vars Variables to interpolate in the translation string
* *
* @return string * @return string
*/ */
public static function t($s, ...$vars) public function t($s, ...$vars)
{ {
return DI::l10n()->t($s, ...$vars); if (empty($s)) {
return '';
}
if (!empty($this->strings[$s])) {
$t = $this->strings[$s];
$s = is_array($t) ? $t[0] : $t;
}
if (count($vars) > 0) {
$s = sprintf($s, ...$vars);
}
return $s;
} }
/** /**
@ -67,8 +253,8 @@ class L10n
* is performed using the count as parameter. * is performed using the count as parameter.
* *
* Usages: * Usages:
* - L10n::tt('Like', 'Likes', $count) * - DI::l10n()->tt('Like', 'Likes', $count)
* - L10n::tt("%s user deleted", "%s users deleted", count($users)) * - DI::l10n()->tt("%s user deleted", "%s users deleted", count($users))
* *
* @param string $singular * @param string $singular
* @param string $plural * @param string $plural
@ -77,9 +263,48 @@ class L10n
* @return string * @return string
* @throws \Exception * @throws \Exception
*/ */
public static function tt(string $singular, string $plural, int $count) public function tt(string $singular, string $plural, int $count)
{ {
return DI::l10n()->tt($singular, $plural, $count); if (!empty($this->strings[$singular])) {
$t = $this->strings[$singular];
if (is_array($t)) {
$plural_function = 'string_plural_select_' . str_replace('-', '_', $this->lang);
if (function_exists($plural_function)) {
$i = $plural_function($count);
} else {
$i = $this->stringPluralSelectDefault($count);
}
// for some languages there is only a single array item
if (!isset($t[$i])) {
$s = $t[0];
} else {
$s = $t[$i];
}
} else {
$s = $t;
}
} elseif ($this->stringPluralSelectDefault($count)) {
$s = $plural;
} else {
$s = $singular;
}
$s = @sprintf($s, $count);
return $s;
}
/**
* Provide a fallback which will not collide with a function defined in any language file
*
* @param int $n
*
* @return bool
*/
private function stringPluralSelectDefault($n)
{
return $n != 1;
} }
/** /**
@ -95,7 +320,20 @@ class L10n
*/ */
public static function getAvailableLanguages() public static function getAvailableLanguages()
{ {
return L10nClass::getAvailableLanguages(); $langs = [];
$strings_file_paths = glob('view/lang/*/strings.php');
if (is_array($strings_file_paths) && count($strings_file_paths)) {
if (!in_array('view/lang/en/strings.php', $strings_file_paths)) {
$strings_file_paths[] = 'view/lang/en/strings.php';
}
asort($strings_file_paths);
foreach ($strings_file_paths as $strings_file_path) {
$path_array = explode('/', $strings_file_path);
$langs[$path_array[2]] = $path_array[2];
}
}
return $langs;
} }
/** /**
@ -105,9 +343,17 @@ class L10n
* *
* @return string Translated string. * @return string Translated string.
*/ */
public static function getDay($s) public function getDay($s)
{ {
return DI::l10n()->getDay($s); $ret = str_replace(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
[$this->t('Monday'), $this->t('Tuesday'), $this->t('Wednesday'), $this->t('Thursday'), $this->t('Friday'), $this->t('Saturday'), $this->t('Sunday')],
$s);
$ret = str_replace(['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
[$this->t('January'), $this->t('February'), $this->t('March'), $this->t('April'), $this->t('May'), $this->t('June'), $this->t('July'), $this->t('August'), $this->t('September'), $this->t('October'), $this->t('November'), $this->t('December')],
$ret);
return $ret;
} }
/** /**
@ -117,9 +363,17 @@ class L10n
* *
* @return string Translated string. * @return string Translated string.
*/ */
public static function getDayShort($s) public function getDayShort($s)
{ {
return DI::l10n()->getDayShort($s); $ret = str_replace(['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
[$this->t('Mon'), $this->t('Tue'), $this->t('Wed'), $this->t('Thu'), $this->t('Fri'), $this->t('Sat'), $this->t('Sun')],
$s);
$ret = str_replace(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
[$this->t('Jan'), $this->t('Feb'), $this->t('Mar'), $this->t('Apr'), $this->t('May'), $this->t('Jun'), $this->t('Jul'), $this->t('Aug'), $this->t('Sep'), $this->t('Oct'), $this->t('Nov'), $this->t('Dec')],
$ret);
return $ret;
} }
/** /**
@ -127,10 +381,44 @@ class L10n
* *
* @return array index is present tense verb * @return array index is present tense verb
* value is array containing past tense verb, translation of present, translation of past * value is array containing past tense verb, translation of present, translation of past
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @hook poke_verbs pokes array * @hook poke_verbs pokes array
*/ */
public static function getPokeVerbs() public function getPokeVerbs()
{ {
return DI::l10n()->getPokeVerbs(); // index is present tense verb
// value is array containing past tense verb, translation of present, translation of past
$arr = [
'poke' => ['poked', $this->t('poke'), $this->t('poked')],
'ping' => ['pinged', $this->t('ping'), $this->t('pinged')],
'prod' => ['prodded', $this->t('prod'), $this->t('prodded')],
'slap' => ['slapped', $this->t('slap'), $this->t('slapped')],
'finger' => ['fingered', $this->t('finger'), $this->t('fingered')],
'rebuff' => ['rebuffed', $this->t('rebuff'), $this->t('rebuffed')],
];
Hook::callAll('poke_verbs', $arr);
return $arr;
}
/**
* Creates a new L10n instance based on the given langauge
*
* @param string $lang The new language
*
* @return static A new L10n instance
* @throws \Exception
*/
public function withLang(string $lang)
{
// Don't create a new instance for same language
if ($lang === $this->lang) {
return $this;
}
$newL10n = clone $this;
$newL10n->loadTranslationTable($lang);
return $newL10n;
} }
} }

View file

@ -1,425 +0,0 @@
<?php
namespace Friendica\Core\L10n;
use Friendica\Core\Config\IConfiguration;
use Friendica\Core\Hook;
use Friendica\Core\Session\ISession;
use Friendica\Database\Database;
use Friendica\Util\Strings;
use Psr\Log\LoggerInterface;
/**
* Provide Language, Translation, and Localization functions to the application
* Localization can be referred to by the numeronym L10N (as in: "L", followed by ten more letters, and then "N").
*/
class L10n
{
/**
* A string indicating the current language used for translation:
* - Two-letter ISO 639-1 code.
* - Two-letter ISO 639-1 code + dash + Two-letter ISO 3166-1 alpha-2 country code.
*
* @var string
*/
private $lang = '';
/**
* An array of translation strings whose key is the neutral english message.
*
* @var array
*/
private $strings = [];
/**
* @var Database
*/
private $dba;
/**
* @var LoggerInterface
*/
private $logger;
public function __construct(IConfiguration $config, Database $dba, LoggerInterface $logger, ISession $session, array $server, array $get)
{
$this->dba = $dba;
$this->logger = $logger;
$this->loadTranslationTable(L10n::detectLanguage($server, $get, $config->get('system', 'language', 'en')));
$this->setSessionVariable($session);
$this->setLangFromSession($session);
}
/**
* Returns the current language code
*
* @return string Language code
*/
public function getCurrentLang()
{
return $this->lang;
}
/**
* Sets the language session variable
*/
private function setSessionVariable(ISession $session)
{
if ($session->get('authenticated') && !$session->get('language')) {
$session->set('language', $this->lang);
// we haven't loaded user data yet, but we need user language
if ($session->get('uid')) {
$user = $this->dba->selectFirst('user', ['language'], ['uid' => $_SESSION['uid']]);
if ($this->dba->isResult($user)) {
$session->set('language', $user['language']);
}
}
}
if (isset($_GET['lang'])) {
$session->set('language', $_GET['lang']);
}
}
private function setLangFromSession(ISession $session)
{
if ($session->get('language') !== $this->lang) {
$this->loadTranslationTable($session->get('language'));
}
}
/**
* Loads string translation table
*
* First addon strings are loaded, then globals
*
* Uses an App object shim since all the strings files refer to $a->strings
*
* @param string $lang language code to load
*
* @throws \Exception
*/
private function loadTranslationTable($lang)
{
$lang = Strings::sanitizeFilePathItem($lang);
// Don't override the language setting with empty languages
if (empty($lang)) {
return;
}
$a = new \stdClass();
$a->strings = [];
// load enabled addons strings
$addons = $this->dba->select('addon', ['name'], ['installed' => true]);
while ($p = $this->dba->fetch($addons)) {
$name = Strings::sanitizeFilePathItem($p['name']);
if (file_exists("addon/$name/lang/$lang/strings.php")) {
include __DIR__ . "/../../../addon/$name/lang/$lang/strings.php";
}
}
if (file_exists(__DIR__ . "/../../../view/lang/$lang/strings.php")) {
include __DIR__ . "/../../../view/lang/$lang/strings.php";
}
$this->lang = $lang;
$this->strings = $a->strings;
unset($a);
}
/**
* Returns the preferred language from the HTTP_ACCEPT_LANGUAGE header
*
* @param string $sysLang The default fallback language
* @param array $server The $_SERVER array
* @param array $get The $_GET array
*
* @return string The two-letter language code
*/
public static function detectLanguage(array $server, array $get, string $sysLang = 'en')
{
$lang_variable = $server['HTTP_ACCEPT_LANGUAGE'] ?? null;
$acceptedLanguages = preg_split('/,\s*/', $lang_variable);
if (empty($acceptedLanguages)) {
$acceptedLanguages = [];
}
// Add get as absolute quality accepted language (except this language isn't valid)
if (!empty($get['lang'])) {
$acceptedLanguages[] = $get['lang'];
}
// return the sys language in case there's nothing to do
if (empty($acceptedLanguages)) {
return $sysLang;
}
// Set the syslang as default fallback
$current_lang = $sysLang;
// start with quality zero (every guessed language is more acceptable ..)
$current_q = 0;
foreach ($acceptedLanguages as $acceptedLanguage) {
$res = preg_match(
'/^([a-z]{1,8}(?:-[a-z]{1,8})*)(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i',
$acceptedLanguage,
$matches
);
// Invalid language? -> skip
if (!$res) {
continue;
}
// split language codes based on it's "-"
$lang_code = explode('-', $matches[1]);
// determine the quality of the guess
if (isset($matches[2])) {
$lang_quality = (float)$matches[2];
} else {
// fallback so without a quality parameter, it's probably the best
$lang_quality = 1;
}
// loop through each part of the code-parts
while (count($lang_code)) {
// try to mix them so we can get double-code parts too
$match_lang = strtolower(join('-', $lang_code));
if (file_exists(__DIR__ . "/../../../view/lang/$match_lang") &&
is_dir(__DIR__ . "/../../../view/lang/$match_lang")) {
if ($lang_quality > $current_q) {
$current_lang = $match_lang;
$current_q = $lang_quality;
break;
}
}
// remove the most right code-part
array_pop($lang_code);
}
}
return $current_lang;
}
/**
* Return the localized version of the provided string with optional string interpolation
*
* This function takes a english string as parameter, and if a localized version
* exists for the current language, substitutes it before performing an eventual
* string interpolation (sprintf) with additional optional arguments.
*
* Usages:
* - L10n::t('This is an example')
* - L10n::t('URL %s returned no result', $url)
* - L10n::t('Current version: %s, new version: %s', $current_version, $new_version)
*
* @param string $s
* @param array $vars Variables to interpolate in the translation string
*
* @return string
*/
public function t($s, ...$vars)
{
if (empty($s)) {
return '';
}
if (!empty($this->strings[$s])) {
$t = $this->strings[$s];
$s = is_array($t) ? $t[0] : $t;
}
if (count($vars) > 0) {
$s = sprintf($s, ...$vars);
}
return $s;
}
/**
* Return the localized version of a singular/plural string with optional string interpolation
*
* This function takes two english strings as parameters, singular and plural, as
* well as a count. If a localized version exists for the current language, they
* are used instead. Discrimination between singular and plural is done using the
* localized function if any or the default one. Finally, a string interpolation
* is performed using the count as parameter.
*
* Usages:
* - L10n::tt('Like', 'Likes', $count)
* - L10n::tt("%s user deleted", "%s users deleted", count($users))
*
* @param string $singular
* @param string $plural
* @param int $count
*
* @return string
* @throws \Exception
*/
public function tt(string $singular, string $plural, int $count)
{
if (!empty($this->strings[$singular])) {
$t = $this->strings[$singular];
if (is_array($t)) {
$plural_function = 'string_plural_select_' . str_replace('-', '_', $this->lang);
if (function_exists($plural_function)) {
$i = $plural_function($count);
} else {
$i = $this->stringPluralSelectDefault($count);
}
// for some languages there is only a single array item
if (!isset($t[$i])) {
$s = $t[0];
} else {
$s = $t[$i];
}
} else {
$s = $t;
}
} elseif ($this->stringPluralSelectDefault($count)) {
$s = $plural;
} else {
$s = $singular;
}
$s = @sprintf($s, $count);
return $s;
}
/**
* Provide a fallback which will not collide with a function defined in any language file
*
* @param int $n
*
* @return bool
*/
private function stringPluralSelectDefault($n)
{
return $n != 1;
}
/**
* Return installed languages codes as associative array
*
* Scans the view/lang directory for the existence of "strings.php" files, and
* returns an alphabetical list of their folder names (@-char language codes).
* Adds the english language if it's missing from the list.
*
* Ex: array('de' => 'de', 'en' => 'en', 'fr' => 'fr', ...)
*
* @return array
*/
public static function getAvailableLanguages()
{
$langs = [];
$strings_file_paths = glob('view/lang/*/strings.php');
if (is_array($strings_file_paths) && count($strings_file_paths)) {
if (!in_array('view/lang/en/strings.php', $strings_file_paths)) {
$strings_file_paths[] = 'view/lang/en/strings.php';
}
asort($strings_file_paths);
foreach ($strings_file_paths as $strings_file_path) {
$path_array = explode('/', $strings_file_path);
$langs[$path_array[2]] = $path_array[2];
}
}
return $langs;
}
/**
* Translate days and months names.
*
* @param string $s String with day or month name.
*
* @return string Translated string.
*/
public function getDay($s)
{
$ret = str_replace(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
[$this->t('Monday'), $this->t('Tuesday'), $this->t('Wednesday'), $this->t('Thursday'), $this->t('Friday'), $this->t('Saturday'), $this->t('Sunday')],
$s);
$ret = str_replace(['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
[$this->t('January'), $this->t('February'), $this->t('March'), $this->t('April'), $this->t('May'), $this->t('June'), $this->t('July'), $this->t('August'), $this->t('September'), $this->t('October'), $this->t('November'), $this->t('December')],
$ret);
return $ret;
}
/**
* Translate short days and months names.
*
* @param string $s String with short day or month name.
*
* @return string Translated string.
*/
public function getDayShort($s)
{
$ret = str_replace(['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
[$this->t('Mon'), $this->t('Tue'), $this->t('Wed'), $this->t('Thu'), $this->t('Fri'), $this->t('Sat'), $this->t('Sun')],
$s);
$ret = str_replace(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
[$this->t('Jan'), $this->t('Feb'), $this->t('Mar'), $this->t('Apr'), $this->t('May'), $this->t('Jun'), $this->t('Jul'), $this->t('Aug'), $this->t('Sep'), $this->t('Oct'), $this->t('Nov'), $this->t('Dec')],
$ret);
return $ret;
}
/**
* Load poke verbs
*
* @return array index is present tense verb
* value is array containing past tense verb, translation of present, translation of past
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @hook poke_verbs pokes array
*/
public function getPokeVerbs()
{
// index is present tense verb
// value is array containing past tense verb, translation of present, translation of past
$arr = [
'poke' => ['poked', $this->t('poke'), $this->t('poked')],
'ping' => ['pinged', $this->t('ping'), $this->t('pinged')],
'prod' => ['prodded', $this->t('prod'), $this->t('prodded')],
'slap' => ['slapped', $this->t('slap'), $this->t('slapped')],
'finger' => ['fingered', $this->t('finger'), $this->t('fingered')],
'rebuff' => ['rebuffed', $this->t('rebuff'), $this->t('rebuffed')],
];
Hook::callAll('poke_verbs', $arr);
return $arr;
}
/**
* Creates a new L10n instance based on the given langauge
*
* @param string $lang The new language
*
* @return static A new L10n instance
* @throws \Exception
*/
public function withLang(string $lang)
{
// Don't create a new instance for same language
if ($lang === $this->lang) {
return $this;
}
$newL10n = clone $this;
$newL10n->loadTranslationTable($lang);
return $newL10n;
}
}

View file

@ -4,7 +4,6 @@ namespace Friendica\Core;
use Exception; use Exception;
use Friendica\Core\Config\IConfiguration; use Friendica\Core\Config\IConfiguration;
use Friendica\Core\L10n\L10n;
use Friendica\Database\Database; use Friendica\Database\Database;
use Friendica\Model\Storage; use Friendica\Model\Storage;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;

View file

@ -191,7 +191,7 @@ class Update
//send the administrator an e-mail //send the administrator an e-mail
self::updateFailed( self::updateFailed(
$x, $x,
L10n::t('Update %s failed. See error logs.', $x) DI::l10n()->t('Update %s failed. See error logs.', $x)
); );
Logger::error('Update function ERROR.', ['function' => $funcname, 'retval' => $retval]); Logger::error('Update function ERROR.', ['function' => $funcname, 'retval' => $retval]);
DI::lock()->release('dbupdate_function'); DI::lock()->release('dbupdate_function');
@ -253,7 +253,7 @@ class Update
$sent[] = $admin['email']; $sent[] = $admin['email'];
$lang = (($admin['language'])?$admin['language']:'en'); $lang = (($admin['language'])?$admin['language']:'en');
$l10n = L10n::withLang($lang); $l10n = DI::l10n()->withLang($lang);
$preamble = Strings::deindent($l10n->t(" $preamble = Strings::deindent($l10n->t("
The friendica developers released update %s recently, The friendica developers released update %s recently,
@ -295,7 +295,7 @@ class Update
$sent[] = $admin['email']; $sent[] = $admin['email'];
$lang = (($admin['language']) ? $admin['language'] : 'en'); $lang = (($admin['language']) ? $admin['language'] : 'en');
$l10n = L10n::withLang($lang); $l10n = DI::l10n()->withLang($lang);
$preamble = Strings::deindent($l10n->t(" $preamble = Strings::deindent($l10n->t("
The friendica database was successfully updated from %s to %s.", The friendica database was successfully updated from %s to %s.",
@ -305,7 +305,7 @@ class Update
'uid' => $admin['uid'], 'uid' => $admin['uid'],
'type' => SYSTEM_EMAIL, 'type' => SYSTEM_EMAIL,
'to_email' => $admin['email'], 'to_email' => $admin['email'],
'subject' => l10n::t('[Friendica Notify] Database update'), 'subject' => DI::l10n()->t('[Friendica Notify] Database update'),
'preamble' => $preamble, 'preamble' => $preamble,
'body' => $preamble, 'body' => $preamble,
'language' => $lang] 'language' => $lang]

View file

@ -104,13 +104,13 @@ class UserImport
$account = json_decode(file_get_contents($file['tmp_name']), true); $account = json_decode(file_get_contents($file['tmp_name']), true);
if ($account === null) { if ($account === null) {
notice(L10n::t("Error decoding account file")); notice(DI::l10n()->t("Error decoding account file"));
return; return;
} }
if (empty($account['version'])) { if (empty($account['version'])) {
notice(L10n::t("Error! No version data in file! This is not a Friendica account file?")); notice(DI::l10n()->t("Error! No version data in file! This is not a Friendica account file?"));
return; return;
} }
@ -118,7 +118,7 @@ class UserImport
// check if username matches deleted account // check if username matches deleted account
if (DBA::exists('user', ['nickname' => $account['user']['nickname']]) if (DBA::exists('user', ['nickname' => $account['user']['nickname']])
|| DBA::exists('userd', ['username' => $account['user']['nickname']])) { || DBA::exists('userd', ['username' => $account['user']['nickname']])) {
notice(L10n::t("User '%s' already exists on this server!", $account['user']['nickname'])); notice(DI::l10n()->t("User '%s' already exists on this server!", $account['user']['nickname']));
return; return;
} }
@ -154,7 +154,7 @@ class UserImport
$r = self::dbImportAssoc('user', $account['user']); $r = self::dbImportAssoc('user', $account['user']);
if ($r === false) { if ($r === false) {
Logger::log("uimport:insert user : ERROR : " . DBA::errorMessage(), Logger::INFO); Logger::log("uimport:insert user : ERROR : " . DBA::errorMessage(), Logger::INFO);
notice(L10n::t("User creation error")); notice(DI::l10n()->t("User creation error"));
return; return;
} }
$newuid = self::lastInsertId(); $newuid = self::lastInsertId();
@ -172,7 +172,7 @@ class UserImport
$r = self::dbImportAssoc('profile', $profile); $r = self::dbImportAssoc('profile', $profile);
if ($r === false) { if ($r === false) {
Logger::log("uimport:insert profile " . $profile['profile-name'] . " : ERROR : " . DBA::errorMessage(), Logger::INFO); Logger::log("uimport:insert profile " . $profile['profile-name'] . " : ERROR : " . DBA::errorMessage(), Logger::INFO);
info(L10n::t("User profile creation error")); info(DI::l10n()->t("User profile creation error"));
DBA::delete('user', ['uid' => $newuid]); DBA::delete('user', ['uid' => $newuid]);
return; return;
} }
@ -216,7 +216,7 @@ class UserImport
} }
} }
if ($errorcount > 0) { if ($errorcount > 0) {
notice(L10n::tt("%d contact not imported", "%d contacts not imported", $errorcount)); notice(DI::l10n()->tt("%d contact not imported", "%d contacts not imported", $errorcount));
} }
foreach ($account['group'] as &$group) { foreach ($account['group'] as &$group) {
@ -281,7 +281,7 @@ class UserImport
// send relocate messages // send relocate messages
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, $newuid); Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, $newuid);
info(L10n::t("Done. You can now login with your username and password")); info(DI::l10n()->t("Done. You can now login with your username and password"));
DI::baseUrl()->redirect('login'); DI::baseUrl()->redirect('login');
} }
} }

View file

@ -156,9 +156,12 @@ abstract class DI
return self::$dice->create(Core\Lock\ILock::class); return self::$dice->create(Core\Lock\ILock::class);
} }
/**
* @return Core\L10n
*/
public static function l10n() public static function l10n()
{ {
return self::$dice->create(Core\L10n\L10n::class); return self::$dice->create(Core\L10n::class);
} }
/** /**

View file

@ -8,8 +8,8 @@ namespace Friendica\Database;
use Exception; use Exception;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\DI;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
require_once __DIR__ . '/../../include/dba.php'; require_once __DIR__ . '/../../include/dba.php';
@ -45,7 +45,7 @@ class DBStructure
); );
if (!DBA::isResult($tables)) { if (!DBA::isResult($tables)) {
echo L10n::t('There are no tables on MyISAM.') . "\n"; echo DI::l10n()->t('There are no tables on MyISAM.') . "\n";
return; return;
} }
@ -69,10 +69,10 @@ class DBStructure
*/ */
private static function printUpdateError($message) private static function printUpdateError($message)
{ {
echo L10n::t("\nError %d occurred during database update:\n%s\n", echo DI::l10n()->t("\nError %d occurred during database update:\n%s\n",
DBA::errorNo(), DBA::errorMessage()); DBA::errorNo(), DBA::errorMessage());
return L10n::t('Errors encountered performing database changes: ') . $message . EOL; return DI::l10n()->t('Errors encountered performing database changes: ') . $message . EOL;
} }
public static function printStructure($basePath) public static function printStructure($basePath)
@ -261,7 +261,7 @@ class DBStructure
{ {
if ($action && !$install) { if ($action && !$install) {
Config::set('system', 'maintenance', 1); Config::set('system', 'maintenance', 1);
Config::set('system', 'maintenance_reason', L10n::t('%s: Database update', DateTimeFormat::utcNow() . ' ' . date('e'))); Config::set('system', 'maintenance_reason', DI::l10n()->t('%s: Database update', DateTimeFormat::utcNow() . ' ' . date('e')));
} }
$errors = ''; $errors = '';
@ -522,7 +522,7 @@ class DBStructure
if ($action) { if ($action) {
if (!$install) { if (!$install) {
Config::set('system', 'maintenance_reason', L10n::t('%s: updating %s table.', DateTimeFormat::utcNow() . ' ' . date('e'), $name)); Config::set('system', 'maintenance_reason', DI::l10n()->t('%s: updating %s table.', DateTimeFormat::utcNow() . ' ' . date('e'), $name));
} }
// Ensure index conversion to unique removes duplicates // Ensure index conversion to unique removes duplicates

View file

@ -27,7 +27,7 @@ class LegacyModule extends BaseModule
public static function setModuleFile($file_path) public static function setModuleFile($file_path)
{ {
if (!is_readable($file_path)) { if (!is_readable($file_path)) {
throw new \Exception(Core\L10n::t('Legacy module file not found: %s', $file_path)); throw new \Exception(DI::l10n()->t('Legacy module file not found: %s', $file_path));
} }
self::$moduleName = basename($file_path, '.php'); self::$moduleName = basename($file_path, '.php');

View file

@ -8,7 +8,6 @@ use Friendica\App\BaseURL;
use Friendica\Content\Pager; use Friendica\Content\Pager;
use Friendica\Core\Config; use Friendica\Core\Config;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Session; use Friendica\Core\Session;
@ -343,7 +342,7 @@ class Contact
* @param integer $uid User ID * @param integer $uid User ID
* *
* @return integer|boolean Public contact id for given user id * @return integer|boolean Public contact id for given user id
* @throws Exception * @throws \Exception
*/ */
public static function getPublicIdByUserId($uid) public static function getPublicIdByUserId($uid)
{ {
@ -1207,7 +1206,7 @@ class Contact
if (empty($contact['uid']) || ($contact['uid'] != $uid)) { if (empty($contact['uid']) || ($contact['uid'] != $uid)) {
if ($uid == 0) { if ($uid == 0) {
$profile_link = self::magicLink($contact['url']); $profile_link = self::magicLink($contact['url']);
$menu = ['profile' => [L10n::t('View Profile'), $profile_link, true]]; $menu = ['profile' => [DI::l10n()->t('View Profile'), $profile_link, true]];
return $menu; return $menu;
} }
@ -1269,30 +1268,30 @@ class Contact
*/ */
if (empty($contact['uid'])) { if (empty($contact['uid'])) {
$menu = [ $menu = [
'profile' => [L10n::t('View Profile') , $profile_link , true], 'profile' => [DI::l10n()->t('View Profile') , $profile_link , true],
'network' => [L10n::t('Network Posts') , $posts_link , false], 'network' => [DI::l10n()->t('Network Posts') , $posts_link , false],
'edit' => [L10n::t('View Contact') , $contact_url , false], 'edit' => [DI::l10n()->t('View Contact') , $contact_url , false],
'follow' => [L10n::t('Connect/Follow'), $follow_link , true], 'follow' => [DI::l10n()->t('Connect/Follow'), $follow_link , true],
'unfollow'=> [L10n::t('UnFollow') , $unfollow_link, true], 'unfollow'=> [DI::l10n()->t('UnFollow') , $unfollow_link, true],
]; ];
} else { } else {
$menu = [ $menu = [
'status' => [L10n::t('View Status') , $status_link , true], 'status' => [DI::l10n()->t('View Status') , $status_link , true],
'profile' => [L10n::t('View Profile') , $profile_link , true], 'profile' => [DI::l10n()->t('View Profile') , $profile_link , true],
'photos' => [L10n::t('View Photos') , $photos_link , true], 'photos' => [DI::l10n()->t('View Photos') , $photos_link , true],
'network' => [L10n::t('Network Posts') , $posts_link , false], 'network' => [DI::l10n()->t('Network Posts') , $posts_link , false],
'edit' => [L10n::t('View Contact') , $contact_url , false], 'edit' => [DI::l10n()->t('View Contact') , $contact_url , false],
'drop' => [L10n::t('Drop Contact') , $contact_drop_link, false], 'drop' => [DI::l10n()->t('Drop Contact') , $contact_drop_link, false],
'pm' => [L10n::t('Send PM') , $pm_url , false], 'pm' => [DI::l10n()->t('Send PM') , $pm_url , false],
'poke' => [L10n::t('Poke') , $poke_link , false], 'poke' => [DI::l10n()->t('Poke') , $poke_link , false],
'follow' => [L10n::t('Connect/Follow'), $follow_link , true], 'follow' => [DI::l10n()->t('Connect/Follow'), $follow_link , true],
'unfollow'=> [L10n::t('UnFollow') , $unfollow_link , true], 'unfollow'=> [DI::l10n()->t('UnFollow') , $unfollow_link , true],
]; ];
if (!empty($contact['pending'])) { if (!empty($contact['pending'])) {
$intro = DBA::selectFirst('intro', ['id'], ['contact-id' => $contact['id']]); $intro = DBA::selectFirst('intro', ['id'], ['contact-id' => $contact['id']]);
if (DBA::isResult($intro)) { if (DBA::isResult($intro)) {
$menu['follow'] = [L10n::t('Approve'), 'notifications/intros/' . $intro['id'], true]; $menu['follow'] = [DI::l10n()->t('Approve'), 'notifications/intros/' . $intro['id'], true];
} }
} }
} }
@ -1851,15 +1850,15 @@ class Contact
switch ($type) { switch ($type) {
case self::TYPE_ORGANISATION: case self::TYPE_ORGANISATION:
$account_type = L10n::t("Organisation"); $account_type = DI::l10n()->t("Organisation");
break; break;
case self::TYPE_NEWS: case self::TYPE_NEWS:
$account_type = L10n::t('News'); $account_type = DI::l10n()->t('News');
break; break;
case self::TYPE_COMMUNITY: case self::TYPE_COMMUNITY:
$account_type = L10n::t("Forum"); $account_type = DI::l10n()->t("Forum");
break; break;
default: default:
@ -2264,17 +2263,17 @@ class Contact
$url = str_replace('/#!/', '/', $url); $url = str_replace('/#!/', '/', $url);
if (!Network::isUrlAllowed($url)) { if (!Network::isUrlAllowed($url)) {
$result['message'] = L10n::t('Disallowed profile URL.'); $result['message'] = DI::l10n()->t('Disallowed profile URL.');
return $result; return $result;
} }
if (Network::isUrlBlocked($url)) { if (Network::isUrlBlocked($url)) {
$result['message'] = L10n::t('Blocked domain'); $result['message'] = DI::l10n()->t('Blocked domain');
return $result; return $result;
} }
if (!$url) { if (!$url) {
$result['message'] = L10n::t('Connect URL missing.'); $result['message'] = DI::l10n()->t('Connect URL missing.');
return $result; return $result;
} }
@ -2283,7 +2282,7 @@ class Contact
Hook::callAll('follow', $arr); Hook::callAll('follow', $arr);
if (empty($arr)) { if (empty($arr)) {
$result['message'] = L10n::t('The contact could not be added. Please check the relevant network credentials in your Settings -> Social Networks page.'); $result['message'] = DI::l10n()->t('The contact could not be added. Please check the relevant network credentials in your Settings -> Social Networks page.');
return $result; return $result;
} }
@ -2324,8 +2323,8 @@ class Contact
// NOTREACHED // NOTREACHED
} }
} elseif (Config::get('system', 'dfrn_only') && ($ret['network'] != Protocol::DFRN)) { } elseif (Config::get('system', 'dfrn_only') && ($ret['network'] != Protocol::DFRN)) {
$result['message'] = L10n::t('This site is not configured to allow communications with other networks.') . EOL; $result['message'] = DI::l10n()->t('This site is not configured to allow communications with other networks.') . EOL;
$result['message'] .= L10n::t('No compatible communication protocols or feeds were discovered.') . EOL; $result['message'] .= DI::l10n()->t('No compatible communication protocols or feeds were discovered.') . EOL;
return $result; return $result;
} }
@ -2336,30 +2335,30 @@ class Contact
// do we have enough information? // do we have enough information?
if (empty($ret['name']) || empty($ret['poll']) || (empty($ret['url']) && empty($ret['addr']))) { if (empty($ret['name']) || empty($ret['poll']) || (empty($ret['url']) && empty($ret['addr']))) {
$result['message'] .= L10n::t('The profile address specified does not provide adequate information.') . EOL; $result['message'] .= DI::l10n()->t('The profile address specified does not provide adequate information.') . EOL;
if (empty($ret['poll'])) { if (empty($ret['poll'])) {
$result['message'] .= L10n::t('No compatible communication protocols or feeds were discovered.') . EOL; $result['message'] .= DI::l10n()->t('No compatible communication protocols or feeds were discovered.') . EOL;
} }
if (empty($ret['name'])) { if (empty($ret['name'])) {
$result['message'] .= L10n::t('An author or name was not found.') . EOL; $result['message'] .= DI::l10n()->t('An author or name was not found.') . EOL;
} }
if (empty($ret['url'])) { if (empty($ret['url'])) {
$result['message'] .= L10n::t('No browser URL could be matched to this address.') . EOL; $result['message'] .= DI::l10n()->t('No browser URL could be matched to this address.') . EOL;
} }
if (strpos($url, '@') !== false) { if (strpos($url, '@') !== false) {
$result['message'] .= L10n::t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL; $result['message'] .= DI::l10n()->t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL;
$result['message'] .= L10n::t('Use mailto: in front of address to force email check.') . EOL; $result['message'] .= DI::l10n()->t('Use mailto: in front of address to force email check.') . EOL;
} }
return $result; return $result;
} }
if ($protocol === Protocol::OSTATUS && Config::get('system', 'ostatus_disabled')) { if ($protocol === Protocol::OSTATUS && Config::get('system', 'ostatus_disabled')) {
$result['message'] .= L10n::t('The profile address specified belongs to a network which has been disabled on this site.') . EOL; $result['message'] .= DI::l10n()->t('The profile address specified belongs to a network which has been disabled on this site.') . EOL;
$ret['notify'] = ''; $ret['notify'] = '';
} }
if (!$ret['notify']) { if (!$ret['notify']) {
$result['message'] .= L10n::t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL; $result['message'] .= DI::l10n()->t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
} }
$writeable = ((($protocol === Protocol::OSTATUS) && ($ret['notify'])) ? 1 : 0); $writeable = ((($protocol === Protocol::OSTATUS) && ($ret['notify'])) ? 1 : 0);
@ -2420,7 +2419,7 @@ class Contact
$contact = DBA::selectFirst('contact', [], ['url' => $ret['url'], 'network' => $ret['network'], 'uid' => $uid]); $contact = DBA::selectFirst('contact', [], ['url' => $ret['url'], 'network' => $ret['network'], 'uid' => $uid]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
$result['message'] .= L10n::t('Unable to retrieve contact information.') . EOL; $result['message'] .= DI::l10n()->t('Unable to retrieve contact information.') . EOL;
return $result; return $result;
} }
@ -2641,7 +2640,7 @@ class Contact
'to_email' => $user['email'], 'to_email' => $user['email'],
'uid' => $user['uid'], 'uid' => $user['uid'],
'link' => DI::baseUrl() . '/notifications/intro', 'link' => DI::baseUrl() . '/notifications/intro',
'source_name' => ((strlen(stripslashes($contact_record['name']))) ? stripslashes($contact_record['name']) : L10n::t('[Name Withheld]')), 'source_name' => ((strlen(stripslashes($contact_record['name']))) ? stripslashes($contact_record['name']) : DI::l10n()->t('[Name Withheld]')),
'source_link' => $contact_record['url'], 'source_link' => $contact_record['url'],
'source_photo' => $contact_record['photo'], 'source_photo' => $contact_record['photo'],
'verb' => ($sharing ? Activity::FRIEND : Activity::FOLLOW), 'verb' => ($sharing ? Activity::FRIEND : Activity::FOLLOW),

View file

@ -7,7 +7,6 @@ namespace Friendica\Model;
use Friendica\Content\Text\BBCode; use Friendica\Content\Text\BBCode;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Core\System; use Friendica\Core\System;
@ -31,15 +30,15 @@ class Event
return ''; return '';
} }
$bd_format = L10n::t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8 AM. $bd_format = DI::l10n()->t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8 AM.
$event_start = L10n::getDay( $event_start = DI::l10n()->getDay(
!empty($event['adjust']) ? !empty($event['adjust']) ?
DateTimeFormat::local($event['start'], $bd_format) : DateTimeFormat::utc($event['start'], $bd_format) DateTimeFormat::local($event['start'], $bd_format) : DateTimeFormat::utc($event['start'], $bd_format)
); );
if (!empty($event['finish'])) { if (!empty($event['finish'])) {
$event_end = L10n::getDay( $event_end = DI::l10n()->getDay(
!empty($event['adjust']) ? !empty($event['adjust']) ?
DateTimeFormat::local($event['finish'], $bd_format) : DateTimeFormat::utc($event['finish'], $bd_format) DateTimeFormat::local($event['finish'], $bd_format) : DateTimeFormat::utc($event['finish'], $bd_format)
); );
@ -58,14 +57,14 @@ class Event
$o .= "<div>" . BBCode::convert(Strings::escapeHtml($event['desc']), false, $simple) . "</div>"; $o .= "<div>" . BBCode::convert(Strings::escapeHtml($event['desc']), false, $simple) . "</div>";
} }
$o .= "<h4>" . L10n::t('Starts:') . "</h4><p>" . $event_start . "</p>"; $o .= "<h4>" . DI::l10n()->t('Starts:') . "</h4><p>" . $event_start . "</p>";
if (!$event['nofinish']) { if (!$event['nofinish']) {
$o .= "<h4>" . L10n::t('Finishes:') . "</h4><p>" . $event_end . "</p>"; $o .= "<h4>" . DI::l10n()->t('Finishes:') . "</h4><p>" . $event_end . "</p>";
} }
if (!empty($event['location'])) { if (!empty($event['location'])) {
$o .= "<h4>" . L10n::t('Location:') . "</h4><p>" . BBCode::convert(Strings::escapeHtml($event['location']), false, $simple) . "</p>"; $o .= "<h4>" . DI::l10n()->t('Location:') . "</h4><p>" . BBCode::convert(Strings::escapeHtml($event['location']), false, $simple) . "</p>";
} }
return $o; return $o;
@ -75,13 +74,13 @@ class Event
$o .= '<div class="summary event-summary">' . BBCode::convert(Strings::escapeHtml($event['summary']), false, $simple) . '</div>' . "\r\n"; $o .= '<div class="summary event-summary">' . BBCode::convert(Strings::escapeHtml($event['summary']), false, $simple) . '</div>' . "\r\n";
$o .= '<div class="event-start"><span class="event-label">' . L10n::t('Starts:') . '</span>&nbsp;<span class="dtstart" title="' $o .= '<div class="event-start"><span class="event-label">' . DI::l10n()->t('Starts:') . '</span>&nbsp;<span class="dtstart" title="'
. DateTimeFormat::utc($event['start'], (!empty($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s')) . DateTimeFormat::utc($event['start'], (!empty($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'))
. '" >' . $event_start . '" >' . $event_start
. '</span></div>' . "\r\n"; . '</span></div>' . "\r\n";
if (!$event['nofinish']) { if (!$event['nofinish']) {
$o .= '<div class="event-end" ><span class="event-label">' . L10n::t('Finishes:') . '</span>&nbsp;<span class="dtend" title="' $o .= '<div class="event-end" ><span class="event-label">' . DI::l10n()->t('Finishes:') . '</span>&nbsp;<span class="dtend" title="'
. DateTimeFormat::utc($event['finish'], (!empty($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s')) . DateTimeFormat::utc($event['finish'], (!empty($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'))
. '" >' . $event_end . '" >' . $event_end
. '</span></div>' . "\r\n"; . '</span></div>' . "\r\n";
@ -92,7 +91,7 @@ class Event
} }
if (!empty($event['location'])) { if (!empty($event['location'])) {
$o .= '<div class="event-location"><span class="event-label">' . L10n::t('Location:') . '</span>&nbsp;<span class="location">' $o .= '<div class="event-location"><span class="event-label">' . DI::l10n()->t('Location:') . '</span>&nbsp;<span class="location">'
. BBCode::convert(Strings::escapeHtml($event['location']), false, $simple) . BBCode::convert(Strings::escapeHtml($event['location']), false, $simple)
. '</span></div>' . "\r\n"; . '</span></div>' . "\r\n";
@ -382,59 +381,59 @@ class Event
$i18n = [ $i18n = [
"firstDay" => $firstDay, "firstDay" => $firstDay,
"allday" => L10n::t("all-day"), "allday" => DI::l10n()->t("all-day"),
"Sun" => L10n::t("Sun"), "Sun" => DI::l10n()->t("Sun"),
"Mon" => L10n::t("Mon"), "Mon" => DI::l10n()->t("Mon"),
"Tue" => L10n::t("Tue"), "Tue" => DI::l10n()->t("Tue"),
"Wed" => L10n::t("Wed"), "Wed" => DI::l10n()->t("Wed"),
"Thu" => L10n::t("Thu"), "Thu" => DI::l10n()->t("Thu"),
"Fri" => L10n::t("Fri"), "Fri" => DI::l10n()->t("Fri"),
"Sat" => L10n::t("Sat"), "Sat" => DI::l10n()->t("Sat"),
"Sunday" => L10n::t("Sunday"), "Sunday" => DI::l10n()->t("Sunday"),
"Monday" => L10n::t("Monday"), "Monday" => DI::l10n()->t("Monday"),
"Tuesday" => L10n::t("Tuesday"), "Tuesday" => DI::l10n()->t("Tuesday"),
"Wednesday" => L10n::t("Wednesday"), "Wednesday" => DI::l10n()->t("Wednesday"),
"Thursday" => L10n::t("Thursday"), "Thursday" => DI::l10n()->t("Thursday"),
"Friday" => L10n::t("Friday"), "Friday" => DI::l10n()->t("Friday"),
"Saturday" => L10n::t("Saturday"), "Saturday" => DI::l10n()->t("Saturday"),
"Jan" => L10n::t("Jan"), "Jan" => DI::l10n()->t("Jan"),
"Feb" => L10n::t("Feb"), "Feb" => DI::l10n()->t("Feb"),
"Mar" => L10n::t("Mar"), "Mar" => DI::l10n()->t("Mar"),
"Apr" => L10n::t("Apr"), "Apr" => DI::l10n()->t("Apr"),
"May" => L10n::t("May"), "May" => DI::l10n()->t("May"),
"Jun" => L10n::t("Jun"), "Jun" => DI::l10n()->t("Jun"),
"Jul" => L10n::t("Jul"), "Jul" => DI::l10n()->t("Jul"),
"Aug" => L10n::t("Aug"), "Aug" => DI::l10n()->t("Aug"),
"Sep" => L10n::t("Sept"), "Sep" => DI::l10n()->t("Sept"),
"Oct" => L10n::t("Oct"), "Oct" => DI::l10n()->t("Oct"),
"Nov" => L10n::t("Nov"), "Nov" => DI::l10n()->t("Nov"),
"Dec" => L10n::t("Dec"), "Dec" => DI::l10n()->t("Dec"),
"January" => L10n::t("January"), "January" => DI::l10n()->t("January"),
"February" => L10n::t("February"), "February" => DI::l10n()->t("February"),
"March" => L10n::t("March"), "March" => DI::l10n()->t("March"),
"April" => L10n::t("April"), "April" => DI::l10n()->t("April"),
"June" => L10n::t("June"), "June" => DI::l10n()->t("June"),
"July" => L10n::t("July"), "July" => DI::l10n()->t("July"),
"August" => L10n::t("August"), "August" => DI::l10n()->t("August"),
"September" => L10n::t("September"), "September" => DI::l10n()->t("September"),
"October" => L10n::t("October"), "October" => DI::l10n()->t("October"),
"November" => L10n::t("November"), "November" => DI::l10n()->t("November"),
"December" => L10n::t("December"), "December" => DI::l10n()->t("December"),
"today" => L10n::t("today"), "today" => DI::l10n()->t("today"),
"month" => L10n::t("month"), "month" => DI::l10n()->t("month"),
"week" => L10n::t("week"), "week" => DI::l10n()->t("week"),
"day" => L10n::t("day"), "day" => DI::l10n()->t("day"),
"noevent" => L10n::t("No events to display"), "noevent" => DI::l10n()->t("No events to display"),
"dtstart_label" => L10n::t("Starts:"), "dtstart_label" => DI::l10n()->t("Starts:"),
"dtend_label" => L10n::t("Finishes:"), "dtend_label" => DI::l10n()->t("Finishes:"),
"location_label" => L10n::t("Location:") "location_label" => DI::l10n()->t("Location:")
]; ];
return $i18n; return $i18n;
@ -558,7 +557,7 @@ class Event
$event_list = []; $event_list = [];
$last_date = ''; $last_date = '';
$fmt = L10n::t('l, F j'); $fmt = DI::l10n()->t('l, F j');
foreach ($event_result as $event) { foreach ($event_result as $event) {
$item = Item::selectFirst(['plink', 'author-name', 'author-avatar', 'author-link'], ['id' => $event['itemid']]); $item = Item::selectFirst(['plink', 'author-name', 'author-avatar', 'author-link'], ['id' => $event['itemid']]);
if (!DBA::isResult($item)) { if (!DBA::isResult($item)) {
@ -571,7 +570,7 @@ class Event
$start = $event['adjust'] ? DateTimeFormat::local($event['start'], 'c') : DateTimeFormat::utc($event['start'], 'c'); $start = $event['adjust'] ? DateTimeFormat::local($event['start'], 'c') : DateTimeFormat::utc($event['start'], 'c');
$j = $event['adjust'] ? DateTimeFormat::local($event['start'], 'j') : DateTimeFormat::utc($event['start'], 'j'); $j = $event['adjust'] ? DateTimeFormat::local($event['start'], 'j') : DateTimeFormat::utc($event['start'], 'j');
$day = $event['adjust'] ? DateTimeFormat::local($event['start'], $fmt) : DateTimeFormat::utc($event['start'], $fmt); $day = $event['adjust'] ? DateTimeFormat::local($event['start'], $fmt) : DateTimeFormat::utc($event['start'], $fmt);
$day = L10n::getDay($day); $day = DI::l10n()->getDay($day);
if ($event['nofinish']) { if ($event['nofinish']) {
$end = null; $end = null;
@ -589,9 +588,9 @@ class Event
$copy = null; $copy = null;
$drop = null; $drop = null;
if (local_user() && local_user() == $event['uid'] && $event['type'] == 'event') { if (local_user() && local_user() == $event['uid'] && $event['type'] == 'event') {
$edit = !$event['cid'] ? [DI::baseUrl() . '/events/event/' . $event['id'], L10n::t('Edit event') , '', ''] : null; $edit = !$event['cid'] ? [DI::baseUrl() . '/events/event/' . $event['id'], DI::l10n()->t('Edit event') , '', ''] : null;
$copy = !$event['cid'] ? [DI::baseUrl() . '/events/copy/' . $event['id'] , L10n::t('Duplicate event'), '', ''] : null; $copy = !$event['cid'] ? [DI::baseUrl() . '/events/copy/' . $event['id'] , DI::l10n()->t('Duplicate event'), '', ''] : null;
$drop = [DI::baseUrl() . '/events/drop/' . $event['id'] , L10n::t('Delete event') , '', '']; $drop = [DI::baseUrl() . '/events/drop/' . $event['id'] , DI::l10n()->t('Delete event') , '', ''];
} }
$title = BBCode::convert(Strings::escapeHtml($event['summary'])); $title = BBCode::convert(Strings::escapeHtml($event['summary']));
@ -623,7 +622,7 @@ class Event
'is_first' => $is_first, 'is_first' => $is_first,
'item' => $event, 'item' => $event,
'html' => $html, 'html' => $html,
'plink' => [$event['plink'], L10n::t('link to source'), '', ''], 'plink' => [$event['plink'], DI::l10n()->t('link to source'), '', ''],
]; ];
} }
@ -844,19 +843,19 @@ class Event
$finish = false; $finish = false;
// Set the different time formats. // Set the different time formats.
$dformat = L10n::t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8:01 AM. $dformat = DI::l10n()->t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8:01 AM.
$dformat_short = L10n::t('D g:i A'); // Fri 8:01 AM. $dformat_short = DI::l10n()->t('D g:i A'); // Fri 8:01 AM.
$tformat = L10n::t('g:i A'); // 8:01 AM. $tformat = DI::l10n()->t('g:i A'); // 8:01 AM.
// Convert the time to different formats. // Convert the time to different formats.
$dtstart_dt = L10n::getDay( $dtstart_dt = DI::l10n()->getDay(
$item['event-adjust'] ? $item['event-adjust'] ?
DateTimeFormat::local($item['event-start'], $dformat) DateTimeFormat::local($item['event-start'], $dformat)
: DateTimeFormat::utc($item['event-start'], $dformat) : DateTimeFormat::utc($item['event-start'], $dformat)
); );
$dtstart_title = DateTimeFormat::utc($item['event-start'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'); $dtstart_title = DateTimeFormat::utc($item['event-start'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s');
// Format: Jan till Dec. // Format: Jan till Dec.
$month_short = L10n::getDayShort( $month_short = DI::l10n()->getDayShort(
$item['event-adjust'] ? $item['event-adjust'] ?
DateTimeFormat::local($item['event-start'], 'M') DateTimeFormat::local($item['event-start'], 'M')
: DateTimeFormat::utc($item['event-start'], 'M') : DateTimeFormat::utc($item['event-start'], 'M')
@ -868,7 +867,7 @@ class Event
$start_time = $item['event-adjust'] ? $start_time = $item['event-adjust'] ?
DateTimeFormat::local($item['event-start'], $tformat) DateTimeFormat::local($item['event-start'], $tformat)
: DateTimeFormat::utc($item['event-start'], $tformat); : DateTimeFormat::utc($item['event-start'], $tformat);
$start_short = L10n::getDayShort( $start_short = DI::l10n()->getDayShort(
$item['event-adjust'] ? $item['event-adjust'] ?
DateTimeFormat::local($item['event-start'], $dformat_short) DateTimeFormat::local($item['event-start'], $dformat_short)
: DateTimeFormat::utc($item['event-start'], $dformat_short) : DateTimeFormat::utc($item['event-start'], $dformat_short)
@ -877,13 +876,13 @@ class Event
// If the option 'nofinisch' isn't set, we need to format the finish date/time. // If the option 'nofinisch' isn't set, we need to format the finish date/time.
if (!$item['event-nofinish']) { if (!$item['event-nofinish']) {
$finish = true; $finish = true;
$dtend_dt = L10n::getDay( $dtend_dt = DI::l10n()->getDay(
$item['event-adjust'] ? $item['event-adjust'] ?
DateTimeFormat::local($item['event-finish'], $dformat) DateTimeFormat::local($item['event-finish'], $dformat)
: DateTimeFormat::utc($item['event-finish'], $dformat) : DateTimeFormat::utc($item['event-finish'], $dformat)
); );
$dtend_title = DateTimeFormat::utc($item['event-finish'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'); $dtend_title = DateTimeFormat::utc($item['event-finish'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s');
$end_short = L10n::getDayShort( $end_short = DI::l10n()->getDayShort(
$item['event-adjust'] ? $item['event-adjust'] ?
DateTimeFormat::local($item['event-finish'], $dformat_short) DateTimeFormat::local($item['event-finish'], $dformat_short)
: DateTimeFormat::utc($item['event-finish'], $dformat_short) : DateTimeFormat::utc($item['event-finish'], $dformat_short)
@ -912,11 +911,11 @@ class Event
$return = Renderer::replaceMacros($tpl, [ $return = Renderer::replaceMacros($tpl, [
'$id' => $item['event-id'], '$id' => $item['event-id'],
'$title' => BBCode::convert($item['event-summary']), '$title' => BBCode::convert($item['event-summary']),
'$dtstart_label' => L10n::t('Starts:'), '$dtstart_label' => DI::l10n()->t('Starts:'),
'$dtstart_title' => $dtstart_title, '$dtstart_title' => $dtstart_title,
'$dtstart_dt' => $dtstart_dt, '$dtstart_dt' => $dtstart_dt,
'$finish' => $finish, '$finish' => $finish,
'$dtend_label' => L10n::t('Finishes:'), '$dtend_label' => DI::l10n()->t('Finishes:'),
'$dtend_title' => $dtend_title, '$dtend_title' => $dtend_title,
'$dtend_dt' => $dtend_dt, '$dtend_dt' => $dtend_dt,
'$month_short' => $month_short, '$month_short' => $month_short,
@ -930,10 +929,10 @@ class Event
'$author_link' => $profile_link, '$author_link' => $profile_link,
'$author_avatar' => $item['author-avatar'], '$author_avatar' => $item['author-avatar'],
'$description' => BBCode::convert($item['event-desc']), '$description' => BBCode::convert($item['event-desc']),
'$location_label' => L10n::t('Location:'), '$location_label' => DI::l10n()->t('Location:'),
'$show_map_label' => L10n::t('Show map'), '$show_map_label' => DI::l10n()->t('Show map'),
'$hide_map_label' => L10n::t('Hide map'), '$hide_map_label' => DI::l10n()->t('Hide map'),
'$map_btn_label' => L10n::t('Show map'), '$map_btn_label' => DI::l10n()->t('Show map'),
'$location' => $location '$location' => $location
]); ]);
@ -1024,8 +1023,8 @@ class Event
'cid' => $contact['id'], 'cid' => $contact['id'],
'start' => DateTimeFormat::utc($birthday), 'start' => DateTimeFormat::utc($birthday),
'finish' => DateTimeFormat::utc($birthday . ' + 1 day '), 'finish' => DateTimeFormat::utc($birthday . ' + 1 day '),
'summary' => L10n::t('%s\'s birthday', $contact['name']), 'summary' => DI::l10n()->t('%s\'s birthday', $contact['name']),
'desc' => L10n::t('Happy Birthday %s', ' [url=' . $contact['url'] . ']' . $contact['name'] . '[/url]'), 'desc' => DI::l10n()->t('Happy Birthday %s', ' [url=' . $contact['url'] . ']' . $contact['name'] . '[/url]'),
'type' => 'birthday', 'type' => 'birthday',
'adjust' => 0 'adjust' => 0
]; ];

View file

@ -5,7 +5,6 @@
namespace Friendica\Model; namespace Friendica\Model;
use Friendica\Core\L10n;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
@ -262,7 +261,7 @@ class FileTag
DI::pConfig()->set($uid, 'system', 'filetags', $saved . '[' . self::encode($file) . ']'); DI::pConfig()->set($uid, 'system', 'filetags', $saved . '[' . self::encode($file) . ']');
} }
info(L10n::t('Item filed')); info(DI::l10n()->t('Item filed'));
} }
return true; return true;

View file

@ -6,11 +6,11 @@
namespace Friendica\Model; namespace Friendica\Model;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\L10n;
use Friendica\Core\Logger; use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI;
/** /**
* functions for interacting with the group database table * functions for interacting with the group database table
@ -73,7 +73,7 @@ class Group
$group = DBA::selectFirst('group', ['deleted'], ['id' => $gid]); $group = DBA::selectFirst('group', ['deleted'], ['id' => $gid]);
if (DBA::isResult($group) && $group['deleted']) { if (DBA::isResult($group) && $group['deleted']) {
DBA::update('group', ['deleted' => 0], ['id' => $gid]); DBA::update('group', ['deleted' => 0], ['id' => $gid]);
notice(L10n::t('A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name.') . EOL); notice(DI::l10n()->t('A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name.') . EOL);
} }
return true; return true;
} }
@ -422,7 +422,7 @@ class Group
Logger::info('Got groups', $display_groups); Logger::info('Got groups', $display_groups);
if ($label == '') { if ($label == '') {
$label = L10n::t('Default privacy group for new contacts'); $label = DI::l10n()->t('Default privacy group for new contacts');
} }
$o = Renderer::replaceMacros(Renderer::getMarkupTemplate('group_selection.tpl'), [ $o = Renderer::replaceMacros(Renderer::getMarkupTemplate('group_selection.tpl'), [
@ -454,7 +454,7 @@ class Group
$display_groups = [ $display_groups = [
[ [
'text' => L10n::t('Everybody'), 'text' => DI::l10n()->t('Everybody'),
'id' => 0, 'id' => 0,
'selected' => (($group_id === 'everyone') ? 'group-selected' : ''), 'selected' => (($group_id === 'everyone') ? 'group-selected' : ''),
'href' => $every, 'href' => $every,
@ -473,7 +473,7 @@ class Group
if ($editmode == 'full') { if ($editmode == 'full') {
$groupedit = [ $groupedit = [
'href' => 'group/' . $group['id'], 'href' => 'group/' . $group['id'],
'title' => L10n::t('edit'), 'title' => DI::l10n()->t('edit'),
]; ];
} else { } else {
$groupedit = null; $groupedit = null;
@ -498,17 +498,17 @@ class Group
$tpl = Renderer::getMarkupTemplate('group_side.tpl'); $tpl = Renderer::getMarkupTemplate('group_side.tpl');
$o = Renderer::replaceMacros($tpl, [ $o = Renderer::replaceMacros($tpl, [
'$add' => L10n::t('add'), '$add' => DI::l10n()->t('add'),
'$title' => L10n::t('Groups'), '$title' => DI::l10n()->t('Groups'),
'$groups' => $display_groups, '$groups' => $display_groups,
'newgroup' => $editmode == 'extended' || $editmode == 'full' ? 1 : '', 'newgroup' => $editmode == 'extended' || $editmode == 'full' ? 1 : '',
'grouppage' => 'group/', 'grouppage' => 'group/',
'$edittext' => L10n::t('Edit group'), '$edittext' => DI::l10n()->t('Edit group'),
'$ungrouped' => $every === 'contact' ? L10n::t('Contacts not in any group') : '', '$ungrouped' => $every === 'contact' ? DI::l10n()->t('Contacts not in any group') : '',
'$ungrouped_selected' => (($group_id === 'none') ? 'group-selected' : ''), '$ungrouped_selected' => (($group_id === 'none') ? 'group-selected' : ''),
'$createtext' => L10n::t('Create a new group'), '$createtext' => DI::l10n()->t('Create a new group'),
'$creategroup' => L10n::t('Group Name: '), '$creategroup' => DI::l10n()->t('Group Name: '),
'$editgroupstext' => L10n::t('Edit groups'), '$editgroupstext' => DI::l10n()->t('Edit groups'),
'$form_security_token' => BaseModule::getFormSecurityToken('group_edit'), '$form_security_token' => BaseModule::getFormSecurityToken('group_edit'),
]); ]);

Some files were not shown because too many files have changed in this diff Show more