Changeset 3448325
- Timestamp:
- 01/28/2026 03:29:54 AM (2 months ago)
- Location:
- site-under-construction
- Files:
-
- 1 deleted
- 2 edited
-
tags/1.0.3/includes/class-settings.php (modified) (1 diff)
-
trunk/includes/class-settings copy.php (deleted)
-
trunk/includes/class-settings.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
site-under-construction/tags/1.0.3/includes/class-settings.php
r3448301 r3448325 366 366 public static function sanitize_access($input): array 367 367 { 368 $o = get_option(self::OPTION_NAMES['ACCESS'], []); 369 $existing_ips = is_array($o['whitelisted_user_ips'] ?? []) ? $o['whitelisted_user_ips'] : []; 368 $stored = get_option(self::OPTION_NAMES['ACCESS'], []); 369 370 $rawIps = $input['whitelisted_user_ips'] 371 ?? ($stored['whitelisted_user_ips'] ?? []); 372 373 if (is_array($rawIps)) { 374 $rawIps = implode("\n", $rawIps); 375 } 370 376 371 377 $ips = []; 372 foreach (preg_split('/\R/', $input['whitelisted_user_ips'] ?? implode("\n", $existing_ips)) as $ip) { 373 if (filter_var(trim($ip), FILTER_VALIDATE_IP)) { 374 $ips[] = trim($ip); 378 if (!empty($rawIps)) { 379 foreach (preg_split('/\R/', (string) $rawIps) as $ip) { 380 $ip = trim($ip); 381 if ($ip && filter_var($ip, FILTER_VALIDATE_IP)) { 382 $ips[] = $ip; 383 } 375 384 } 376 385 } 377 386 387 $roles_obj = wp_roles(); 388 $valid_roles = $roles_obj ? array_keys($roles_obj->roles) : []; 389 390 $input_roles = array_map( 391 'sanitize_key', 392 $input['whitelisted_user_roles'] ?? ['administrator'] 393 ); 394 378 395 return [ 379 'is_direct_access_password' => !empty($input['is_direct_access_password']), 380 'direct_access_password' => sanitize_text_field($input['direct_access_password'] ?? self::DEFAULT_PASSWORD), 381 'whitelisted_user_roles' => array_map('sanitize_key', $input['whitelisted_user_roles'] ?? ['administrator']), 382 'is_whitelisted_user_ips' => !empty($input['is_whitelisted_user_ips']), 383 'whitelisted_user_ips' => $ips, 396 'is_direct_access_password' => !empty($input['is_direct_access_password']), 397 'direct_access_password' => !empty($input['is_direct_access_password']) 398 ? sanitize_text_field($input['direct_access_password'] ?? self::DEFAULT_PASSWORD) 399 : $stored['direct_access_password'] ?? '', 400 'whitelisted_user_roles' => array_values(array_intersect($input_roles, $valid_roles)), 401 'is_whitelisted_user_ips' => !empty($input['is_whitelisted_user_ips']) && !empty($ips), 402 'whitelisted_user_ips' => array_values(array_unique($ips)), 384 403 ]; 385 404 } -
site-under-construction/trunk/includes/class-settings.php
r3448300 r3448325 366 366 public static function sanitize_access($input): array 367 367 { 368 $o = get_option(self::OPTION_NAMES['ACCESS'], []); 369 $existing_ips = is_array($o['whitelisted_user_ips'] ?? []) ? $o['whitelisted_user_ips'] : []; 368 $stored = get_option(self::OPTION_NAMES['ACCESS'], []); 369 370 $rawIps = $input['whitelisted_user_ips'] 371 ?? ($stored['whitelisted_user_ips'] ?? []); 372 373 if (is_array($rawIps)) { 374 $rawIps = implode("\n", $rawIps); 375 } 370 376 371 377 $ips = []; 372 foreach (preg_split('/\R/', $input['whitelisted_user_ips'] ?? implode("\n", $existing_ips)) as $ip) { 373 if (filter_var(trim($ip), FILTER_VALIDATE_IP)) { 374 $ips[] = trim($ip); 378 if (!empty($rawIps)) { 379 foreach (preg_split('/\R/', (string) $rawIps) as $ip) { 380 $ip = trim($ip); 381 if ($ip && filter_var($ip, FILTER_VALIDATE_IP)) { 382 $ips[] = $ip; 383 } 375 384 } 376 385 } 377 386 387 $roles_obj = wp_roles(); 388 $valid_roles = $roles_obj ? array_keys($roles_obj->roles) : []; 389 390 $input_roles = array_map( 391 'sanitize_key', 392 $input['whitelisted_user_roles'] ?? ['administrator'] 393 ); 394 378 395 return [ 379 'is_direct_access_password' => !empty($input['is_direct_access_password']), 380 'direct_access_password' => sanitize_text_field($input['direct_access_password'] ?? self::DEFAULT_PASSWORD), 381 'whitelisted_user_roles' => array_map('sanitize_key', $input['whitelisted_user_roles'] ?? ['administrator']), 382 'is_whitelisted_user_ips' => !empty($input['is_whitelisted_user_ips']), 383 'whitelisted_user_ips' => $ips, 396 'is_direct_access_password' => !empty($input['is_direct_access_password']), 397 'direct_access_password' => !empty($input['is_direct_access_password']) 398 ? sanitize_text_field($input['direct_access_password'] ?? self::DEFAULT_PASSWORD) 399 : $stored['direct_access_password'] ?? '', 400 'whitelisted_user_roles' => array_values(array_intersect($input_roles, $valid_roles)), 401 'is_whitelisted_user_ips' => !empty($input['is_whitelisted_user_ips']) && !empty($ips), 402 'whitelisted_user_ips' => array_values(array_unique($ips)), 384 403 ]; 385 404 }
Note: See TracChangeset
for help on using the changeset viewer.