annotate scripts/add-user-csv.sh @ 1013:1ffaa8b2b1bf draft

Modify blog comment form layout
author HIROSE Yuuji <yuuji@gentei.org>
date Tue, 11 Jul 2023 10:25:21 +0900
parents 7c78ebd2f39f
children
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
601
7c78ebd2f39f Add commentary warning
HIROSE Yuuji <yuuji@gentei.org>
parents: 600
diff changeset
3 # DISABLED=1 ใ™ในใ
545
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
4 if [ -z "$1" ]; then
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
5 cat<<-EOF >&2
600
f68f13fb226b Usage format fixed
HIROSE Yuuji <yuuji@gentei.org>
parents: 563
diff changeset
6 Usage: ./add-user-csv.sh CSVfile
545
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
7 Csv file should be the form of:
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
8 username(email),notify-email,gecos,IniPassword
600
f68f13fb226b Usage format fixed
HIROSE Yuuji <yuuji@gentei.org>
parents: 563
diff changeset
9 Set \$DISABLED for setting disabled password
545
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
10 EOF
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
11 exit 1
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
12 fi
7cd9e895fa09 Supply usage when no argument supplied
HIROSE Yuuji <yuuji@gentei.org>
parents: 544
diff changeset
13
544
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
14 target=$(cd `dirname "$1"`; pwd)/`basename $1`
563
7ab2ceb1b8dd $DISABLED controls password disabling
HIROSE Yuuji <yuuji@gentei.org>
parents: 560
diff changeset
15 encp=${DISABLED:+DisabledPassword}
544
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
16
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
17 cd `dirname $0`/..
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
18 if ! . ./s4-funcs.sh; then
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
19 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
20 exit 1
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
21 fi
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
22
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
23 sq $db<<-EOF |
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
24 .mode csv
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
25 CREATE TEMPORARY TABLE _newuser(user,email,gecos,inipswd);
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
26 .import $target _newuser
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
27 .mode list
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
28 .sepa ,
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
29 SELECT * FROM _newuser n
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
30 WHERE NOT EXISTS (SELECT * FROM user WHERE name=n.user);
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
31 EOF
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
32 while IFS=, read user email gecos inipswd
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
33 do
563
7ab2ceb1b8dd $DISABLED controls password disabling
HIROSE Yuuji <yuuji@gentei.org>
parents: 560
diff changeset
34 encpswd=${encp:-`mycrypt "$inipswd" 'StOpmE'`}
544
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
35 case "$user" in
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
36 *\'*) echo "Skipping [$user]"
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 *@*) ;; # OK
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
39 *) echo "Skipping [$user] because of lacking email pattern" >&2
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
40 continue ;;
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
41 esac
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
42 # echo "$user" "$user" "$inipswd" "$encpswd"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
43 query "INSERT INTO user VALUES('$user');" &&
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
44 echo Adding $user
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
45 dbsetbyid user "$user" email "$email"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
46 dbsetbyid user "$user" gecos "$gecos"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
47 dbsetbyid user "$user" pswd "$encpswd"
6039630ea2f5 add add-user-csv.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
48 done

yatex.org