PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.2.3-beta1
Presto Player v2.2.3-beta1
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 2 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 2 years ago Preset.php 2 years ago ReusableVideo.php 3 years ago Setting.php 5 years ago Video.php 2 years ago Webhook.php 3 years ago
AudioPreset.php
178 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 'show_time_elapsed' => [
110 'type' => 'boolean',
111 'default' => false
112 ],
113 'save_player_position' => [
114 'type' => 'boolean',
115 'default' => false
116 ],
117 'border_radius' => [
118 'type' => 'integer',
119 'default' => 0
120 ],
121 'cta' => [
122 'type' => 'array',
123 ],
124 'email_collection' => [
125 'type' => 'array',
126 ],
127 'action_bar' => [
128 'type' => 'array',
129 ],
130 'is_locked' => [
131 'type' => 'boolean',
132 'default' => false
133 ],
134 'created_by' => [
135 'type' => 'integer',
136 'default' => get_current_user_id()
137 ],
138 'created_at' => [
139 'type' => 'string'
140 ],
141 'updated_at' => [
142 'type' => 'string',
143 'default' => current_time('mysql')
144 ],
145 'deleted_at' => [
146 'type' => 'string'
147 ]
148 ];
149 }
150
151 /**
152 * These attributes are queryable
153 *
154 * @var array
155 */
156 protected $queryable = ['slug'];
157
158 /**
159 * Create a preset in the db
160 *
161 * @param array $args
162 * @return integer
163 */
164 public function create($args = [])
165 {
166 // name is required
167 if (empty($args['name'])) {
168 return new \WP_Error('missing_parameter', __('You must enter a name for the preset.', 'presto-player'));
169 }
170
171 // generate slug on the fly
172 $args['slug'] = !empty($args['slug']) ? $args['slug'] : sanitize_title($args['name']);
173
174 // create
175 return parent::create($args);
176 }
177 }
178