applied my changes - initial import
[boxroom-stian.git] / app / controllers / admin_tool_controller.rb
blobfdc16af1f29b835a3d887ec3cdff7ed9c68e833c
1 class AdminToolController < ApplicationController
3   # uses basic *NIX tools to give quick stats on the server - tested on Linux and OSX
4   def server_status
5     @status = "<pre><h1>Logged in users and uptime</h1>"
6     @status << `w`
7     @status << "<h1>Status of disks</h1>"
8     @status << `df`
9     @status << "<h1>Processes running</h1>"
10     @status << `ps ax`.gsub!("<","&lt;")  # even with <pre> this messes up HTML
11     @status << "</pre>"
12   end
14   # shows a pretty printed list of directories and sub-dirs
15   def folder_tree
16     du_opt = (`uname` == "Darwin\n") ? "d0" : "-summarize"
17     @trash_size = `du -#{du_opt} -h #{TRASH_PATH}`.match(/(.*?)\t/)[1] 
18     @ferret_size = `du -#{du_opt} -h #{FERRET_PATH}`.match(/(.*?)\t/)[1] 
19     du_opt2 = (`uname` == "Darwin\n") ? "d2" : "-max-depth=2"
20     @folder_tree = `cd #{UPLOAD_PATH}; du -#{du_opt2} | sort -n`
21   end
23   def show_log
24     @pages, @usages = paginate_collection(:per_page => 30, :page => params[:page]) do 
25       if params[:id] 
26         @name = (params[:file] ? Myfile.find(params[:id]).filename : Folder.find(params[:id]).name )
27         (params[:file] ? Myfile : Folder).find(params[:id]).usages 
28       else
29         Usage.find(:all,:order => "download_date_time desc")
30       end
31     end    
32   end
33   
34 end