X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FFiler%2FSaveTag.php;h=326f415cfca8a69cb7dd9e6bb4161da6827a9ef6;hb=bc7bf77096eb335cd76abce24f8a57c261b153d9;hp=93cb5f5a8aa46f461377c7e6f4eb46bc3972cdc4;hpb=5dfee31108fc92a7abca5f99b8fdf1b34aec5dd5;p=friendica.git diff --git a/src/Module/Filer/SaveTag.php b/src/Module/Filer/SaveTag.php index 93cb5f5a8a..326f415cfc 100644 --- a/src/Module/Filer/SaveTag.php +++ b/src/Module/Filer/SaveTag.php @@ -1,52 +1,77 @@ . + * + */ namespace Friendica\Module\Filer; +use Friendica\App; use Friendica\BaseModule; use Friendica\Core\L10n; use Friendica\Core\Renderer; +use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model; +use Friendica\Module\Response; +use Friendica\Network\HTTPException; +use Friendica\Util\Profiler; use Friendica\Util\XML; +use Psr\Log\LoggerInterface; /** * Shows a dialog for adding tags to a file */ class SaveTag extends BaseModule { - public static function init(array $parameters = []) + public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = []) { - if (!local_user()) { - info(DI::l10n()->t('You must be logged in to use this module')); - DI::baseUrl()->redirect(); + parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters); + + if (!DI::userSession()->getLocalUserId()) { + DI::sysmsg()->addNotice($this->t('You must be logged in to use this module')); + $baseUrl->redirect(); } } - public static function rawContent(array $parameters = []) + protected function rawContent(array $request = []) { - $a = DI::app(); - $logger = DI::logger(); - $term = XML::unescape(trim($_GET['term'] ?? '')); - // @TODO: Replace with parameter from router - $item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0); - $logger->info('filer', ['tag' => $term, 'item' => $item_id]); + $item_id = $this->parameters['id'] ?? 0; + + $this->logger->info('filer', ['tag' => $term, 'item' => $item_id]); if ($item_id && strlen($term)) { - // file item - Model\FileTag::saveFile(local_user(), $item_id, $term); - info(DI::l10n()->t('Filetag %s saved to item', $term)); + $item = Model\Post::selectFirst(['uri-id'], ['id' => $item_id]); + if (!DBA::isResult($item)) { + throw new HTTPException\NotFoundException(); + } + Model\Post\Category::storeFileByURIId($item['uri-id'], DI::userSession()->getLocalUserId(), Model\Post\Category::FILE, $term); } // return filer dialog - $filetags = DI::pConfig()->get(local_user(), 'system', 'filetags', ''); - $filetags = Model\FileTag::fileToArray($filetags); + $filetags = Model\Post\Category::getArray(DI::userSession()->getLocalUserId(), Model\Post\Category::FILE); $tpl = Renderer::getMarkupTemplate("filer_dialog.tpl"); echo Renderer::replaceMacros($tpl, [ - '$field' => ['term', DI::l10n()->t("Save to Folder:"), '', '', $filetags, DI::l10n()->t('- select -')], - '$submit' => DI::l10n()->t('Save'), + '$field' => ['term', $this->t("Save to Folder:"), '', '', $filetags, $this->t('- select -')], + '$submit' => $this->t('Save'), ]); exit;