diff options
author | jokkedk <joakim@jokke.dk> | 2008-08-12 11:17:53 +0000 |
---|---|---|
committer | jokkedk <joakim@jokke.dk> | 2008-08-12 11:17:53 +0000 |
commit | fb7c8d775e77573da97cda1ce35921864e7e305c (patch) | |
tree | ee29c5dda2dc12e180636dbb6c8900e1da3a731b | |
parent | 724a2282f4bbd9d92b50b4a4367cfe54b2930b94 (diff) | |
download | webgrind-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.php | 28 | ||||
-rw-r--r-- | templates/index.phtml | 4 |
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()"> |