PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / database / Eloquent / BroadcastableModelEventOccurred.php
independent-analytics / vendor / illuminate / database / Eloquent Last commit date
Casts 1 month ago Concerns 1 month ago Factories 1 month ago Relations 1 month ago BroadcastableModelEventOccurred.php 1 month ago BroadcastsEvents.php 6 months ago Builder.php 1 month ago Collection.php 1 month ago HigherOrderBuilderProxy.php 2 years ago InvalidCastException.php 2 years ago JsonEncodingException.php 2 years ago MassAssignmentException.php 2 years ago MassPrunable.php 6 months ago MissingAttributeException.php 1 month ago Model.php 1 month ago ModelNotFoundException.php 1 month ago PendingHasThroughRelationship.php 1 month ago Prunable.php 2 years ago QueueEntityResolver.php 2 years ago RelationNotFoundException.php 2 years ago Scope.php 2 years ago SoftDeletes.php 1 month ago SoftDeletingScope.php 1 month ago
BroadcastableModelEventOccurred.php
122 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Database\Eloquent;
4
5 use IAWPSCOPED\Illuminate\Broadcasting\InteractsWithSockets;
6 use IAWPSCOPED\Illuminate\Broadcasting\PrivateChannel;
7 use IAWPSCOPED\Illuminate\Contracts\Broadcasting\ShouldBroadcast;
8 use IAWPSCOPED\Illuminate\Queue\SerializesModels;
9 /** @internal */
10 class BroadcastableModelEventOccurred implements ShouldBroadcast
11 {
12 use InteractsWithSockets, SerializesModels;
13 /**
14 * The model instance corresponding to the event.
15 *
16 * @var \Illuminate\Database\Eloquent\Model
17 */
18 public $model;
19 /**
20 * The event name (created, updated, etc.).
21 *
22 * @var string
23 */
24 protected $event;
25 /**
26 * The channels that the event should be broadcast on.
27 *
28 * @var array
29 */
30 protected $channels = [];
31 /**
32 * The queue connection that should be used to queue the broadcast job.
33 *
34 * @var string
35 */
36 public $connection;
37 /**
38 * The queue that should be used to queue the broadcast job.
39 *
40 * @var string
41 */
42 public $queue;
43 /**
44 * Indicates whether the job should be dispatched after all database transactions have committed.
45 *
46 * @var bool|null
47 */
48 public $afterCommit;
49 /**
50 * Create a new event instance.
51 *
52 * @param \Illuminate\Database\Eloquent\Model $model
53 * @param string $event
54 * @return void
55 */
56 public function __construct($model, $event)
57 {
58 $this->model = $model;
59 $this->event = $event;
60 }
61 /**
62 * The channels the event should broadcast on.
63 *
64 * @return array
65 */
66 public function broadcastOn()
67 {
68 $channels = empty($this->channels) ? $this->model->broadcastOn($this->event) ?: [] : $this->channels;
69 return \IAWPSCOPED\collect($channels)->map(function ($channel) {
70 return $channel instanceof Model ? new PrivateChannel($channel) : $channel;
71 })->all();
72 }
73 /**
74 * The name the event should broadcast as.
75 *
76 * @return string
77 */
78 public function broadcastAs()
79 {
80 $default = class_basename($this->model) . \ucfirst($this->event);
81 return \method_exists($this->model, 'broadcastAs') ? $this->model->broadcastAs($this->event) ?: $default : $default;
82 }
83 /**
84 * Get the data that should be sent with the broadcasted event.
85 *
86 * @return array|null
87 */
88 public function broadcastWith()
89 {
90 return \method_exists($this->model, 'broadcastWith') ? $this->model->broadcastWith($this->event) : null;
91 }
92 /**
93 * Manually specify the channels the event should broadcast on.
94 *
95 * @param array $channels
96 * @return $this
97 */
98 public function onChannels(array $channels)
99 {
100 $this->channels = $channels;
101 return $this;
102 }
103 /**
104 * Determine if the event should be broadcast synchronously.
105 *
106 * @return bool
107 */
108 public function shouldBroadcastNow()
109 {
110 return $this->event === 'deleted' && !\method_exists($this->model, 'bootSoftDeletes');
111 }
112 /**
113 * Get the event name.
114 *
115 * @return string
116 */
117 public function event()
118 {
119 return $this->event;
120 }
121 }
122