[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