diff --git a/src/etc/rc.expireaccounts b/src/etc/rc.expireaccounts index 4527977c8..d9314abf6 100755 --- a/src/etc/rc.expireaccounts +++ b/src/etc/rc.expireaccounts @@ -2,61 +2,53 @@ - All rights reserved. + * Copyright (C) 2009 Shrew Soft Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: +require_once 'config.inc'; +require_once 'auth.inc'; - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. -*/ - -require_once("config.inc"); +$a_users = &config_read_array('system', 'user'); $removed = 0; -if (!is_array($config['system']['user'])) { - return; -} +foreach ($a_users as &$user) { + if (empty($user['expires']) || isset($user['disabled'])) { + continue; + } -$count = count($config['system']['user']); -$index = 0; + echo "User {$user['name']} expires {$user['expires']}\n"; -for (; $index < $count; $index++) { - $user = &config_read_array('system', 'user', $index); - if($user['scope'] == "system") - continue; - echo "1\n"; - echo "User {$user['name']} expires {$user['expires']}\n"; - if(!$user['expires'] || isset($user['disabled'])) - continue; - echo "1\n"; - if(strtotime("-1 day") > strtotime($user['expires'])) { - echo "Disabling user {$user['name']} at index #{$index}\n"; - //unset($config['system']['user'][$index]); - $user['disabled'] = true; - $removed++; - $count--; - $index--; - } + if (strtotime('-1 day') > strtotime($user['expires'])) { + echo "Disabling user {$user['name']} at index #{$index}\n"; + $user['disabled'] = true; + $removed++; + } } if ($removed > 0) { - write_config("Expired {$removed} user accounts"); + write_config("Expired {$removed} user accounts"); + local_sync_accounts(); }