6.0.0-git
2024-03-19
Last Modified 2009-07-12 by Jan Schneider

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

su horde
psql -d horde < applypref.sql

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

Jigish

Plan B is to set the properties in the corresponding prefs.php and that's all.
[Dilyan Palauzov]