refactor(Core): optimize admin panel and refactor

This commit is contained in:
2026-05-07 00:15:32 +03:30
parent dec4e67b9e
commit 7cc14b7439
25 changed files with 1162 additions and 282 deletions

View File

@@ -46,12 +46,20 @@ class BannerRepository {
unset($data['id'], $data['created_at']);
if ($banner->id) {
$wpdb->update($this->table_name, $data, ['id' => $banner->id]);
$result = $wpdb->update($this->table_name, $data, ['id' => $banner->id]);
if ($result === false) {
return false;
}
$this->clearCache();
return $banner->id;
}
$wpdb->insert($this->table_name, $data);
$result = $wpdb->insert($this->table_name, $data);
if ($result === false) {
return false;
}
$this->clearCache();
return $wpdb->insert_id;
}
@@ -76,6 +84,12 @@ class BannerRepository {
}
public function clearCache() {
wp_cache_flush();
$version = microtime(true);
update_option('sodino_banners_cache_version', $version, false);
wp_cache_set('version', $version, 'sodino_banners');
if (function_exists('wp_cache_flush_group')) {
wp_cache_flush_group('sodino_banners');
}
}
}

View File

@@ -87,10 +87,18 @@ class RuleRepository {
unset($data['id'], $data['created_at'], $data['updated_at']);
if ($rule->id) {
$wpdb->update($this->table_name, $data, ['id' => $rule->id]);
$result = $wpdb->update($this->table_name, $data, ['id' => $rule->id]);
if ($result === false) {
return false;
}
$id = $rule->id;
} else {
$wpdb->insert($this->table_name, $data);
$result = $wpdb->insert($this->table_name, $data);
if ($result === false) {
return false;
}
$id = $wpdb->insert_id;
}

View File

@@ -46,11 +46,19 @@ class UpsellRepository {
unset($data['id'], $data['created_at'], $data['updated_at']);
if ($upsell->id) {
$wpdb->update($this->table_name, $data, ['id' => $upsell->id]);
$result = $wpdb->update($this->table_name, $data, ['id' => $upsell->id]);
if ($result === false) {
return false;
}
return $upsell->id;
}
$wpdb->insert($this->table_name, $data);
$result = $wpdb->insert($this->table_name, $data);
if ($result === false) {
return false;
}
return $wpdb->insert_id;
}