summaryrefslogtreecommitdiff
path: root/scripts/setup_status_network.sh
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-01-27 10:08:24 -0800
committerBrion Vibber <brion@pobox.com>2010-01-27 15:12:19 -0800
commit06cd3358970bfc27ff027cd1d8dc6974950c3793 (patch)
treeed93ef06edf0b48f2a5a646be5770b3b6ca938d8 /scripts/setup_status_network.sh
parent2494d3fa25a44b3cacf85c594683675ae9e6d0cb (diff)
Add scripts/sendemail.php to send email to a user's address. Updated setup_status_network.sh to create a user with the site's nick, accept site tags, and send a mail to the user (if a template is set)
Email and tag params added to the end: setup_status_net.sh mysite 'My Site' 'owner@example.com' '1user' (If multiple tags are needed, separate them with a pipe "|". Be sure to quote properly!) New parameters for setup.cfg need to be set: export PHPBASE=/var/www/statusnet export WILDCARD=example.net export MAILTEMPLATE=/etc/statusnet/newsite-mail.txt export MAILSUBJECT="Your new StatusNet site" $PHPBASE is the base dir for a callable StatusNet install, used to run command-line scripts for user setup. $WILDCARD is the wildcard domain, needed to build a full server name to pass into command-line scripts. $MAILTEMPLATE points to a file containing an e-mail message template. '$nickname', '$sitename', and '$userpass' can be used in the template for substitution. $MAILSUBJECT is the subject line for said email. To skip sending an email on creation, leave $MAILTEMPLATE blank or point to a non-existing file.
Diffstat (limited to 'scripts/setup_status_network.sh')
-rwxr-xr-xscripts/setup_status_network.sh50
1 files changed, 46 insertions, 4 deletions
diff --git a/scripts/setup_status_network.sh b/scripts/setup_status_network.sh
index 777711fb5..d468df3ae 100755
--- a/scripts/setup_status_network.sh
+++ b/scripts/setup_status_network.sh
@@ -2,9 +2,22 @@
source /etc/statusnet/setup.cfg
-export nickname=$1
-export sitename=$2
+# setup_status_net.sh mysite 'My Site' 'owner@example.com' '1user'
+export nickname="$1"
+export sitename="$2"
+export email="$3"
+export tags="$4"
+
+# Fixme: if this is changed later we need to update profile URLs
+# for the created user.
+export server="$nickname.$WILDCARD"
+
+# End-user info
+export userpass=`$PWDGEN`
+export roles="administrator moderator owner"
+
+# DB info
export password=`$PWDGEN`
export database=$nickname$DBBASE
export username=$nickname$USERBASE
@@ -21,8 +34,8 @@ mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $SITEDB << ENDOFCOMMANDS
GRANT ALL ON $database.* TO '$username'@'localhost' IDENTIFIED BY '$password';
GRANT ALL ON $database.* TO '$username'@'%' IDENTIFIED BY '$password';
-INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created)
-VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now());
+INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created, tags)
+VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now(), '$tags');
ENDOFCOMMANDS
@@ -30,3 +43,32 @@ for top in $AVATARBASE $FILEBASE $BACKGROUNDBASE; do
mkdir $top/$nickname
chmod a+w $top/$nickname
done
+
+php $PHPBASE/scripts/registeruser.php \
+ -s"$server" \
+ -n"$nickname" \
+ -w"$userpass" \
+ -e"$email"
+
+for role in $roles
+do
+ php $PHPBASE/scripts/userrole.php \
+ -s"$server" \
+ -n"$nickname" \
+ -r"$role"
+done
+
+if [ -f "$MAILTEMPLATE" ]
+then
+ # fixme how safe is this? are sitenames sanitized?
+ cat $MAILTEMPLATE | \
+ sed "s/\$nickname/$nickname/" | \
+ sed "s/\$sitename/$sitename/" | \
+ sed "s/\$userpass/$userpass/" | \
+ php $PHPBASE/scripts/sendemail.php \
+ -s"$server" \
+ -n"$nickname" \
+ --subject="$MAILSUBJECT"
+else
+ echo "No mail template, not sending email."
+fi