Jump to content

Copy Horde preferences

From MattWiki

Below are the steps to copy preferences of one user to all the other users which are listed in the userlist text file.

1. Create an user account, name it 'publicprofile' and set up the preferences for that account the way you want all the other accounts to be set up.


2. Create a plain text file containing the list of all the users to which new preferences are to be applied and name it 'users.txt'

e.g. user.txt contains list of all the user whose preferences are to be changed as per the default profile

user1
user2
user3

3. Copy the script below and save it as 'defaultprofile.sh'

#!/usr/bin/ksh

NEW_USERS="/data/users.txt"
cat ${NEW_USERS} | 
while read USER
do
echo "DROP TABLE default_prefs;"
echo "CREATE TABLE default_prefs as SELECT * FROM horde_prefs WHERE
pref_uid='publicprofile';"
echo "UPDATE default_prefs set pref_uid = '$USER';"
echo "DELETE FROM horde_prefs where pref_uid = '$USER';"
echo "INSERT INTO horde_prefs SELECT * FROM default_prefs;"
echo "COMMIT;"
done

4. run the following command at the shell prompt

sh defaultprofile.sh > applypref.sql

5. after creating 'applypref.sql' run the following commands at the shell prompt

mysql -d horde < applypref.sql

That will copy all the preferences from default user to the users specified in the list.