PluginProbe ʕ •ᴥ•ʔ
LatePoint – Calendar Booking Plugin for Appointments and Events / 5.1.3
LatePoint – Calendar Booking Plugin for Appointments and Events v5.1.3
5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.1.91 5.1.92 5.1.93 5.1.94 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1
latepoint / lib / models / meta_model.php
latepoint / lib / models Last commit date
activity_model.php 1 year ago agent_meta_model.php 1 year ago agent_model.php 1 year ago booking_meta_model.php 1 year ago booking_model.php 1 year ago bundle_model.php 1 year ago cart_item_model.php 1 year ago cart_meta_model.php 1 year ago cart_model.php 1 year ago connector_model.php 1 year ago customer_meta_model.php 1 year ago customer_model.php 1 year ago invoice_model.php 1 year ago join_bundles_services_model.php 1 year ago location_category_model.php 1 year ago location_model.php 1 year ago meta_model.php 1 year ago model.php 1 year ago order_intent_meta_model.php 1 year ago order_intent_model.php 1 year ago order_item_model.php 1 year ago order_meta_model.php 1 year ago order_model.php 1 year ago payment_request_model.php 1 year ago process_job_model.php 1 year ago process_model.php 1 year ago service_category_model.php 1 year ago service_meta_model.php 1 year ago service_model.php 1 year ago session_model.php 1 year ago settings_model.php 1 year ago step_settings_model.php 1 year ago transaction_intent_model.php 1 year ago transaction_model.php 1 year ago transaction_refund_model.php 1 year ago work_period_model.php 1 year ago
meta_model.php
120 lines
1 <?php
2
3 class OsMetaModel extends OsModel{
4 var $id,
5 $meta_key,
6 $meta_value,
7 $object_id,
8 $created_at,
9 $updated_at;
10
11 protected static $encrypted_settings = array();
12
13 function __construct($object_id = false){
14 $this->nice_names = array();
15 $this->object_id = $object_id;
16 parent::__construct();
17 }
18
19 public function delete_by_key($meta_key, $object_id){
20 if(!$object_id) return false;
21 $meta_to_delete = $this->where(array('meta_key' => $meta_key, 'object_id' => $object_id))->get_results_as_models();
22 if($meta_to_delete){
23 foreach($meta_to_delete as $meta_obj){
24 $meta_obj->delete();
25 }
26 }
27 return true;
28 }
29
30 public function save_by_key($meta_key, $meta_value, $object_id = false){
31 if(!$object_id) $object_id = $this->object_id;
32 if(!$object_id) return false;
33 $existing_meta = $this->where(array('meta_key' => $meta_key, 'object_id' => $object_id))->set_limit(1)->get_results_as_models();
34 if($existing_meta){
35 $existing_meta->meta_value = self::prepare_value($meta_key, $meta_value);
36 if (empty($existing_meta->meta_value)) {
37 return $existing_meta->delete();
38 }
39 return $existing_meta->save();
40 }else{
41 $new_meta = $this;
42 $new_meta->object_id = $object_id;
43 $new_meta->meta_key = $meta_key;
44 $new_meta->meta_value = self::prepare_value($meta_key, $meta_value);
45 return $new_meta->save();
46 }
47 }
48
49 private static function prepare_value($meta_key, $meta_value){
50 if(in_array($meta_key, self::$encrypted_settings)){
51 $meta_value = OsEncryptHelper::encrypt_value($meta_value);
52 }
53 return $meta_value;
54 }
55
56 public function get_by_key($meta_key, $object_id = false, $default = false){
57 if(!$object_id) $object_id = $this->object_id;
58 if(!$object_id) return $default;
59 $record = $this->where(array('meta_key' => $meta_key, 'object_id' => $object_id))->set_limit(1)->get_results_as_models();
60 if($record){
61 if(in_array($meta_key, self::$encrypted_settings)){
62 return OsEncryptHelper::decrypt_value($record->meta_value);
63 }else{
64 return $record->meta_value;
65 }
66 }else{
67 return $default;
68 }
69 }
70
71 public function get_by_object_id($object_id = false, $default = []){
72 if(!$object_id) $object_id = $this->object_id;
73 if(!$object_id) return $default;
74 $records = $this->where(array('object_id' => $object_id))->get_results();
75 if($records){
76 $metas = [];
77 foreach($records as $record){
78 $value = in_array($record->meta_key, self::$encrypted_settings) ? OsEncryptHelper::decrypt_value($record->meta_value) : $record->meta_value;
79 $metas[$record->meta_key] = $value;
80 }
81 return $metas;
82 }else{
83 return $default;
84 }
85 }
86
87 public function get_object_id_by_value($meta_key, $meta_value){
88 if(!$meta_value || !$meta_key) return false;
89 $record = $this->select('object_id')->where(array('meta_key' => $meta_key, 'meta_value' => $meta_value))->set_limit(1)->get_results_as_models();
90 if($record){
91 return $record->object_id;
92 }else{
93 return false;
94 }
95 }
96
97
98 protected function allowed_params($role = 'admin'){
99 $allowed_params = array('object_id',
100 'meta_key',
101 'meta_value');
102 return $allowed_params;
103 }
104
105 protected function params_to_save($role = 'admin'){
106 $params_to_save = array('object_id',
107 'meta_key',
108 'meta_value');
109 return $params_to_save;
110 }
111
112 protected function properties_to_validate(){
113 $validations = array(
114 'object_id' => array('presence'),
115 'meta_key' => array('presence'),
116 'meta_value' => array('presence'),
117 );
118 return $validations;
119 }
120 }