#! /bin/bash

. /etc/sysconfig/system
[ "$SERVER_ROLE" == "master" ] || exit 0

old=$1
new=$2

DOMAIN=ou=People,`cat /etc/openldap/ldap.conf | grep "^base" | sed 's/^base //'`
PASS=$(grep dbpassword /etc/owncloud/config.php | cut -d"'" -f 4)

mysql -u owncloud --password="$PASS" owncloud <<_END_
DROP TABLE IF EXISTS oc_ldap_group_mapping;
CREATE TABLE oc_ldap_group_mapping (
ldap_dn varchar(255) NOT NULL DEFAULT ' ',
owncloud_name varchar(255) NOT NULL DEFAULT ' ',
directory_uuid varchar(255) NOT NULL DEFAULT ' ',
UNIQUE KEY ldap_dn_groups (ldap_dn),
UNIQUE KEY owncloud_name_groups (owncloud_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS oc_ldap_group_members;
CREATE TABLE oc_ldap_group_members (
owncloudname varchar(255) NOT NULL DEFAULT ' ',
owncloudusers longtext NOT NULL,
UNIQUE KEY ldap_group_members_index (owncloudname)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS oc_ldap_user_mapping;
CREATE TABLE oc_ldap_user_mapping (
ldap_dn varchar(255) NOT NULL DEFAULT ' ',
owncloud_name varchar(255) NOT NULL DEFAULT ' ',
directory_uuid varchar(255) NOT NULL DEFAULT ' ',
UNIQUE KEY ldap_dn_users (ldap_dn),
UNIQUE KEY owncloud_name_users (owncloud_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

delete from oc_appconfig where appid='user_ldap';
INSERT INTO oc_appconfig VALUES ('user_ldap','enabled','yes'),('user_ldap','ldap_host','localhost'),('user_ldap','ldap_port','389'),('user_ldap','ldap_dn',''),('user_ldap','ldap_password',''),('user_ldap','ldap_base','$DOMAIN'),('user_ldap','ldap_login_filter','uid=%uid'),('user_ldap','ldap_display_name','cn'),('user_ldap','ldap_tls','0'),('user_ldap','ldap_nocase','0'),('user_ldap','installed_version','0.4.0'),('user_ldap','ldap_configuration_active','1'),('user_ldap','types','authentication'),('user_ldap','ldap_uuid_attribute','auto'),('user_ldap','ldap_backup_host',''),('user_ldap','ldap_backup_port','389'),('user_ldap','ldap_base_users','$DOMAIN'),('user_ldap','ldap_base_groups','$DOMAIN'),('user_ldap','ldap_agent_password',''),('user_ldap','ldap_turn_off_cert_check',''),('user_ldap','ldap_userlist_filter','objectClass=person'),('user_ldap','ldap_group_filter','objectClass=posixGroup'),('user_ldap','ldap_group_display_name','cn'),('user_ldap','ldap_group_member_assoc_attribute','uniqueMember'),('user_ldap','ldap_quota_attr',''),('user_ldap','ldap_quota_def',''),('user_ldap','ldap_email_attr',''),('user_ldap','ldap_cache_ttl','600'),('user_ldap','ldap_override_main_server',''),('user_ldap','ldap_attributes_for_user_search',''),('user_ldap','ldap_attributes_for_group_search',''),('user_ldap','home_folder_naming_rule','');
_END_
