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 / AudioPreset.php
presto-player / inc / Models Last commit date
AudioPreset.php 4 years ago Block.php 2 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
AudioPreset.php
174 lines
1 <?php
2
3 namespace PrestoPlayer\Models;
4
5 class AudioPreset extends Model
6 {
7 /**
8 * Table used to access db
9 *
10 * @var string
11 */
12 protected $table = 'presto_player_audio_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 'background_color' => [
42 'type' => 'string',
43 'sanitize_callback' => 'sanitize_hex_color'
44 ],
45 'control_color' => [
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 'reset_on_end' => [
90 'type' => 'boolean',
91 'default' => false
92 ],
93 'sticky_scroll' => [
94 'type' => 'boolean',
95 'default' => false
96 ],
97 'sticky_scroll_position' => [
98 'type' => 'string',
99 'default' => 'bottom right'
100 ],
101 'on_video_end' => [
102 'type' => 'string',
103 'default' => 'select'
104 ],
105 'play_video_viewport' => [
106 'type' => 'boolean',
107 'default' => false
108 ],
109 'save_player_position' => [
110 'type' => 'boolean',
111 'default' => false
112 ],
113 'border_radius' => [
114 'type' => 'integer',
115 'default' => 0
116 ],
117 'cta' => [
118 'type' => 'array',
119 ],
120 'email_collection' => [
121 'type' => 'array',
122 ],
123 'action_bar' => [
124 'type' => 'array',
125 ],
126 'is_locked' => [
127 'type' => 'boolean',
128 'default' => false
129 ],
130 'created_by' => [
131 'type' => 'integer',
132 'default' => get_current_user_id()
133 ],
134 'created_at' => [
135 'type' => 'string'
136 ],
137 'updated_at' => [
138 'type' => 'string',
139 'default' => current_time('mysql')
140 ],
141 'deleted_at' => [
142 'type' => 'string'
143 ]
144 ];
145 }
146
147 /**
148 * These attributes are queryable
149 *
150 * @var array
151 */
152 protected $queryable = ['slug'];
153
154 /**
155 * Create a preset in the db
156 *
157 * @param array $args
158 * @return integer
159 */
160 public function create($args = [])
161 {
162 // name is required
163 if (empty($args['name'])) {
164 return new \WP_Error('missing_parameter', __('You must enter a name for the preset.', 'presto-player'));
165 }
166
167 // generate slug on the fly
168 $args['slug'] = !empty($args['slug']) ? $args['slug'] : sanitize_title($args['name']);
169
170 // create
171 return parent::create($args);
172 }
173 }
174