PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.0.7
Presto Player v2.0.7
4.5.0 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / inc / Models / Preset.php
presto-player / inc / Models Last commit date
AudioPreset.php 4 years ago Block.php 3 years ago CurrentUser.php 5 years ago EmailCollection.php 5 years ago LicensedProduct.php 5 years ago Model.php 4 years ago ModelInterface.php 5 years ago Player.php 5 years ago Post.php 5 years ago Preset.php 3 years ago ReusableVideo.php 3 years ago Setting.php 5 years ago Video.php 5 years ago Webhook.php 3 years ago
Preset.php
208 lines
1 <?php
2
3 namespace PrestoPlayer\Models;
4
5 class Preset extends Model
6 {
7 /**
8 * Table used to access db
9 *
10 * @var string
11 */
12 protected $table = 'presto_player_presets';
13
14 /**
15 * Model Schema
16 *
17 * @var array
18 */
19 public function schema()
20 {
21 return [
22 'id' => [
23 'type' => 'integer'
24 ],
25 'name' => [
26 'type' => 'string',
27 'sanitize_callback' => 'wp_kses_post'
28 ],
29 'slug' => [
30 'type' => 'string',
31 'sanitize_callback' => 'sanitize_title'
32 ],
33 'icon' => [
34 'type' => 'string',
35 'sanitize_callback' => 'sanitize_text_field'
36 ],
37 'skin' => [
38 'type' => 'string',
39 'sanitize_callback' => 'sanitize_text_field'
40 ],
41 'caption_style' => [
42 'type' => 'string',
43 'sanitize_callback' => 'sanitize_text_field'
44 ],
45 'caption_background' => [
46 'type' => 'string',
47 'sanitize_callback' => 'sanitize_hex_color'
48 ],
49 'play' => [
50 'type' => 'boolean',
51 'default' => false
52 ],
53 'play-large' => [
54 'type' => 'boolean',
55 'default' => false
56 ],
57 'rewind' => [
58 'type' => 'boolean',
59 'default' => false
60 ],
61 'fast-forward' => [
62 'type' => 'boolean',
63 'default' => false
64 ],
65 'progress' => [
66 'type' => 'boolean',
67 'default' => false
68 ],
69 'current-time' => [
70 'type' => 'boolean',
71 'default' => false
72 ],
73 'mute' => [
74 'type' => 'boolean',
75 'default' => false
76 ],
77 'volume' => [
78 'type' => 'boolean',
79 'default' => false
80 ],
81 'speed' => [
82 'type' => 'boolean',
83 'default' => false
84 ],
85 'pip' => [
86 'type' => 'boolean',
87 'default' => false
88 ],
89 'fullscreen' => [
90 'type' => 'boolean',
91 'default' => false
92 ],
93 'captions' => [
94 'type' => 'boolean',
95 'default' => false
96 ],
97 'reset_on_end' => [
98 'type' => 'boolean',
99 'default' => false
100 ],
101 'auto_hide' => [
102 'type' => 'boolean',
103 'default' => false
104 ],
105 'captions_enabled' => [
106 'type' => 'boolean',
107 'default' => false
108 ],
109 'sticky_scroll' => [
110 'type' => 'boolean',
111 'default' => false
112 ],
113 'sticky_scroll_position' => [
114 'type' => 'string',
115 'default' => 'bottom right'
116 ],
117 'on_video_end' => [
118 'type' => 'string',
119 'default' => 'select'
120 ],
121 'play_video_viewport' => [
122 'type' => 'boolean',
123 'default' => false
124 ],
125 'save_player_position' => [
126 'type' => 'boolean',
127 'default' => false
128 ],
129 'hide_youtube' => [
130 'type' => 'boolean',
131 'default' => false
132 ],
133 'lazy_load_youtube' => [
134 'type' => 'boolean',
135 'default' => false
136 ],
137 'hide_logo' => [
138 'type' => 'boolean',
139 'default' => false
140 ],
141 'border_radius' => [
142 'type' => 'integer',
143 'default' => 0
144 ],
145 'cta' => [
146 'type' => 'array',
147 ],
148 'watermark' => [
149 'type' => 'array'
150 ],
151 'search' => [
152 'type' => 'array'
153 ],
154 'email_collection' => [
155 'type' => 'array',
156 ],
157 'action_bar' => [
158 'type' => 'array',
159 ],
160 'is_locked' => [
161 'type' => 'boolean',
162 'default' => false
163 ],
164 'created_by' => [
165 'type' => 'integer',
166 'default' => get_current_user_id()
167 ],
168 'created_at' => [
169 'type' => 'string'
170 ],
171 'updated_at' => [
172 'type' => 'string',
173 'default' => current_time('mysql')
174 ],
175 'deleted_at' => [
176 'type' => 'string'
177 ]
178 ];
179 }
180
181 /**
182 * These attributes are queryable
183 *
184 * @var array
185 */
186 protected $queryable = ['slug'];
187
188 /**
189 * Create a preset in the db
190 *
191 * @param array $args
192 * @return integer
193 */
194 public function create($args = [])
195 {
196 // name is required
197 if (empty($args['name'])) {
198 return new \WP_Error('missing_parameter', __('You must enter a name for the preset.', 'presto-player'));
199 }
200
201 // generate slug on the fly
202 $args['slug'] = !empty($args['slug']) ? $args['slug'] : sanitize_title($args['name']);
203
204 // create
205 return parent::create($args);
206 }
207 }
208