]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Search/Saved.php
Remove direct calls to App->user
[friendica.git] / src / Module / Search / Saved.php
index 9a02c8a4e4c85ce46d7c240456968fb337309f0d..723860bd80cf04e75c50d9974f612004edb49a4e 100644 (file)
@@ -1,44 +1,62 @@
 <?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
 
 namespace Friendica\Module\Search;
 
-use Friendica\App\Arguments;
 use Friendica\BaseModule;
-use Friendica\Core\L10n;
+use Friendica\Core\Search;
 use Friendica\Database\DBA;
+use Friendica\DI;
 use Friendica\Util\Strings;
 
 class Saved extends BaseModule
 {
-       public static function init()
+       public static function init(array $parameters = [])
        {
-               /** @var Arguments $args */
-               $args = self::getClass(Arguments::class);
+               $action = DI::args()->get(2, 'none');
+               $search = Strings::escapeTags(trim(rawurldecode($_GET['term'] ?? '')));
 
-               $action = $args->get(2, 'none');
-               $search = Strings::escapeTags(trim(rawurldecode($args->get(3, ''))));
+               $return_url = $_GET['return_url'] ?? Search::getSearchPath($search);
 
-               $return_url = $_GET['return_url'] ?? 'search?q=' . urlencode($search);
-
-               if (local_user()) {
+               if (local_user() && $search) {
                        switch ($action) {
                                case 'add':
                                        $fields = ['uid' => local_user(), 'term' => $search];
                                        if (!DBA::exists('search', $fields)) {
-                                               DBA::insert('search', $fields);
-                                               info(L10n::t('Search term successfully saved.'));
+                                               if (!DBA::insert('search', $fields)) {
+                                                       notice(DI::l10n()->t('Search term was not saved.'));
+                                               }
                                        } else {
-                                               info(L10n::t('Search term already saved.'));
+                                               notice(DI::l10n()->t('Search term already saved.'));
                                        }
                                        break;
 
                                case 'remove':
-                                       DBA::delete('search', ['uid' => local_user(), 'term' => $search]);
-                                       info(L10n::t('Search term successfully removed.'));
+                                       if (!DBA::delete('search', ['uid' => local_user(), 'term' => $search])) {
+                                               notice(DI::l10n()->t('Search term was not removed.'));
+                                       }
                                        break;
                        }
                }
 
-               self::getApp()->internalRedirect($return_url);
+               DI::baseUrl()->redirect($return_url);
        }
 }