s4
changeset 875:380167e9cfcf
Add link to generate csv file for Zoom(TM) pre-assigned rooms
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Wed, 02 Dec 2020 19:10:52 +0859 |
parents | b2b0bb5bb707 |
children | 610c3fb6d52a |
files | s4-blog.sh s4-funcs.sh scripts/s4-sns.case |
diffstat | 3 files changed, 43 insertions(+), 4 deletions(-) [+] |
line diff
1.1 --- a/s4-blog.sh Wed Oct 28 16:01:46 2020 +0900 1.2 +++ b/s4-blog.sh Wed Dec 02 19:10:52 2020 +0859 1.3 @@ -1077,6 +1077,35 @@ 1.4 -D_DUMPTABLE_="syscmd(cat)" $layout/form+dump.m4.html 1.5 echo '</table>' 1.6 } 1.7 +getteamcsv() { 1.8 + gid=`numericalize "$1"` 1.9 + grp=`getgroupbyid "$gid"` 1.10 + err gid=$gid grp=$grp 1.11 + if ! isgrpowner "$user" "$grp"; then 1.12 + contentytpe 'text/plain; charset="utf-8"'; echo 1.13 + echo "管理者メンバー以外は利用できません。" | html p; return 1.14 + fi 1.15 + fn="team-$gid.csv" 1.16 + csv="$tmpd/$fn" 1.17 + err csv=$csv 1.18 + # We can leave csv mode here because this scripts will exit soon 1.19 + query <<-EOF 1.20 + .mode csv 1.21 + .head 1 1.22 + .output $csv 1.23 + SELECT val "ルーム名を事前割り当て", user "メールアドレス" 1.24 + FROM grp_mem_m 1.25 + WHERE key='team' 1.26 + AND gname=(SELECT gname FROM grp WHERE rowid=$gid) 1.27 + ORDER BY val; 1.28 + EOF 1.29 + contenttype 'text/plain; charset="utf-8"' 1.30 + echo "Content-Disposition: filename=\"$fn\"" 1.31 + echo "Content-Length: " `cat $csv | wc -c`; echo 1.32 + #echo "Content-Type: " ${type#file:}; echo 1.33 + cat $csv 1.34 + exit 1.35 +} 1.36 searchart() { 1.37 _m4 -D_TITLE_="検索結果" $layout/html.m4.html 1.38 kwd=`getpar kwd|nkf -wZ1` # Convert Zenkaku-SPC to ASCII-SPC
2.1 --- a/s4-funcs.sh Wed Oct 28 16:01:46 2020 +0900 2.2 +++ b/s4-funcs.sh Wed Dec 02 19:10:52 2020 +0859 2.3 @@ -2913,13 +2913,20 @@ 2.4 if ! ismember $user "$grp"; then 2.5 echo "加入者のみに許可された操作です。" | html p; return 2.6 fi 2.7 + isowner="" 2.8 + isgrpowner "$user" "$grp" && isowner="yes" 2.9 + err 2=$2 3=$3 2.10 + case "$2" in 2.11 + get:teamcsv) 2.12 + teamcsv "$grid" 2.13 + return 2.14 + ;; 2.15 + esac 2.16 echo "グループ $grp 個別選択操作" \ 2.17 | _m4 -D_TITLE_="syscmd(\`cat')" \ 2.18 -D_BODYCLASS_="`grp_getbodyclass \"$grp\"`" \ 2.19 $layout/html.m4.html 2.20 2.21 - isowner="" 2.22 - isgrpowner "$user" "$grp" && isowner="yes" 2.23 usel=`getpar usel` 2.24 if [ -n "$usel" ]; then 2.25 uids=$(echo `echo $usel`|tr ' ' ',') 2.26 @@ -3141,6 +3148,9 @@ 2.27 else 2.28 myhexteams=$(hexteams "$grp" "$user") 2.29 fi 2.30 + if [ -n "$isowner" -a -n "$allhexteams" ]; then 2.31 + gettingcsv="<p>Download: <a href=\"?getteamcsv+$grid\">Team.csv</a> (Zoom Breakout Room 事前割り当てに使えます)</p>" 2.32 + fi 2.33 if [ -n "$myhexteams" ]; then 2.34 rmteammsg="`cgi_radio rm rmteam 'id=\"cmrmteam\"'`<label accesskey=\"s\" 2.35 title=\"Shortcut: s${nl}Strip a team tag from\" 2.36 @@ -3204,7 +3214,7 @@ 2.37 ${isowner:+$cmmsg$excmsg} 2.38 `cgi_radio rm close id="x"`<label for="x" accesskey="x">×</label> 2.39 </div> 2.40 -<h4>$htmlgrp 参加者一覧</h4>$fromtonote 2.41 +<h4>$htmlgrp 参加者一覧</h4>$gettingcsv$fromtonote 2.42 <table class="td2r thl"> 2.43 `sq $db -header -html "$sql"` 2.44 </table>
3.1 --- a/scripts/s4-sns.case Wed Oct 28 16:01:46 2020 +0900 3.2 +++ b/scripts/s4-sns.case Wed Dec 02 19:10:52 2020 +0859 3.3 @@ -46,7 +46,7 @@ 3.4 echo "Refresh: 0; $newurl"; echo 3.5 exit 0 3.6 ;; 3.7 - lshandout|lshandoutall|gethandout|gethandoutcsv|gethandoutcsv2|blogseen) 3.8 + lshandout|lshandoutall|gethandout|gethandoutcsv|gethandoutcsv2|blogseen|getteamcsv) 3.9 case "$stage" in 3.10 lshandout*|blogseen*) contenttype; echo ;; 3.11 esac