??????????????
??????????????
??????????????
??????????????
Warning : Undefined variable $auth in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
Warning : Trying to access array offset on value of type null in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
??????????????
??????????????
??????????????
??????????????
File Manager
✏️ Edit File: /home/mklsvubc/netecfwd.co.uk/wp-content/plugins/latepoint/lib/models/location_category_model.php
⬅ Kembali
<?php
class OsLocationCategoryModel extends OsModel {
public $id,
$name,
$parent_id,
$selection_image_id,
$order_number,
$short_description;
function __construct( $id = false ) {
parent::__construct();
$this->table_name = LATEPOINT_TABLE_LOCATION_CATEGORIES;
$this->nice_names = array(
'name' => __( 'Location Category Name', 'latepoint' ),
'short_description' => __( 'Location Category Short Description', 'latepoint' ),
'selection_image_id' => __( 'Location Category Selection Image', 'latepoint' ),
);
if ( $id ) {
$this->load_by_id( $id );
}
}
public function generate_data_vars(): array {
return [
'id' => $this->id,
'name' => $this->name,
];
}
public function count_locations() {
$location = new OsLocationModel();
$total_location = $location->filter_allowed_records()->where( [ 'category_id' => $this->id ] )->should_be_active()->count();
$child_categories = new OsLocationCategoryModel();
$child_categories = $child_categories->where( [ 'parent_id' => $this->id ] )->get_results_as_models();
if ( $child_categories ) {
foreach ( $child_categories as $child_category ) {
$total_location = $total_location + $child_category->count_locations();
}
}
return $total_location;
}
public function delete( $id = false ) {
if ( ! $id && isset( $this->id ) ) {
$id = $this->id;
}
if ( $id && $this->db->delete( $this->table_name, array( 'id' => $id ), array( '%d' ) ) ) {
$this->db->update( LATEPOINT_TABLE_SERVICES, array( 'category_id' => 0 ), array( 'category_id' => $id ), array( '%d' ) );
$this->db->update( $this->table_name, array( 'parent_id' => null ), array( 'parent_id' => $id ), array( '%d' ) );
return true;
} else {
return false;
}
}
public function get_selection_image_url() {
$default_location_image_url = LATEPOINT_IMAGES_URL . 'location-image.png';
return OsImageHelper::get_image_url_by_id( $this->selection_image_id, 'thumbnail', $default_location_image_url );
}
protected function properties_to_validate() {
$validations = array(
'name' => array( 'presence', 'uniqueness' ),
);
return $validations;
}
public function index_for_select() {
$categories = $this->db->get_results( 'SELECT id, name FROM ' . $this->table_name );
$categories_for_select = array();
$categories_for_select[] = array(
'value' => 0,
'label' => __( 'Not categorized', 'latepoint' ),
);
foreach ( $categories as $category ) {
$categories_for_select[] = array(
'value' => $category->id,
'label' => $category->name,
);
}
return $categories_for_select;
}
protected function allowed_params( $role = 'admin' ) {
$allowed_params = array(
'id',
'name',
'short_description',
'selection_image_id',
'parent_id',
'order_number',
);
return $allowed_params;
}
protected function params_to_save( $role = 'admin' ) {
$params_to_save = array(
'id',
'name',
'short_description',
'selection_image_id',
'parent_id',
'order_number',
);
return $params_to_save;
}
public function get_active_locations( $filter_allowed_records = false ) {
if ( ! isset( $this->active_locations ) ) {
$location = new OsLocationModel();
if ( $filter_allowed_records ) {
$location->filter_allowed_records();
}
$location->should_be_active()->where( array( 'category_id' => $this->id ) )->order_by( 'order_number asc' );
$this->active_locations = $location->get_results_as_models();
}
return $this->active_locations;
}
public function get_disabled_locations( $filter_allowed_records = false ) {
if ( ! isset( $this->disabled_locations ) ) {
$location = new OsLocationModel();
if ( $filter_allowed_records ) {
$location->filter_allowed_records();
}
$location->where(
array(
'category_id' => $this->id,
'status' => LATEPOINT_LOCATION_STATUS_DISABLED,
)
)->order_by( 'order_number asc' );
$this->disabled_locations = $location->get_results_as_models();
}
return $this->disabled_locations;
}
protected function get_locations( $filter_allowed_records = false ) {
if ( ! isset( $this->locations ) ) {
$location = new OsLocationModel();
if ( $filter_allowed_records ) {
$location->filter_allowed_records();
}
$this->locations = $location->where( array( 'category_id' => $this->id ) )->order_by( 'order_number asc' )->get_results_as_models();
}
return $this->locations;
}
}
Nama
Tipe
Ukuran
Diubah
Aksi
🐘 activity_model.php
php
5.1 KB
2026-03-10 11:15
🐘 agent_meta_model.php
php
190 B
2026-03-10 11:15
🐘 agent_model.php
php
13.5 KB
2026-03-19 14:44
🐘 booking_meta_model.php
php
194 B
2026-03-10 11:15
🐘 booking_model.php
php
43.7 KB
2026-06-24 10:07
🐘 bundle_meta_model.php
php
192 B
2026-03-10 11:15
🐘 bundle_model.php
php
8.9 KB
2026-06-24 10:07
🐘 cart_item_model.php
php
8.4 KB
2026-03-10 11:15
🐘 cart_meta_model.php
php
253 B
2026-03-10 11:15
🐘 cart_model.php
php
16.8 KB
2026-06-15 12:21
🐘 connector_model.php
php
1.1 KB
2026-03-10 11:15
🐘 customer_meta_model.php
php
196 B
2026-03-10 11:15
🐘 customer_model.php
php
15.6 KB
2026-05-14 14:27
🐘 invoice_model.php
php
6 KB
2026-06-15 12:21
🐘 join_bundles_services_model.php
php
1 KB
2026-03-10 11:15
🐘 location_category_model.php
php
4.4 KB
2026-03-10 11:15
🐘 location_model.php
php
6.2 KB
2026-03-10 11:15
🐘 meta_model.php
php
3.8 KB
2026-03-10 11:15
🐘 model.php
php
32.2 KB
2026-03-10 11:15
🐘 off_period_model.php
php
3.1 KB
2026-03-10 11:15
🐘 order_intent_meta_model.php
php
268 B
2026-03-10 11:15
🐘 order_intent_model.php
php
18.8 KB
2026-06-24 10:07
🐘 order_item_model.php
php
8.4 KB
2026-03-10 11:15
🐘 order_meta_model.php
php
255 B
2026-03-10 11:15
🐘 order_model.php
php
18 KB
2026-05-29 11:28
🐘 otp_model.php
php
1.1 KB
2026-03-10 11:15
🐘 payment_request_model.php
php
2.5 KB
2026-03-10 11:15
🐘 process_job_model.php
php
10.3 KB
2026-03-10 11:15
🐘 process_model.php
php
7.8 KB
2026-05-29 11:28
🐘 recurrence_model.php
php
793 B
2026-03-10 11:15
🐘 service_category_model.php
php
3.8 KB
2026-03-10 11:15
🐘 service_meta_model.php
php
194 B
2026-03-10 11:15
🐘 service_model.php
php
18.6 KB
2026-03-10 11:15
🐘 session_model.php
php
898 B
2026-03-10 11:15
🐘 settings_model.php
php
973 B
2026-03-10 11:15
🐘 step_settings_model.php
php
1.1 KB
2026-03-10 11:15
🐘 transaction_intent_model.php
php
11 KB
2026-03-10 11:15
🐘 transaction_model.php
php
6 KB
2026-03-10 11:15
🐘 transaction_refund_model.php
php
1.5 KB
2026-03-10 11:15
🐘 work_period_model.php
php
1.6 KB
2026-03-10 11:15