File: quotafree.proc

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (134 lines) | stat: -rw-r--r-- 4,904 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
!! define variables :
!! quota_total : deprecated use wims_class_quota instead ?
!! quota_free : actual free space of the class
!! quota_used : actual used space
!! quota_reserved : actual reserved space for some activity (active freework ...)
!! auth_upload : yes if class capacity is ok (else no)
!! wims_read_parm is proc or html (proc make calcul and html show result on page)

!if $wims_read_parm isitemof proc,html,canvas
  !goto $wims_read_parm
!endif

:proc
!! ---- calcul
!if $class_limit=$empty
  class_limit=!defof class_limit in wimshome/log/classes/$wims_class/.def
!endif
!read adm/du $wims_home/log/classes/$wims_class
!if $class_type=$empty
  class_type=!defof class_type in wimshome/log/classes/$wims_class/.def
!endif
!if $class_type iswordof 2 4 and $wims_superclass_quota!=$empty
  quota_total=$wims_superclass_quota
!else
  quota_total=$wims_class_quota
!endif
quota_used=$du
!! -------------------- calculate space reserved
quota_reserved=0
!! ------- space reserved for active freework of type>=2
nb_=!recordcnt wimshome/log/classes/$wims_class/freeworks/.freeworks
!for k_=1 to $nb_
  dt_=!record $k_ of wimshome/log/classes/$wims_class/freeworks/.freeworks
  !distribute line $dt_ into s_,bl,bl,bl,bl,t_,bl,bl,c_
  !default c_=0
  !if $s_=1 and $t_>=2
    !read adm/du $wims_home/log/classes/$wims_class/freeworksdata/$k_/work
    quota_reserved=$[$quota_reserved+$class_limit*$c_*0.25-$du]
  !endif
!next k_

quota_reserved=$[min($quota_reserved,$wims_class_quota-$quota_used)]

!! -------------------- end reserved calculation
quota_free=$[$quota_total-$quota_used-$quota_reserved]

!if $quota_free<5
  auth_upload=no
!else
  auth_upload=yes
!endif

!exit

:html
!readproc adm/class/classlang lang/scriptadmclass.phtml adm_class_quotafree
!set x1=$[floor($quota_used/$wims_class_quota*10000)/100]
!set x1_int=$[floor($x1)]
!set x2=$[floor($quota_reserved/$wims_class_quota*10000)/100]
!set x2_int=$[floor($x2)]
!set x3=$[floor($quota_free/$wims_class_quota*10000)/100]

<div class="wims_quotafree">
  <style>@import "html/themes/_css/quota_bar.css";</style>
  <div class="wimscenter">
    $(name_availablespace[1]) ($wims_class_quota $name_mega)
  </div>
  <div class="quota-bar" role="progressbar" tabindex="0"
       aria-valuenow="$x1" aria-valuemin="0" aria-valuemax="100"
       aria-valuetext="$(name_availablespace[2]): $x1% of $wims_class_quota$name_mega">
    !! used
    <div class="quota-index alert" title="$x1% $(name_availablespace[2])" style="width:$x1%">$x1_int%</div>
    !! reserved
    !if $x2>0
      <div class="quota-index warning" title="$x2% $(name_availablespace[4])" style="width:$x2%">$x2_int%</div>
    !endif
    !!free
    <div class="quota-index blank" title="$x3% $(name_availablespace[3])">&nbsp;</div>
  </div>
  <p class="formHelp wimscenter">
    <span class="quota-legend alert">$(name_availablespace[2]): $quota_used$name_mega</span>;
    !if $quota_reserved>0
      <span class="quota-legend warning">$(name_availablespace[4]): $quota_reserved$name_mega</span>;
    !endif
    <span class="quota-legend">$(name_availablespace[3]): $quota_free$name_mega</span>.
  </p>
</div>

!exit
:canvas
  !readproc adm/class/classlang lang/scriptadmclass.phtml adm_class_quotafree
  <div class="wimscenter">
    <label for="freespace">$(name_availablespace[1]) ($wims_class_quota $name_mega)</label>
    <canvas id="freespace" width="700" height="50">
      $(name_availablespace[1]) : $wims_class_quota  $name_mega ($(name_availablespace[2]): $quota_used $name_mega ; $(name_availablespace[4]): $quota_reserved $name_mega ; $(name_availablespace[3]): $quota_free $name_mega ).
    </canvas>
    !set x1=$[floor(($quota_used)/$wims_class_quota*700)]
    !set x2=$[floor(($quota_reserved)/$wims_class_quota*700)]
    <script>
    function draw() {
      var canvas = document.getElementById("freespace");
      if (canvas.getContext) {
        var ctx = canvas.getContext("2d");

          ctx.fillStyle = 'red';
          ctx.fillRect(1,1,$x1,24);
          ctx.fillRect(100,30,10,10);

          !if $quota_reserved>0
            ctx.fillStyle = 'yellow';
            ctx.fillRect($x1,1,$x2,24);
            ctx.fillRect(250,30,10,10);
          !endif

          ctx.fillStyle = 'green';
          ctx.fillRect($[1+$x1+$x2],1,$[700-$x1-$X2],24);
          ctx.fillRect(400,30,10,10);

          ctx.fillStyle = 'black';
          ctx.strokeRect(0, 0, 700, 24);
          ctx.fillText('$(name_availablespace[2])',120,40);
          ctx.fillText('$quota_used',$[floor($x1/2)],15);
          ctx.fillText('$(name_availablespace[3])',420,40);
          ctx.fillText('$quota_free',$[floor((700+$x1+$x2)/2)],15);
          !if $quota_reserved>0
            ctx.fillText('$(name_availablespace[4])',270,40);
            ctx.fillText('$quota_reserved',$[floor($x1+($x2)/2)],15);
          !endif
        }
      }
      draw();
    </script>
  </div>
!exit