PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
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 2 years ago Concerns 2 years ago Factories 2 years ago Relations 2 years ago BroadcastableModelEventOccurred.php 2 years ago BroadcastsEvents.php 2 years ago Builder.php 2 years ago Collection.php 2 years ago HigherOrderBuilderProxy.php 2 years ago InvalidCastException.php 2 years ago JsonEncodingException.php 2 years ago MassAssignmentException.php 2 years ago MassPrunable.php 2 years ago Model.php 2 years ago ModelNotFoundException.php 2 years ago Prunable.php 2 years ago QueueEntityResolver.php 2 years ago RelationNotFoundException.php 2 years ago Scope.php 2 years ago SoftDeletes.php 2 years ago SoftDeletingScope.php 2 years ago
BroadcastableModelEventOccurred.php
116 lines
1 <?php
2
3 namespace IAWP_SCOPED\Illuminate\Database\Eloquent;
4
5 use IAWP_SCOPED\Illuminate\Broadcasting\InteractsWithSockets;
6 use IAWP_SCOPED\Illuminate\Broadcasting\PrivateChannel;
7 use IAWP_SCOPED\Illuminate\Contracts\Broadcasting\ShouldBroadcast;
8 use IAWP_SCOPED\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 * Create a new event instance.
45 *
46 * @param \Illuminate\Database\Eloquent\Model $model
47 * @param string $event
48 * @return void
49 */
50 public function __construct($model, $event)
51 {
52 $this->model = $model;
53 $this->event = $event;
54 }
55 /**
56 * The channels the event should broadcast on.
57 *
58 * @return array
59 */
60 public function broadcastOn()
61 {
62 $channels = empty($this->channels) ? $this->model->broadcastOn($this->event) ?: [] : $this->channels;
63 return \IAWP_SCOPED\collect($channels)->map(function ($channel) {
64 return $channel instanceof Model ? new PrivateChannel($channel) : $channel;
65 })->all();
66 }
67 /**
68 * The name the event should broadcast as.
69 *
70 * @return string
71 */
72 public function broadcastAs()
73 {
74 $default = class_basename($this->model) . \ucfirst($this->event);
75 return \method_exists($this->model, 'broadcastAs') ? $this->model->broadcastAs($this->event) ?: $default : $default;
76 }
77 /**
78 * Get the data that should be sent with the broadcasted event.
79 *
80 * @return array|null
81 */
82 public function broadcastWith()
83 {
84 return \method_exists($this->model, 'broadcastWith') ? $this->model->broadcastWith($this->event) : null;
85 }
86 /**
87 * Manually specify the channels the event should broadcast on.
88 *
89 * @param array $channels
90 * @return $this
91 */
92 public function onChannels(array $channels)
93 {
94 $this->channels = $channels;
95 return $this;
96 }
97 /**
98 * Determine if the event should be broadcast synchronously.
99 *
100 * @return bool
101 */
102 public function shouldBroadcastNow()
103 {
104 return $this->event === 'deleted' && !\method_exists($this->model, 'bootSoftDeletes');
105 }
106 /**
107 * Get the event name.
108 *
109 * @return string
110 */
111 public function event()
112 {
113 return $this->event;
114 }
115 }
116