Jake Vanderwerf
3 days ago ba1e1ccf869b818f7a7a897264dfea05563a7796
inc/managers/Notifications/Notifications.php
@@ -46,8 +46,8 @@
            ]
         ]);
      }
      $contentTax = Registrar::getFeatured('is_content', 'term');
      $verifyEntry = Registrar::getFeatured('verify_entry', 'term');
      $contentTax = Registrar::withFeature('is_content', 'term');
      $verifyEntry = Registrar::withFeature('verify_entry', 'term');
      if (!empty(array_intersect($contentTax, $verifyEntry))) {
         $types = array_merge($types, [
            'entry_requested'  => [
@@ -69,7 +69,7 @@
            ]
         ]);
      }
      $invitable = Registrar::getFeatured('invitable');
      $invitable = Registrar::withFeature('invitable');
      if (!empty($invitable)) {
         $types = array_merge($types, [
            'invitation_requested' => [
@@ -97,12 +97,12 @@
         ]);
      }
      $approvals = Registrar::getFeatured('approve_new');
      $approvals = Registrar::withFeature('approve_new');
      if (!empty($approvals)) {
         $tmp = ['user', 'term', 'post'];
         $app = [];
         foreach ($tmp as $t) {
            $approvals = Registrar::getFeatured('approve_new', $t);
            $approvals = Registrar::withFeature('approve_new', $t);
            if (!empty($approvals)) {
               $app = array_merge($app, [
                  $t.'_new' => [
@@ -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`)'
      ]);