]> git.mxchange.org Git - friendica.git/blob - src/Module/Filer/SaveTag.php
7c5c764cdf800ac485eea916d96c1806148a9038
[friendica.git] / src / Module / Filer / SaveTag.php
1 <?php
2
3 namespace Friendica\Module\Filer;
4
5 use Friendica\BaseModule;
6 use Friendica\Core\Renderer;
7 use Friendica\DI;
8 use Friendica\Model;
9 use Friendica\Util\XML;
10
11 /**
12  * Shows a dialog for adding tags to a file
13  */
14 class SaveTag extends BaseModule
15 {
16         public static function init(array $parameters = [])
17         {
18                 if (!local_user()) {
19                         info(DI::l10n()->t('You must be logged in to use this module'));
20                         DI::baseUrl()->redirect();
21                 }
22         }
23
24         public static function rawContent(array $parameters = [])
25         {
26                 $a = DI::app();
27                 $logger = DI::logger();
28
29                 $term = XML::unescape(trim($_GET['term'] ?? ''));
30                 // @TODO: Replace with parameter from router
31                 $item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
32
33                 $logger->info('filer', ['tag' => $term, 'item' => $item_id]);
34
35                 if ($item_id && strlen($term)) {
36                         // file item
37                         Model\FileTag::saveFile(local_user(), $item_id, $term);
38                         info(DI::l10n()->t('Filetag %s saved to item', $term));
39                 }
40
41                 // return filer dialog
42                 $filetags = DI::pConfig()->get(local_user(), 'system', 'filetags', '');
43                 $filetags = Model\FileTag::fileToArray($filetags);
44
45                 $tpl = Renderer::getMarkupTemplate("filer_dialog.tpl");
46                 echo Renderer::replaceMacros($tpl, [
47                         '$field' => ['term', DI::l10n()->t("Save to Folder:"), '', '', $filetags, DI::l10n()->t('- select -')],
48                         '$submit' => DI::l10n()->t('Save'),
49                 ]);
50
51                 exit;
52         }
53 }