summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjokkedk <joakim@jokke.dk>2008-08-12 11:17:53 +0000
committerjokkedk <joakim@jokke.dk>2008-08-12 11:17:53 +0000
commitfb7c8d775e77573da97cda1ce35921864e7e305c (patch)
treeee29c5dda2dc12e180636dbb6c8900e1da3a731b
parent724a2282f4bbd9d92b50b4a4367cfe54b2930b94 (diff)
downloadwebgrind-fb7c8d775e77573da97cda1ce35921864e7e305c.zip
webgrind-fb7c8d775e77573da97cda1ce35921864e7e305c.tar.gz
webgrind-fb7c8d775e77573da97cda1ce35921864e7e305c.tar.bz2
#24 - Added filesize to profile popup menu, suggested by richardlynchchicago
-rw-r--r--library/FileHandler.php28
-rw-r--r--templates/index.phtml4
2 files changed, 28 insertions, 4 deletions
diff --git a/library/FileHandler.php b/library/FileHandler.php
index f855a75..225dd00 100644
--- a/library/FileHandler.php
+++ b/library/FileHandler.php
@@ -93,7 +93,12 @@ class Webgrind_FileHandler{
$invokeUrl = $this->getInvokeUrl($absoluteFilename);
- $files[$file] = array('absoluteFilename'=>$absoluteFilename, 'mtime'=>filemtime($absoluteFilename), 'preprocessed'=>false, 'invokeUrl'=>$invokeUrl);
+ $files[$file] = array('absoluteFilename' => $absoluteFilename,
+ 'mtime' => filemtime($absoluteFilename),
+ 'preprocessed' => false,
+ 'invokeUrl' => $invokeUrl,
+ 'filesize' => $this->bytestostring(filesize($absoluteFilename))
+ );
}
return $files;
}
@@ -106,7 +111,10 @@ class Webgrind_FileHandler{
public function getTraceList(){
$result = array();
foreach($this->files as $fileName=>$file){
- $result[] = array('filename' => $fileName, 'invokeUrl' => str_replace($_SERVER['DOCUMENT_ROOT'].'/', '', $file['invokeUrl']));
+ $result[] = array('filename' => $fileName,
+ 'invokeUrl' => str_replace($_SERVER['DOCUMENT_ROOT'].'/', '', $file['invokeUrl']),
+ 'filesize' => $file['filesize']
+ );
}
return $result;
}
@@ -144,4 +152,20 @@ class Webgrind_FileHandler{
return ($a['mtime'] > $b['mtime']) ? -1 : 1;
}
+ /**
+ * Present a size (in bytes) as a human-readable value
+ *
+ * @param int $size size (in bytes)
+ * @param int $precision number of digits after the decimal point
+ * @return string
+ */
+ private function bytestostring($size, $precision = 0) {
+ $sizes = array('YB', 'ZB', 'EB', 'PB', 'TB', 'GB', 'MB', 'KB', 'B');
+ $total = count($sizes);
+
+ while($total-- && $size > 1024) {
+ $size /= 1024;
+ }
+ return round($size, $precision).$sizes[$total];
+ }
} \ No newline at end of file
diff --git a/templates/index.phtml b/templates/index.phtml
index 9854275..103a886 100644
--- a/templates/index.phtml
+++ b/templates/index.phtml
@@ -71,7 +71,7 @@
function(data){
var options = new Object();
for(i=0;i<data.length;i++){
- options[data[i]['filename']] = data[i]['invokeUrl']+' ('+data[i]['filename']+')';
+ options[data[i]['filename']] = data[i]['invokeUrl']+' ('+data[i]['filename']+')'+' ['+data[i]['filesize']+']';
}
$("#dataFile").removeOption(/[^0]/);
$("#dataFile").addOption(options, false);
@@ -257,7 +257,7 @@
<select id="dataFile" name="dataFile" style="width:200px">
<option value="0">Auto (newest)</option>
<?php foreach(Webgrind_FileHandler::getInstance()->getTraceList() as $trace):?>
- <option value="<?php echo $trace['filename']?>"><?php echo $trace['invokeUrl']?> (<?php echo $trace['filename']?>)</option>
+ <option value="<?php echo $trace['filename']?>"><?php echo $trace['invokeUrl']?> (<?php echo $trace['filename']?>) [<?php echo $trace['filesize']?>]</option>
<?php endforeach;?>
</select>
<img class="list_reload" src="img/reload.png" onclick="reloadFilelist()">