diff --git a/plugins/Favourite/Favourite.php b/plugins/Favourite/Favourite.php index 514e7ba88d..690acf8f7c 100644 --- a/plugins/Favourite/Favourite.php +++ b/plugins/Favourite/Favourite.php @@ -23,6 +23,7 @@ use App\Core\DB\DB; use App\Core\Event; use App\Core\Form; use App\Core\Modules\Module; +use App\Core\Router\RouteLoader; use App\Entity\Note; use App\Util\Common; use Plugin\Favourite\Entity\Favourite as Fave; @@ -54,7 +55,7 @@ class Favourite extends Module $ret = self::noteActionHandle($request, $form, $note, 'favourite', function ($note, $data) use ($opts) { $fave = DB::find('favourite', $opts); if (!$data['is_set'] && ($fave == null)) { - DB::persist(Fave::create($opts)); + DB::persist(Entity\Favourite::create($opts)); DB::flush(); } else { DB::remove($fave); @@ -73,8 +74,8 @@ class Favourite extends Module public function onAddRoute(RouteLoader $r) { - $r->connect('actors', '/actors', [Controller\Directory::class, 'actors']); - $r->connect('groups', '/groups', [Controller\Directory::class, 'groups']); + $r->connect('favourites', '/favourites', [Controller\Favourite::class, 'favourites']); + $r->connect('reverse_favourites', '/reversefavs', [Controller\Favourite::class, 'reverseFavourites']); return Event::next; } } diff --git a/src/Core/DB/DB.php b/src/Core/DB/DB.php index 35f6eb675b..95a7d5b6c1 100644 --- a/src/Core/DB/DB.php +++ b/src/Core/DB/DB.php @@ -162,14 +162,18 @@ abstract class DB */ public static function __callStatic(string $name, array $args) { - // TODO Plugins - // If the method is one of the following and the first argument doesn't look like a FQCN, add the prefix - $pref = '\App\Entity\\'; - if (in_array($name, ['find', 'getReference', 'getPartialReference', 'getRepository']) - && preg_match('/\\\\/', $args[0]) === 0 - && Formatting::startsWith($args[0], $pref) === false) { - $args[0] = $pref . ucfirst(Formatting::snakeCaseToCamelCase($args[0])); - $args[0] = preg_replace('/Gsactor/', 'GSActor', $args[0]); + if (($args[0] ?? '') == 'favourite') { + $args[0] = 'Plugin\Favourite\Entity\Favourite'; + } else { + // TODO Plugins + // If the method is one of the following and the first argument doesn't look like a FQCN, add the prefix + $pref = '\App\Entity\\'; + if (in_array($name, ['find', 'getReference', 'getPartialReference', 'getRepository']) + && preg_match('/\\\\/', $args[0]) === 0 + && Formatting::startsWith($args[0], $pref) === false) { + $args[0] = $pref . ucfirst(Formatting::snakeCaseToCamelCase($args[0])); + $args[0] = preg_replace('/Gsactor/', 'GSActor', $args[0]); + } } return self::$em->{$name}(...$args);