Changeset 646

Show
Ignore:
Timestamp:
06/24/09 14:39:49 (15 months ago)
Author:
mclight77
Message:

See details in NEWS (dates 090621 and 090624)

Location:
trunk
Files:
4 added
19 modified

Legend:

Unmodified
Added
Removed
  • trunk/NEWS

    r645 r646  
    155155090615 
    156156  ИсправлеМ #370 
     157090621 
     158  МПжМП пПставОть статус пПльзПвателя "вП вреЌеММПЌ шаблПМе" 
     159  ЕслО пПльзПватель вП вреЌеММПЌ шаблПМе, тП в спОске пПльзПвателей пПказывается лОЌОт 
     160  вреЌеММПгП шаблПМа О выЎеляется желтыЌ цветПЌ. 
     161  В ОМфПрЌацОО пПльзПвателя ОспПльзПваММый трафОк пПказывается в фПрЌатОрПваММПЌ вОЎе. 
     162  ЗаЌеМеМы ОкПМкО статуса пПльзПвателя. 
     163090624 
     164  ИсправлеМа кПЌпОляцОя плагОМа fsusage в FreeBSD (прПвереМП Ма 7.2) 
  • trunk/TODO

    r636 r646  
    118118            РазЌер Мегабайта, учОтываеЌПгП вашОЌ прПвайЎерПЌ (byte) 
    119119  2.22) ПеревестО Ма русскОй язык разЎел МастрПйкО автПрОзацОО 
    120   2.23) ДПЎелать ОЌпПрт пПльзПвателей Оз OpenLDAP (спОсПк пПльзПвателей с указаММПй втПрОчМПй группПй) 
     120+ 2.23) ДПЎелать ОЌпПрт пПльзПвателей Оз OpenLDAP (спОсПк пПльзПвателей с указаММПй втПрОчМПй группПй) 
     121  2.24) ПрО сПзЎаМОО МПвПгП спОска (redirlisttray.php) автПЌатОческО переѠ
     122ПЎОть в реЎактОрПваМОе этПгП спОска. 
     123+ 2.25) ЕслО статус пПльзПвателя "переЌещеМ вП вреЌеММый шаблПМ", тП пПказывать квПту втПрОчМПгП шаблПМа О выЎелять ее желтыЌ цветПЌ. 
    121124 
    1221253) ДеЌПМы 
     
    152155  3.18) Еще раз прПсЌПтреть рабПту сП спОскаЌО (TemplateList, UrlGroupList, ...). МПжет, ОЌеет сЌысл сПзЎать базПвый класс? 
    153156  3.19) ДПбавОть ПграМОчеМОе пП расшОреМОяЌ файлПв еслО Ме ОспПльзуется встрПеММый реЎОректПр. 
    154   3.20) ПрО сПзЎаМОО МПвПгП спОска (redirlisttray.php) автПЌатОческО переѠ
    155 ÐŸÐŽÐžÑ‚ÑŒ в реЎактОрПваМОе этПгП спОска. 
    156157 
    1571584) ДПкуЌеМтацОя 
  • trunk/configure.in

    r643 r646  
    4141gl_SYS_PROC_UPTIME 
    4242gl_GETLOADAVG([plugins/loadavg]) 
    43 #gl_FSUSAGE 
     43gl_FSUSAGE 
    4444#gl_LIST_MOUNTED_FILE_SYSTEMS 
    4545 
  • trunk/m4/acinclude.m4

    r643 r646  
    99m4_include([m4/uptime.m4]) 
    1010m4_include([m4/getloadavg.m4]) 
     11m4_include([m4/fsusage.m4]) 
  • trunk/m4/fsusage.m4

    r631 r646  
    1313AC_DEFUN([gl_FSUSAGE], 
    1414[ 
    15   AC_CHECK_HEADERS(sys/param.h) 
    16   AC_CHECK_HEADERS(sys/vfs.h sys/fs_types.h) 
    17   AC_CHECK_HEADERS(sys/mount.h, [], [], 
    18     [AC_INCLUDES_DEFAULT 
    19      [#if HAVE_SYS_PARAM_H 
    20        #include <sys/param.h> 
    21       #endif]]) 
    22   gl_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no]) 
    23   if test $gl_cv_fs_space = yes; then 
    24     AC_LIBOBJ(fsusage) 
    25     gl_PREREQ_FSUSAGE_EXTRA 
    26   fi 
     15  AC_CHECK_HEADERS(mntent.h sys/statvfs.h sys/mount.h) 
     16  AC_CHECK_FUNCS(getmntent getmntinfo) 
    2717]) 
    28  
    29 # Try to determine how a program can obtain file system usage information. 
    30 # If successful, define the appropriate symbol (see fsusage.c) and 
    31 # execute ACTION-IF-FOUND.  Otherwise, execute ACTION-IF-NOT-FOUND. 
    32 # 
    33 # gl_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) 
    34  
    35 AC_DEFUN([gl_FILE_SYSTEM_USAGE], 
    36 [ 
    37  
    38 AC_MSG_NOTICE([checking how to get file system space usage]) 
    39 ac_fsusage_space=no 
    40  
    41 # Perform only the link test since it seems there are no variants of the 
    42 # statvfs function.  This check is more than just AC_CHECK_FUNCS(statvfs) 
    43 # because that got a false positive on SCO OSR5.  Adding the declaration 
    44 # of a `struct statvfs' causes this test to fail (as it should) on such 
    45 # systems.  That system is reported to work fine with STAT_STATFS4 which 
    46 # is what it gets when this test fails. 
    47 if test $ac_fsusage_space = no; then 
    48   # SVR4 
    49   AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs, 
    50                  [AC_TRY_LINK([#include <sys/types.h> 
    51 #if defined __GLIBC__ && !defined __BEOS__ 
    52 Do not use statvfs on systems with GNU libc, because that function stats 
    53 all preceding entries in /proc/mounts, and that makes df hang if even 
    54 one of the corresponding file systems is hard-mounted, but not available. 
    55 statvfs in GNU libc on BeOS operates differently: it only makes a system 
    56 call. 
    57 #endif 
    58 #include <sys/statvfs.h>], 
    59                               [struct statvfs fsd; statvfs (0, &fsd);], 
    60                               fu_cv_sys_stat_statvfs=yes, 
    61                               fu_cv_sys_stat_statvfs=no)]) 
    62   if test $fu_cv_sys_stat_statvfs = yes; then 
    63     ac_fsusage_space=yes 
    64     AC_DEFINE(STAT_STATVFS, 1, 
    65               [  Define if there is a function named statvfs.  (SVR4)]) 
    66   fi 
    67 fi 
    68  
    69 if test $ac_fsusage_space = no; then 
    70   # DEC Alpha running OSF/1 
    71   AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) 
    72   AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1, 
    73   [AC_TRY_RUN([ 
    74 #include <sys/param.h> 
    75 #include <sys/types.h> 
    76 #include <sys/mount.h> 
    77   int 
    78   main () 
    79   { 
    80     struct statfs fsd; 
    81     fsd.f_fsize = 0; 
    82     return statfs (".", &fsd, sizeof (struct statfs)) != 0; 
    83   }], 
    84   fu_cv_sys_stat_statfs3_osf1=yes, 
    85   fu_cv_sys_stat_statfs3_osf1=no, 
    86   fu_cv_sys_stat_statfs3_osf1=no)]) 
    87   AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1) 
    88   if test $fu_cv_sys_stat_statfs3_osf1 = yes; then 
    89     ac_fsusage_space=yes 
    90     AC_DEFINE(STAT_STATFS3_OSF1, 1, 
    91               [   Define if  statfs takes 3 args.  (DEC Alpha running OSF/1)]) 
    92   fi 
    93 fi 
    94  
    95 if test $ac_fsusage_space = no; then 
    96 # AIX 
    97   AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl 
    98 member (AIX, 4.3BSD)]) 
    99   AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize, 
    100   [AC_TRY_RUN([ 
    101 #ifdef HAVE_SYS_PARAM_H 
    102 #include <sys/param.h> 
    103 #endif 
    104 #ifdef HAVE_SYS_MOUNT_H 
    105 #include <sys/mount.h> 
    106 #endif 
    107 #ifdef HAVE_SYS_VFS_H 
    108 #include <sys/vfs.h> 
    109 #endif 
    110   int 
    111   main () 
    112   { 
    113   struct statfs fsd; 
    114   fsd.f_bsize = 0; 
    115   return statfs (".", &fsd) != 0; 
    116   }], 
    117   fu_cv_sys_stat_statfs2_bsize=yes, 
    118   fu_cv_sys_stat_statfs2_bsize=no, 
    119   fu_cv_sys_stat_statfs2_bsize=no)]) 
    120   AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize) 
    121   if test $fu_cv_sys_stat_statfs2_bsize = yes; then 
    122     ac_fsusage_space=yes 
    123     AC_DEFINE(STAT_STATFS2_BSIZE, 1, 
    124 [  Define if statfs takes 2 args and struct statfs has a field named f_bsize. 
    125    (4.3BSD, SunOS 4, HP-UX, AIX PS/2)]) 
    126   fi 
    127 fi 
    128  
    129 if test $ac_fsusage_space = no; then 
    130 # SVR3 
    131   AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) 
    132   AC_CACHE_VAL(fu_cv_sys_stat_statfs4, 
    133   [AC_TRY_RUN([#include <sys/types.h> 
    134 #include <sys/statfs.h> 
    135   int 
    136   main () 
    137   { 
    138   struct statfs fsd; 
    139   return statfs (".", &fsd, sizeof fsd, 0) != 0; 
    140   }], 
    141     fu_cv_sys_stat_statfs4=yes, 
    142     fu_cv_sys_stat_statfs4=no, 
    143     fu_cv_sys_stat_statfs4=no)]) 
    144   AC_MSG_RESULT($fu_cv_sys_stat_statfs4) 
    145   if test $fu_cv_sys_stat_statfs4 = yes; then 
    146     ac_fsusage_space=yes 
    147     AC_DEFINE(STAT_STATFS4, 1, 
    148               [  Define if statfs takes 4 args.  (SVR3, Dynix, Irix, Dolphin)]) 
    149   fi 
    150 fi 
    151  
    152 if test $ac_fsusage_space = no; then 
    153 # 4.4BSD and NetBSD 
    154   AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl 
    155 member (4.4BSD and NetBSD)]) 
    156   AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize, 
    157   [AC_TRY_RUN([#include <sys/types.h> 
    158 #ifdef HAVE_SYS_PARAM_H 
    159 #include <sys/param.h> 
    160 #endif 
    161 #ifdef HAVE_SYS_MOUNT_H 
    162 #include <sys/mount.h> 
    163 #endif 
    164   int 
    165   main () 
    166   { 
    167   struct statfs fsd; 
    168   fsd.f_fsize = 0; 
    169   return statfs (".", &fsd) != 0; 
    170   }], 
    171   fu_cv_sys_stat_statfs2_fsize=yes, 
    172   fu_cv_sys_stat_statfs2_fsize=no, 
    173   fu_cv_sys_stat_statfs2_fsize=no)]) 
    174   AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize) 
    175   if test $fu_cv_sys_stat_statfs2_fsize = yes; then 
    176     ac_fsusage_space=yes 
    177     AC_DEFINE(STAT_STATFS2_FSIZE, 1, 
    178 [  Define if statfs takes 2 args and struct statfs has a field named f_fsize. 
    179    (4.4BSD, NetBSD)]) 
    180   fi 
    181 fi 
    182  
    183 if test $ac_fsusage_space = no; then 
    184   # Ultrix 
    185   AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) 
    186   AC_CACHE_VAL(fu_cv_sys_stat_fs_data, 
    187   [AC_TRY_RUN([#include <sys/types.h> 
    188 #ifdef HAVE_SYS_PARAM_H 
    189 #include <sys/param.h> 
    190 #endif 
    191 #ifdef HAVE_SYS_MOUNT_H 
    192 #include <sys/mount.h> 
    193 #endif 
    194 #ifdef HAVE_SYS_FS_TYPES_H 
    195 #include <sys/fs_types.h> 
    196 #endif 
    197   int 
    198   main () 
    199   { 
    200   struct fs_data fsd; 
    201   /* Ultrix's statfs returns 1 for success, 
    202      0 for not mounted, -1 for failure.  */ 
    203   return statfs (".", &fsd) != 1; 
    204   }], 
    205   fu_cv_sys_stat_fs_data=yes, 
    206   fu_cv_sys_stat_fs_data=no, 
    207   fu_cv_sys_stat_fs_data=no)]) 
    208   AC_MSG_RESULT($fu_cv_sys_stat_fs_data) 
    209   if test $fu_cv_sys_stat_fs_data = yes; then 
    210     ac_fsusage_space=yes 
    211     AC_DEFINE(STAT_STATFS2_FS_DATA, 1, 
    212 [  Define if statfs takes 2 args and the second argument has 
    213    type struct fs_data.  (Ultrix)]) 
    214   fi 
    215 fi 
    216  
    217 if test $ac_fsusage_space = no; then 
    218   # SVR2 
    219   AC_TRY_CPP([#include <sys/filsys.h> 
    220     ], 
    221     AC_DEFINE(STAT_READ_FILSYS, 1, 
    222       [Define if there is no specific function for reading file systems usage 
    223        information and you have the <sys/filsys.h> header file.  (SVR2)]) 
    224     ac_fsusage_space=yes) 
    225 fi 
    226  
    227 AS_IF([test $ac_fsusage_space = yes], [$1], [$2]) 
    228  
    229 ]) 
    230  
    231  
    232 # Check for SunOS statfs brokenness wrt partitions 2GB and larger. 
    233 # If <sys/vfs.h> exists and struct statfs has a member named f_spare, 
    234 # enable the work-around code in fsusage.c. 
    235 AC_DEFUN([gl_STATFS_TRUNCATES], 
    236 [ 
    237   AC_MSG_CHECKING([for statfs that truncates block counts]) 
    238   AC_CACHE_VAL(fu_cv_sys_truncating_statfs, 
    239   [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 
    240 #if !defined(sun) && !defined(__sun) 
    241 choke -- this is a workaround for a Sun-specific problem 
    242 #endif 
    243 #include <sys/types.h> 
    244 #include <sys/vfs.h>]], 
    245     [[struct statfs t; long c = *(t.f_spare); 
    246       if (c) return 0;]])], 
    247     [fu_cv_sys_truncating_statfs=yes], 
    248     [fu_cv_sys_truncating_statfs=no])]) 
    249   if test $fu_cv_sys_truncating_statfs = yes; then 
    250     AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1, 
    251       [Define if the block counts reported by statfs may be truncated to 2GB 
    252        and the correct values may be stored in the f_spare array. 
    253        (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. 
    254        SunOS 4.1.1 seems not to be affected.)]) 
    255   fi 
    256   AC_MSG_RESULT($fu_cv_sys_truncating_statfs) 
    257 ]) 
    258  
    259  
    260 # Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE. 
    261 AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA], 
    262 [ 
    263   AC_CHECK_HEADERS(dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h) 
    264   gl_STATFS_TRUNCATES 
    265 ]) 
  • trunk/php/lang/lang.EN

    r627 r646  
    167167  $usertray_UserForm_12=" Template ";  
    168168  $usertray_UserForm_13=" Active "; 
     169  $usertray_UserForm_14="Moved to temporary template"; 
     170  $usertray_UserForm_15="Exceed limit"; 
    169171  $usertray_UserTray_1=" User ";  
    170172 
     
    283285  $userbuttom_1_prop_UpdateUserForm_12=" Template ";  
    284286  $userbuttom_1_prop_UpdateUserForm_13=" Change the data "; 
     287  $userbuttom_1_prop_UpdateUserForm_14="This user see statistic of his group users"; 
     288  $userbuttom_1_prop_UpdateUserForm_15="Enabled"; 
     289  $userbuttom_1_prop_UpdateUserForm_16="traffic Off"; 
     290  $userbuttom_1_prop_UpdateUserForm_17="Disabled"; 
     291  $userbuttom_1_prop_UpdateUserForm_18="This user see statistic"; 
     292  $userbuttom_1_prop_UpdateUserForm_19="This user see statistic of his group users"; 
     293  $userbuttom_1_prop_UpdateUserForm_20="This user see statistic of all users"; 
     294  $userbuttom_1_prop_UpdateUserForm_21="This user has the right to activate/deactivate users"; 
     295  $userbuttom_1_prop_UpdateUserForm_22="This user has the right to add users in SAMS"; 
     296  $userbuttom_1_prop_UpdateUserForm_23="This user has the right to change URL lists"; 
     297  $userbuttom_1_prop_UpdateUserForm_24="This user has the right to configure SAMS"; 
     298  $userbuttom_1_prop_UpdateUserForm_25="Moved to a temporary template"; 
     299 
    285300   
    286301  $userbuttom_1_prop_userbuttom_1_prop_1=" Change the user data ";  
     
    614629  $adminbuttom_1_prop_SamsReConfigForm_43="Not used redirector"; 
    615630 
    616   $userbuttom_1_prop_UpdateUserForm_14="This user see statistic of his group users"; 
    617631  $usertray_UserTray_1="User"; 
    618632  $deniedlisttray_DeniedListTray_1="The access is forbidden.  <BR>List"; 
     
    852866  $adminbuttom_4_chpasswd_ChangeAdminPasswdForm_8="Retype new passwd"; 
    853867  $shablontray_ShablonUsers_4="Users"; 
    854   $userbuttom_1_prop_UpdateUserForm_15="Enabled"; 
    855   $userbuttom_1_prop_UpdateUserForm_16="traffic Off"; 
    856   $userbuttom_1_prop_UpdateUserForm_17="Disabled"; 
    857868 
    858869  $usersbuttom_1_adldap_AddUsersFromAdLDAPForm_5="Show all domain users"; 
     
    885896  $shablonbuttom_9_delete_DeleteShablon_3="Error of removal a template"; 
    886897 
    887   $userbuttom_1_prop_UpdateUserForm_18="This user see statistic"; 
    888   $userbuttom_1_prop_UpdateUserForm_19="This user see statistic of his group users"; 
    889   $userbuttom_1_prop_UpdateUserForm_20="This user see statistic of all users"; 
    890   $userbuttom_1_prop_UpdateUserForm_21="This user has the right to activate/deactivate users"; 
    891   $userbuttom_1_prop_UpdateUserForm_22="This user has the right to add users in SAMS"; 
    892   $userbuttom_1_prop_UpdateUserForm_23="This user has the right to change URL lists"; 
    893   $userbuttom_1_prop_UpdateUserForm_24="This user has the right to configure SAMS"; 
    894  
    895898  $usersbuttom_2_traffic_UsersTrafficForm_3="select sorting method"; 
    896899  $usersbuttom_2_traffic_UsersTrafficForm_4="The size of the received traffic"; 
  • trunk/php/lang/lang.KOI8-R

    r627 r646  
    166166  $usertray_UserForm_12="ûÁÂÌÏÎ"; 
    167167  $usertray_UserForm_13="áËÔÉ×ÅÎ"; 
     168  $usertray_UserForm_14="ðÅÒÅÍÅÝÅÎ ×Ï ×ÒÅÍÅÎÎÙÊ ÛÁÂÌÏÎ"; 
     169  $usertray_UserForm_15="ðÒÅ×ÙÓÉÌ ÌÉÍÉÔ"; 
    168170  $usertray_UserTray_1="ðÏÌØÚÏ×ÁÔÅÌØ"; 
    169171 
     
    282284  $userbuttom_1_prop_UpdateUserForm_13="éÚÍÅÎÉÔØ ÄÁÎÎÙÅ"; 
    283285  $userbuttom_1_prop_UpdateUserForm_14="éÍÅÅÔ ÐÒÁ×Ï ÓÍÏÔÒÅÔØ ÓÔÁÔÉÓÔÉËÕ<BR> ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó×ÏÅÊ ÇÒÕÐÐÙ:"; 
     286  $userbuttom_1_prop_UpdateUserForm_15="áËÔÉ×ÅÎ"; 
     287  $userbuttom_1_prop_UpdateUserForm_16="ïÔËÌÀÞÅÎ ÚÁ ÐÒÅ×ÙÛÅÎÉÅ ÔÒÁÆÉËÁ"; 
     288  $userbuttom_1_prop_UpdateUserForm_17="ïÔËÌÀÞÅÎ"; 
     289  $userbuttom_1_prop_UpdateUserForm_18="éÍÅÅÔ ÐÒÁ×Ï ÓÍÏÔÒÅÔØ Ó×ÏÀ ÓÔÁÔÉÓÔÉËÕ"; 
     290  $userbuttom_1_prop_UpdateUserForm_19="éÍÅÅÔ ÐÒÁ×Ï ÓÍÏÔÒÅÔØ ÓÔÁÔÉÓÔÉËÕ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó×ÏÅÊ ÇÒÕÐÐÙ"; 
     291  $userbuttom_1_prop_UpdateUserForm_20="éÍÅÅÔ ÐÒÁ×Ï ÓÍÏÔÒÅÔØ ÓÔÁÔÉÓÔÉËÕ ÷ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ"; 
     292  $userbuttom_1_prop_UpdateUserForm_21="éÍÅÅÔ ÐÒÁ×Ï ÁËÔÉ×ÉÒÏ×ÁÔØ/ÏÔËÌÀÞÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ"; 
     293  $userbuttom_1_prop_UpdateUserForm_22="éÍÅÅÔ ÐÒÁ×Ï ÄÏÂÁ×ÌÑÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ × SAMS"; 
     294  $userbuttom_1_prop_UpdateUserForm_23="éÍÅÅÔ ÐÒÁ×Ï ÉÚÍÅÎÑÔØ ÓÐÉÓËÉ URL"; 
     295  $userbuttom_1_prop_UpdateUserForm_24="éÍÅÅÔ ÐÒÁ×Ï ÎÁÓÔÒÁÉ×ÁÔØ SAMS"; 
     296  $userbuttom_1_prop_UpdateUserForm_25="ðÅÒÅÍÅÝÅÎ ×Ï ×ÒÅÍÅÎÎÙÊ ÛÁÂÌÏÎ"; 
     297 
     298 
    284299   
    285300   
     
    875890  $shablontray_ShablonUsers_4="ûÁÂÌÏÎ ÐÒÉÓ×ÏÅÎ ÐÏÌØÚÏ×ÁÔÅÌÑÍ"; 
    876891 
    877   $userbuttom_1_prop_UpdateUserForm_15="áËÔÉ×ÅÎ"; 
    878   $userbuttom_1_prop_UpdateUserForm_16="ïÔËÌÀÞÅÎ ÚÁ ÐÒÅ×ÙÛÅÎÉÅ ÔÒÁÆÉËÁ"; 
    879   $userbuttom_1_prop_UpdateUserForm_17="ïÔËÌÀÞÅÎ"; 
    880  
    881892  $usersbuttom_1_adldap_AddUsersFromAdLDAPForm_5="ðÏËÁÚÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ×ÓÅÈ ÇÒÕÐÐ ÄÏÍÅÎÁ"; 
    882893  $usersbuttom_1_adldap_AddUsersFromAdLDAPForm_6="÷×ÅÓÔÉ ÎÁÚ×ÁÎÉÅ ÇÒÕÐÐÙ ×ÒÕÞÎÕÀ"; 
     
    900911  $shablonbuttom_9_delete_DeleteShablon_3="ïÛÉÂËÁ ÕÄÁÌÅÎÉÑ ÛÁÂÌÏÎÁ"; 
    901912 
    902   $userbuttom_1_prop_UpdateUserForm_18="éÍÅÅÔ ÐÒÁ×Ï ÓÍÏÔÒÅÔØ Ó×ÏÀ ÓÔÁÔÉÓÔÉËÕ"; 
    903   $userbuttom_1_prop_UpdateUserForm_19="éÍÅÅÔ ÐÒÁ×Ï ÓÍÏÔÒÅÔØ ÓÔÁÔÉÓÔÉËÕ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó×ÏÅÊ ÇÒÕÐÐÙ"; 
    904   $userbuttom_1_prop_UpdateUserForm_20="éÍÅÅÔ ÐÒÁ×Ï ÓÍÏÔÒÅÔØ ÓÔÁÔÉÓÔÉËÕ ÷ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ"; 
    905   $userbuttom_1_prop_UpdateUserForm_21="éÍÅÅÔ ÐÒÁ×Ï ÁËÔÉ×ÉÒÏ×ÁÔØ/ÏÔËÌÀÞÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ"; 
    906   $userbuttom_1_prop_UpdateUserForm_22="éÍÅÅÔ ÐÒÁ×Ï ÄÏÂÁ×ÌÑÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ × SAMS"; 
    907   $userbuttom_1_prop_UpdateUserForm_23="éÍÅÅÔ ÐÒÁ×Ï ÉÚÍÅÎÑÔØ ÓÐÉÓËÉ URL"; 
    908   $userbuttom_1_prop_UpdateUserForm_24="éÍÅÅÔ ÐÒÁ×Ï ÎÁÓÔÒÁÉ×ÁÔØ SAMS"; 
    909  
    910913  $usersbuttom_2_traffic_UsersTrafficForm_3="óÏÒÔÉÒÏ×ÁÔØ ÐÏ:"; 
    911914  $usersbuttom_2_traffic_UsersTrafficForm_4="ÒÁÚÍÅÒÕ ÐÏÌÕÞÅÎÎÏÇÏ ÔÒÁÆÉËÁ"; 
  • trunk/php/lang/lang.UTF8

    r627 r646  
    172172  $usertray_UserForm_12="КаблПМ"; 
    173173  $usertray_UserForm_13="АктОвеМ"; 
     174  $usertray_UserForm_14="ПереЌещеМ вП вреЌеММый шаблПМ"; 
     175  $usertray_UserForm_15="ПревысОл лОЌОт"; 
    174176  $usertray_UserTray_1="ППльзПватель"; 
    175177 
     
    302304  $userbuttom_1_prop_UpdateUserForm_13="ИзЌеМОть ЎаММые"; 
    303305  $userbuttom_1_prop_UpdateUserForm_14="ИЌеет правП сЌПтреть статОстОку<BR> пПльзПвателей свПей группы:"; 
     306  $userbuttom_1_prop_UpdateUserForm_15="АктОвеМ"; 
     307  $userbuttom_1_prop_UpdateUserForm_16="ОтключеМ за превышеМОе трафОка"; 
     308  $userbuttom_1_prop_UpdateUserForm_17="ОтключеМ"; 
     309  $userbuttom_1_prop_UpdateUserForm_18="ИЌеет правП сЌПтреть свПю статОстОку"; 
     310  $userbuttom_1_prop_UpdateUserForm_19="ИЌеет правП сЌПтреть статОстОку пПльзПвателей свПей группы"; 
     311  $userbuttom_1_prop_UpdateUserForm_20="ИЌеет правП сЌПтреть статОстОку ВсеѠ
     312 Ð¿ÐŸÐ»ÑŒÐ·ÐŸÐ²Ð°Ñ‚елей"; 
     313  $userbuttom_1_prop_UpdateUserForm_21="ИЌеет правП актОвОрПвать/Птключать пПльзПвателей"; 
     314  $userbuttom_1_prop_UpdateUserForm_22="ИЌеет правП ЎПбавлять пПльзПвателей в SAMS"; 
     315  $userbuttom_1_prop_UpdateUserForm_23="ИЌеет правП ОзЌеМять спОскО URL"; 
     316  $userbuttom_1_prop_UpdateUserForm_24="ИЌеет правП МастраОвать SAMS"; 
     317  $userbuttom_1_prop_UpdateUserForm_25="ПереЌещеМ вП вреЌеММый шаблПМ"; 
     318 
     319 
    304320   
    305321   
     
    954970  $shablontray_ShablonUsers_4="КаблПМ прОсвПеМ пПльзПвателяЌ"; 
    955971 
    956   $userbuttom_1_prop_UpdateUserForm_15="АктОвеМ"; 
    957   $userbuttom_1_prop_UpdateUserForm_16="ОтключеМ за превышеМОе трафОка"; 
    958   $userbuttom_1_prop_UpdateUserForm_17="ОтключеМ"; 
    959  
    960972  $usersbuttom_1_adldap_AddUsersFromAdLDAPForm_5="ППказать пПльзПвателей всеѠ
    961973 Ð³Ñ€ÑƒÐ¿Ð¿ ЎПЌеМа"; 
     
    981993  $shablonbuttom_9_delete_DeleteShablon_3="ОшОбка уЎалеМОя шаблПМа"; 
    982994 
    983   $userbuttom_1_prop_UpdateUserForm_18="ИЌеет правП сЌПтреть свПю статОстОку"; 
    984   $userbuttom_1_prop_UpdateUserForm_19="ИЌеет правП сЌПтреть статОстОку пПльзПвателей свПей группы"; 
    985   $userbuttom_1_prop_UpdateUserForm_20="ИЌеет правП сЌПтреть статОстОку ВсеѠ
    986  Ð¿ÐŸÐ»ÑŒÐ·ÐŸÐ²Ð°Ñ‚елей"; 
    987   $userbuttom_1_prop_UpdateUserForm_21="ИЌеет правП актОвОрПвать/Птключать пПльзПвателей"; 
    988   $userbuttom_1_prop_UpdateUserForm_22="ИЌеет правП ЎПбавлять пПльзПвателей в SAMS"; 
    989   $userbuttom_1_prop_UpdateUserForm_23="ИЌеет правП ОзЌеМять спОскО URL"; 
    990   $userbuttom_1_prop_UpdateUserForm_24="ИЌеет правП МастраОвать SAMS"; 
    991  
    992995  $usersbuttom_2_traffic_UsersTrafficForm_3="СПртОрПвать пП:"; 
    993996  $usersbuttom_2_traffic_UsersTrafficForm_4="разЌеру пПлучеММПгП трафОка"; 
  • trunk/php/lang/lang.WIN1251

    r627 r646  
    166166  $usertray_UserForm_12="Øàáëîí"; 
    167167  $usertray_UserForm_13="Àêòèâåí"; 
     168  $usertray_UserForm_14="Ïåðåìåùåí âî âðåìåííûé øàáëîí"; 
     169  $usertray_UserForm_15="Ïðåâûñèë ëèìèò"; 
    168170  $usertray_UserTray_1="Ïîëüçîâàòåëü"; 
    169171 
     
    282284  $userbuttom_1_prop_UpdateUserForm_13="Èçìåíèòü äàííûå"; 
    283285  $userbuttom_1_prop_UpdateUserForm_14="Èìååò ïðàâî ñìîòðåòü ñòàòèñòèêó<BR> ïîëüçîâàòåëåé ñâîåé ãðóïïû:"; 
     286  $userbuttom_1_prop_UpdateUserForm_15="Àêòèâåí"; 
     287  $userbuttom_1_prop_UpdateUserForm_16="Îòêëþ÷åí çà ïðåâûøåíèå òðàôèêà"; 
     288  $userbuttom_1_prop_UpdateUserForm_17="Îòêëþ÷åí"; 
     289  $userbuttom_1_prop_UpdateUserForm_18="Èìååò ïðàâî ñìîòðåòü ñâîþ ñòàòèñòèêó"; 
     290  $userbuttom_1_prop_UpdateUserForm_19="Èìååò ïðàâî ñìîòðåòü ñòàòèñòèêó ïîëüçîâàòåëåé ñâîåé ãðóïïû"; 
     291  $userbuttom_1_prop_UpdateUserForm_20="Èìååò ïðàâî ñìîòðåòü ñòàòèñòèêó Âñåõ ïîëüçîâàòåëåé"; 
     292  $userbuttom_1_prop_UpdateUserForm_21="Èìååò ïðàâî àêòèâèðîâàòü/îòêëþ÷àòü ïîëüçîâàòåëåé"; 
     293  $userbuttom_1_prop_UpdateUserForm_22="Èìååò ïðàâî äîáàâëÿòü ïîëüçîâàòåëåé â SAMS"; 
     294  $userbuttom_1_prop_UpdateUserForm_23="Èìååò ïðàâî èçìåíÿòü ñïèñêè URL"; 
     295  $userbuttom_1_prop_UpdateUserForm_24="Èìååò ïðàâî íàñòðàèâàòü SAMS"; 
     296  $userbuttom_1_prop_UpdateUserForm_25="Ïåðåìåùåí âî âðåìåííûé øàáëîí"; 
     297 
     298 
    284299   
    285300   
     
    875890  $shablontray_ShablonUsers_4="Øàáëîí ïðèñâîåí ïîëüçîâàòåëÿì"; 
    876891 
    877   $userbuttom_1_prop_UpdateUserForm_15="Àêòèâåí"; 
    878   $userbuttom_1_prop_UpdateUserForm_16="Îòêëþ÷åí çà ïðåâûøåíèå òðàôèêà"; 
    879   $userbuttom_1_prop_UpdateUserForm_17="Îòêëþ÷åí"; 
    880  
    881892  $usersbuttom_1_adldap_AddUsersFromAdLDAPForm_5="Ïîêàçàòü ïîëüçîâàòåëåé âñåõ ãðóïï äîìåíà"; 
    882893  $usersbuttom_1_adldap_AddUsersFromAdLDAPForm_6="Ââåñòè íàçâàíèå ãðóïïû âðó÷íóþ"; 
     
    900911  $shablonbuttom_9_delete_DeleteShablon_3="Îøèáêà óäàëåíèÿ øàáëîíà"; 
    901912 
    902   $userbuttom_1_prop_UpdateUserForm_18="Èìååò ïðàâî ñìîòðåòü ñâîþ ñòàòèñòèêó"; 
    903   $userbuttom_1_prop_UpdateUserForm_19="Èìååò ïðàâî ñìîòðåòü ñòàòèñòèêó ïîëüçîâàòåëåé ñâîåé ãðóïïû"; 
    904   $userbuttom_1_prop_UpdateUserForm_20="Èìååò ïðàâî ñìîòðåòü ñòàòèñòèêó Âñåõ ïîëüçîâàòåëåé"; 
    905   $userbuttom_1_prop_UpdateUserForm_21="Èìååò ïðàâî àêòèâèðîâàòü/îòêëþ÷àòü ïîëüçîâàòåëåé"; 
    906   $userbuttom_1_prop_UpdateUserForm_22="Èìååò ïðàâî äîáàâëÿòü ïîëüçîâàòåëåé â SAMS"; 
    907   $userbuttom_1_prop_UpdateUserForm_23="Èìååò ïðàâî èçìåíÿòü ñïèñêè URL"; 
    908   $userbuttom_1_prop_UpdateUserForm_24="Èìååò ïðàâî íàñòðàèâàòü SAMS"; 
    909  
    910913  $usersbuttom_2_traffic_UsersTrafficForm_3="Ñîðòèðîâàòü ïî:"; 
    911914  $usersbuttom_2_traffic_UsersTrafficForm_4="ðàçìåðó ïîëó÷åííîãî òðàôèêà"; 
  • trunk/php/lframe_users.php

    r609 r646  
    4444        .filetree span.groups { background: url($SAMSConf->ICONSET/pgroup.gif) 0 0 no-repeat; }\n 
    4545 
    46         .filetree span.user { padding: 1px 0 1px 25px; display: block; }\n 
    47         .filetree span.user { background: url($SAMSConf->ICONSET/puser.gif) 0 0 no-repeat; }\n 
     46        .filetree span.user_active { padding: 1px 0 1px 25px; display: block; }\n 
     47        .filetree span.user_active { background: url($SAMSConf->ICONSET/user_active.png) 0 0 no-repeat; }\n 
    4848 
    49         .filetree span.userd { padding: 1px 0 1px 25px; display: block; }\n 
    50         .filetree span.userd { background: url($SAMSConf->ICONSET/puserd.gif) 0 0 no-repeat; }\n 
     49        .filetree span.user_inactive { padding: 1px 0 1px 25px; display: block; }\n 
     50        .filetree span.user_inactive { background: url($SAMSConf->ICONSET/user_inactive.png) 0 0 no-repeat; }\n 
    5151 
    52         .filetree span.userdd { padding: 1px 0 1px 25px; display: block; }\n 
    53         .filetree span.userdd { background: url($SAMSConf->ICONSET/duserd.gif) 0 0 no-repeat; }\n 
     52        .filetree span.user_moved { padding: 1px 0 1px 25px; display: block; }\n 
     53        .filetree span.user_moved { background: url($SAMSConf->ICONSET/user_moved.png) 0 0 no-repeat; }\n 
    5454 
    55         .filetree span.usera { padding: 1px 0 1px 25px; display: block; }\n 
    56         .filetree span.usera { background: url($SAMSConf->ICONSET/quote_alarm.gif) 0 0 no-repeat; }\n 
     55        .filetree span.user_off { padding: 1px 0 1px 25px; display: block; }\n 
     56        .filetree span.user_off { background: url($SAMSConf->ICONSET/user_off.png) 0 0 no-repeat; }\n 
     57 
     58        .filetree span.quote_alarm { padding: 1px 0 1px 25px; display: block; }\n 
     59        .filetree span.quote_alarm { background: url($SAMSConf->ICONSET/quote_alarm.gif) 0 0 no-repeat; }\n 
    5760        </style>\n"; 
    5861 
     
    8689            while($row_=$DB2->samsdb_fetch_array()) 
    8790               { 
    88                 if($row_['s_enabled']>0) 
     91                if($row_['s_enabled']==1) 
    8992                    { 
    9093                      if($SAMSConf->realtraffic=="real") 
     
    9396                        $traffic=$row_['s_size']; 
    9497                      if($row_['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row_['s_quote']<=0) 
    95                          $class="user"; 
     98                         $class="user_active"; 
    9699                      else 
    97100                        if($row_['s_quote']>0) 
    98                           $class="usera.gif"; 
     101                          $class="quote_alarm"; 
    99102                    } 
    100                  if($row_['s_enabled']==0) 
     103                 else if($row_['s_enabled']==0) 
    101104                    { 
    102                        $class="userd"; 
     105                       $class="user_inactive"; 
    103106                    } 
    104                  if($row_['s_enabled']<0) 
     107                 else if($row_['s_enabled']==2) 
    105108                    { 
    106                        $class="userdd"; 
     109                       $class="user_moved"; 
     110                    } 
     111                 else if($row_['s_enabled']<0) 
     112                    { 
     113                       $class="user_off"; 
    107114                    } 
    108115                 if($SAMSConf->SHOWNAME=="fam") 
  • trunk/php/samstools.php

    r616 r646  
    197197} 
    198198 
    199 function PrintFormattedSize($size) { 
     199function PrintFormattedSize($size, $align) { 
    200200        global $SAMSConf; 
    201201        $result = ""; 
     
    217217                $ksize="0$ksize"; 
    218218    
    219         $result .= "  <TD ALIGN=RIGHT>&nbsp;"; 
     219        if (empty($align) || is_null($align)) 
     220          $align="RIGHT"; 
     221        $result .= "  <TD ALIGN=$align>&nbsp;"; 
    220222        if($gsize>0) 
    221223                $result .= "<B>". $gsize ."</B>&nbsp;Gb "; 
    222224        if($gsize>0||$msize>0) 
    223225                $result .= "<B>". $msize ."</B>&nbsp;Mb"; 
    224         $result .= "<B>&nbsp;". $ksize ."</B>&nbsp;kb</TD>\n"; 
     226        $result .= "<B>&nbsp;". $ksize ."</B>&nbsp;Kb</TD>\n"; 
    225227         
    226228        return $result; 
  • trunk/php/src/grouptray.php

    r616 r646  
    6666 
    6767  $DB=new SAMSDB(&$SAMSConf); 
     68  $DB2=new SAMSDB(&$SAMSConf); 
     69 
    6870  $lang="./lang/lang.$SAMSConf->LANG"; 
    6971  require($lang); 
     
    111113 
    112114  $count=0; 
    113   $num_rows=$DB->samsdb_query_value("SELECT squiduser.*, shablon.s_quote AS s_defquote FROM squiduser, shablon WHERE squiduser.s_group_id='$id' AND squiduser.s_shablon_id=shablon.s_shablon_id ORDER BY squiduser.s_nick"); 
     115  $num_rows=$DB->samsdb_query_value("SELECT squiduser.*, shablon.s_quote AS s_defquote, shablon.s_shablon_id2 as tpl2 FROM squiduser, shablon WHERE squiduser.s_group_id='$id' AND squiduser.s_shablon_id=shablon.s_shablon_id ORDER BY squiduser.s_nick"); 
    114116  while($row=$DB->samsdb_fetch_array()) 
    115117      { 
    116118       print("<TR>\n"); 
    117119 
    118        if($row['s_enabled']>0) 
    119          { 
    120             if($SAMSConf->realtraffic=="real") 
     120        if($SAMSConf->realtraffic=="real") 
     121          $traffic=$row['s_size']-$row['s_hit']; 
     122        else 
     123          $traffic=$row['s_size']; 
     124 
     125        $defaultquote=$row['s_defquote']; 
     126 
     127        if($row['s_enabled']==2) 
     128          { 
     129             $gif="user_moved.png"; 
     130             if ($row['tpl2'] > 0) 
     131               { 
     132                 $num_rows2=$DB2->samsdb_query_value("SELECT shablon.s_quote FROM shablon WHERE shablon.s_shablon_id=$row[tpl2]"); 
     133                 if ($num_rows2 == 1) 
     134                   { 
     135                     $row2=$DB2->samsdb_fetch_array(); 
     136                     $defaultquote=$row2['s_quote']; 
     137                   } 
     138               } 
     139          } 
     140        else if($row['s_enabled']==0) 
     141          { 
     142             $gif="user_inactive.png"; 
     143          } 
     144        else if($row['s_enabled']<0) 
     145          { 
     146              $gif="user_off.png"; 
     147          } 
     148        else if($row['s_enabled']==1) 
     149          { 
     150             if($SAMSConf->realtraffic=="real") 
    121151                $traffic=$row['s_size']-$row['s_hit']; 
    122             else 
     152             else 
    123153                $traffic=$row['s_size']; 
    124             if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
    125                $gif="puser.gif"; 
    126             else 
     154             if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
     155               $gif="user_active.png"; 
     156             else 
    127157               if($row['s_quote']>0) 
    128158                  $gif="quote_alarm.gif"; 
    129159          } 
    130         if($row['s_enabled']==0) 
    131           { 
    132              $gif="puserd.gif"; 
    133           } 
    134         if($row['s_enabled']<0) 
    135           { 
    136               $gif="duserd.gif"; 
    137            } 
    138160        if($USERConf->ToWebInterfaceAccess("CGS")==1) 
    139161           { 
     
    144166           { 
    145167             print(" <INPUT TYPE=\"CHECKBOX\" NAME=users[$row[s_user_id]] "); 
    146              if($row['s_enabled']==1) 
     168             if($row['s_enabled']>0) 
    147169               print(" CHECKED "); 
    148170             print("></TD>\n"); 
     
    156178         if($USERConf->ToWebInterfaceAccess("C")==1||$ga==1) 
    157179           { 
    158             if($SAMSConf->realtraffic=="real") 
    159                 PrintFormattedSize($row['s_size'] - $row['s_hit']); 
    160             else 
    161                 PrintFormattedSize($row['s_size']); 
    162               
     180             PrintFormattedSize($traffic); 
     181 
     182             $font_start=""; 
     183             $font_end=""; 
     184             if ($row['s_enabled']==2) 
     185               { 
     186                 $font_start="<font color=#CFCF00>"; 
     187                 $font_end="</font>"; 
     188               } 
     189 
    163190             if($row['s_quote']>0) 
    164                print("  <TD WIDTH=\"15%\" ALIGN=CENTER><font color=red>$row[s_quote] Mb</font></TD>\n"); 
    165              else if($row['s_quote']==0) 
    166                print("  <TD WIDTH=\"15%\" ALIGN=CENTER><font color=red>unlimited</font></TD>\n"); 
    167              else if($row['s_defquote']>0) 
    168                print("  <TD WIDTH=\"15%\" ALIGN=CENTER>$row[s_defquote] Mb</TD>\n"); 
     191               print("<TD WIDTH=\"15%\" ALIGN=CENTER><font color=red>$row[s_quote] Mb</font>"); 
     192             else if ($row['s_quote'] == 0) 
     193               print("<TD WIDTH=\"15%\" ALIGN=CENTER><font color=red>unlimited</font>"); 
     194             else if ($defaultquote > 0) 
     195               print("<TD WIDTH=\"15%\" ALIGN=CENTER>$font_start $defaultquote Mb $font_end"); 
    169196             else 
    170                print("  <TD WIDTH=\"15%\" ALIGN=CENTER>unlimited</TD>\n"); 
     197               print("<TD WIDTH=\"15%\" ALIGN=CENTER>$font_start unlimited $font_end"); 
    171198           } 
    172199         print("  <TD WIDTH=\"40%\"> $row[s_family] $row[s_name] $row[s_soname]</TD>\n"); 
  • trunk/php/src/proxybuttom_9_down.php

    r642 r646  
    6868       print("   window.location.reload();\n"); 
    6969       print("}\n"); 
    70        print("function ShutdownProxyServer(userid)\n"); 
     70       print("function DeleteUser(userid)\n"); 
    7171       print("{\n"); 
    72  
    73        print("  value=window.confirm(\"$proxybuttom_1_down_proxybuttom_1_down_1 \" );\n"); 
    74        print("  if(value==true) \n"); 
    75        print("     {\n"); 
    7672       print("        parent.basefrm.location.href=\"main.php?show=exe&function=shutdown_proxy&filename=proxybuttom_9_down.php&id=$id\";\n"); 
    77        print("     }\n"); 
    78  
    7973       print("}\n"); 
    8074       print("</SCRIPT> \n"); 
     
    8377       print("<IMAGE id=Trash name=\"Trash\" src=\"$SAMSConf->ICONSET/shutdown_32.jpg\" \n "); 
    8478       print("TITLE=\"Shutdown proxy server\"  border=0 "); 
    85        print("onclick=ShutdownProxyServer(\"userid\") \n"); 
     79       print("onclick=DeleteUser(\"userid\") \n"); 
    8680       print("onmouseover=\"this.src='$SAMSConf->ICONSET/shutdown_48.jpg'\" \n"); 
    8781       print("onmouseout= \"this.src='$SAMSConf->ICONSET/shutdown_32.jpg'\" >\n"); 
  • trunk/php/src/shablontray.php

    r625 r646  
    9090       print("<TR>\n"); 
    9191       print("<TD>"); 
    92        if($row['s_enabled']>0) 
    93          { 
    94            if($SAMSConf->realtraffic=="real") 
    95              $traffic=$row['s_size']-$row['s_hit']; 
    96            else 
    97              $traffic=$row['s_size']; 
    98            if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
    99               $gif="puser.gif"; 
    100            else 
    101               if($row['s_quote']>0) 
     92        if($row['s_enabled']==2) 
     93          { 
     94             $gif="user_moved.png"; 
     95          } 
     96        else if($row['s_enabled']==0) 
     97          { 
     98             $gif="user_inactive.png"; 
     99          } 
     100        else if($row['s_enabled']<0) 
     101          { 
     102              $gif="user_off.png"; 
     103          } 
     104        else if($row['s_enabled']==1) 
     105          { 
     106             if($SAMSConf->realtraffic=="real") 
     107                $traffic=$row['s_size']-$row['s_hit']; 
     108             else 
     109                $traffic=$row['s_size']; 
     110             if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
     111               $gif="user_active.png"; 
     112             else 
     113               if($row['s_quote']>0) 
    102114                  $gif="quote_alarm.gif"; 
    103          } 
    104        if($row['s_enabled']==0) 
    105          { 
    106             $gif="puserd.gif"; 
    107          } 
    108        if($row['s_enabled']<0) 
    109          { 
    110             $gif="duserd.gif"; 
    111          } 
     115           } 
    112116       print("<IMG SRC=\"$SAMSConf->ICONSET/$gif\" TITLE=\"\"> "); 
    113117       print("<TD> <B>$row[s_nick] </B>"); 
  • trunk/php/src/userbuttom_1_prop.php

    r607 r646  
    233233  else 
    234234    print("<OPTION VALUE=\"1\"> $userbuttom_1_prop_UpdateUserForm_15");  
     235  if($SquidUSERConf->s_enabled==2) 
     236    print("<OPTION VALUE=\"2\" SELECTED> $userbuttom_1_prop_UpdateUserForm_25"); 
     237  else 
     238    print("<OPTION VALUE=\"2\"> $userbuttom_1_prop_UpdateUserForm_25");  
    235239  if($SquidUSERConf->s_enabled==0) 
    236240    print("<OPTION VALUE=\"0\" SELECTED> $userbuttom_1_prop_UpdateUserForm_16"); 
  • trunk/php/src/usersbuttom_91_test.php

    r609 r646  
    142142 
    143143       //if($) 
    144        if($row['s_enabled']>0) 
    145          { 
    146             if($SAMSConf->realtraffic=="real") 
    147                 $traffic=$row['s_size']-$row['s_hit']; 
    148             else 
    149                 $traffic=$row['s_size']; 
    150             if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
    151                $gif="puser.gif"; 
    152             else 
     144        if($row['s_enabled']==2) 
     145          { 
     146             $gif="user_moved.png"; 
     147          } 
     148        else if($row['s_enabled']==0) 
     149          { 
     150             $gif="user_inactive.png"; 
     151          } 
     152        else if($row['s_enabled']<0) 
     153          { 
     154              $gif="user_off.png"; 
     155          } 
     156        else if($row['s_enabled']==1) 
     157          { 
     158             if($SAMSConf->realtraffic=="real") 
     159                $traffic=$row['s_size']-$row['s_hit']; 
     160             else 
     161                $traffic=$row['s_size']; 
     162             if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
     163               $gif="user_active.png"; 
     164             else 
    153165               if($row['s_quote']>0) 
    154166                  $gif="quote_alarm.gif"; 
    155           } 
    156         if($row['s_enabled']==0) 
    157           { 
    158              $gif="puserd.gif"; 
    159           } 
    160         if($row['s_enabled']<0) 
    161           { 
    162               $gif="duserd.gif"; 
    163167           } 
    164168        if($SAMSConf->access>0) 
     
    171175           { 
    172176             print(" <INPUT TYPE=\"CHECKBOX\" NAME=\"users\" ID=\"$count\" VALUE=\"$row[s_user_id]\" "); 
    173              if($row['s_enabled']==1) 
     177             if($row['s_enabled']>0) 
    174178               print(" CHECKED "); 
    175179             print("> \n "); 
  • trunk/php/src/userstray.php

    r616 r646  
    7575  global $USERConf; 
    7676  $DB=new SAMSDB(&$SAMSConf); 
     77  $DB2=new SAMSDB(&$SAMSConf); 
    7778   
    7879  $lang="./lang/lang.$SAMSConf->LANG"; 
     
    207208  if($type=="search") 
    208209  { 
    209     $num_rows=$DB->samsdb_query_value("SELECT squiduser.*,sgroup.s_name AS gnick, shablon.s_period, shablon.s_clrdate, shablon.s_quote AS s_defquote FROM squiduser LEFT JOIN sgroup ON sgroup.s_group_id=squiduser.s_group_id LEFT JOIN shablon ON squiduser.s_shablon_id=shablon.s_shablon_id WHERE squiduser.s_nick like '%$username%' ORDER BY squiduser.s_shablon_id,squiduser.s_nick"); 
     210    $num_rows=$DB->samsdb_query_value("SELECT squiduser.*,sgroup.s_name AS gnick, shablon.s_period, shablon.s_clrdate, shablon.s_quote AS s_defquote, shablon.s_shablon_id2 as tpl2 FROM squiduser LEFT JOIN sgroup ON sgroup.s_group_id=squiduser.s_group_id LEFT JOIN shablon ON squiduser.s_shablon_id=shablon.s_shablon_id WHERE squiduser.s_nick like '%$username%' ORDER BY squiduser.s_shablon_id,squiduser.s_nick"); 
    210211  } 
    211212  else 
    212     $num_rows=$DB->samsdb_query_value("SELECT squiduser.*,sgroup.s_name AS gnick, shablon.s_period, shablon.s_clrdate, shablon.s_quote AS s_defquote FROM squiduser LEFT JOIN sgroup ON sgroup.s_group_id=squiduser.s_group_id LEFT JOIN shablon ON squiduser.s_shablon_id=shablon.s_shablon_id ORDER BY squiduser.s_group_id,squiduser.s_nick"); 
     213    $num_rows=$DB->samsdb_query_value("SELECT squiduser.*,sgroup.s_name AS gnick, shablon.s_period, shablon.s_clrdate, shablon.s_quote AS s_defquote, shablon.s_shablon_id2 as tpl2 FROM squiduser LEFT JOIN sgroup ON sgroup.s_group_id=squiduser.s_group_id LEFT JOIN shablon ON squiduser.s_shablon_id=shablon.s_shablon_id ORDER BY squiduser.s_group_id,squiduser.s_nick"); 
    213214   
    214215  print("<TBODY>\n"); 
     
    219220       print("<TR>\n"); 
    220221 
    221        //if($) 
    222        if($row['s_enabled']>0) 
    223          { 
    224             if($SAMSConf->realtraffic=="real") 
    225                 $traffic=$row['s_size']-$row['s_hit']; 
    226             else 
    227                 $traffic=$row['s_size']; 
    228             if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
    229                $gif="puser.gif"; 
    230             else 
     222        if($SAMSConf->realtraffic=="real") 
     223          $traffic=$row['s_size']-$row['s_hit']; 
     224        else 
     225          $traffic=$row['s_size']; 
     226 
     227        $defaultquote=$row['s_defquote']; 
     228 
     229        if($row['s_enabled']==2) 
     230          { 
     231             $gif="user_moved.png"; 
     232             if ($row['tpl2'] > 0) 
     233               { 
     234                 $num_rows2=$DB2->samsdb_query_value("SELECT shablon.s_quote FROM shablon WHERE shablon.s_shablon_id=$row[tpl2]"); 
     235                 if ($num_rows2 == 1) 
     236                   { 
     237                     $row2=$DB2->samsdb_fetch_array(); 
     238                     $defaultquote=$row2['s_quote']; 
     239                   } 
     240               } 
     241          } 
     242        else if($row['s_enabled']==0) 
     243          { 
     244             $gif="user_inactive.png"; 
     245          } 
     246        else if($row['s_enabled']<0) 
     247          { 
     248              $gif="user_off.png"; 
     249          } 
     250        else if($row['s_enabled']==1) 
     251          { 
     252             if($row['s_quote']*$SAMSConf->KBSIZE*$SAMSConf->KBSIZE>=$traffic||$row['s_quote']<=0) 
     253               $gif="user_active.png"; 
     254             else 
    231255               if($row['s_quote']>0) 
    232256                  $gif="quote_alarm.gif"; 
    233           } 
    234         if($row['s_enabled']==0) 
    235           { 
    236              $gif="puserd.gif"; 
    237           } 
    238         if($row['s_enabled']<0) 
    239           { 
    240               $gif="duserd.gif"; 
    241257           } 
    242258        if($USERConf->ToWebInterfaceAccess("CGS")==1) 
     
    249265           { 
    250266             print(" <INPUT TYPE=\"CHECKBOX\" NAME=\"users\" ID=\"$count\" VALUE=\"$row[s_user_id]\" "); 
    251              if($row['s_enabled']==1) 
     267             if($row['s_enabled']>0) 
    252268               print(" CHECKED "); 
    253269             print("> \n "); 
     
    260276        if($USERConf->ToWebInterfaceAccess("C")==1) 
    261277           { 
    262             if($SAMSConf->realtraffic=="real") 
    263                 PrintFormattedSize($row['s_size']-$row['s_hit']); 
    264             else 
    265                 PrintFormattedSize($row['s_size']); 
    266  
     278             PrintFormattedSize($traffic); 
    267279              
     280             $font_start=""; 
     281             $font_end=""; 
     282             if ($row['s_enabled']==2) 
     283               { 
     284                 $font_start="<font color=#CFCF00>"; 
     285                 $font_end="</font>"; 
     286               } 
     287 
    268288             if($row['s_quote']>0) 
    269289               print("<TD WIDTH=\"15%\" ALIGN=CENTER><font color=red>$row[s_quote] Mb</font>"); 
    270290             else if ($row['s_quote'] == 0) 
    271291               print("<TD WIDTH=\"15%\" ALIGN=CENTER><font color=red>unlimited</font>"); 
    272              else if ($row[s_defquote] > 0) 
    273                print("<TD WIDTH=\"15%\" ALIGN=CENTER>$row[s_defquote] Mb"); 
     292             else if ($defaultquote > 0) 
     293               print("<TD WIDTH=\"15%\" ALIGN=CENTER>$font_start $defaultquote Mb $font_end"); 
    274294             else 
    275                print("<TD WIDTH=\"15%\" ALIGN=CENTER>unlimited"); 
     295               print("<TD WIDTH=\"15%\" ALIGN=CENTER>$font_start unlimited $font_end"); 
    276296            
    277297              if($row['s_period']!="M"&&$row['s_period']!="W"&&$row['s_period']!="D") 
  • trunk/php/src/usertray.php

    r616 r646  
    145145       print("<B>$usertray_UserForm_10:\n"); 
    146146       print("<TD>\n"); 
    147        if($row['s_enabled']>0) 
     147       if($row['s_enabled']==2) 
     148          print("$usertray_UserForm_14\n"); 
     149       else if($row['s_enabled']==1) 
    148150          print("$usertray_UserForm_13\n"); 
     151       else if($row['s_enabled']==0) 
     152          print("$usertray_UserForm_15\n"); 
     153       else if($row['s_enabled']==-1) 
     154          print("$usertray_UserForm_11\n"); 
    149155       else 
    150           print("$usertray_UserForm_11 \n"); 
     156          print("Unknown status\n"); 
    151157 
    152158       $num_rows2=$DB2->samsdb_query_value("SELECT * FROM shablon WHERE s_shablon_id='$row[s_shablon_id]' "); 
     
    166172  global $USERConf; 
    167173  global $SquidUSERConf; 
     174  //var $SamsTools; 
     175 
     176  $tools = new SamsTools(); 
    168177  $lang="./lang/lang.$SAMSConf->LANG"; 
    169178  require($lang); 
     
    176185    $quote=" unlimited "; 
    177186 
    178   if($SquidUSERConf->s_enabled>0) 
     187  if($SquidUSERConf->s_enabled==2) 
     188    $enabled="$usertray_UserForm_14"; 
     189  else if($SquidUSERConf->s_enabled==1) 
    179190    $enabled="$usertray_UserForm_13"; 
    180   else if($SquidUSERConf->s_enabled<0) 
     191  else if($SquidUSERConf->s_enabled==0) 
     192    $enabled="$usertray_UserForm_15"; 
     193  else if($SquidUSERConf->s_enabled==-1) 
    181194    $enabled="$usertray_UserForm_11"; 
    182195  else 
    183     $enabled="Inactive"; 
     196    $enabled="Unknown status"; 
    184197 
    185198 
     
    200213  <TR><TD><B>$usertray_UserForm_10:<TD>$enabled"; 
    201214        $htmlcode=$htmlcode."<TR><TD><B>$usertray_UserForm_8:<TD>$quote  
    202         <TR><TD><B>$usertray_UserForm_9:<TD>$SquidUSERConf->s_size"; 
     215        <TR><TD><B>$usertray_UserForm_9:".$tools->PrintFormattedSize($SquidUSERConf->s_size, "LEFT"); 
     216        //<TR><TD><B>$usertray_UserForm_9:<TD>$SquidUSERConf->s_size"; 
    203217  if($USERConf->ToWebInterfaceAccess("C")==1) 
    204218        { 
  • trunk/plugins/fsusage/getfsusage.cpp

    r643 r646  
    11using namespace std; 
     2 
     3#include "config.h" 
    24 
    35#include <stdio.h> 
     
    1517#include <limits.h> 
    1618 
     19#if HAVE_SYS_MOUNT_H 
     20#include <sys/mount.h> 
     21#endif 
     22 
     23#if HAVE_MNTENT_H 
    1724#include <mntent.h> 
     25#endif 
     26 
     27#if HAVE_SYS_STATVFS_H 
    1828#include <sys/statvfs.h> 
     29#endif 
    1930 
    2031#include "human.h" 
    2132 
    22 struct fs_usage 
    23 { 
     33struct fs_info 
     34{ 
     35  char *fs_dev;                 /* FS device */ 
     36  char *fs_type;                /* FS type */ 
     37  char *fs_disk;                /* FS mount point */ 
    2438  uintmax_t fsu_blocksize;      /* Size of a block.  */ 
    2539  uintmax_t fsu_blocks;         /* Total blocks. */ 
     
    2943  uintmax_t fsu_files;          /* Total file nodes. */ 
    3044  uintmax_t fsu_ffree;          /* Free file nodes. */ 
     45 
     46  struct fs_info * next; 
    3147}; 
    3248 
     
    8399 
    84100 
    85 int get_fs_usage (char const *disk, struct fs_usage *fsp) 
     101void free_fs_info(struct fs_info **ptr) 
     102{ 
     103  if (!ptr || !*ptr) 
     104    return; 
     105 
     106  if ((*ptr)->fs_dev) 
     107    free((*ptr)->fs_dev); 
     108  if ((*ptr)->fs_type) 
     109    free((*ptr)->fs_type); 
     110  if ((*ptr)->fs_disk) 
     111    free((*ptr)->fs_disk); 
     112 
     113  free(*ptr); 
     114} 
     115 
     116int get_fs_usage (struct fs_info *fsp) 
    86117{ 
    87118  struct statvfs fsd; 
    88119 
    89   //printf ("\n========disk: %s==========\n", disk); 
    90   if (statvfs (disk, &fsd) < 0) 
     120  //printf ("\n========disk: %s==========\n", fsp->fs_disk); 
     121  if (statvfs (fsp->fs_disk, &fsd) < 0) 
    91122    return -1; 
    92123 
     
    126157} 
    127158 
    128 char * print_dev (struct mntent *mnt, struct fs_usage & fsu) 
     159char * print_dev (struct fs_info * fsu) 
    129160{ 
    130161  uintmax_t input_units; 
     
    144175  uintmax_t output_block_size = 1; // The units to use when printing sizes 
    145176 
    146   input_units = fsu.fsu_blocksize; 
     177  input_units = fsu->fsu_blocksize; 
    147178  output_units = output_block_size; 
    148   total = fsu.fsu_blocks; 
    149   available = fsu.fsu_bavail; 
    150   negate_available = (fsu.fsu_bavail_top_bit_set 
     179  total = fsu->fsu_blocks; 
     180  available = fsu->fsu_bavail; 
     181  negate_available = (fsu->fsu_bavail_top_bit_set 
    151182                      & (available != UINTMAX_MAX)); 
    152   available_to_root = fsu.fsu_bfree; 
     183  available_to_root = fsu->fsu_bfree; 
    153184 
    154185  used = UINTMAX_MAX; 
     
    162193  str_res[0] = '\0'; 
    163194  strcat (str_res, "<TR>"); 
    164   sprintf (str_tmp, "  <TD>%s</TD>\n", mnt->mnt_fsname); 
     195  sprintf (str_tmp, "  <TD>%s</TD>\n", fsu->fs_dev); 
    165196  strcat (str_res, str_tmp); 
    166197 
     
    216247 
    217248 
    218   sprintf (str_tmp, "  <TD>%s</TD>\n", mnt->mnt_dir); 
     249  sprintf (str_tmp, "  <TD>%s</TD>\n", fsu->fs_disk); 
    219250  strcat (str_res, str_tmp); 
    220251 
     
    228259char * get_fsusage() 
    229260{ 
    230   FILE *fp; 
    231   struct mntent *mnt; 
    232   struct fs_usage fsu; 
     261  struct fs_info *fs_list = NULL; 
     262  struct fs_info *fs_prev = NULL; 
     263  struct fs_info *fs_cur = NULL; 
    233264  bool file_systems_processed = false; 
    234265  char *header = NULL; 
     
    237268  char *footer = NULL; 
    238269 
    239   fp = setmntent (MOUNTED, "r"); 
    240   if (fp == NULL) 
    241     exit(1); 
    242  
    243   while ((mnt = getmntent (fp))) 
     270 
     271 
     272#ifdef HAVE_GETMNTENT 
     273  { 
     274    struct mntent *mnt = NULL; 
     275    FILE *fp; 
     276 
     277    fp = setmntent (MOUNTED, "r"); 
     278    if (fp == NULL) 
     279      return NULL; 
     280 
     281    while ((mnt = getmntent (fp))) 
     282      { 
     283        fs_cur = (struct fs_info *)malloc(sizeof(struct fs_info)); 
     284        if (!fs_list) 
     285          fs_list = fs_cur; 
     286 
     287        fs_cur->fs_dev = strdup(mnt->mnt_fsname); 
     288        fs_cur->fs_disk = strdup(mnt->mnt_dir); 
     289        fs_cur->fs_type = strdup(mnt->mnt_type); 
     290 
     291        fs_cur->next = NULL; 
     292        if (fs_prev) 
     293          fs_prev->next = fs_cur; 
     294        fs_prev = fs_cur; 
     295      } 
     296 
     297    endmntent (fp); 
     298  } 
     299#endif // HAVE_GETMNTENT 
     300 
     301 
     302 
     303#ifdef HAVE_GETMNTINFO 
     304  { 
     305    struct statfs *fsp; 
     306    int entries; 
     307 
     308    entries = getmntinfo (&fsp, MNT_NOWAIT); 
     309    if (entries < 0) 
     310      return NULL; 
     311 
     312    for (; entries-- > 0; fsp++) 
     313      { 
     314        fs_cur = (struct fs_info *)malloc(sizeof(struct fs_info)); 
     315        if (!fs_list) 
     316          fs_list = fs_cur; 
     317 
     318        fs_cur->fs_dev = strdup(fsp->f_mntfromname); 
     319        fs_cur->fs_disk = strdup(fsp->f_mntonname); 
     320        fs_cur->fs_type = strdup(fsp->f_fstypename); 
     321 
     322        fs_cur->next = NULL; 
     323        if (fs_prev) 
     324          fs_prev->next = fs_cur; 
     325        fs_prev = fs_cur; 
     326      } 
     327  } 
     328#endif // HAVE_GETMNTINFO 
     329 
     330 
     331  if (!fs_list) 
     332    return NULL; 
     333 
     334  while (fs_list) 
    244335    { 
    245       if (ME_DUMMY(mnt->mnt_fsname, mnt->mnt_type) || ME_REMOTE(mnt->mnt_fsname, mnt->mnt_type)) 
    246         continue; 
    247  
    248       if (get_fs_usage (mnt->mnt_dir, &fsu)) 
    249         { 
     336      fs_cur = fs_list; 
     337      fs_list = fs_list->next; 
     338 
     339      if (ME_DUMMY(fs_cur->fs_dev, fs_cur->fs_type) || ME_REMOTE(fs_cur->fs_dev, fs_cur->fs_type)) 
     340        { 
     341          free_fs_info(&fs_cur); 
    250342          continue; 
    251343        } 
    252  
    253       if (fsu.fsu_blocks == 0) 
    254         continue; 
     344      if (get_fs_usage (fs_cur)) 
     345        { 
     346          free_fs_info(&fs_cur); 
     347          continue; 
     348        } 
     349      if (fs_cur->fsu_blocks == 0) 
     350        { 
     351          free_fs_info(&fs_cur); 
     352          continue; 
     353        } 
    255354 
    256355      if (! file_systems_processed) 
     
    265364        } 
    266365 
    267       dev = print_dev (mnt, fsu); 
     366      dev = print_dev (fs_cur); 
    268367 
    269368      res = (char *) realloc (res, strlen (res) + strlen (dev)+1); 
    270369      strcat (res, dev); 
    271370      free (dev); 
    272  
    273 /* 
    274       me = (struct mount_entry *)malloc (sizeof (struct mount_entry)); 
    275       me->me_devname = xstrdup (mnt->mnt_fsname); 
    276       me->me_mountdir = xstrdup (mnt->mnt_dir); 
    277       me->me_type = xstrdup (mnt->mnt_type); 
    278       me->me_type_malloced = 1; 
    279       me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); 
    280       me->me_remote = ME_REMOTE (me->me_devname, me->me_type); 
    281       me->me_dev = dev_from_mount_options (mnt->mnt_opts); 
    282  
    283       *mtail = me; 
    284       mtail = &me->me_next; 
    285 */ 
     371      free_fs_info(&fs_cur); 
    286372    } 
    287  
    288   endmntent (fp); 
    289373 
    290374  footer = strdup ("</TABLE>\n");