comparison after5.rb @ 55:9a82edb295ca draft

Adjust umask. Max width of email entry, enlarged.
author HIROSE Yuuji <yuuji@gentei.org>
date Thu, 21 Jun 2012 22:09:24 +0900
parents 0b104c49457a
children ba64f43f07f7
comparison
equal deleted inserted replaced
54:bcb4a41a43b5 55:9a82edb295ca
2 # -*- coding: euc-jp -*- 2 # -*- coding: euc-jp -*-
3 # 3 #
4 # Associative Scheduling Table - after5 4 # Associative Scheduling Table - after5
5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org] 5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org]
6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $ 6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $
7 # Last modified Mon Jun 18 11:03:46 2012 on firestorm 7 # Last modified Thu Jun 21 21:42:34 2012 on firestorm
8 # See http://www.gentei.org/~yuuji/software/after5/ 8 # See http://www.gentei.org/~yuuji/software/after5/
9 # このスクリプトはEUCで保存してください。 9 # このスクリプトはEUCで保存してください。
10 $hgid = <<_HGID_.split[1..-2].join(" ") 10 $hgid = <<_HGID_.split[1..-2].join(" ")
11 $HGid$ 11 $HGid$
12 _HGID_ 12 _HGID_
277 277
278 end 278 end
279 def mkusermap() 279 def mkusermap()
280 map = {} 280 map = {}
281 unless test(?d, @usermapdir) 281 unless test(?d, @usermapdir)
282 mkdir_p(@usermapdir) 282 mkdir_p(@usermapdir, 0750)
283 end 283 end
284 Dir.foreach(@usermapdir){|u| 284 Dir.foreach(@usermapdir){|u|
285 next if /^\./ =~ u 285 next if /^\./ =~ u
286 newu = '' 286 newu = ''
287 u.split('').each{|c| # for security wrapping 287 u.split('').each{|c| # for security wrapping
1668 m.close 1668 m.close
1669 else 1669 else
1670 # exec(@attr['mail'], "-s", subject, to) 1670 # exec(@attr['mail'], "-s", subject, to)
1671 recipient = rcptto || to.split(/,\s*|\s+/) 1671 recipient = rcptto || to.split(/,\s*|\s+/)
1672 #p recipient 1672 #p recipient
1673 File.umask(077)
1673 if spoolto && spoolto.is_a?(String) && 1674 if spoolto && spoolto.is_a?(String) &&
1674 proc { 1675 proc {
1675 require 'fileutils' 1676 require 'fileutils'
1676 begin 1677 begin
1677 test(?d, spoolto) or FileUtils.mkdir_p(spoolto) 1678 test(?d, spoolto) or FileUtils.mkdir_p(spoolto, 0700)
1678 test(?w, spoolto) 1679 test(?w, spoolto)
1679 rescue 1680 rescue
1680 nil 1681 nil
1681 end}.call && 1682 end}.call &&
1682 (tee=open("|-", "w")) # popen should be done in if-condition 1683 (tee=open("|-", "w")) # popen should be done in if-condition
1764 "<hr>" + \ 1765 "<hr>" + \
1765 @H.element("code") { 1766 @H.element("code") {
1766 "This " + \ 1767 "This " + \
1767 @H.a(@after5url, "After5") + \ 1768 @H.a(@after5url, "After5") + \
1768 " board is maintained by " + \ 1769 " board is maintained by " + \
1769 @opt['maintainer'].sub('@', "&#x40;") + "." 1770 @opt['maintainer'].gsub(".", "<span>.</span>").
1771 sub('@', "&#x40;") + \
1772 '<span style="display: none;">.cut.here</span>' + \
1773 "."
1770 } 1774 }
1771 end 1775 end
1772 def footer() 1776 def footer()
1773 footer1+footer2 1777 footer1+footer2
1774 end 1778 end
2859 } 2863 }
2860 } + \ 2864 } + \
2861 @H.elementln("tr"){ 2865 @H.elementln("tr"){
2862 @H.element("td", tdclass) {msg('mailaddress', 'multipleok')} + \ 2866 @H.element("td", tdclass) {msg('mailaddress', 'multipleok')} + \
2863 @H.element("td") { 2867 @H.element("td") {
2864 @H.text("newmail", mailaddress(user), @opt['size'], 80) 2868 @H.text("newmail", mailaddress(user), @opt['size'], 180)
2865 } 2869 }
2866 } + \ 2870 } + \
2867 @H.elementln("tr"){ 2871 @H.elementln("tr"){
2868 @H.element("td", tdclass) {msg('weburl')} + \ 2872 @H.element("td", tdclass) {msg('weburl')} + \
2869 @H.element("td") { 2873 @H.element("td") {
2996 @O.print @H.p(msg('joinmyself')+ 3000 @O.print @H.p(msg('joinmyself')+
2997 @H.a(@myname+"?-newgroup", msg('newgroup'))) 3001 @H.a(@myname+"?-newgroup", msg('newgroup')))
2998 @O.print @H.p(msg('usermodwarn')) 3002 @O.print @H.p(msg('usermodwarn'))
2999 @O.print \ 3003 @O.print \
3000 @H.elementln("form", {'action'=>@myname+"?-groupmod", 'method'=>'POST'}){ 3004 @H.elementln("form", {'action'=>@myname+"?-groupmod", 'method'=>'POST'}){
3001 @H.elementln("table", {'border'=>'1', 'vertical-align'=>'top'}){ 3005 @H.elementln("table", {'class'=>'border'}){
3002 grmap.sort.collect{|g, ghash| 3006 grmap.sort.collect{|g, ghash|
3003 memberp = @sc.ismember(user, g) 3007 memberp = @sc.ismember(user, g)
3004 @H.elementln("tr"){ 3008 @H.elementln("tr"){
3005 @H.element("td", @sc.isadmin(user, g) ? admclass : nil){ 3009 @H.element("td", @sc.isadmin(user, g) ? admclass : nil){
3006 g 3010 g
3030 memlist.delete(user) 3034 memlist.delete(user)
3031 memlist.unshift(user) 3035 memlist.unshift(user)
3032 end 3036 end
3033 memlist.collect{|u| 3037 memlist.collect{|u|
3034 @sc.nickname(u) + \ 3038 @sc.nickname(u) + \
3035 ((u == user) ? ("("+@H.text("mail4-#{g}", memberp, 30, 80)+")") : "") 3039 ((u == user) ? ("("+@H.text("mail4-#{g}", memberp, 30, 180)+")") : "")
3036 }.join(", ") 3040 }.join(", ")
3037 } 3041 }
3038 } + \ 3042 } + \
3039 @H.element("td"){ 3043 @H.element("td"){
3040 @H.a(@myname+"?-listdraft+#{g}", msg('sendall')) 3044 @H.a(@myname+"?-listdraft+#{g}", msg('sendall'))
3156 actionmethod={'action'=>@myname+"?-newgroupsub", 'method'=>'POST'} 3160 actionmethod={'action'=>@myname+"?-newgroupsub", 'method'=>'POST'}
3157 end 3161 end
3158 3162
3159 userlist = ([user] + users()).uniq.sort 3163 userlist = ([user] + users()).uniq.sort
3160 myselfclass = {'class'=>'admin'} 3164 myselfclass = {'class'=>'admin'}
3165 yesclass = {'class' => 'yes'}
3161 colspan2 = {'colspan'=>'2'} 3166 colspan2 = {'colspan'=>'2'}
3162 colspan3 = {'colspan'=>'3'} 3167 colspan3 = {'colspan'=>'3'}
3163 warnclass = {'class'=>'warn'} 3168 warnclass = {'class'=>'warn'}
3164 warnp = nil 3169 warnp = nil
3165 3170
3202 end 3207 end
3203 else 3208 else
3204 memberp = adminp = (u == user) 3209 memberp = adminp = (u == user)
3205 end 3210 end
3206 @H.elementln("tr", (u==user ? myselfclass : nil)){ 3211 @H.elementln("tr", (u==user ? myselfclass : nil)){
3207 @H.element("td"){ 3212 @H.element("td", memberp && yesclass){
3208 @H.radio('mem-'+u, 'yes', 'YES / ', memberp) + \ 3213 yes = memberp ? 'YES' : 'yes'
3209 @H.radio('mem-'+u, 'no', 'NO', !memberp) 3214 @H.radio('mem-'+u, 'yes', yes+' / ', memberp) + \
3215 @H.radio('mem-'+u, 'no', 'no', !memberp)
3210 } + \ 3216 } + \
3211 @H.element("td"){ 3217 @H.element("td"){
3212 @H.radio('adm-'+u, 'yes', 'Admin / ', adminp) + \ 3218 @H.radio('adm-'+u, 'yes', 'Admin / ', adminp) + \
3213 @H.radio('adm-'+u, 'no', 'NO', !adminp) 3219 @H.radio('adm-'+u, 'no', 'no', !adminp)
3214 } + \ 3220 } + \
3215 @H.element("td"){ 3221 @H.element("td"){
3216 @H.element("abbr", "title"=>mailaddress(u)) { 3222 @H.element("abbr", "title"=>mailaddress(u)) {
3217 @sc.nickname(u) 3223 @sc.nickname(u)
3218 } + \ 3224 } + \

yatex.org