묻고답하기
하드 사용량 위젯인데요
2010.08.07 00:49
<?php
/**
* @class used_space
* @author Simulz (k10206@naver.com)
* @brief HDD 사용량 계산
* @version 0.2
**/
class used_space extends WidgetHandler {
/**
* @brief 위젯의 실행 부분
*
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
* 결과를 만든후 print가 아니라 return 해주어야 한다
**/
function proc($args) {
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
$tpl_path = sprintf(\'%sskins/%s\', $this->widget_path, $args->skin);
Context::set(\'colorset\', $args->colorset);
$tpl_file = \'used_space\';
$args->widget_path = $this->widget_path;
$args->tpl_path = $tpl_path;
//사용량 계산 시작
$save = $args->user_space; //할당받은 계정용량, 단위 MBytes
set_time_limit(0);
$du_cgibin = `du -sh ./`;
$du_root = `du -sh ../`;
if($du_root) {
$du_m = (int)$du_root;
} else {
$du_m = (int)$du_cgibin;
}
$percent = ($du_m / $save) * 100;
$args->used_space = $du_m;
$args->used_percent = $percent;
//소수점을 자른 후 100을 넘으면 100으로 고정
$percent = round($percent);
if($percent > 100) $percent = 100;
$args->percent = $percent;
// 사용량 계산 끝
// 템플릿 파일에서 사용할 변수들을 세팅
Context::set(\'obj\', $args);
// 템플릿 컴파일
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($tpl_path, $tpl_file);
}
}
?>
홈페이지는 http://xeweb.co.kr/ 입니다.