+++ /dev/null
-<?php
-
-use Friendica\App;
-use Friendica\Core\Logger;
-use Friendica\Model\FileTag;
-use Friendica\Util\XML;
-
-function filerm_content(App $a)
-{
- if (! local_user())
- {
- exit();
- }
-
- $term = XML::unescape(trim(defaults($_GET, 'term', '')));
- $cat = XML::unescape(trim(defaults($_GET, 'cat', '')));
-
- $category = (($cat) ? true : false);
-
- if ($category)
- {
- $term = $cat;
- }
-
- $item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
-
- Logger::log('filerm: tag ' . $term . ' item ' . $item_id . ' category ' . ($category ? 'true' : 'false'));
-
- if ($item_id && strlen($term)) {
- if (FileTag::unsaveFile(local_user(), $item_id, $term, $category)) {
- info('Item removed');
- }
- }
- else {
- info('Item was not deleted');
- }
-
- $a->internalRedirect('/network?f=&file=' . rawurlencode($term));
- exit();
-}
$collector->addRoute(['GET'], '/{guid}/status_message', Module\Diaspora\Fetch::class);
$collector->addRoute(['GET'], '/{guid}/reshare', Module\Diaspora\Fetch::class);
});
- $this->routeCollector->addRoute(['GET'], '/filer[/{id:\d+}]', Module\Filer::class);
+ $this->routeCollector->addRoute(['GET'], '/filer[/{id:\d+}]', Module\Filer\SaveTag::class);
+ $this->routeCollector->addRoute(['GET'], '/filerm/{id:\d+}', Module\Filer\RemoveTag::class);
$this->routeCollector->addRoute(['GET'], '/followers/{owner}', Module\Followers::class);
$this->routeCollector->addRoute(['GET'], '/following/{owner}', Module\Following::class);
$this->routeCollector->addGroup('/group', function (RouteCollector $collector) {
+++ /dev/null
-<?php
-
-namespace Friendica\Module;
-
-use Friendica\BaseModule;
-use Friendica\Core\L10n;
-use Friendica\Core\PConfig;
-use Friendica\Core\Renderer;
-use Friendica\Model;
-use Friendica\Util\XML;
-
-/**
- * Shows a dialog for adding tags to a file
- */
-class Filer extends BaseModule
-{
- public static function init()
- {
- if (!local_user()) {
- info(L10n::t('You must be logged in to use this module'));
- self::getApp()->internalRedirect();
- }
- }
-
- public static function rawContent()
- {
- $a = self::getApp();
- $logger = $a->getLogger();
-
- $term = XML::unescape(trim(defaults($_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]);
-
- if ($item_id && strlen($term)) {
- // file item
- Model\FileTag::saveFile(local_user(), $item_id, $term);
- info(L10n::t('Filetag %s saved to item', $term));
- }
-
- // return filer dialog
- $filetags = PConfig::get(local_user(), 'system', 'filetags');
- $filetags = Model\FileTag::fileToList($filetags, 'file');
- $filetags = explode(",", $filetags);
-
- $tpl = Renderer::getMarkupTemplate("filer_dialog.tpl");
- echo Renderer::replaceMacros($tpl, [
- '$field' => ['term', L10n::t("Save to Folder:"), '', '', $filetags, L10n::t('- select -')],
- '$submit' => L10n::t('Save'),
- ]);
-
- exit;
- }
-}
--- /dev/null
+<?php
+
+namespace Friendica\Module\Filer;
+
+use Friendica\BaseModule;
+use Friendica\Model\FileTag;
+use Friendica\Network\HTTPException;
+use Friendica\Util\XML;
+
+/**
+ * Remove a tag from a file
+ */
+class RemoveTag extends BaseModule
+{
+ public static function content()
+ {
+ if (!local_user()) {
+ throw new HTTPException\ForbiddenException();
+ }
+
+ $app = self::getApp();
+ $logger = $app->getLogger();
+
+ $item_id = (($app->argc > 1) ? intval($app->argv[1]) : 0);
+
+ $term = XML::unescape(trim(defaults($_GET, 'term', '')));
+ $cat = XML::unescape(trim(defaults($_GET, 'cat', '')));
+
+ $category = (($cat) ? true : false);
+
+ if ($category) {
+ $term = $cat;
+ }
+
+ $logger->info('Filer - Remove Tag', [
+ 'term' => $term,
+ 'item' => $item_id,
+ 'category' => ($category ? 'true' : 'false')
+ ]);
+
+ if ($item_id && strlen($term)) {
+ if (FileTag::unsaveFile(local_user(), $item_id, $term, $category)) {
+ info('Item removed');
+ }
+ } else {
+ info('Item was not deleted');
+ }
+
+ $app->internalRedirect('/network?f=&file=' . rawurlencode($term));
+ }
+}
--- /dev/null
+<?php
+
+namespace Friendica\Module\Filer;
+
+use Friendica\BaseModule;
+use Friendica\Core\L10n;
+use Friendica\Core\PConfig;
+use Friendica\Core\Renderer;
+use Friendica\Model;
+use Friendica\Util\XML;
+
+/**
+ * Shows a dialog for adding tags to a file
+ */
+class SaveTag extends BaseModule
+{
+ public static function init()
+ {
+ if (!local_user()) {
+ info(L10n::t('You must be logged in to use this module'));
+ self::getApp()->internalRedirect();
+ }
+ }
+
+ public static function rawContent()
+ {
+ $a = self::getApp();
+ $logger = $a->getLogger();
+
+ $term = XML::unescape(trim(defaults($_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]);
+
+ if ($item_id && strlen($term)) {
+ // file item
+ Model\FileTag::saveFile(local_user(), $item_id, $term);
+ info(L10n::t('Filetag %s saved to item', $term));
+ }
+
+ // return filer dialog
+ $filetags = PConfig::get(local_user(), 'system', 'filetags');
+ $filetags = Model\FileTag::fileToList($filetags, 'file');
+ $filetags = explode(",", $filetags);
+
+ $tpl = Renderer::getMarkupTemplate("filer_dialog.tpl");
+ echo Renderer::replaceMacros($tpl, [
+ '$field' => ['term', L10n::t("Save to Folder:"), '', '', $filetags, L10n::t('- select -')],
+ '$submit' => L10n::t('Save'),
+ ]);
+
+ exit;
+ }
+}