Jake Vanderwerf
9 days ago 47e77f9fac1155c536b2b87fec552c7fcce66fa6
inc/managers/Notifications/Notifications.php
@@ -4,7 +4,7 @@
use Exception;
use JVBase\managers\CustomTable;
use JVBase\registrar\Registrar;
use JVBase\utility\Features;
use JVBase\base\Site;
if (!defined('ABSPATH')) {
   exit; // Exit if accessed directly
@@ -30,7 +30,7 @@
         'icon'   => 'info',
         'digest'=> true
      ]];
      if (Features::forSite()->has('favourites')) {
      if (Site::has('favourites')) {
         $types = array_merge($types, [
            'new_favourite' => [
               'icon'   => 'heart',
@@ -130,11 +130,16 @@
      $this->types = $types;
   }
   public function getNotificationTypes(bool $all = false):array
   {
      return ($all) ? $this->types : array_keys($this->types);
   }
   private function defineTable():void
   {
      $table = CustomTable::for('notifications_main');
      $typeEnum = implode(',',array_map(function($type) { return '`'.$type.'`';}, array_keys($this->types)));
      $typeEnum = implode(',',array_map(function($type) { return "'{$type}'";}, array_keys($this->types)));
      $table->setColumns([
         'id'        => 'bigint(20) unsigned NOT NULL AUTO_INCREMENT',
@@ -159,7 +164,7 @@
         '`user_status` (`for_user`, `status`)',
         '`target_lookup` (`target_id`, `target_type`)',
         '`unread_notifications` (`for_user`, `status`, `created_at`)',
         '`requires_action` (`for_user`, `requires_action`, `action_taken`)',
         '`requires_action` (`for_user`, `action_taken`)',
         '`from_user_lookup` (`for_user`, `from_user`, `target_id`, `target_type`, `type`)'
      ]);