annotate scripts/add-user-csv.sh @ 556:4a33f5424767

Bring div.topmenu ul to z-index=5
author HIROSE Yuuji <yuuji@gentei.org>
date Sat, 13 Apr 2019 18:28:20 +0900
parents 7cd9e895fa09
children 1d0344a5f5aa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
544
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
1 #!/bin/sh
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
2
545
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
3 if [ -z "$1" ]; then
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
4 cat<<-EOF >&2
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
5 Usage: ./add-user-csv.sh CSVfile >&2
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
6 Csv file should be the form of:
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
7 username(email),notify-email,gecos,IniPassword
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
8 EOF
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
9 exit 1
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
10 fi
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
11
544
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
12 target=$(cd `dirname "$1"`; pwd)/`basename $1`
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
13
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
14 cd `dirname $0`/..
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
15 if ! . ./s4-funcs.sh; then
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
16 echo "Cannot find s4-funcs.sh, which should be located in $mydir/.."
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
17 exit 1
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
18 fi
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
19
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
20 sq $db<<-EOF |
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
21 .mode csv
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
22 CREATE TEMPORARY TABLE _newuser(user,email,gecos,inipswd);
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
23 .import $target _newuser
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
24 .mode list
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
25 .sepa ,
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
26 SELECT * FROM _newuser n
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
27 WHERE NOT EXISTS (SELECT * FROM user WHERE name=n.user);
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
28 EOF
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
29 while IFS=, read user email gecos inipswd
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
30 do
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
31 encpswd=`echo $inipswd|mypwhash`
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
32 case "$user" in
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
33 *\'*) echo "Skipping [$user]"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
34 continue ;;
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
35 *@*) ;; # OK
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
36 *) echo "Skipping [$user] because of lacking email pattern" >&2
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
37 continue ;;
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
38 esac
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
39 # echo "$user" "$user" "$inipswd" "$encpswd"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
40 query "INSERT INTO user VALUES('$user');" &&
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
41 echo Adding $user
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
42 dbsetbyid user "$user" email "$email"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
43 dbsetbyid user "$user" gecos "$gecos"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
44 dbsetbyid user "$user" pswd "$encpswd"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
45 done

yatex.org