\x20\40\x20\40 HEX
HEX
Server: Apache
System: Linux web1.jenscom.net 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64
User: sps (1059)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: /home/sps/www/wp-content/plugins/nextgen-gallery/src/Util/Security.php
<?php

namespace Imagely\NGG\Util;

/**
 * Security utility class.
 */
class Security {

	public static function get_mapped_cap( $capability_name ) {
		switch ( $capability_name ) {
			case 'nextgen_edit_display_settings':
			case 'nextgen_edit_settings':
				$capability_name = 'NextGEN Change options';
				break;
			case 'nextgen_edit_style':
				$capability_name = 'NextGEN Change style';
				break;
			case 'nextgen_edit_displayed_gallery':
				$capability_name = 'NextGEN Attach Interface';
				break;
			case 'nextgen_edit_gallery':
				$capability_name = 'NextGEN Manage gallery';
				break;
			case 'nextgen_edit_gallery_unowned':
				$capability_name = 'NextGEN Manage others gallery';
				break;
			case 'nextgen_upload_image':
			case 'nextgen_upload_images':
				$capability_name = 'NextGEN Upload images';
				break;
			case 'nextgen_edit_album_settings':
				$capability_name = 'NextGEN Edit album settings';
				break;
			case 'nextgen_edit_album':
				$capability_name = 'NextGEN Edit album';
				break;
		}

		return $capability_name;
	}

	public static function create_nonce( $cap = -1 ) {
		return \wp_create_nonce( self::get_mapped_cap( $cap ) );
	}

	public static function verify_nonce( $nonce, $cap = -1 ) {
		return \wp_verify_nonce( $nonce, self::get_mapped_cap( $cap ) );
	}

	public static function is_allowed( $capability_name, $user = false ) {
		$capability_name = self::get_mapped_cap( $capability_name );

		if ( ! $user && function_exists( 'wp_get_current_user' ) ) {
			$user = \wp_get_current_user();
		} elseif ( is_numeric( $user ) ) {
			$user = new \WP_User( $user );
		}

		return $user && $user->has_cap( $capability_name );
	}
}