Merge pull request 'Worktree creator income rework' (#405) from worktree-creator-income-rework into main
Reviewed-on: CYL/wordpress-theme-aksrt#405
This commit is contained in:
+11
-7
@@ -283,8 +283,9 @@ class Revenue {
|
||||
$where[] = 'status = %s';
|
||||
$params[] = $status;
|
||||
}
|
||||
$currency = sanitize_key((string) ($args['currency'] ?? ''));
|
||||
if (in_array($currency, ['CNY', 'points'], true)) {
|
||||
$currency = strtolower(sanitize_key((string) ($args['currency'] ?? '')));
|
||||
if (in_array($currency, ['cny', 'points'], true)) {
|
||||
$currency = $currency === 'points' ? 'points' : 'CNY';
|
||||
$where[] = 'currency = %s';
|
||||
$params[] = $currency;
|
||||
}
|
||||
@@ -317,8 +318,9 @@ class Revenue {
|
||||
|
||||
$where = 'author_id = %d';
|
||||
$params = [$user_id];
|
||||
$currency = sanitize_key((string) ($args['currency'] ?? ''));
|
||||
if (in_array($currency, ['CNY', 'points'], true)) {
|
||||
$currency = strtolower(sanitize_key((string) ($args['currency'] ?? '')));
|
||||
if (in_array($currency, ['cny', 'points'], true)) {
|
||||
$currency = $currency === 'points' ? 'points' : 'CNY';
|
||||
$where .= ' AND currency = %s';
|
||||
$params[] = $currency;
|
||||
}
|
||||
@@ -388,8 +390,9 @@ class Revenue {
|
||||
$where[] = 'post_id = %d';
|
||||
$params[] = $post_id;
|
||||
}
|
||||
$currency = sanitize_key((string) ($args['currency'] ?? ''));
|
||||
if (in_array($currency, ['CNY', 'points'], true)) {
|
||||
$currency = strtolower(sanitize_key((string) ($args['currency'] ?? '')));
|
||||
if (in_array($currency, ['cny', 'points'], true)) {
|
||||
$currency = $currency === 'points' ? 'points' : 'CNY';
|
||||
$where[] = 'currency = %s';
|
||||
$params[] = $currency;
|
||||
}
|
||||
@@ -406,7 +409,8 @@ class Revenue {
|
||||
}
|
||||
}
|
||||
$where_sql = $where ? 'WHERE ' . implode(' AND ', $where) : '';
|
||||
$total = (int) ($params ? $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM {$this->table()} {$where_sql}", $params)) : $wpdb->get_var("SELECT COUNT(*) FROM {$this->table()}"));
|
||||
$count_sql = "SELECT COUNT(*) FROM {$this->table()} {$where_sql}";
|
||||
$total = (int) ($params ? $wpdb->get_var($wpdb->prepare($count_sql, $params)) : $wpdb->get_var($count_sql));
|
||||
$items_params = array_merge($params, [$limit, $offset]);
|
||||
$items = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$this->table()} {$where_sql} ORDER BY created_at DESC LIMIT %d OFFSET %d", $items_params), ARRAY_A);
|
||||
return ['items' => $items ?: [], 'total' => $total, 'page' => (int) floor($offset / $limit) + 1, 'max_pages' => (int) ceil(max(1, $total) / $limit)];
|
||||
|
||||
Reference in New Issue
Block a user