[horde] horde-remove-user-data script usage
John H. Bennett III
bennettj at thebennetthome.com
Tue Nov 5 15:53:30 UTC 2013
Quoting Michael M Slusarz <slusarz at horde.org>:
> Quoting "John H. Bennett III" <bennettj at thebennetthome.com>:
>
>> Quoting Michael M Slusarz <slusarz at horde.org>:
>>
>>> Quoting "John H. Bennett III" <bennettj at thebennetthome.com>:
>>>
>>>> Quoting Michael M Slusarz <slusarz at horde.org>:
>>>>
>>>>> Quoting "John H. Bennett III" <bennettj at thebennetthome.com>:
>>>>>
>>>>>> Quoting Michael M Slusarz <slusarz at horde.org>:
>>>>>>
>>>>>>> Quoting "John H. Bennett III" <bennettj at thebennetthome.com>:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> How is one supposed to use this script? I log in to my
>>>>>>>> server as root and run
>>>>>>>>
>>>>>>>> php /usr/bin/horde-remove-user-data
>>>>>>>>
>>>>>>>> I get the below, no matter if I try to put in a valid user or not.
>>>>>>>>
>>>>>>>> [root at www Horde_Smtp]# php /usr/bin/horde-remove-user-data
>>>>>>>> [ INFO ] Horde directory: /home/httpd/html/horde
>>>>>>>>
>>>>>>>> Username: john
>>>>>>>>
>>>>>>>> Application to remove data from (blank for all apps):
>>>>>>>>
>>>>>>>> Are you sure you want to remove user data?
>>>>>>>> (y) Yes
>>>>>>>> (n) No
>>>>>>>>
>>>>>>>> Type your choice [n]: y
>>>>>>>>
>>>>>>>> ====================
>>>>>>>>
>>>>>>>> Fatal Error:
>>>>>>>> You are not allowed to remove user data.
>>>>>>>>
>>>>>>>> 1. Horde_Cli->fatal() /usr/bin/horde-remove-user-data:53
>>>>>>>
>>>>>>> You have at least one admin user defined in your config?
>>>>>>>
>>>>>>> michael
>>>>>>>
>>>>>>> ___________________________________
>>>>>>> Michael Slusarz [slusarz at horde.org]
>>>>>>>
>>>>>>
>>>>>> Yes, I sure do:
>>>>>>
>>>>>> $conf['auth']['admins'] = array('admin at mytest.com', );
>>>>>
>>>>> No idea. Works here. You'll need to track down the issue locally.
>>>>>
>>>>> michael
>>>>>
>>>>
>>>> Well crud. Since this is a test box, I reloaded, and I get the
>>>> same thing. Would you or someone else help me to help myself in
>>>> trying to debug this, please? My files are current as of today.
>>>
>>> That script runs with the 'user_admin' flag set to true. This
>>> means that the Horde Registry sets the user to the first user it
>>> finds in the admin config variable when initializing the script
>>> (see line ~325 of the Horde_Registry library). This should cause
>>> all further calls to Horde_Registry#isAdmin() to return true.
>>> That obviously isn't happening in your case, so you need to debug
>>> why that method is returning false instead of true (~line 2140 of
>>> Horde_Registry).
>>>
>>> michael
>>>
>>
>> I've tracked down what makes this not work. I'm using this hook to
>> append the domainname when the user logs in.
>>
>> class Horde_Hooks
>> {
>> public function authusername($userId, $toHorde)
>> {
>> // Example #1: Append the virtual domain to the username.
>> // ex. $HTTP_HOST = 'mail.mydomain.com', $userId =
>> 'myname' returns:
>> // 'myname at mydomain.com'
>> $vdomain = getenv('HTTP_HOST');
>> $vdomain = substr($vdomain,strpos($vdomain,".")+1);
>>
>> if ($toHorde) {
>> $userId = strtolower($userId);
>> return $userId . '@' . $vdomain;
>> } else {
>> return (substr($userId, -strlen($vdomain)) == $vdomain)
>> ? substr($userId, 0, -strlen($vdomain)-1)
>> : $userId;
>> }
>> }
>> }
>>
>>
>>
>> ?>
>>
>> When using this hook, the script doesn't work. So, you say, then
>> don't use a hook, well the distro I'm using has been using horde
>> since version 2, and we've always used the hook to append
>> user at domain.com when a user logs in. If I remove the hook, then a
>> users preferences are no longer saved, used, and visible, and I
>> personally, am not smart enough yet to migrate all the various data
>> in MySQL to not use a hook. Hope some of that makes sense. So,
>> could there be a way to use this script while also using the hook?
>> I know the hook doesn't match exactly the example, but I couldn't
>> get the example to work, so I kept trying things until something
>> finally worked for me.
>
> The first entry in your admin list should be explicitly excluded in
> your authusername hook. Create a dummy entry if need be.
>
> michael
>
Very big THANK YOU for your help. I did manage to get it working the
way you state.
John
More information about the horde
mailing list