Author: david
Date: Tue Aug 30 13:33:11 2011
New Revision: 9629

Log:
Add variable declartions.  Refactor code to make it easier to manipulate 
display via javascript

Modified:
   trunk/apps/qubit/modules/repository/actions/uploadLimitComponent.class.php
   trunk/apps/qubit/modules/repository/templates/_uploadLimit.php

Modified: 
trunk/apps/qubit/modules/repository/actions/uploadLimitComponent.class.php
==============================================================================
--- trunk/apps/qubit/modules/repository/actions/uploadLimitComponent.class.php  
Tue Aug 30 11:34:54 2011        (r9628)
+++ trunk/apps/qubit/modules/repository/actions/uploadLimitComponent.class.php  
Tue Aug 30 13:33:11 2011        (r9629)
@@ -19,59 +19,78 @@
 
 class RepositoryUploadLimitComponent extends sfComponent
 {
+  public
+    $diskUsage,
+    $uploadLimit,
+    $diskUsagePercent,
+    $msgs = array(
+      'limited'   => '%du% of %limit% <abbr title="1 GB = 1 000 000 000 
bytes">GB</abbr> (%dupercent%%)',
+      'disabled'  => 'Upload is disabled',
+      'unlimited' => '%du% <abbr title="1 GB = 1 000 000 000 bytes">GB</abbr> 
of <em>Unlimited</em>'
+    ),
+    // Usage bar
+    $usageBarDisplay = 'none',
+    $usageBarPixels = 0,
+    $usageBarColors = array(
+      'default' => '#390',
+      'warning' => '#C33'
+    );
+
   public function execute($request)
   {
-    // Show current disk usage vs. limit for repository, unless upload is
-    // disabled (zero)
-    if (0 != $this->resource->uploadLimit)
+    // Calc disk usage display value (in GB)
+    $this->diskUsage = $this->resource->getDiskUsage();
+    if (0 != $this->diskUsage)
     {
       // Convert bytes to GB
-      $du = floatval($this->resource->getDiskUsage()) / pow(10, 9);
+      $this->diskUsage = floatval($this->diskUsage) / pow(10, 9);
 
       // Get display value for disk usage
-      if (0 < $du && 0.01 > $du)
+      if (0 < $this->diskUsage && 0.01 > $this->diskUsage)
       {
         $this->diskUsage = '<&nbsp;0.01';
       }
       else
       {
-        $this->diskUsage = round($du, 2);
+        $this->diskUsage = round($this->diskUsage, 2);
       }
+    }
 
-      // Get display value for upload limit
-      if (0 > $this->resource->uploadLimit)
+    // Get display value for upload limit
+    $this->uploadLimit = $this->resource->uploadLimit;
+    if (0 > $this->uploadLimit)
+    {
+      $this->uploadLimit = '<em>Unlimited</em>';
+    }
+
+    // Default color for "disk usage" bar is green
+    $this->usageBarColor = $usageBarColor['default'];
+
+    // Calc progress bar and percentages values for usage limit > 0
+    if (0 < $this->resource->uploadLimit)
+    {
+      // Show usage bar
+      $this->usageBarDisplay = 'block';
+
+      // Calc percent
+      $dup = $du / floatval($this->resource->uploadLimit) * 100;
+
+      // Get display values
+      if (0 < $dup && 1 > $dup)
       {
-        $this->uploadLimit = '<em>Unlimited</em>';
+        $this->diskUsagePercent = '<&nbsp;1';
+        $this->usageBarPixels = '1';
       }
-      else
+      else if (100 < $dup)
       {
-        $this->uploadLimit = $this->resource->uploadLimit;
+        $this->diskUsagePercent = '>&nbsp;100';
+        $this->usageBarPixels = 200;
+        $this->usageBarColor = $this->usageBarColors['warning'];
       }
-
-      // Calc progress bar and percentages values for usage limit > 0
-      if (0 < $this->resource->uploadLimit)
+      else
       {
-        // Default color for "disk usage" bar is green
-        $this->barColor = '#390';
-
-        // Calculate disk usage percentages
-        $dup = $du / floatval($this->resource->uploadLimit) * 100;
-        if (0 < $dup && 1 > $dup)
-        {
-          $this->diskUsagePercent = '<&nbsp;1';
-          $this->barPixels = '1';
-        }
-        else if (100 < $dup)
-        {
-          $this->diskUsagePercent = '>&nbsp;100';
-          $this->barPixels = 200;
-          $this->barColor = '#C33'; // RED!
-        }
-        else
-        {
-          $this->diskUsagePercent = round($dup, 0);
-          $this->barPixels = round($dup * 2, 0);
-        }
+        $this->diskUsagePercent = round($dup, 0);
+        $this->usageBarPixels = round($dup * 2, 0);
       }
     }
   }

Modified: trunk/apps/qubit/modules/repository/templates/_uploadLimit.php
==============================================================================
--- trunk/apps/qubit/modules/repository/templates/_uploadLimit.php      Tue Aug 
30 11:34:54 2011        (r9628)
+++ trunk/apps/qubit/modules/repository/templates/_uploadLimit.php      Tue Aug 
30 13:33:11 2011        (r9629)
@@ -5,25 +5,19 @@
 
   <div style="margin: 5px 2px">
 
-<?php if (0 < floatval($resource->uploadLimit)): ?>
-
     <div class="progressBar" style="padding: 1px; background-color: #CCC; 
height: 10px; width: 200px">
       <div style="height: 10px; width: <?php echo $barPixels ?>px; 
background-color: <?php echo $barColor ?>;"></div>
     </div>
-    <?php echo __('%1% of %2% <abbr title="1 GB = 1 000 000 000 
bytes">GB</abbr> (%3%%)', array('%1%' => $diskUsage, '%2%' => 
$resource->uploadLimit, '%3%' => $diskUsagePercent)) ?>
 
+<?php if (0 < floatval($resource->uploadLimit)): ?>
+    <?php echo __($msgs['limited'], array('%du%' => $diskUsage, '%limit%' => 
$resource->uploadLimit, '%dupercent%' => $diskUsagePercent)) ?>
 <?php elseif (0 == $resource->uploadLimit): ?>
-
-    <?php echo __('Upload is disabled for this %1%', array('%1%' => 
strtolower(sfConfig::get('app_ui_label_repository')))) ?>
-
+    <?php echo __($msgs['disabled']) ?>
 <?php else: ?>
-
-    <?php echo __('%1% <abbr title="1 GB = 1 000 000 000 bytes">GB</abbr> of 
<em>Unlimited</em>', array('%1%' => $diskUsage)) ?>
-
+    <?php echo __($msgs['unlimited'], array('%du%' => $diskUsage)) ?>
 <?php endif; // Limited, disabled, unlimited disk usage ?>
 
     <?php echo __('( %1%edit%2% )', array('%1%' => '<a href="#" 
id="editUlLink">', '%2%' => '</a>')) ?>
-
   </div>
 
 </div>

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to