112 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace ShortPixel\Model\AdminNotices;
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
|  exit; // Exit if accessed directly.
 | |
| }
 | |
| 
 | |
| use ShortPixel\Controller\StatsController as StatsController;
 | |
| use ShortPixel\Controller\ApiKeyController as ApiKeyController;
 | |
| use ShortPixel\Controller\AdminNoticesController as AdminNoticesController;
 | |
| use ShortPixel\Controller\QuotaController as QuotaController;
 | |
| 
 | |
| 
 | |
| class QuotaNoticeReached extends \ShortPixel\Model\AdminNoticeModel
 | |
| {
 | |
| 	protected $key = 'MSG_QUOTA_REACHED';
 | |
| 	protected $errorLevel = 'error';
 | |
| 
 | |
| 
 | |
| 	public function load()
 | |
| 	{
 | |
| 		 $this->callback = array(AdminNoticesController::getInstance(), 'proposeUpgradePopup');
 | |
| 		 parent::load();
 | |
| 	}
 | |
| 
 | |
| 	protected function checkTrigger()
 | |
| 	{
 | |
| 			$quotaController = QuotaController::getInstance();
 | |
| 
 | |
| 			if ($quotaController->hasQuota() === true)
 | |
| 				return false;
 | |
| 
 | |
| //			$quotaData = $quotaController->getQuota();
 | |
| 
 | |
| 		  $this->reset('MSG_UPGRADE_MONTH');
 | |
| 			$this->reset('MSG_UPGRADE_BULK');
 | |
| 	    return true;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	protected function getMessage()
 | |
| 	{
 | |
| 		$statsControl = StatsController::getInstance();
 | |
| 		$averageCompression = $statsControl->getAverageCompression();
 | |
| 		$quotaController = QuotaController::getInstance();
 | |
| 
 | |
| 		$keyControl = ApiKeyController::getInstance();
 | |
| 
 | |
| 		//$keyModel->loadKey();
 | |
| 
 | |
| 		$login_url = 'https://shortpixel.com/login/';
 | |
| 		$friend_url = $login_url;
 | |
| 
 | |
| 		if ($keyControl->getKeyForDisplay())
 | |
| 		{
 | |
| 			$login_url .= $keyControl->getKeyForDisplay() . '/spio-unlimited';
 | |
| 			$friend_url = $login_url . 'tell-a-friend';
 | |
| 		}
 | |
| 
 | |
| 	 $message = '<div class="sp-quota-exceeded-alert"  id="short-pixel-notice-exceed">';
 | |
| 
 | |
| 	 if($averageCompression) {
 | |
| 
 | |
| 				$message .= '<div style="float:right;">
 | |
| 						<div class="bulk-progress-indicator" style="height: 110px">
 | |
| 								<div style="margin-bottom:5px">' . __('Average image<br>reduction until now:','shortpixel-image-optimiser') . '</div>
 | |
| 								<div id="sp-avg-optimization"><input type="text" id="sp-avg-optimization-dial" value="' . round($averageCompression) . '" class="dial percentDial" data-dialsize="60"></div>
 | |
| 								<script>
 | |
| 										jQuery(function() {
 | |
| 												if (ShortPixel)
 | |
| 												{
 | |
| 													ShortPixel.percentDial("#sp-avg-optimization-dial", 60);
 | |
| 												}
 | |
| 										});
 | |
| 								</script>
 | |
| 						</div>
 | |
| 				</div>';
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 			$message .= '<h3>' . __('Quota Exceeded','shortpixel-image-optimiser') . '</h3>';
 | |
| 
 | |
| 			$quota = $quotaController->getQuota();
 | |
| 
 | |
| 			$creditsUsed = number_format($quota->monthly->consumed + $quota->onetime->consumed);
 | |
| 			$totalOptimized = $statsControl->find('total', 'images');
 | |
| 			$totalImagesToOptimize = number_format($statsControl->totalImagesToOptimize());
 | |
| 
 | |
| 			$message .= '<p>' . sprintf(__('The plugin has optimized <strong>%s images</strong> and has been stopped because it has reached the available quota limit.','shortpixel-image-optimiser'),
 | |
| 						$creditsUsed);
 | |
| 
 | |
| 			if($totalImagesToOptimize > 0) {
 | |
| 
 | |
| 						$message .= sprintf(__('<strong> %s images and thumbnails</strong> have not been optimized by ShortPixel yet.','shortpixel-image-optimiser'), $totalImagesToOptimize  );
 | |
| 				}
 | |
| 
 | |
| 			 $message .= sprintf('</p>
 | |
| 					<div>
 | |
| 						<button class="button button-primary" type="button" id="shortpixel-upgrade-advice" onclick="ShortPixel.proposeUpgrade()" style="margin-right:10px;"><strong>' .  __('Show me the best available options', 'shortpixel-image-optimiser') . '</strong></button>
 | |
| 						<a class="button button-primary" href="%s"
 | |
| 							 title="' . __('Go to My Account and choose a plan','shortpixel-image-optimiser') . '" target="_blank" style="margin-right:10px;">
 | |
| 								<strong>' . __('Upgrade','shortpixel-image-optimiser') . '</strong>
 | |
| 						</a>
 | |
| 						<button type="button" name="checkQuota" class="button" onclick="ShortPixel.checkQuota()">'.  __('Confirm new credits','shortpixel-image-optimiser') . '</button>
 | |
| 				</div>', $login_url);
 | |
| 
 | |
| 			$message .= '</div>'; /// closing div
 | |
| 			return $message;
 | |
| 	}
 | |
| 
 | |
| }
 |