'mode' => 'mode', 'zone' => 'zone', 'this_domain_id' => 'this_domain_id', 'this_user_id' => 'this_user_id', 'start' => 'start', 'domain_start' => 'domain_start', 'deleteall' => 'deleteall', 'deletesel' => 'deletesel', 'deletesin' => 'deletesin', 'delete_folders' => 'delete_folders', 'confirm_delete' => 'confirm_delete', 'cancel_request' => 'cancel', 'updated' => 'updated', 'user_level' => 'user_level', 'user_active' => 'active', 'user_management' => 'user_management', 'user_class' => 'user_class', 'send_welcome_mail' => 'send_welcome_mail', 'create_mail_directory' => 'create_mail_directory', 'uid' => 'uid', 'gid' => 'gid', 'precedence' => 'catch_all', 'name' => 'name', 'password' => 'password', 'pwconfirm' => 'pwconfirm', 'name' => 'name', 'quota' => 'quota', 'forwarding' => 'forwarding', 'forwarding_save' => 'forwarding_save', 'destination' => 'destination', 'prev_destination' => 'prev_destination', 'hidden_destination' => 'hidden_destination', 'username' => 'username' ); while( list($var,$param) = @each($params) ) { if ( !empty($_POST[$param]) || !empty($_GET[$param]) ) { $$var = !empty($_POST[$param]) ? $_POST[$param] : $_GET[$param]; $$var = is_integer($$var) ? (int)$$var : htmlspecialchars($$var); } else { unset($$var); } } /** * * Include required function files * **/ switch ( $mode ) { case ADD_USERS_DB: case ADMIN_SFILTER: case ADMIN_CFILTER: case ADMIN_ADD_CFILTER: case ADMIN_VIEW_BWLISTS: case ADMIN_AUTORESPONSE: case ADMIN_UPDATE_BWLIST: case ADMIN_UPDATE_SFILTER: case ADMIN_MODIFY_CFILTER: case ADMIN_UPDATE_CFILTER: case ADMIN_DELETE_CFILTER: case ADMIN_MODIFY_AUTORESPONSE: case ADMIN_SPAMASSASSIN_PREFERENCES: case ADMIN_UPDATE_SPAMASSASSIN_PREFERENCES: case ADMIN_SPAMASSASSIN_REPORT: case ADMIN_SPAMASSASSIN_SALEARN: require_once (sprintf('%s/includes/functions/maildir_tools.%s',$root,$ext)); require_once (sprintf('%s/includes/functions/preference_tools.%s',$root,$ext)); require_once (sprintf('%s/includes/functions/validate_tools.%s',$root,$ext)); case UPDATE_USERS: case ADMIN_AUTORESPONSE: case ADMIN_MODIFY_AUTORESPONSE: require_once (sprintf('%s/includes/functions/mail_forwarding.%s',$root,$ext)); require_once (sprintf('%s/includes/functions/preference_tools.%s',$root,$ext)); require_once (sprintf('%s/includes/functions/validate_tools.%s',$root,$ext)); case ADD_USERS: case INFO_USERS: case DELETE_USERS: require_once (sprintf('%s/includes/functions/domain_tools.%s',$root,$ext)); case ADMIN_CFILTER: case ADMIN_SFILTER: case ADMIN_ADD_CFILTER: case ADMIN_VIEW_BWLISTS: case ADMIN_UPDATE_BWLIST: case ADMIN_UPDATE_SFILTER: case ADMIN_MODIFY_CFILTER: case ADMIN_UPDATE_CFILTER: case ADMIN_DELETE_CFILTER: case ADMIN_SPAMASSASSIN_PREFERENCES: case ADMIN_UPDATE_SPAMASSASSIN_PREFERENCES: require_once (sprintf('%s/includes/functions/filtering_tools.%s',$root,$ext)); default: require_once (sprintf('%s/includes/functions/password_tools.%s',$root,$ext)); require_once (sprintf('%s/includes/functions/admin_tools.%s',$root,$ext)); require_once (sprintf('%s/includes/functions/validate_tools.%s',$root,$ext)); require_once (sprintf('%s/includes/functions/page_tools.%s',$root,$ext)); break; } /** * * Initialize class objects * **/ $mailbox = new mailbox_backend(_MBOX_); $backend = new system_backend(_SYS_); $spam = new spam_backend(_SPAM_); $javascript = new javascript(); $auth = new auth(); if ( isset($_POST) || isset($_GET) ) { $base = $nav_link['admin']['users']['link']; $base = !$domain_start ? $base : sprintf("%s&domain_start=%d",$base,$domain_start); $idx = isset($_POST['idx']) ? $_POST['idx'] : NULL; if ( !empty($this_domaindata) && !$auth->verify(AUTH_USERS,$user->data,$this_domain_id) ) { report_error(GENERAL_ERROR,_('You do not have permissions to access this page')); } $this_domaindata = get_domain_data($this_domain_id); $domain = $this_domaindata[TRANSPORT_DOMAIN]; $mailbox_limit_exceeded = is_limit_exceeded(USERS_TABLE,'user_id',sprintf("WHERE domain_id = '%d'",$this_domain_id)); if ( isset($deleteall) || isset($deletesel) || isset($deletesin) ) { unset($delete_mode,$this_delete_mode); $mode = !($mode == ADMIN_DELETE_CFILTER) ? DELETE_USERS : ADMIN_DELETE_CFILTER; if ( isset($deletesel) ) { $delete_mode = DELETE_SEL; $this_delete_mode = 'deletesel'; } else if ( isset($deleteall) ) { $delete_mode = DELETE_ALL; $this_delete_mode = 'deleteall'; } else if ( isset($deletesin) ) { $delete_mode = DELETE_SIN; $this_delete_mode = 'deletesin'; } else { unset($mode); } } /** * * Set up userdata if box is empty * **/ if ( !isset($idx) || empty($idx) ) { $this_userinfo = get_user_data($this_user_id); } if ( isset($cancel_request) ) { $mode = MODIFY_USERS; } if ( $precedence ) { $catch_all = TRUE; } switch ( $mode ) { /** * * Edit basic user preferences * **/ case DELETE_USERS: include(sprintf('%s/admin/users/users_delete.%s',$root,$ext)); break; case ADD_USERS_DB: include(sprintf('%s/admin/users/users_add_db.%s',$root,$ext)); break; case UPDATE_USERS: include(sprintf('%s/admin/users/users_update.%s',$root,$ext)); break; case MODIFY_USERS: include(sprintf('%s/admin/users/users_modifylist.%s',$root,$ext)); break; case ADD_USERS: include(sprintf('%s/admin/users/users_add.%s',$root,$ext)); break; case INFO_USERS: include(sprintf('%s/admin/users/users_details.%s',$root,$ext)); break; /* Edit user Vaction Response preferences */ case ADMIN_MODIFY_AUTORESPONSE: case ADMIN_AUTORESPONSE: /* Edit user SpamAssassin preferences */ case ADMIN_UPDATE_SPAMASSASSIN_PREFERENCES: case ADMIN_UPDATE_BWLIST: case ADMIN_VIEW_BWLISTS: case ADMIN_SPAMASSASSIN_PREFERENCES: case ADMIN_SPAMASSASSIN_REPORT: case ADMIN_SPAMASSASSIN_SALEARN: /* Edit user Custom Filters */ case ADMIN_ADD_CFILTER: case ADMIN_DELETE_CFILTER: case ADMIN_UPDATE_CFILTER: case ADMIN_MODIFY_CFILTER: case ADMIN_CFILTER: /* Edit user System Filters */ case ADMIN_UPDATE_SFILTER: case ADMIN_SFILTER: include(sprintf('%s/admin/users/user_extends.%s',$root,$ext)); break; /** * * Default, displays list of domains * **/ default: include(sprintf('%s/admin/users/users_base.%s',$root,$ext)); break; } } else { redirect(append_sid(sprintf('admin.%s',$ext)),TRUE); } ?>