From 383a22fb8fc86d1569b6856323f210f32cf164a3 Mon Sep 17 00:00:00 2001 From: David Cramer Date: Mon, 29 Jun 2020 12:11:49 +0200 Subject: [PATCH] add calculation based percentages for credit types --- .../php/class-connect.php | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-connect.php b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-connect.php index 39bab567d..9dcf3a68a 100644 --- a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-connect.php +++ b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-connect.php @@ -363,7 +363,8 @@ public function get_usage_stat( $type, $stat = null ) { if ( 'limit' === $stat && isset( $this->usage[ $type ]['usage'] ) ) { $value = $this->usage[ $type ]['usage']; } elseif ( 'used_percent' === $stat && isset( $this->usage[ $type ]['credits_usage'] ) ) { - $value = $this->usage[ $type ]['credits_usage']; + // Calculate percentage based on credit limit and usage. + $value = round( $this->usage[ $type ]['credits_usage']/$this->usage['credits']['limit'] * 100, 2 ); } } } @@ -432,28 +433,27 @@ public function get_config() { */ public function usage_notices() { if ( ! empty( $this->usage ) ) { - $usage_type = 'used_percent'; - if ( isset( $this->usage['credits'] ) ) { - $usage_type = 'credits_usage'; - } foreach ( $this->usage as $stat => $values ) { - if ( ! is_array( $values ) || ! isset( $values[ $usage_type ] ) || 0 > $values[ $usage_type ] ) { + if ( ! is_array( $values ) ) { + continue; + } + $usage = $this->get_usage_stat( $stat, 'used_percent' ); + if ( empty ( $usage ) ) { continue; } - $link = null; $link_text = null; - if ( 90 <= $values[ $usage_type ] ) { + if ( 90 <= $usage ) { // 90% used - show error. $level = 'error'; $link = 'https://cloudinary.com/console/lui/upgrade_options'; $link_text = __( 'upgrade your account', 'cloudinary' ); - } elseif ( 80 <= $values[ $usage_type ] ) { - $level = 'warning'; + } elseif ( 80 <= $usage ) { + $level = 'warning'; $link_text = __( 'upgrade your account', 'cloudinary' ); - } elseif ( 70 <= $values[ $usage_type ] ) { - $level = 'neutral'; + } elseif ( 70 <= $usage ) { + $level = 'neutral'; $link_text = __( 'upgrade your account', 'cloudinary' ); } else { continue; @@ -465,7 +465,7 @@ public function usage_notices() { 'cloudinary' ), ucwords( $stat ), - $values[ $usage_type ] . '%', + $usage . '%', $link, $link_text );