',
- \esc_html__( 'You seem to use the System Task Scheduler to process WP_Cron tasks.', 'activitypub' )
- ),
- 'actions' => '',
- 'test' => 'test_system_cron',
- );
-
- if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) {
- return $result;
- }
-
- $result['status'] = 'recommended';
- $result['label'] = \__( 'System Task Scheduler not configured', 'activitypub' );
- $result['badge']['color'] = 'orange';
- $result['description'] = \sprintf(
- '
%s
',
- \__( 'Enhance your WordPress site’s performance and mitigate potential heavy loads caused by plugins like ActivityPub by setting up a system cron job to run WP Cron. This ensures scheduled tasks are executed consistently and reduces the reliance on website traffic for trigger events.', 'activitypub' )
- );
- $result['actions'] .= sprintf(
- '
' . \wp_kses( __( 'The post\'s content. With apply_filters you can decide if filters (apply_filters( \'the_content\', $content )) should be applied or not (default is yes). The values can be yes or no. apply_filters attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '
' . \wp_kses( __( 'The post\'s permalink. type can be either: url or html (an <a /> tag). type attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '
' .
- '
[ap_shortlink type="url"]
' .
- '
' . \wp_kses( __( 'The post\'s shortlink. type can be either url or html (an <a /> tag). I can recommend Hum, to prettify the Shortlinks. type attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '
' .
- '
[ap_hashtags]
' .
- '
' . \wp_kses( __( 'The post\'s tags as hashtags.', 'activitypub' ), array( 'code' => array() ) ) . '
' .
- '
[ap_hashcats]
' .
- '
' . \wp_kses( __( 'The post\'s categories as hashtags.', 'activitypub' ), array( 'code' => array() ) ) . '
' .
- '
[ap_image type=full]
' .
- '
' . \wp_kses( __( 'The URL for the post\'s featured image, defaults to full size. The type attribute can be any of the following: thumbnail, medium, large, full. type attribute is optional.', 'activitypub' ), array( 'code' => array() ) ) . '
' . \wp_kses( __( 'The URL to the site.', 'activitypub' ), array( 'code' => array() ) ) . '
' .
- '
[ap_blogname]
' .
- '
' . \wp_kses( __( 'The name of the site.', 'activitypub' ), array( 'code' => array() ) ) . '
' .
- '
[ap_blogdesc]
' .
- '
' . \wp_kses( __( 'The description of the site.', 'activitypub' ), array( 'code' => array() ) ) . '
' .
- '
' .
- '
' . __( 'You may also use any Shortcode normally available to you on your site, however be aware that Shortcodes may significantly increase the size of your content depending on what they do.', 'activitypub' ) . '
' .
- '
' . __( 'Note: the old Template Tags are now deprecated and automatically converted to the new ones.', 'activitypub' ) . '
' .
- '
' . \wp_kses( \__( 'Let me know if you miss a Template Tag.', 'activitypub' ), 'activitypub' ) . '
' . \__( 'The Fediverse is a new word made of two words: "federation" + "universe"', 'activitypub' ) . '
' .
- '
' . \__( 'It is a federated social network running on free open software on a myriad of computers across the globe. Many independent servers are interconnected and allow people to interact with one another. There\'s no one central site: you choose a server to register. This ensures some decentralization and sovereignty of data. Fediverse (also called Fedi) has no built-in advertisements, no tricky algorithms, no one big corporation dictating the rules. Instead we have small cozy communities of like-minded people. Welcome!', 'activitypub' ) . '
' . \__( 'ActivityPub is a decentralized social networking protocol based on the ActivityStreams 2.0 data format. ActivityPub is an official W3C recommended standard published by the W3C Social Web Working Group. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and subscribing to content.', 'activitypub' ) . '
' .
- '
' . \__( 'WebFinger', 'activitypub' ) . '
' .
- '
' . \__( 'WebFinger is used to discover information about people or other entities on the Internet that are identified by a URI using standard Hypertext Transfer Protocol (HTTP) methods over a secure transport. A WebFinger resource returns a JavaScript Object Notation (JSON) object describing the entity that is queried. The JSON object is referred to as the JSON Resource Descriptor (JRD).', 'activitypub' ) . '
' .
- '
' . \__( 'For a person, the type of information that might be discoverable via WebFinger includes a personal profile address, identity service, telephone number, or preferred avatar. For other entities on the Internet, a WebFinger resource might return JRDs containing link relations that enable a client to discover, for example, that a printer can print in color on A4 paper, the physical location of a server, or other static information.', 'activitypub' ) . '
' .
- '
' . \__( 'On Mastodon [and other Plattforms], user profiles can be hosted either locally on the same website as yours, or remotely on a completely different website. The same username may be used on a different domain. Therefore, a Mastodon user\'s full mention consists of both the username and the domain, in the form @username@domain. In practical terms, @user@example.com is not the same as @user@example.org. If the domain is not included, Mastodon will try to find a local user named @username. However, in order to deliver to someone over ActivityPub, the @username@domain mention is not enough – mentions must be translated to an HTTPS URI first, so that the remote actor\'s inbox and outbox can be found. (This paragraph is copied from the Mastodon Documentation)', 'activitypub' ) . '
' . \__( 'NodeInfo is an effort to create a standardized way of exposing metadata about a server running one of the distributed social networks. The two key goals are being able to get better insights into the user base of distributed social networking and the ability to build tools that allow users to choose the best fitting software and server for their needs.', 'activitypub' ) . '
ActivityPub, broadcasting your blog to a wider audience. Attract followers, deliver updates, and receive comments from a diverse user base on Mastodon, Friendica, Pleroma, Pixelfed, and all ActivityPub-compliant platforms.', 'activitypub' ), array( 'strong' => array() ) ); ?>
- Site Health page to ensure that your site is compatible and/or use the "Help" tab (in the top right of the settings pages).',
- 'activitypub'
- ),
- \esc_url_raw( admin_url( 'site-health.php' ) )
- ),
- 'default'
- );
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/functions.php b/wp-content/upgrade-temp-backup/plugins/gitium/functions.php
deleted file mode 100644
index d648985f..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/functions.php
+++ /dev/null
@@ -1,420 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-function gitium_error_log( $message ) {
- if ( ! defined( 'WP_DEBUG' ) || ! WP_DEBUG ) { return; }
- error_log( "gitium_error_log: $message" );
-}
-
-function wp_content_is_versioned() {
- return file_exists( WP_CONTENT_DIR . '/.git' );
-}
-
-if ( ! function_exists( 'gitium_enable_maintenance_mode' ) ) :
- function gitium_enable_maintenance_mode() {
- $file = ABSPATH . '/.maintenance';
-
- if ( false === file_put_contents( $file, 'set_key( $git_private_key );
-
- $git->add( $dir );
- gitium_update_versions();
- $current_user = wp_get_current_user();
- return $git->commit( $message, $current_user->display_name, $current_user->user_email );
-}
-
-function _gitium_format_message( $name, $version = false, $prefix = '' ) {
- $commit_message = "`$name`";
- if ( $version ) {
- $commit_message .= " version $version";
- }
- if ( $prefix ) {
- $commit_message = "$prefix $commit_message";
- }
- return $commit_message;
-}
-
-/**
- * This function return the basic info about a path.
- *
- * base_path - means the path after wp-content dir (themes/plugins)
- * type - can be file/theme/plugin
- * name - the file name of the path, if it is a file, or the theme/plugin name
- * version - the theme/plugin version, othewise null
- */
-/* Some examples:
-
- with 'wp-content/themes/twentyten/style.css' will return:
- array(
- 'base_path' => 'wp-content/themes/twentyten'
- 'type' => 'theme'
- 'name' => 'TwentyTen'
- 'version' => '1.12'
- )
-
- with 'wp-content/themes/twentyten/img/foo.png' will return:
- array(
- 'base_path' => 'wp-content/themes/twentyten'
- 'type' => 'theme'
- 'name' => 'TwentyTen'
- 'version' => '1.12'
- )
-
- with 'wp-content/plugins/foo.php' will return:
- array(
- 'base_path' => 'wp-content/plugins/foo.php'
- 'type' => 'plugin'
- 'name' => 'Foo'
- 'varsion' => '2.0'
- )
-
- with 'wp-content/plugins/autover/autover.php' will return:
- array(
- 'base_path' => 'wp-content/plugins/autover'
- 'type' => 'plugin'
- 'name' => 'autover'
- 'version' => '3.12'
- )
-
- with 'wp-content/plugins/autover/' will return:
- array(
- 'base_path' => 'wp-content/plugins/autover'
- 'type' => 'plugin'
- 'name' => 'autover'
- 'version' => '3.12'
- )
-*/
-function _gitium_module_by_path( $path ) {
- $versions = gitium_get_versions();
-
- // default values
- $module = array(
- 'base_path' => $path,
- 'type' => 'file',
- 'name' => basename( $path ),
- 'version' => null,
- );
-
- // find the base_path
- $split_path = explode( '/', $path );
- if ( 2 < count( $split_path ) ) {
- $module['base_path'] = "{$split_path[0]}/{$split_path[1]}/{$split_path[2]}";
- }
-
- // find other data for theme
- if ( array_key_exists( 'themes', $versions ) && 0 === strpos( $path, 'wp-content/themes/' ) ) {
- $module['type'] = 'theme';
- foreach ( $versions['themes'] as $theme => $data ) {
- if ( 0 === strpos( $path, "wp-content/themes/$theme" ) ) {
- $module['name'] = $data['name'];
- $module['version'] = $data['version'];
- break;
- }
- }
- }
-
- // find other data for plugin
- if ( array_key_exists( 'plugins', $versions ) && 0 === strpos( $path, 'wp-content/plugins/' ) ) {
- $module['type'] = 'plugin';
- foreach ( $versions['plugins'] as $plugin => $data ) {
- if ( '.' === dirname( $plugin ) ) { // single file plugin
- if ( "wp-content/plugins/$plugin" === $path ) {
- $module['base_path'] = $path;
- $module['name'] = $data['name'];
- $module['version'] = $data['version'];
- break;
- }
- } else if ( 'wp-content/plugins/' . dirname( $plugin ) === $module['base_path'] ) {
- $module['name'] = $data['name'];
- $module['version'] = $data['version'];
- break;
- }
- }
- }
-
- return $module;
-}
-
-function gitium_group_commit_modified_plugins_and_themes( $msg_append = '' ) {
- global $git;
-
- $uncommited_changes = $git->get_local_changes();
- $commit_groups = array();
- $commits = array();
-
- if ( ! empty( $msg_append ) ) {
- $msg_append = "($msg_append)";
- }
- foreach ( $uncommited_changes as $path => $action ) {
- $change = _gitium_module_by_path( $path );
- $change['action'] = $action;
- $commit_groups[ $change['base_path'] ] = $change;
- }
-
- foreach ( $commit_groups as $base_path => $change ) {
- $commit_message = _gitium_format_message( $change['name'], $change['version'], "${change['action']} ${change['type']}" );
- $commit = _gitium_commit_changes( "$commit_message $msg_append", $base_path, false );
- if ( $commit ) {
- $commits[] = $commit;
- }
- }
-
- return $commits;
-}
-
-function gitium_commit_and_push_gitignore_file( $path = '' ) {
- global $git;
-
- $current_user = wp_get_current_user();
- if ( ! empty( $path ) ) { $git->rm_cached( $path ); }
- $git->add( '.gitignore' );
- $commit = $git->commit( 'Update the `.gitignore` file', $current_user->display_name, $current_user->user_email );
- gitium_merge_and_push( $commit );
-}
-
-if ( ! function_exists( 'gitium_acquire_merge_lock' ) ) :
- function gitium_acquire_merge_lock() {
- $gitium_lock_path = apply_filters( 'gitium_lock_path', sys_get_temp_dir().'/.gitium-lock' );
- $gitium_lock_handle = fopen( $gitium_lock_path, 'w+' );
-
- $lock_timeout = intval( ini_get( 'max_execution_time' ) ) > 10 ? intval( ini_get( 'max_execution_time' ) ) - 5 : 10;
- $lock_timeout_ms = 10;
- $lock_retries = 0;
- while ( ! flock( $gitium_lock_handle, LOCK_EX | LOCK_NB ) ) {
- usleep( $lock_timeout_ms * 1000 );
- $lock_retries++;
- if ( $lock_retries * $lock_timeout_ms > $lock_timeout * 1000 ) {
- return false; // timeout
- }
- }
- gitium_error_log( __FUNCTION__ );
- return array( $gitium_lock_path, $gitium_lock_handle );
- }
-endif;
-
-if ( ! function_exists( 'gitium_release_merge_lock' ) ) :
- function gitium_release_merge_lock( $lock ) {
- list( $gitium_lock_path, $gitium_lock_handle ) = $lock;
- gitium_error_log( __FUNCTION__ );
- flock( $gitium_lock_handle, LOCK_UN );
- fclose( $gitium_lock_handle );
- }
-endif;
-
-// Merges the commits with remote and pushes them back
-function gitium_merge_and_push( $commits ) {
- global $git;
-
- $lock = gitium_acquire_merge_lock()
- or trigger_error( 'Timeout when gitium lock was acquired', E_USER_WARNING );
-
- if ( ! $git->fetch_ref() ) {
- return false;
- }
-
- $merge_status = $git->merge_with_accept_mine( $commits );
-
- gitium_release_merge_lock( $lock );
-
- return $git->push() && $merge_status;
-}
-
-function gitium_check_after_event( $plugin, $event = 'activation' ) {
- global $git;
-
- if ( 'gitium/gitium.php' == $plugin ) { return; } // do not hook on activation of this plugin
-
- if ( $git->is_dirty() ) {
- $versions = gitium_update_versions();
- if ( isset( $versions['plugins'][ $plugin ] ) ) {
- $name = $versions['plugins'][ $plugin ]['name'];
- $version = $versions['plugins'][ $plugin ]['version'];
- } else {
- $name = $plugin;
- }
- gitium_auto_push( _gitium_format_message( $name, $version, "after $event of" ) );
- }
-}
-
-function gitium_update_remote_tracking_branch() {
- global $git;
- $remote_branch = $git->get_remote_tracking_branch();
- set_transient( 'gitium_remote_tracking_branch', $remote_branch );
-
- return $remote_branch;
-}
-
-function _gitium_get_remote_tracking_branch( $update_transient = false ) {
- if ( ! $update_transient && ( false !== ( $remote_branch = get_transient( 'gitium_remote_tracking_branch' ) ) ) ) {
- return $remote_branch;
- } else {
- return gitium_update_remote_tracking_branch();
- }
-}
-
-function gitium_update_is_status_working() {
- global $git;
- $is_status_working = $git->is_status_working();
- set_transient( 'gitium_is_status_working', $is_status_working );
- return $is_status_working;
-}
-
-function _gitium_is_status_working( $update_transient = false ) {
- if ( ! $update_transient && ( false !== ( $is_status_working = get_transient( 'gitium_is_status_working' ) ) ) ) {
- return $is_status_working;
- } else {
- return gitium_update_is_status_working();
- }
-}
-
-function _gitium_status( $update_transient = false ) {
- global $git;
-
- if ( ! $update_transient && ( false !== ( $changes = get_transient( 'gitium_uncommited_changes' ) ) ) ) {
- return $changes;
- }
-
- $git_version = get_transient( 'gitium_git_version' );
- if ( false === $git_version ) {
- set_transient( 'gitium_git_version', $git->get_version() );
- }
-
- if ( $git->is_status_working() && $git->get_remote_tracking_branch() ) {
- if ( ! $git->fetch_ref() ) {
- set_transient( 'gitium_remote_disconnected', $git->get_last_error() );
- } else {
- delete_transient( 'gitium_remote_disconnected' );
- }
- $changes = $git->status();
- } else {
- delete_transient( 'gitium_remote_disconnected' );
- $changes = array();
- }
-
- set_transient( 'gitium_uncommited_changes', $changes, 12 * 60 * 60 ); // cache changes for half-a-day
- return $changes;
-}
-
-function _gitium_ssh_encode_buffer( $buffer ) {
- $len = strlen( $buffer );
- if ( ord( $buffer[0] ) & 0x80 ) {
- $len++;
- $buffer = "\x00" . $buffer;
- }
- return pack( 'Na*', $len, $buffer );
-}
-
-function _gitium_generate_keypair() {
- $rsa_key = openssl_pkey_new(
- array(
- 'private_key_bits' => 2048,
- 'private_key_type' => OPENSSL_KEYTYPE_RSA,
- )
- );
-
- try {
- $private_key = openssl_pkey_get_private( $rsa_key );
- $try = openssl_pkey_export( $private_key, $pem ); //Private Key
- if (!$try)
- return false;
- } catch (Exception $e) {
- return false;
- }
-
- $key_info = openssl_pkey_get_details( $rsa_key );
- $buffer = pack( 'N', 7 ) . 'ssh-rsa' .
- _gitium_ssh_encode_buffer( $key_info['rsa']['e'] ) .
- _gitium_ssh_encode_buffer( $key_info['rsa']['n'] );
- $public_key = 'ssh-rsa ' . base64_encode( $buffer ) . ' gitium@' . parse_url( get_home_url(), PHP_URL_HOST );
-
- return array( $public_key, $pem );
-}
-
-function gitium_get_keypair( $generate_new_keypair = false ) {
- if ( $generate_new_keypair ) {
- $keypair = _gitium_generate_keypair();
- delete_option( 'gitium_keypair' );
- add_option( 'gitium_keypair', $keypair, '', false );
- }
- if ( false === ( $keypair = get_option( 'gitium_keypair', false ) ) ) {
- $keypair = _gitium_generate_keypair();
- add_option( 'gitium_keypair', $keypair, '', false );
- }
- return $keypair;
-}
-
-function _gitium_generate_webhook_key() {
- return md5( str_shuffle( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.()[]{}-_=+!@#%^&*~<>:;' ) );
-}
-
-function gitium_get_webhook_key( $generate_new_webhook_key = false ) {
- if ( $generate_new_webhook_key ) {
- $key = _gitium_generate_webhook_key();
- delete_option( 'gitium_webhook_key' );
- add_option( 'gitium_webhook_key', $key, '', false );
- return $key;
- }
- if ( false === ( $key = get_option( 'gitium_webhook_key', false ) ) ) {
- $key = _gitium_generate_webhook_key();
- add_option( 'gitium_webhook_key', $key, '', false );
- }
- return $key;
-}
-
-function gitium_get_webhook() {
- if ( defined( 'GIT_WEBHOOK_URL' ) && GIT_WEBHOOK_URL ) { return GIT_WEBHOOK_URL; }
- $key = gitium_get_webhook_key();
- $url = add_query_arg( 'key', $key, plugins_url( 'gitium-webhook.php', __FILE__ ) );
- return apply_filters( 'gitium_webhook_url', $url, $key );
-}
-
-function gitium_admin_init() {
- global $git;
-
- $git_version = get_transient( 'gitium_git_version' );
- if ( false === $git_version ) {
- set_transient( 'gitium_git_version', $git->get_version() );
- }
-}
-add_action( 'admin_init', 'gitium_admin_init' );
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/gitium-webhook.php b/wp-content/upgrade-temp-backup/plugins/gitium/gitium-webhook.php
deleted file mode 100644
index 2f99481b..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/gitium-webhook.php
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-header( 'Content-Type: text/html' );
-define( 'SHORTINIT', true );
-//$wordpress_loader = $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
-$wordpress_loader = filter_input(INPUT_SERVER, 'DOCUMENT_ROOT', FILTER_SANITIZE_STRING) . '/wp-load.php';
-
-require_once $wordpress_loader;
-require_once __DIR__ . '/functions.php';
-require_once __DIR__ . '/inc/class-git-wrapper.php';
-
-$webhook_key = get_option( 'gitium_webhook_key', '' );
-$get_key = filter_input(INPUT_GET, 'key', FILTER_SANITIZE_STRING);
-if ( ! empty ( $webhook_key ) && isset( $get_key ) && $webhook_key == $get_key ) :
- ( '1.7' <= substr( $git->get_version(), 0, 3 ) ) or wp_die( 'Gitium plugin require minimum `git version 1.7`!' );
-
- list( $git_public_key, $git_private_key ) = gitium_get_keypair();
- if ( ! $git_public_key || ! $git_private_key )
- wp_die('Not ready.', 'Not ready.', array( 'response' => 403 ));
- else
- $git->set_key( $git_private_key );
-
- $commits = array();
- $commitmsg = sprintf( 'Merged changes from %s on %s', $_SERVER['SERVER_NAME'], date( 'm.d.Y' ) );
-
- if ( $git->is_dirty() && $git->add() > 0 ) {
- $commits[] = $git->commit( $commitmsg ) or trigger_error( 'Could not commit local changes!', E_USER_ERROR );
- }
- gitium_merge_and_push( $commits ) or trigger_error( 'Failed merge & push: ' . serialize( $git->get_last_error() ), E_USER_ERROR );
-
- wp_die( $commitmsg , 'Pull done!', array( 'response' => 200 ) );
-else :
- wp_die( 'Cheating uh?', 'Cheating uh?', array( 'response' => 403 ) );
-endif;
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/gitium.php b/wp-content/upgrade-temp-backup/plugins/gitium/gitium.php
deleted file mode 100644
index eea6f526..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/gitium.php
+++ /dev/null
@@ -1,374 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-define( 'GITIUM_LAST_COMMITS', 20 );
-define( 'GITIUM_MIN_GIT_VER', '1.7' );
-define( 'GITIUM_MIN_PHP_VER', '5.6' );
-
-if ( is_multisite() ) {
- define( 'GITIUM_ADMIN_MENU_ACTION', 'network_admin_menu' );
- define( 'GITIUM_ADMIN_NOTICES_ACTION', 'network_admin_notices' );
- define( 'GITIUM_MANAGE_OPTIONS_CAPABILITY', 'manage_network_options' );
-} else {
- define( 'GITIUM_ADMIN_MENU_ACTION', 'admin_menu' );
- define( 'GITIUM_ADMIN_NOTICES_ACTION', 'admin_notices' );
- define( 'GITIUM_MANAGE_OPTIONS_CAPABILITY', 'manage_options' );
-}
-
-require_once __DIR__ . '/functions.php';
-require_once __DIR__ . '/inc/class-git-wrapper.php';
-require_once __DIR__ . '/inc/class-gitium-requirements.php';
-require_once __DIR__ . '/inc/class-gitium-admin.php';
-require_once __DIR__ . '/inc/class-gitium-help.php';
-require_once __DIR__ . '/inc/class-gitium-menu.php';
-require_once __DIR__ . '/inc/class-gitium-menu-bubble.php';
-require_once __DIR__ . '/inc/class-gitium-submenu-configure.php';
-require_once __DIR__ . '/inc/class-gitium-submenu-status.php';
-require_once __DIR__ . '/inc/class-gitium-submenu-commits.php';
-require_once __DIR__ . '/inc/class-gitium-submenu-settings.php';
-
-function gitium_load_textdomain() {
- load_plugin_textdomain( 'gitium', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
-}
-add_action( 'plugins_loaded', 'gitium_load_textdomain' );
-
-function _gitium_make_ssh_git_file_exe() {
- $ssh_wrapper = dirname( __FILE__ ) . '/inc/ssh-git';
- $process = proc_open(
- "chmod -f +x $ssh_wrapper",
- array(
- 0 => array( 'pipe', 'r' ), // stdin
- 1 => array( 'pipe', 'w' ), // stdout
- ),
- $pipes
- );
- if ( is_resource( $process ) ) {
- fclose( $pipes[0] );
- proc_close( $process );
- }
-}
-register_activation_hook( __FILE__, '_gitium_make_ssh_git_file_exe' );
-
-function gitium_deactivation() {
- delete_transient( 'gitium_git_version' );
-}
-register_deactivation_hook( __FILE__, 'gitium_deactivation' );
-
-function gitium_uninstall_hook() {
- delete_transient( 'gitium_remote_tracking_branch' );
- delete_transient( 'gitium_remote_disconnected' );
- delete_transient( 'gitium_uncommited_changes' );
- delete_transient( 'gitium_git_version' );
- delete_transient( 'gitium_versions' );
- delete_transient( 'gitium_menu_bubble' );
- delete_transient( 'gitium_is_status_working' );
-
- delete_option( 'gitium_keypair' );
- delete_option( 'gitium_webhook_key' );
-}
-register_uninstall_hook( __FILE__, 'gitium_uninstall_hook' );
-
-/* Array
-(
- [themes] => Array
- (
- [twentytwelve] => `Twenty Twelve` version 1.3
- )
- [plugins] => Array
- (
- [cron-view/cron-gui.php] => `Cron GUI` version 1.03
- [hello-dolly/hello.php] => `Hello Dolly` version 1.6
- )
-
-) */
-function gitium_update_versions() {
- $new_versions = [];
-
- // get all themes from WP
- $all_themes = wp_get_themes( array( 'allowed' => true ) );
- foreach ( $all_themes as $theme_name => $theme ) :
- $theme_versions[ $theme_name ] = array(
- 'name' => $theme->Name,
- 'version' => null,
- 'msg' => '',
- );
- $theme_versions[ $theme_name ]['msg'] = '`' . $theme->Name . '`';
- $version = $theme->Version;
- if ( ! empty( $version ) ) {
- $theme_versions[ $theme_name ]['msg'] .= " version $version";
- $theme_versions[ $theme_name ]['version'] .= $version;
- }
- endforeach;
-
- if ( ! empty( $theme_versions ) ) {
- $new_versions['themes'] = $theme_versions;
- }
- // get all plugins from WP
- if ( ! function_exists( 'get_plugins' ) ) {
- require_once ABSPATH . 'wp-admin/includes/plugin.php';
- }
- $all_plugins = get_plugins();
- foreach ( $all_plugins as $name => $data ) :
- $plugin_versions[ $name ] = array(
- 'name' => $data['Name'],
- 'version' => null,
- 'msg' => '',
- );
- $plugin_versions[ $name ]['msg'] = "`{$data['Name']}`";
- if ( ! empty( $data['Version'] ) ) {
- $plugin_versions[ $name ]['msg'] .= ' version ' . $data['Version'];
- $plugin_versions[ $name ]['version'] .= $data['Version'];
- }
- endforeach;
-
- if ( ! empty( $plugin_versions ) ) {
- $new_versions['plugins'] = $plugin_versions;
- }
-
- set_transient( 'gitium_versions', $new_versions );
-
- return $new_versions;
-}
-add_action( 'load-plugins.php', 'gitium_update_versions', 999 );
-
-function gitium_upgrader_post_install( $res, $hook_extra, $result ) {
- _gitium_make_ssh_git_file_exe();
-
- $action = null;
- $type = null;
-
- // install logic
- if ( isset( $hook_extra['type'] ) && ( 'plugin' === $hook_extra['type'] ) ) {
- $action = 'installed';
- $type = 'plugin';
- } else if ( isset( $hook_extra['type'] ) && ( 'theme' === $hook_extra['type'] ) ) {
- $action = 'installed';
- $type = 'theme';
- }
-
- // update/upgrade logic
- if ( isset( $hook_extra['plugin'] ) ) {
- $action = 'updated';
- $type = 'plugin';
- } else if ( isset( $hook_extra['theme'] ) ) {
- $action = 'updated';
- $type = 'theme';
- }
-
- // get action if missed above
- if ( isset( $hook_extra['action'] ) ) {
- $action = $hook_extra['action'];
- if ( 'install' === $action ) {
- $action = 'installed';
- }
- if ( 'update' === $action ) {
- $action = 'updated';
- }
- }
-
- if ( WP_DEBUG ) {
- error_log( __FUNCTION__ . ':hook_extra:' . serialize( $hook_extra ) );
- error_log( __FUNCTION__ . ':action:type:' . $action . ':' . $type );
- }
-
- $git_dir = $result['destination'];
- $version = '';
-
- if ( ABSPATH == substr( $git_dir, 0, strlen( ABSPATH ) ) ) {
- $git_dir = substr( $git_dir, strlen( ABSPATH ) );
- }
- switch ( $type ) {
- case 'theme':
- wp_clean_themes_cache();
- $theme_data = wp_get_theme( $result['destination_name'] );
- $name = $theme_data->get( 'Name' );
- $version = $theme_data->get( 'Version' );
- break;
- case 'plugin':
- foreach ( $result['source_files'] as $file ) :
- if ( '.php' != substr( $file, -4 ) ) { continue; }
- // every .php file is a possible plugin so we check if it's a plugin
- $filepath = trailingslashit( $result['destination'] ) . $file;
- $plugin_data = get_plugin_data( $filepath );
- if ( $plugin_data['Name'] ) :
- $name = $plugin_data['Name'];
- $version = $plugin_data['Version'];
- // We get info from the first plugin in the package
- break;
- endif;
- endforeach;
- break;
- }
- if ( empty( $name ) ) {
- $name = $result['destination_name'];
- }
- $commit_message = _gitium_format_message( $name,$version,"$action $type" );
- $commit = _gitium_commit_changes( $commit_message, $git_dir, false );
- gitium_merge_and_push( $commit );
-
- return $res;
-}
-add_filter( 'upgrader_post_install', 'gitium_upgrader_post_install', 10, 3 );
-
-// Checks for local changes, tries to group them by plugin/theme and pushes the changes
-function gitium_auto_push( $msg_prepend = '' ) {
- global $git;
- list( , $git_private_key ) = gitium_get_keypair();
- if ( ! $git_private_key )
- return;
- $git->set_key( $git_private_key );
-
- $commits = gitium_group_commit_modified_plugins_and_themes( $msg_prepend );
- gitium_merge_and_push( $commits );
- gitium_update_versions();
-}
-add_action( 'upgrader_process_complete', 'gitium_auto_push', 11, 0 );
-
-function gitium_check_after_activate_modifications( $plugin ) {
- gitium_check_after_event( $plugin );
-}
-add_action( 'activated_plugin', 'gitium_check_after_activate_modifications', 999 );
-
-function gitium_check_after_deactivate_modifications( $plugin ) {
- gitium_check_after_event( $plugin, 'deactivation' );
-}
-add_action( 'deactivated_plugin', 'gitium_check_after_deactivate_modifications', 999 );
-
-function gitium_check_for_plugin_deletions() { // Handle plugin deletion
- // $_GET['deleted'] used to resemble if a plugin has been deleted (true)
- // ...meanwhile commit b28dd45f3dad19f0e06c546fdc89ed5b24bacd72 in github.com/WordPress/WordPress...
- // Now it resembles the number of deleted plugins (a number). Thanks WP
- if ( isset( $_GET['deleted'] ) && ( 1 <= (int) $_GET['deleted'] || 'true' == $_GET['deleted'] ) ) {
- gitium_auto_push();
- }
-}
-add_action( 'load-plugins.php', 'gitium_check_for_plugin_deletions' );
-
-add_action( 'wp_ajax_wp-plugin-delete-success', 'gitium_auto_push' );
-add_action( 'wp_ajax_wp-theme-delete-success', 'gitium_auto_push' );
-
-function gitium_wp_plugin_delete_success() {
-?>
-
-
-
-=' ) )
- add_action( 'wp_ajax_edit-theme-plugin-file', 'add_filter_for_ajax_save', 1, 0 );
-else
- add_action( 'admin_enqueue_scripts', 'gitium_hook_plugin_and_theme_editor_page' );
-
-function gitium_options_page_check() {
- global $git;
- if ( ! $git->can_exec_git() ) { wp_die( 'Cannot exec git' ); }
- return true;
-}
-
-function gitium_remote_disconnected_notice() {
- if ( current_user_can( GITIUM_MANAGE_OPTIONS_CAPABILITY ) && $message = get_transient( 'gitium_remote_disconnected' ) ) : ?>
-
-
- Could not connect to remote repository.
-
-
-
-
-
\ No newline at end of file
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-git-wrapper.php b/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-git-wrapper.php
deleted file mode 100644
index 3afa125f..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-git-wrapper.php
+++ /dev/null
@@ -1,669 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-define('GITIGNORE', <<repo_dir = $repo_dir;
- $this->private_key = '';
- }
-
- function _rrmdir( $dir ) {
- if ( empty( $dir ) || ! is_dir( $dir ) ) {
- return false;
- }
-
- $files = array_diff( scandir( $dir ), array( '.', '..' ) );
- foreach ( $files as $file ) {
- $filepath = realpath("$dir/$file");
- ( is_dir( $filepath ) ) ? $this->_rrmdir( $filepath ) : unlink( $filepath );
- }
- return rmdir( $dir );
- }
-
- function _log(...$args) {
- if ( ! defined( 'WP_DEBUG' ) || ! WP_DEBUG ) { return; }
-
- $output = '';
- if (isset($args) && $args) foreach ( $args as $arg ) {
- $output .= var_export($arg, true).'/n/n';
- }
-
- if ($output) error_log($output);
- }
-
- function _git_temp_key_file() {
- $key_file = tempnam( sys_get_temp_dir(), 'ssh-git' );
- return $key_file;
- }
-
- function set_key( $private_key ) {
- $this->private_key = $private_key;
- }
-
- private function get_env() {
- $env = array();
- $key_file = null;
-
- if ( defined( 'GIT_SSH' ) && GIT_SSH ) {
- $env['GIT_SSH'] = GIT_SSH;
- } else {
- $env['GIT_SSH'] = dirname( __FILE__ ) . '/ssh-git';
- }
-
- if ( defined( 'GIT_KEY_FILE' ) && GIT_KEY_FILE ) {
- $env['GIT_KEY_FILE'] = GIT_KEY_FILE;
- } elseif ( $this->private_key ) {
- $key_file = $this->_git_temp_key_file();
- chmod( $key_file, 0600 );
- file_put_contents( $key_file, $this->private_key );
- $env['GIT_KEY_FILE'] = $key_file;
- }
-
- return $env;
- }
-
- protected function _call(...$args) {
- $args = join( ' ', array_map( 'escapeshellarg', $args ) );
- $return = -1;
- $response = array();
- $env = $this->get_env();
-
- $git_bin_path = apply_filters( 'gitium_git_bin_path', '' );
- $cmd = "${git_bin_path}git $args 2>&1";
-
- $proc = proc_open(
- $cmd,
- array(
- 0 => array( 'pipe', 'r' ), // stdin
- 1 => array( 'pipe', 'w' ), // stdout
- ),
- $pipes,
- $this->repo_dir,
- $env
- );
- if ( is_resource( $proc ) ) {
- fclose( $pipes[0] );
- while ( $line = fgets( $pipes[1] ) ) {
- $response[] = rtrim( $line, "\n\r" );
- }
- $return = (int)proc_close( $proc );
- }
- $this->_log( "$return $cmd", join( "\n", $response ) );
- if ( ! defined( 'GIT_KEY_FILE' ) && isset( $env['GIT_KEY_FILE'] ) ) {
- unlink( $env['GIT_KEY_FILE'] );
- }
- if ( 0 != $return ) {
- $this->last_error = join( "\n", $response );
- } else {
- $this->last_error = null;
- }
- return array( $return, $response );
- }
-
- function get_last_error() {
- return $this->last_error;
- }
-
- function can_exec_git() {
- list( $return, ) = $this->_call( 'version' );
- return ( 0 == $return );
- }
-
- function is_status_working() {
- list( $return, ) = $this->_call( 'status', '-s' );
- return ( 0 == $return );
- }
-
- function get_version() {
- list( $return, $version ) = $this->_call( 'version' );
- if ( 0 != $return ) { return ''; }
- if ( ! empty( $version[0] ) ) {
- return substr( $version[0], 12 );
- }
- return '';
- }
-
- // git rev-list @{u}..
- function get_ahead_commits() {
- list( , $commits ) = $this->_call( 'rev-list', '@{u}..' );
- return $commits;
- }
-
- // git rev-list ..@{u}
- function get_behind_commits() {
- list( , $commits ) = $this->_call( 'rev-list', '..@{u}' );
- return $commits;
- }
-
- function init() {
- file_put_contents( "$this->repo_dir/.gitignore", $this->gitignore );
- list( $return, ) = $this->_call( 'init' );
- $this->_call( 'config', 'user.email', 'gitium@presslabs.com' );
- $this->_call( 'config', 'user.name', 'Gitium' );
- $this->_call( 'config', 'push.default', 'matching' );
- return ( 0 == $return );
- }
-
- function is_dot_git_dir( $dir ) {
- $realpath = realpath( $dir );
- $git_config = realpath( $realpath . '/config' );
- $git_index = realpath( $realpath . '/index' );
- if ( ! empty( $realpath ) && is_dir( $realpath ) && file_exists( $git_config ) && file_exists( $git_index ) ) {
- return True;
- }
- return False;
- }
-
- function cleanup() {
- $dot_git_dir = realpath( $this->repo_dir . '/.git' );
- if ( $this->is_dot_git_dir( $dot_git_dir ) && $this->_rrmdir( $dot_git_dir ) ) {
- if ( WP_DEBUG ) {
- error_log( "Gitium cleanup successfull. Removed '$dot_git_dir'." );
- }
- return True;
- }
- if ( WP_DEBUG ) {
- error_log( "Gitium cleanup failed. '$dot_git_dir' is not a .git dir." );
- }
- return False;
- }
-
- function add_remote_url( $url ) {
- list( $return, ) = $this->_call( 'remote', 'add', 'origin', $url );
- return ( 0 == $return );
- }
-
- function get_remote_url() {
- list( , $response ) = $this->_call( 'config', '--get', 'remote.origin.url' );
- if ( isset( $response[0] ) ) {
- return $response[0];
- }
- return '';
- }
-
- function remove_remote() {
- list( $return, ) = $this->_call( 'remote', 'rm', 'origin');
- return ( 0 == $return );
- }
-
- function get_remote_tracking_branch() {
- list( $return, $response ) = $this->_call( 'rev-parse', '--abbrev-ref', '--symbolic-full-name', '@{u}' );
- if ( 0 == $return ) {
- return $response[0];
- }
- return false;
- }
-
- function get_local_branch() {
- list( $return, $response ) = $this->_call( 'rev-parse', '--abbrev-ref', 'HEAD' );
- if ( 0 == $return ) {
- return $response[0];
- }
- return false;
- }
-
- function fetch_ref() {
- list( $return, ) = $this->_call( 'fetch', 'origin' );
- return ( 0 == $return );
- }
-
- protected function _resolve_merge_conflicts( $message ) {
- list( , $changes ) = $this->status( true );
- $this->_log( $changes );
- foreach ( $changes as $path => $change ) {
- if ( in_array( $change, array( 'UD', 'DD' ) ) ) {
- $this->_call( 'rm', $path );
- $message .= "\n\tConflict: $path [removed]";
- } elseif ( 'DU' == $change ) {
- $this->_call( 'add', $path );
- $message .= "\n\tConflict: $path [added]";
- } elseif ( in_array( $change, array( 'AA', 'UU', 'AU', 'UA' ) ) ) {
- $this->_call( 'checkout', '--theirs', $path );
- $this->_call( 'add', '--all', $path );
- $message .= "\n\tConflict: $path [local version]";
- }
- }
- $this->commit( $message );
- }
-
- function get_commit_message( $commit ) {
- list( $return, $response ) = $this->_call( 'log', '--format=%B', '-n', '1', $commit );
- return ( $return !== 0 ? false : join( "\n", $response ) );
- }
-
- private function strpos_haystack_array( $haystack, $needle, $offset=0 ) {
- if ( ! is_array( $haystack ) ) { $haystack = array( $haystack ); }
-
- foreach ( $haystack as $query ) {
- if ( strpos( $query, $needle, $offset) !== false ) { return true; }
- }
- return false;
- }
-
- private function cherry_pick( $commits ) {
- foreach ( $commits as $commit ) {
- if ( empty( $commit ) ) { return false; }
-
- list( $return, $response ) = $this->_call( 'cherry-pick', $commit );
-
- // abort the cherry-pick if the changes are already pushed
- if ( false !== $this->strpos_haystack_array( $response, 'previous cherry-pick is now empty' ) ) {
- $this->_call( 'cherry-pick', '--abort' );
- continue;
- }
-
- if ( $return != 0 ) {
- $this->_resolve_merge_conflicts( $this->get_commit_message( $commit ) );
- }
- }
- }
-
- function merge_with_accept_mine(...$commits) {
- do_action( 'gitium_before_merge_with_accept_mine' );
-
- if ( 1 == count($commits) && is_array( $commits[0] ) ) {
- $commits = $commits[0];
- }
-
- // get ahead commits
- $ahead_commits = $this->get_ahead_commits();
-
- // combine all commits with the ahead commits
- $commits = array_unique( array_merge( array_reverse( $commits ), $ahead_commits ) );
- $commits = array_reverse( $commits );
-
- // get the remote branch
- $remote_branch = $this->get_remote_tracking_branch();
-
- // get the local branch
- $local_branch = $this->get_local_branch();
-
- // rename the local branch to 'merge_local'
- $this->_call( 'branch', '-m', 'merge_local' );
-
- // local branch set up to track remote branch
- $this->_call( 'branch', $local_branch, $remote_branch );
-
- // checkout to the $local_branch
- list( $return, ) = $this->_call( 'checkout', $local_branch );
- if ( $return != 0 ) {
- $this->_call( 'branch', '-M', $local_branch );
- return false;
- }
-
- // don't cherry pick if there are no commits
- if ( count( $commits ) > 0 ) {
- $this->cherry_pick( $commits );
- }
-
- if ( $this->successfully_merged() ) { // git status without states: AA, DD, UA, AU ...
- // delete the 'merge_local' branch
- $this->_call( 'branch', '-D', 'merge_local' );
- return true;
- } else {
- $this->_call( 'cherry-pick', '--abort' );
- $this->_call( 'checkout', '-b', 'merge_local' );
- $this->_call( 'branch', '-M', $local_branch );
- return false;
- }
- }
-
- function successfully_merged() {
- list( , $response ) = $this->status( true );
- $changes = array_values( $response );
- return ( 0 == count( array_intersect( $changes, array( 'DD', 'AU', 'UD', 'UA', 'DU', 'AA', 'UU' ) ) ) );
- }
-
- function merge_initial_commit( $commit, $branch ) {
- list( $return, ) = $this->_call( 'branch', '-m', 'initial' );
- if ( 0 != $return ) {
- return false;
- }
- list( $return, ) = $this->_call( 'checkout', $branch );
- if ( 0 != $return ) {
- return false;
- }
- list( $return, ) = $this->_call(
- 'cherry-pick', '--strategy', 'recursive', '--strategy-option', 'theirs', $commit
- );
- if ( $return != 0 ) {
- $this->_resolve_merge_conflicts( $this->get_commit_message( $commit ) );
- if ( ! $this->successfully_merged() ) {
- $this->_call( 'cherry-pick', '--abort' );
- $this->_call( 'checkout', 'initial' );
- return false;
- }
- }
- $this->_call( 'branch', '-D', 'initial' );
- return true;
- }
-
- function get_remote_branches() {
- list( , $response ) = $this->_call( 'branch', '-r' );
- $response = array_map( 'trim', $response );
- $response = array_map( function( $b ) { return str_replace( "origin/", "", $b ); }, $response );
- return $response;
- }
-
- function add(...$args) {
- if ( 1 == count($args) && is_array( $args[0] ) ) {
- $args = $args[0];
- }
- $params = array_merge( array( 'add', '-n', '--all' ), $args );
- list ( , $response ) = call_user_func_array( array( $this, '_call' ), $params );
- $count = count( $response );
-
- $params = array_merge( array( 'add', '--all' ), $args );
- list ( , $response ) = call_user_func_array( array( $this, '_call' ), $params );
-
- return $count;
- }
-
- function commit( $message, $author_name = '', $author_email = '' ) {
- $author = '';
- if ( $author_email ) {
- if ( empty( $author_name ) ) {
- $author_name = $author_email;
- }
- $author = "$author_name <$author_email>";
- }
-
- if ( ! empty( $author ) ) {
- list( $return, $response ) = $this->_call( 'commit', '-m', $message, '--author', $author );
- } else {
- list( $return, $response ) = $this->_call( 'commit', '-m', $message );
- }
- if ( $return !== 0 ) { return false; }
-
- list( $return, $response ) = $this->_call( 'rev-parse', 'HEAD' );
-
- return ( $return === 0 ) ? $response[0] : false;
- }
-
- function push( $branch = '' ) {
- if ( ! empty( $branch ) ) {
- list( $return, ) = $this->_call( 'push', '--porcelain', '-u', 'origin', $branch );
- } else {
- list( $return, ) = $this->_call( 'push', '--porcelain', '-u', 'origin', 'HEAD' );
- }
- return ( $return == 0 );
- }
-
- /*
- * Get uncommited changes with status porcelain
- * git status --porcelain
- * It returns an array like this:
- array(
- file => deleted|modified
- ...
- )
- */
- function get_local_changes() {
- list( $return, $response ) = $this->_call( 'status', '--porcelain' );
-
- if ( 0 !== $return ) {
- return array();
- }
- $new_response = array();
- if ( ! empty( $response ) ) {
- foreach ( $response as $line ) :
- $work_tree_status = substr( $line, 1, 1 );
- $path = substr( $line, 3 );
-
- if ( ( '"' == $path[0] ) && ('"' == $path[strlen( $path ) - 1] ) ) {
- // git status --porcelain will put quotes around paths with whitespaces
- // we don't want the quotes, let's get rid of them
- $path = substr( $path, 1, strlen( $path ) - 2 );
- }
-
- if ( 'D' == $work_tree_status ) {
- $action = 'deleted';
- } else {
- $action = 'modified';
- }
- $new_response[ $path ] = $action;
- endforeach;
- }
- return $new_response;
- }
-
- function get_uncommited_changes() {
- list( , $changes ) = $this->status();
- return $changes;
- }
-
- function local_status() {
- list( $return, $response ) = $this->_call( 'status', '-s', '-b', '-u' );
- if ( 0 !== $return ) {
- return array( '', array() );
- }
-
- $new_response = array();
- if ( ! empty( $response ) ) {
- $branch_status = array_shift( $response );
- foreach ( $response as $idx => $line ) :
- unset( $index_status, $work_tree_status, $path, $new_path, $old_path );
-
- if ( empty( $line ) ) { continue; } // ignore empty lines like the last item
- if ( '#' == $line[0] ) { continue; } // ignore branch status
-
- $index_status = substr( $line, 0, 1 );
- $work_tree_status = substr( $line, 1, 1 );
- $path = substr( $line, 3 );
-
- $old_path = '';
- $new_path = explode( '->', $path );
- if ( ( 'R' === $index_status ) && ( ! empty( $new_path[1] ) ) ) {
- $old_path = trim( $new_path[0] );
- $path = trim( $new_path[1] );
- }
- $new_response[ $path ] = trim( $index_status . $work_tree_status . ' ' . $old_path );
- endforeach;
- }
-
- return array( $branch_status, $new_response );
- }
-
- function status( $local_only = false ) {
- list( $branch_status, $new_response ) = $this->local_status();
-
- if ( $local_only ) { return array( $branch_status, $new_response ); }
-
- $behind_count = 0;
- $ahead_count = 0;
- if ( preg_match( '/## ([^.]+)\.+([^ ]+)/', $branch_status, $matches ) ) {
- $local_branch = $matches[1];
- $remote_branch = $matches[2];
-
- list( , $response ) = $this->_call( 'rev-list', "$local_branch..$remote_branch", '--count' );
- $behind_count = (int)$response[0];
-
- list( , $response ) = $this->_call( 'rev-list', "$remote_branch..$local_branch", '--count' );
- $ahead_count = (int)$response[0];
- }
-
- if ( $behind_count ) {
- list( , $response ) = $this->_call( 'diff', '-z', '--name-status', "$local_branch~$ahead_count", $remote_branch );
- $response = explode( chr( 0 ), $response[0] );
- array_pop( $response );
- for ( $idx = 0 ; $idx < count( $response ) / 2 ; $idx++ ) {
- $file = $response[ $idx * 2 + 1 ];
- $change = $response[ $idx * 2 ];
- if ( ! isset( $new_response[ $file ] ) ) {
- $new_response[ $file ] = "r$change";
- }
- }
- }
- return array( $branch_status, $new_response );
- }
-
- /*
- * Checks if repo has uncommited changes
- * git status --porcelain
- */
- function is_dirty() {
- $changes = $this->get_uncommited_changes();
- return ! empty( $changes );
- }
-
- /**
- * Return the last n commits
- */
- function get_last_commits( $n = 20 ) {
- list( $return, $message ) = $this->_call( 'log', '-n', $n, '--pretty=format:%s' );
- if ( 0 !== $return ) { return false; }
-
- list( $return, $response ) = $this->_call( 'log', '-n', $n, '--pretty=format:%h|%an|%ae|%ad|%cn|%ce|%cd' );
- if ( 0 !== $return ) { return false; }
-
- foreach ( $response as $index => $value ) {
- $commit_info = explode( '|', $value );
- $commits[ $commit_info[0] ] = array(
- 'subject' => $message[ $index ],
- 'author_name' => $commit_info[1],
- 'author_email' => $commit_info[2],
- 'author_date' => $commit_info[3],
- );
- if ( $commit_info[1] != $commit_info[4] && $commit_info[2] != $commit_info[5] ) {
- $commits[ $commit_info[0] ]['committer_name'] = $commit_info[4];
- $commits[ $commit_info[0] ]['committer_email'] = $commit_info[5];
- $commits[ $commit_info[0] ]['committer_date'] = $commit_info[6];
- }
- }
- return $commits;
- }
-
- public function set_gitignore( $content ) {
- file_put_contents( $this->repo_dir . '/.gitignore', $content );
- return true;
- }
-
- public function get_gitignore() {
- return file_get_contents( $this->repo_dir . '/.gitignore' );
- }
-
- /**
- * Remove files in .gitignore from version control
- */
- function rm_cached( $path ) {
- list( $return, ) = $this->_call( 'rm', '--cached', $path );
- return ( $return == 0 );
- }
-
- function remove_wp_content_from_version_control() {
- $process = proc_open(
- 'rm -rf ' . ABSPATH . '/wp-content/.git',
- array(
- 0 => array( 'pipe', 'r' ), // stdin
- 1 => array( 'pipe', 'w' ), // stdout
- ),
- $pipes
- );
- if ( is_resource( $process ) ) {
- fclose( $pipes[0] );
- proc_close( $process );
- return true;
- }
- return false;
- }
-}
-
-if ( ! defined( 'GIT_DIR' ) ) {
- define( 'GIT_DIR', dirname( WP_CONTENT_DIR ) );
-}
-
-# global is needed here for wp-cli as it includes/exec files inside a function scope
-# this forces the context to really be global :\.
-global $git;
-$git = new Git_Wrapper( GIT_DIR );
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-admin.php b/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-admin.php
deleted file mode 100644
index d8db6dd8..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-admin.php
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-class Gitium_Admin {
-
- public function __construct() {
- global $git;
-
- list( , $git_private_key ) = gitium_get_keypair();
- $git->set_key( $git_private_key );
-
- if ( current_user_can( GITIUM_MANAGE_OPTIONS_CAPABILITY ) ) {
- $req = new Gitium_Requirements();
- if ( ! $req->get_status() ) {
- return false;
- }
-
- if ( $this->has_configuration() ) {
- new Gitium_Submenu_Status();
- new Gitium_Submenu_Commits();
- new Gitium_Submenu_Settings();
- new Gitium_Menu_Bubble();
- } else {
- new Gitium_Submenu_Configure();
- }
- }
- }
-
- public function has_configuration() {
- return _gitium_is_status_working() && _gitium_get_remote_tracking_branch();
- }
-}
-
-if ( ( is_admin() && ! is_multisite() ) || ( is_network_admin() && is_multisite() ) ) {
- add_action( 'init', 'gitium_admin_page' );
- function gitium_admin_page() {
- new Gitium_Admin();
- }
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-help.php b/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-help.php
deleted file mode 100644
index b41dae78..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-help.php
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-class Gitium_Help {
-
- public function __construct( $hook, $help = 'gitium' ) {
- add_action( "load-{$hook}", array( $this, $help ), 20 );
- }
-
- private function general() {
- $screen = get_current_screen();
- $screen->add_help_tab( array( 'id' => 'gitium', 'title' => __( 'Gitium', 'gitium' ), 'callback' => array( $this, 'gitium' ) ) );
- $screen->add_help_tab( array( 'id' => 'faq', 'title' => __( 'F.A.Q.', 'gitium' ), 'callback' => array( $this, 'faq' ) ) );
- $screen->add_help_tab( array( 'id' => 'requirements', 'title' => __( 'Requirements', 'gitium' ), 'callback' => array( $this, 'requirements_callback' ) ) );
- $screen->set_help_sidebar( '' );
- }
-
- public function gitium() {
- echo '
' . __( 'Gitium enables continuous deployment for WordPress integrating with tools such as Github, Bitbucket or Travis-CI. Plugin and theme updates, installs and removals are automatically versioned.', 'gitium' ) . '
';
- echo '
' . __( 'Ninja code edits from the WordPress editor are also tracked into version control. Gitium is designed for sane development environments.', 'gitium' ) . '
';
- echo '
' . __( 'Staging and production can follow different branches of the same repository. You can deploy code simply trough git push.', 'gitium' ) . '
';
- echo '
' . __( 'Gitium requires git command line tool minimum version 1.7 installed on the server and proc_open PHP function enabled.', 'gitium' ) . '
';
- }
-
- public function faq() {
- echo '
' . __( 'Could not connect to remote repository?', 'gitium' ) . ' '. __( 'If you encounter this kind of error you can try to fix it by setting the proper username of the .git directory.', 'gitium' ) . ' ' . __( 'Example', 'gitium' ) .': chown -R www-data:www-data .git
';
- echo '
' . __( 'Is this plugin considered stable?', 'gitium' ) . ' '. __( 'Right now this plugin is considered alpha quality and should be used in production environments only by adventurous kinds.', 'gitium' ) . '
';
- echo '
' . __( 'What happens in case of conflicts?', 'gitium' ) . ' '. __( 'The behavior in case of conflicts is to overwrite the changes on the origin repository with the local changes (ie. local modifications take precedence over remote ones).', 'gitium' ) . '
';
- echo '
' . __( 'How to deploy automatically after a push?', 'gitium' ) . ' '. __( 'You can ping the webhook url after a push to automatically deploy the new code. The webhook url can be found under Code menu. This url plays well with Github or Bitbucket webhooks.', 'gitium' ) . '
';
- echo '
' . __( 'Does it works on multi site setups?', 'gitium' ) . ' '. __( 'Gitium is not supporting multisite setups at the moment.', 'gitium' ) . '
';
- echo '
' . __( 'How does gitium handle submodules?', 'gitium' ) . ' '. __( 'Currently submodules are not supported.', 'gitium' ) . '
';
- }
-
- public function requirements_callback() {
- echo '
' . __( 'Gitium requires:', 'gitium' ) . '
';
- echo '
' . __( 'the function proc_open available', 'gitium' ) . '
' . __( 'Configuration step 1', 'gitium' ) . ' ' . __( 'In this step you must specify the Remote URL. This URL represents the link between the git sistem and your site.', 'gitium' ) . '
';
- echo '
' . __( 'You can get this URL from your Git repository and it looks like this:', 'gitium' ) . '
' . __( 'You may be wondering what is the difference between author and committer.', 'gitium' ) . '
';
- echo '
' . __( 'The author is the person who originally wrote the patch, whereas the committer is the person who last applied the patch.', 'gitium' ) . '
';
- echo '
' . __( 'So, if you send in a patch to a project and one of the core members applies the patch, both of you get credit — you as the author and the core member as the committer.', 'gitium' ) . '
' . __( 'Each line from the gitignore file specifies a pattern.', 'gitium' ) . '
';
- echo '
' . __( 'When deciding whether to ignore a path, Git normally checks gitignore patterns from multiple sources, with the following order of precedence, from highest to lowest (within one level of precedence, the last matching pattern decides the outcome)', 'gitium' ) . '
';
- echo '
' . sprintf( __( 'Read more on %s', 'gitium' ), 'git documentation' ) . '
';
- }
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-menu-bubble.php b/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-menu-bubble.php
deleted file mode 100644
index 81f3e2dd..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-menu-bubble.php
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-class Gitium_Menu_Bubble extends Gitium_Menu {
-
- public function __construct() {
- parent::__construct( $this->gitium_menu_slug, $this->gitium_menu_slug );
- add_action( GITIUM_ADMIN_MENU_ACTION, array( $this, 'add_menu_bubble' ) );
- }
-
- public function add_menu_bubble() {
- global $menu;
-
- if ( ! _gitium_is_status_working() ) {
- foreach ( $menu as $key => $value ) {
- if ( $this->menu_slug == $menu[ $key ][2] ) {
- $menu_bubble = get_transient( 'gitium_menu_bubble' );
- if ( false === $menu_bubble ) { $menu_bubble = ''; }
- $menu[ $key ][0] = str_replace( $menu_bubble, '', $menu[ $key ][0] );
- delete_transient( 'gitium_menu_bubble' );
- return;
- }
- }
- }
-
- list( , $changes ) = _gitium_status();
-
- if ( ! empty( $changes ) ) :
- $bubble_count = count( $changes );
- foreach ( $menu as $key => $value ) {
- if ( $this->menu_slug == $menu[ $key ][2] ) {
- $menu_bubble = " "
- . $bubble_count . '';
- $menu[ $key ][0] .= $menu_bubble;
- set_transient( 'gitium_menu_bubble', $menu_bubble );
- return;
- }
- }
- endif;
- }
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-menu.php b/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-menu.php
deleted file mode 100644
index ebad1b1a..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-menu.php
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-class Gitium_Menu {
-
- public $gitium_menu_slug = 'gitium/gitium.php';
- public $commits_menu_slug = 'gitium/gitium-commits.php';
- public $settings_menu_slug = 'gitium/gitium-settings.php';
-
- public $git = null;
-
- public $menu_slug;
- public $submenu_slug;
-
- public function __construct( $menu_slug, $submenu_slug ) {
- global $git;
- $this->git = $git;
-
- $this->menu_slug = $menu_slug;
- $this->submenu_slug = $submenu_slug;
- }
-
- public function redirect( $message = '', $success = false, $menu_slug = '' ) {
- $message_id = substr(
- md5( str_shuffle( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' ) . time() ), 0, 8
- );
- if ( $message ) {
- set_transient( 'message_' . $message_id, $message, 900 );
- }
- if ( '' === $menu_slug ) { $menu_slug = $this->menu_slug; }
- $url = network_admin_url( 'admin.php?page=' . $menu_slug );
- $url = esc_url_raw( add_query_arg(
- array(
- 'message' => $message_id,
- 'success' => $success,
- ),
- $url
- ) );
- wp_safe_redirect( $url );
- exit;
- }
-
- public function success_redirect( $message = '', $menu_slug = '' ) {
- $this->redirect( $message, true, $menu_slug );
- }
-
- public function disconnect_repository() {
- $gitium_disconnect_repo = filter_input(INPUT_POST, 'GitiumSubmitDisconnectRepository', FILTER_SANITIZE_STRING);
-
- if ( ! isset( $gitium_disconnect_repo ) ) {
- return;
- }
- check_admin_referer( 'gitium-admin' );
- gitium_uninstall_hook();
- if ( ! $this->git->remove_remote() ) {
- $this->redirect( __('Could not remove remote.', 'gitium') );
- }
- $this->success_redirect( __('You are now disconnected from the repository. New key pair generated.', 'gitium') );
- }
-
- public function show_message() {
- $get_message = filter_input(INPUT_GET, 'message', FILTER_SANITIZE_STRING);
- $get_success = filter_input(INPUT_GET, 'success', FILTER_SANITIZE_STRING);
- if ( isset( $get_message ) && $get_message ) {
- $type = ( isset( $get_success ) && $get_success == 1 ) ? 'updated' : 'error';
- $message = get_transient( 'message_'. $get_message );
- if ( $message ) : ?>
-
-
-
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-class Gitium_Requirements {
-
- private $req = array();
- private $msg = array();
-
- /**
- * Gitium requires:
- * git min version
- * the function proc_open available
- * PHP min version
- * can exec the file inc/ssh-git
- */
- public function __construct() {
- $this->_check_req();
- add_action( GITIUM_ADMIN_NOTICES_ACTION, array( $this, 'admin_notices' ) );
- }
-
- private function _check_req() {
- list($this->req['is_git_version'], $this->msg['is_git_version'] ) = $this->is_git_version();
- list($this->req['is_proc_open'], $this->msg['is_proc_open'] ) = $this->is_proc_open();
- list($this->req['is_php_verion'], $this->msg['is_php_verion'] ) = $this->is_php_version();
- list($this->req['can_exec_ssh_git_file'],$this->msg['can_exec_ssh_git_file']) = $this->can_exec_ssh_git_file();
-
- return $this->req;
- }
-
- public function admin_notices() {
- if ( ! current_user_can( GITIUM_MANAGE_OPTIONS_CAPABILITY ) ) {
- return;
- }
-
- foreach ( $this->req as $key => $value ) {
- if ( false === $value ) {
- echo "
Gitium Requirement: {$this->msg[$key]}
";
- }
- }
- }
-
- public function get_status() {
- $requirements = $this->req;
-
- foreach ( $requirements as $req ) :
- if ( false === $req ) :
- return false;
- endif;
- endforeach;
-
- return true;
- }
-
- private function is_git_version() {
- $git_version = get_transient( 'gitium_git_version' );
-
- if ( GITIUM_MIN_GIT_VER > substr( $git_version, 0, 3 ) ) {
- global $git;
- $git_version = $git->get_version();
- set_transient( 'gitium_git_version', $git_version );
- if ( empty( $git_version ) ) {
- return array( false, 'There is no git installed on this server.' );
- } else if ( GITIUM_MIN_GIT_VER > substr( $git_version, 0, 3 ) ) {
- return array( false, "The git version is `$git_version` and must be greater than `" . GITIUM_MIN_GIT_VER . "`!" );
- }
- }
-
- return array( true, "The git version is `$git_version`." );
- }
-
- private function is_proc_open() {
- if ( ! function_exists( 'proc_open' ) ) {
- return array( false, 'The function `proc_open` is disabled!' );
- } else {
- return array( true, 'The function `proc_open` is enabled!' );
- }
- }
-
- private function is_php_version() {
- if ( ! function_exists( 'phpversion' ) ) {
- return array( false, 'The function `phpversion` is disabled!' );
- } else {
- $php_version = phpversion();
- if ( GITIUM_MIN_PHP_VER <= substr( $php_version, 0, 3 ) ) {
- return array( true, "The PHP version is `$php_version`." );
- } else {
- return array( false, "The PHP version is `$php_version` and is not greater or equal to " . GITIUM_MIN_PHP_VER );
- }
- }
- }
-
- private function can_exec_ssh_git_file() {
- $filepath = dirname( __FILE__ ) . '/ssh-git';
-
- if ( ! function_exists( 'is_executable' ) ) {
- return array( false, 'The function `is_executable` is disabled!' );
- } else if ( is_executable( $filepath ) ) {
- return array( true, "The `$filepath` file can be executed!" );
- } else {
- return array( false, "The `$filepath` file is not executable" );
- }
- }
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-submenu-commits.php b/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-submenu-commits.php
deleted file mode 100644
index d7811294..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-submenu-commits.php
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-class Gitium_Submenu_Commits extends Gitium_Menu {
-
- public function __construct() {
- parent::__construct( $this->gitium_menu_slug, $this->commits_menu_slug );
- add_action( GITIUM_ADMIN_MENU_ACTION, array( $this, 'admin_menu' ) );
- }
-
- public function admin_menu() {
- $submenu_hook = add_submenu_page(
- $this->menu_slug,
- __( 'Git Commits', 'gitium' ),
- __( 'Commits', 'gitium' ),
- GITIUM_MANAGE_OPTIONS_CAPABILITY,
- $this->submenu_slug,
- array( $this, 'page' )
- );
- new Gitium_Help( $submenu_hook, 'commits' );
- }
-
- public function table_head() {
- ?>
-
-
- show_message();
-
- if ( wp_content_is_versioned() ) {
- return $this->setup_warning();
- }
-
- if ( ! $this->git->is_status_working() || ! $this->git->get_remote_url() ) {
- return $this->setup_step_1();
- }
-
- if ( ! $this->git->get_remote_tracking_branch() ) {
- return $this->setup_step_2();
- }
-
- _gitium_status( true );
- gitium_update_is_status_working();
- gitium_update_remote_tracking_branch();
- }
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-submenu-settings.php b/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-submenu-settings.php
deleted file mode 100644
index 3bc93c5c..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/class-gitium-submenu-settings.php
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License, version 2, as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-class Gitium_Submenu_Settings extends Gitium_Menu {
-
- public function __construct() {
- parent::__construct( $this->gitium_menu_slug, $this->settings_menu_slug );
- add_action( GITIUM_ADMIN_MENU_ACTION, array( $this, 'admin_menu' ) );
- add_action( 'admin_init', array( $this, 'save' ) );
- add_action( 'admin_init', array( $this, 'regenerate_webhook' ) );
- add_action( 'admin_init', array( $this, 'regenerate_public_key' ) );
- }
-
- public function admin_menu() {
- $submenu_hook = add_submenu_page(
- $this->menu_slug,
- 'Settings',
- __( 'Settings' ),
- GITIUM_MANAGE_OPTIONS_CAPABILITY,
- $this->submenu_slug,
- array( $this, 'page' )
- );
- new Gitium_Help( $submenu_hook, 'settings' );
- }
-
- public function regenerate_webhook() {
- $gitium_regen_webhook = filter_input(INPUT_POST, 'GitiumSubmitRegenerateWebhook', FILTER_SANITIZE_STRING);
- if ( ! isset( $gitium_regen_webhook ) ) {
- return;
- }
- check_admin_referer( 'gitium-settings' );
- gitium_get_webhook_key( true );
- $this->success_redirect( __( 'Webhook URL regenerates. Please make sure you update any external references.', 'gitium' ), $this->settings_menu_slug );
- }
-
- public function regenerate_public_key() {
- $submit_regenerate_pub_key = filter_input(INPUT_POST, 'GitiumSubmitRegeneratePublicKey', FILTER_SANITIZE_STRING);
- if ( ! isset( $submit_regenerate_pub_key ) ) {
- return;
- }
- check_admin_referer( 'gitium-settings' );
- gitium_get_keypair( true );
- $this->success_redirect( __( 'Public key successfully regenerated.', 'gitium' ), $this->settings_menu_slug );
- }
-
- private function show_webhook_table_webhook_url() {
- ?>
-
- show_message();
- _gitium_status( true );
- $this->changes_page();
- }
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/inc/ssh-git b/wp-content/upgrade-temp-backup/plugins/gitium/inc/ssh-git
deleted file mode 100755
index ee976562..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/inc/ssh-git
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-SSH_AUTH_SOCK=''
-SSH="ssh -q -F /dev/null -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
-if [ -z "$GIT_KEY_FILE" ] ; then
- exec $SSH "$@"
-else
- exec $SSH -i "$GIT_KEY_FILE" "$@"
-fi
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-es_ES.mo b/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-es_ES.mo
deleted file mode 100644
index d0ce249f..00000000
Binary files a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-es_ES.mo and /dev/null differ
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-es_ES.po b/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-es_ES.po
deleted file mode 100644
index 8af1389f..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-es_ES.po
+++ /dev/null
@@ -1,546 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: Gitium\n"
-"POT-Creation-Date: 2014-10-20 19:06+0200\n"
-"PO-Revision-Date: 2014-11-13 11:20+0200\n"
-"Last-Translator: Presslabs \n"
-"Language-Team: Presslabs \n"
-"Language: English\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
-"X-Poedit-KeywordsList: __;_e\n"
-"X-Poedit-Basepath: .\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Poedit-SearchPath-0: ..\n"
-
-#: ../inc/class-gitium-submenu-configure.php:34
-#: ../inc/class-gitium-submenu-configure.php:44
-msgid "Git Configuration"
-msgstr "Configuración Git"
-
-#: ../inc/class-gitium-submenu-configure.php:45
-msgid "Configuration"
-msgstr "Configuración"
-
-#: ../inc/class-gitium-submenu-configure.php:59
-msgid "Keypair successfully regenerated."
-msgstr "Par de claves regenerado con éxito."
-
-#: ../inc/class-gitium-submenu-configure.php:78
-msgid "Initial commit"
-msgstr "Commit Inicial"
-
-#: ../inc/class-gitium-submenu-configure.php:94
-msgid "Please specify a valid repo."
-msgstr "Por favor, especifique un repo válido"
-
-#: ../inc/class-gitium-submenu-configure.php:99
-msgid "Could not push to remote"
-msgstr "No se pudo empujar al remoto"
-
-#: ../inc/class-gitium-submenu-configure.php:113
-msgid "Merged existing code from "
-msgstr "Código existente fusionado de"
-
-#: ../inc/class-gitium-submenu-configure.php:116
-msgid "Could not create initial commit -> "
-msgstr "No se pudo crear Commit inicial ->"
-
-#: ../inc/class-gitium-submenu-configure.php:120
-msgid "Could not merge the initial commit -> "
-msgstr "No se pudo fusionar el Commit inicial ->"
-
-#: ../inc/class-gitium-submenu-configure.php:129
-msgid "Remote URL"
-msgstr "URL remoto"
-
-#: ../inc/class-gitium-submenu-configure.php:132
-msgid ""
-"This URL provide access to a Git repository via SSH, HTTPS, or Subversion."
-msgstr ""
-"Este URL proporciona acceso a un repositorio Git vía SSH, HTTPS o Subversión."
-
-#: ../inc/class-gitium-submenu-configure.php:133
-msgid ""
-"If you need to authenticate over \"https://\" instead of SSH use: "
-"https://user:pass@github.com/user/example.git"
-msgstr ""
-"Si necesita autenticar sobre \"https:// en lugar del uso de SSH: "
-"https://user:pass@github.com/user/example.git "
-
-#: ../inc/class-gitium-submenu-configure.php:143
-msgid "Key pair"
-msgstr "Par de claves"
-
-#: ../inc/class-gitium-submenu-configure.php:147
-#: ../inc/class-gitium-submenu-settings.php:80
-msgid "Regenerate Key"
-msgstr "Regenerar clave"
-
-#: ../inc/class-gitium-submenu-configure.php:149
-#: ../inc/class-gitium-submenu-settings.php:81
-msgid ""
-"If your code use ssh keybased authentication for git you need to allow write "
-"access to your repository using this key."
-msgstr ""
-"Si su código usa autenticación ssh keybased para git, usted necesita "
-"permitir el acceso de escritura a su repositorio utilizando esta clave."
-
-#: ../inc/class-gitium-submenu-configure.php:150
-#: ../inc/class-gitium-submenu-settings.php:82
-msgid ""
-"Checkout instructions for github or bitbucket."
-msgstr ""
-"Instrucciones de Pedido para github or %s."
-msgstr "Siguiendo sucursal remota %s."
-
-#: ../inc/class-gitium-submenu-status.php:127
-msgid "Everything is up to date"
-msgstr "Todo está actualizado"
-
-#: ../inc/class-gitium-submenu-status.php:130
-#, php-format
-msgid "You are %s commits ahead and %s behind remote."
-msgstr "Usted está %s Commits por delante y %s por detrás del remoto."
-
-#: ../inc/class-gitium-submenu-status.php:132
-#, php-format
-msgid "You are %s commits ahead remote."
-msgstr "Usted está %s Commits delante del remoto."
-
-#: ../inc/class-gitium-submenu-status.php:134
-#, php-format
-msgid "You are %s commits behind remote."
-msgstr "Usted está %s Commits detrás del remoto."
-
-#: ../inc/class-gitium-submenu-status.php:160
-msgid "Add this file to the `.gitignore` list."
-msgstr "Añadir este archivo a la lista `.gitignore`."
-
-#: ../inc/class-gitium-submenu-status.php:163
-msgid "Submodules are not supported in this version."
-msgstr "Sub-módulos no son compatibles con esta versión."
-
-#: ../inc/class-gitium-submenu-status.php:175
-#: ../inc/class-gitium-submenu-status.php:176
-msgid "Path"
-msgstr "Ruta"
-
-#: ../inc/class-gitium-submenu-status.php:175
-#: ../inc/class-gitium-submenu-status.php:176
-msgid "Change"
-msgstr "Cambiar"
-
-#: ../inc/class-gitium-submenu-status.php:181
-msgid "Nothing to commit, working directory clean."
-msgstr "Nada que comprometer, directorio de trabajo limpio."
-
-#: ../inc/class-gitium-submenu-status.php:195
-msgid "Commit message"
-msgstr "Comprometer mensaje"
-
-#: ../inc/class-gitium-submenu-status.php:199
-msgid "Save changes"
-msgstr "Guardar cambios"
-
-#: ../inc/class-gitium-submenu-status.php:209
-msgid "connected to"
-msgstr "conectados a"
-
-#: ../inc/class-gitium-submenu-settings.php:32 ../inc/class-gitium-help.php:81
-msgid "Settings"
-msgstr "Ajustes"
-
-#: ../inc/class-gitium-submenu-settings.php:46
-msgid ""
-"Webhook URL regenerates. Please make sure you update any external references."
-msgstr ""
-"Webhook URL se regenera. Por favor, asegúrese de actualizar todas las "
-"referencias externas."
-
-#: ../inc/class-gitium-submenu-settings.php:55
-msgid "Public key successfully regenerated."
-msgstr "Clave pública regenera con éxito."
-
-#: ../inc/class-gitium-submenu-settings.php:61
-msgid "Webhook URL"
-msgstr "URL Webhook"
-
-#: ../inc/class-gitium-submenu-settings.php:65
-msgid "Regenerate Webhook"
-msgstr "Regenerar Webhook"
-
-#: ../inc/class-gitium-submenu-settings.php:67
-msgid "Pinging this URL triggers an update from remote repository."
-msgstr ""
-"Hacer ping en esta URL desencadena una actualización del repositorio remoto."
-
-#: ../inc/class-gitium-submenu-settings.php:77
-msgid "Public Key"
-msgstr "Clave Pública"
-
-#: ../inc/class-gitium-submenu-settings.php:116
-msgid "Gitium Settings"
-msgstr "Ajustes Gitium"
-
-#: ../inc/class-gitium-submenu-settings.php:121
-msgid "Be careful when you modify this list!"
-msgstr "¡Tenga cuidado al modificar esta lista!"
-
-#: ../inc/class-gitium-submenu-settings.php:126
-msgid "Save"
-msgstr "Guardar"
-
-#: ../inc/class-gitium-help.php:26
-msgid "Gitium"
-msgstr "Gitium"
-
-#: ../inc/class-gitium-help.php:27
-msgid "F.A.Q."
-msgstr "PF"
-
-#: ../inc/class-gitium-help.php:32
-msgid ""
-"Gitium enables continuous deployment for WordPress integrating with tools "
-"such as Github, Bitbucket or Travis-CI. Plugin and theme updates, installs "
-"and removals are automatically versioned."
-msgstr ""
-"Gitium permite el despliegue continuo para integración de WordPress con "
-"herramientas como Github, Bitbucket o Travis-CI. El plugin y las "
-"actualizaciones de temas, instalaciones y eliminaciones están versionadas "
-"automáticamente."
-
-#: ../inc/class-gitium-help.php:33
-msgid ""
-"Ninja code edits from the WordPress editor are also tracked into version "
-"control. Gitium is designed for sane development environments."
-msgstr ""
-"Las ediciones Código Ninja desde el editor de WordPress también son "
-"rastreadas en el control de versiones. Gitium está diseñado para entornos de "
-"desarrollo sanos."
-
-#: ../inc/class-gitium-help.php:34
-msgid ""
-"Staging and production can follow different branches of the same repository. "
-"You can deploy code simply trough git push."
-msgstr ""
-"Puesta en escena y producción pueden seguir diferentes ramas del mismo "
-"repositorio. Puede implementar código simplemente a través git push."
-
-#: ../inc/class-gitium-help.php:35
-msgid ""
-"Gitium requires git command line tool minimum version 1.7 "
-"installed on the server and proc_open PHP function enabled."
-msgstr ""
-"Gitium requiere la herramienta de línea de comandos git , "
-"mínimo la versión 1.7 instalada en el servidor y proc_open la "
-"función PHP habilitada."
-
-#: ../inc/class-gitium-help.php:39
-msgid "Is this plugin considered stable?"
-msgstr "¿Es este plugin considerado estable?"
-
-#: ../inc/class-gitium-help.php:39
-msgid ""
-"Right now this plugin is considered alpha quality and should be used in "
-"production environments only by adventurous kinds."
-msgstr ""
-"Ahora mismo este plugin se considera de calidad alfa y debe utilizarse en "
-"entornos de producción sólo por tipos aventureros."
-
-#: ../inc/class-gitium-help.php:40
-msgid "What happens in case of conflicts?"
-msgstr "¿Qué sucede en caso de conflictos?"
-
-#: ../inc/class-gitium-help.php:40
-msgid ""
-"The behavior in case of conflicts is to overwrite the changes on the origin "
-"repository with the local changes (ie. local modifications take precedence "
-"over remote ones)."
-msgstr ""
-"El comportamiento en caso de conflictos es sobrescribir los cambios en el "
-"repositorio de origen con los cambios locales (p.ej. las modificaciones "
-"locales toman precedencia sobre las remotas)."
-
-#: ../inc/class-gitium-help.php:41
-msgid "How to deploy automatically after a push?"
-msgstr "¿Cómo implementar automáticamente después de un empujón?"
-
-#: ../inc/class-gitium-help.php:41
-msgid ""
-"You can ping the webhook url after a push to automatically deploy the new "
-"code. The webhook url can be found under Code menu. This url plays well with "
-"Github or Bitbucket webhooks."
-msgstr ""
-"Puede hacer ping en la url webhook después de un empujón para distribuir "
-"automáticamente el nuevo código. La url webhook se puede encontrar en el "
-"menú Código. Esta url juega bien con Github o BitBucket WebHooks."
-
-#: ../inc/class-gitium-help.php:42
-msgid "Does it works on multi site setups?"
-msgstr "¿Trabaja en múltiples configuraciones de sitio?"
-
-#: ../inc/class-gitium-help.php:42
-msgid "Gitium is not supporting multisite setups at the moment."
-msgstr ""
-"Gitium no soporta a las configuraciones de múltiples sitios en este momento."
-
-#: ../inc/class-gitium-help.php:43
-msgid "How does gitium handle submodules?"
-msgstr "¿Cómo manejar gitium los submódulos?"
-
-#: ../inc/class-gitium-help.php:43
-msgid "Currently submodules are not supported."
-msgstr "Actualmente los submódulos no son compatibles."
-
-#: ../inc/class-gitium-help.php:47
-msgid ""
-"In this step you must specify the Remote URL. This URL "
-"represents the link between the git sistem and your site."
-msgstr ""
-"En esta etapa, se debe especificar el URL remoto . Esta URL "
-"representa el enlace entre el sistema git y su sitio."
-
-#: ../inc/class-gitium-help.php:48
-msgid "You can get this URL from your Git repository and it looks like this:"
-msgstr ""
-"Usted puede obtener esta dirección URL de su repositorio Git y se ve así:"
-
-#: ../inc/class-gitium-help.php:49
-msgid "github.com -> git@github.com:user/example.git"
-msgstr "github.com -> git@github.com:user/example.git"
-
-#: ../inc/class-gitium-help.php:50
-msgid "bitbucket.org -> git@bitbucket.org:user/glowing-happiness.git"
-msgstr "bitbucket.org -> git@bitbucket.org:user/glowing-happiness.git"
-
-#: ../inc/class-gitium-help.php:51
-msgid ""
-"To go to the next step, fill the Remote URL and then press the "
-"Fetch button."
-msgstr ""
-"Para ir al siguiente paso, llene la URL remota y pulse el "
-"botón Buscar ."
-
-#: ../inc/class-gitium-help.php:52
-msgid ""
-"In this step you must select the branch you want to follow."
-msgstr ""
-"En este paso deberá seleccionar la rama que desea seguir."
-
-#: ../inc/class-gitium-help.php:53
-msgid "Only this branch will have all of your code modifications."
-msgstr "Sólo esta rama tendrá todas sus modificaciones de código."
-
-#: ../inc/class-gitium-help.php:54
-msgid ""
-"When you push the button Merge & Push, all code(plugins & "
-"themes) will be pushed on the git repository."
-msgstr ""
-"Cuando se presiona el botón Combinar y Empujar , todo el "
-"código (plugins y temas) serán empujados en el repositorio git."
-
-#: ../inc/class-gitium-help.php:64
-msgid ""
-"On status page you can see what files are modified, and you can commit the "
-"changes to git."
-msgstr ""
-"En la página de estado se puede ver qué archivos son modificados, y usted "
-"puede confirmar los cambios a Git."
-
-#: ../inc/class-gitium-help.php:69 ../inc/class-gitium-submenu-commits.php:29
-#: ../inc/class-gitium-submenu-commits.php:41
-msgid "Commits"
-msgstr "Commits"
-
-#: ../inc/class-gitium-help.php:74
-msgid ""
-"You may be wondering what is the difference between author and committer."
-msgstr ""
-"Usted puede preguntarse cuál es la diferencia entre el autor y el comitter."
-
-#: ../inc/class-gitium-help.php:75
-msgid ""
-"The author is the person who originally wrote the patch, "
-"whereas the committer is the person who last applied the patch."
-msgstr ""
-"El autor es la persona que originalmente escribió el parche, "
-"mientras que el committer es la persona que aplicó el parche "
-"al final."
-
-#: ../inc/class-gitium-help.php:76
-msgid ""
-"So, if you send in a patch to a project and one of the core members applies "
-"the patch, both of you get credit — you as the author and the core member as "
-"the committer."
-msgstr ""
-"Por lo tanto, si usted envía en un parche para un proyecto y uno de los "
-"principales miembros aplica el parche, ambos consiguen crédito - usted como "
-"el autor y el miembro de núcleo como el commiter."
-
-#: ../inc/class-gitium-help.php:86
-msgid "Each line from the gitignore file specifies a pattern."
-msgstr "Cada línea del archivo gitignore especifica un patrón."
-
-#: ../inc/class-gitium-help.php:87
-msgid ""
-"When deciding whether to ignore a path, Git normally checks gitignore "
-"patterns from multiple sources, with the following order of precedence, from "
-"highest to lowest (within one level of precedence, the last matching pattern "
-"decides the outcome)"
-msgstr ""
-"A la hora de decidir si se debe pasar por alto una ruta, Git normalmente "
-"comprueba patrones gitignore de múltiples fuentes, con el siguiente orden, "
-"de de mayor a menor (dentro de un nivel de prioridad, la última "
-"coincidencia de patrones decide el resultado)"
-
-#: ../inc/class-gitium-help.php:88
-#, php-format
-msgid "Read more on %s"
-msgstr "Leer más en %s"
-
-#: ../inc/class-gitium-submenu-commits.php:28
-msgid "Git Commits"
-msgstr "Commits Git"
-
-#: ../inc/class-gitium-submenu-commits.php:61
-#, php-format
-msgid "Last %s commits"
-msgstr "Últimos commits %s"
-
-#: ../inc/class-gitium-submenu-commits.php:70
-#, php-format
-msgid "committed %s ago"
-msgstr "cometido hace %s"
-
-#: ../inc/class-gitium-submenu-commits.php:82
-#, php-format
-msgid "authored %s ago"
-msgstr "Creado hace %s"
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-sr_RS.mo b/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-sr_RS.mo
deleted file mode 100644
index 677d3bf3..00000000
Binary files a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-sr_RS.mo and /dev/null differ
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-sr_RS.po b/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-sr_RS.po
deleted file mode 100644
index 09cb064a..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium-sr_RS.po
+++ /dev/null
@@ -1,538 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: Gitium\n"
-"POT-Creation-Date: 2014-10-20 19:06+0200\n"
-"PO-Revision-Date: 2014-10-24 12:51+0200\n"
-"Last-Translator: Presslabs \n"
-"Language-Team: Presslabs \n"
-"Language: English\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
-"X-Poedit-KeywordsList: __;_e\n"
-"X-Poedit-Basepath: .\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Poedit-SearchPath-0: ..\n"
-
-#: ../inc/class-gitium-submenu-configure.php:34
-#: ../inc/class-gitium-submenu-configure.php:44
-msgid "Git Configuration"
-msgstr "Git konfiguracija"
-
-#: ../inc/class-gitium-submenu-configure.php:45
-msgid "Configuration"
-msgstr "Konfiguracija"
-
-#: ../inc/class-gitium-submenu-configure.php:59
-msgid "Keypair successfully regenerated."
-msgstr "Par ključeva uspešno regenerisan"
-
-#: ../inc/class-gitium-submenu-configure.php:78
-msgid "Initial commit"
-msgstr "Početna uputstva"
-
-#: ../inc/class-gitium-submenu-configure.php:94
-msgid "Please specify a valid repo."
-msgstr "Odaberite važeće spremište"
-
-#: ../inc/class-gitium-submenu-configure.php:99
-msgid "Could not push to remote"
-msgstr "Neuspelo potiskivanje u udaljeno spremište"
-
-#: ../inc/class-gitium-submenu-configure.php:113
-msgid "Merged existing code from "
-msgstr "Postojeći kod spojen sa"
-
-#: ../inc/class-gitium-submenu-configure.php:116
-msgid "Could not create initial commit -> "
-msgstr "Neuspelo kreiranje početnog uputstva ->"
-
-#: ../inc/class-gitium-submenu-configure.php:120
-msgid "Could not merge the initial commit -> "
-msgstr "Neuspelo spajanje početnog uputstva ->"
-
-#: ../inc/class-gitium-submenu-configure.php:129
-msgid "Remote URL"
-msgstr "URL udaljenog spremišta"
-
-#: ../inc/class-gitium-submenu-configure.php:132
-msgid ""
-"This URL provide access to a Git repository via SSH, HTTPS, or Subversion."
-msgstr ""
-"Ovaj URL obezbeđuje pristup Git skladištu putem SSH-a, HTTPS-a ili "
-"Subverzije."
-
-#: ../inc/class-gitium-submenu-configure.php:133
-msgid ""
-"If you need to authenticate over \"https://\" instead of SSH use: "
-"https://user:pass@github.com/user/example.git"
-msgstr ""
-"Ako treba da proverite preko \"https://\" umesto SSH, koristite: "
-"https://user:pass@github.com/user/example.git"
-
-#: ../inc/class-gitium-submenu-configure.php:143
-msgid "Key pair"
-msgstr "Par ključeva"
-
-#: ../inc/class-gitium-submenu-configure.php:147
-#: ../inc/class-gitium-submenu-settings.php:80
-msgid "Regenerate Key"
-msgstr "Ključ za regenerisanje"
-
-#: ../inc/class-gitium-submenu-configure.php:149
-#: ../inc/class-gitium-submenu-settings.php:81
-msgid ""
-"If your code use ssh keybased authentication for git you need to allow write "
-"access to your repository using this key."
-msgstr ""
-"Ako vaš kod koristi git autentifikaciju na osnovu ssh ključa, morate pismeno "
-"dozvoliti pristup svom spremištu uz pomoć ovog ključa. "
-
-#: ../inc/class-gitium-submenu-configure.php:150
-#: ../inc/class-gitium-submenu-settings.php:82
-msgid ""
-"Checkout instructions for github or bitbucket."
-msgstr ""
-"Pogledajte uputstva na github "
-"ili bitbucket."
-
-#: ../inc/class-gitium-submenu-configure.php:160
-msgid "Warning!"
-msgstr "Upozorenje!"
-
-#: ../inc/class-gitium-submenu-configure.php:174
-#: ../inc/class-gitium-help.php:47
-msgid "Configuration step 1"
-msgstr "Konfiguracija, korak 1"
-
-#: ../inc/class-gitium-submenu-configure.php:175
-#: ../inc/class-gitium-submenu-configure.php:194
-msgid ""
-"If you need help to set this up, please click on the \"Help\" button from "
-"the top right corner of this screen."
-msgstr ""
-"Ako vam treba pomoć za ovo podešavanje, kliknite na taster \"Pomoć\" u "
-"gornjem desnom uglu ekrana."
-
-#: ../inc/class-gitium-submenu-configure.php:183
-msgid "Fetch"
-msgstr "Uzmi"
-
-#: ../inc/class-gitium-submenu-configure.php:193
-#: ../inc/class-gitium-help.php:52
-msgid "Configuration step 2"
-msgstr "Konfiguracija, korak 2"
-
-#: ../inc/class-gitium-submenu-configure.php:202
-msgid "Choose tracking branch"
-msgstr "Odaberite ogranak za praćenje"
-
-#: ../inc/class-gitium-submenu-configure.php:215
-msgid "Merge & Push"
-msgstr "Spoji & Potisni"
-
-#: ../inc/class-gitium-submenu-status.php:32
-#: ../inc/class-gitium-submenu-status.php:42
-msgid "Git Status"
-msgstr "Git Status"
-
-#: ../inc/class-gitium-submenu-status.php:43
-#: ../inc/class-gitium-submenu-status.php:209 ../inc/class-gitium-help.php:59
-msgid "Status"
-msgstr "Status"
-
-#: ../inc/class-gitium-submenu-status.php:53
-msgid "untracked"
-msgstr "nepraćen"
-
-#: ../inc/class-gitium-submenu-status.php:54
-msgid "modified on remote"
-msgstr "modifikovan na udaljenom skladištu"
-
-#: ../inc/class-gitium-submenu-status.php:55
-msgid "added to remote"
-msgstr "dodat udaljenom skladištu"
-
-#: ../inc/class-gitium-submenu-status.php:56
-msgid "deleted from remote"
-msgstr "obrisan sa udaljenog skladišta"
-
-#: ../inc/class-gitium-submenu-status.php:57
-#: ../inc/class-gitium-submenu-status.php:61
-msgid "deleted from work tree"
-msgstr "obrisan sa radnog drveta"
-
-#: ../inc/class-gitium-submenu-status.php:58
-msgid "updated in work tree"
-msgstr "ažuriran u radnom drvetu"
-
-#: ../inc/class-gitium-submenu-status.php:59
-#: ../inc/class-gitium-submenu-status.php:60
-msgid "added to work tree"
-msgstr "dodat radnom drvetu"
-
-#: ../inc/class-gitium-submenu-status.php:73
-#, php-format
-msgid "renamed from `%s`"
-msgstr "ime `%s` promenjeno"
-
-#: ../inc/class-gitium-submenu-status.php:88
-#: ../inc/class-gitium-submenu-settings.php:106
-msgid "The file `.gitignore` is saved!"
-msgstr "Datoteka `.gitignore` je sačuvana!"
-
-#: ../inc/class-gitium-submenu-status.php:90
-#: ../inc/class-gitium-submenu-settings.php:108
-msgid "The file `.gitignore` could not be saved!"
-msgstr "Datoteka `.gitignore` ne može biti sačuvana!"
-
-#: ../inc/class-gitium-submenu-status.php:100
-msgid "Could not enable the maintenance mode!"
-msgstr "Režim održavanja nije mogao biti aktiviran!"
-
-#: ../inc/class-gitium-submenu-status.php:102
-#: ../inc/class-gitium-submenu-status.php:196
-#, php-format
-msgid "Merged changes from %s on %s"
-msgstr "Promene sa %s na %s spojene!"
-
-#: ../inc/class-gitium-submenu-status.php:109
-msgid "Could not commit!"
-msgstr "Neuspelo izvršenje!"
-
-#: ../inc/class-gitium-submenu-status.php:114
-msgid "Merge failed: "
-msgstr "Neuspelo spajanje:"
-
-#: ../inc/class-gitium-submenu-status.php:116
-#, php-format
-msgid "Pushed commit: `%s`"
-msgstr "Preneto izvršenje: `%s`"
-
-#: ../inc/class-gitium-submenu-status.php:125
-#, php-format
-msgid "Following remote branch %s."
-msgstr "Praćenje udaljenog ogranka%s."
-
-#: ../inc/class-gitium-submenu-status.php:127
-msgid "Everything is up to date"
-msgstr "Sve je ažurirano"
-
-#: ../inc/class-gitium-submenu-status.php:130
-#, php-format
-msgid "You are %s commits ahead and %s behind remote."
-msgstr "Vi ste %s izvršenja ispred i %s iza udaljenog spremišta."
-
-#: ../inc/class-gitium-submenu-status.php:132
-#, php-format
-msgid "You are %s commits ahead remote."
-msgstr "Vi ste %s izvršenja ispred udaljenog spremišta."
-
-#: ../inc/class-gitium-submenu-status.php:134
-#, php-format
-msgid "You are %s commits behind remote."
-msgstr "Vi ste %s izvršenja iza udaljenog spremišta."
-
-#: ../inc/class-gitium-submenu-status.php:160
-msgid "Add this file to the `.gitignore` list."
-msgstr "Dodajte ovu datoteku `.gitignore` listi."
-
-#: ../inc/class-gitium-submenu-status.php:163
-msgid "Submodules are not supported in this version."
-msgstr "U ovoj verziji nisu podržani submoduli."
-
-#: ../inc/class-gitium-submenu-status.php:175
-#: ../inc/class-gitium-submenu-status.php:176
-msgid "Path"
-msgstr "Putanja"
-
-#: ../inc/class-gitium-submenu-status.php:175
-#: ../inc/class-gitium-submenu-status.php:176
-msgid "Change"
-msgstr "Izmeni"
-
-#: ../inc/class-gitium-submenu-status.php:181
-msgid "Nothing to commit, working directory clean."
-msgstr "Nema ničega za izvršenje, radni direktorijum je čist."
-
-#: ../inc/class-gitium-submenu-status.php:195
-msgid "Commit message"
-msgstr "Poruka o izvršenju"
-
-#: ../inc/class-gitium-submenu-status.php:199
-msgid "Save changes"
-msgstr "Sačuvaj izmene"
-
-#: ../inc/class-gitium-submenu-status.php:209
-msgid "connected to"
-msgstr "povezan sa"
-
-#: ../inc/class-gitium-submenu-settings.php:32 ../inc/class-gitium-help.php:81
-msgid "Settings"
-msgstr "Podešavanja"
-
-#: ../inc/class-gitium-submenu-settings.php:46
-msgid ""
-"Webhook URL regenerates. Please make sure you update any external references."
-msgstr ""
-"Webhook URL se regeneriše. Proverite da li ste ažurirali eksterne reference."
-
-#: ../inc/class-gitium-submenu-settings.php:55
-msgid "Public key successfully regenerated."
-msgstr "Javni ključ uspešno regenerisan."
-
-#: ../inc/class-gitium-submenu-settings.php:61
-msgid "Webhook URL"
-msgstr "Webhook URL"
-
-#: ../inc/class-gitium-submenu-settings.php:65
-msgid "Regenerate Webhook"
-msgstr "Regeneriši webhook"
-
-#: ../inc/class-gitium-submenu-settings.php:67
-msgid "Pinging this URL triggers an update from remote repository."
-msgstr "Pingovanje ovog URL-a povlači ažuriranje iz udaljenog skladišta."
-
-#: ../inc/class-gitium-submenu-settings.php:77
-msgid "Public Key"
-msgstr "Javni ključ"
-
-#: ../inc/class-gitium-submenu-settings.php:116
-msgid "Gitium Settings"
-msgstr "Gitium podešavanja"
-
-#: ../inc/class-gitium-submenu-settings.php:121
-msgid "Be careful when you modify this list!"
-msgstr "Oprezno menjajte ovu listu!"
-
-#: ../inc/class-gitium-submenu-settings.php:126
-msgid "Save"
-msgstr "Sačuvaj"
-
-#: ../inc/class-gitium-help.php:26
-msgid "Gitium"
-msgstr "Gitium"
-
-#: ../inc/class-gitium-help.php:27
-msgid "F.A.Q."
-msgstr "Često postavljana pitanja"
-
-#: ../inc/class-gitium-help.php:32
-msgid ""
-"Gitium enables continuous deployment for WordPress integrating with tools "
-"such as Github, Bitbucket or Travis-CI. Plugin and theme updates, installs "
-"and removals are automatically versioned."
-msgstr ""
-"Gitium omogućava kontinuiranu primenu WordPress integrisanja alatima, kao "
-"što su: Github, Bitbucket ili Travis-CI. Ažuriranja plugin-a i teme, "
-"instalacije i uklanjanja automatski su verzionirani."
-
-#: ../inc/class-gitium-help.php:33
-msgid ""
-"Ninja code edits from the WordPress editor are also tracked into version "
-"control. Gitium is designed for sane development environments."
-msgstr ""
-"Nindža kod, koji uređuje iz WordPress uređivača, takođe se prati u kontroli "
-"verzije. Gitium je dizajniran za razumna razvojna okruženja."
-
-#: ../inc/class-gitium-help.php:34
-msgid ""
-"Staging and production can follow different branches of the same repository. "
-"You can deploy code simply trough git push."
-msgstr ""
-"Postavljanje i proizvodnja mogu da prate različite grane istog spremišta. "
-"Možete da primenite kod jednostavno kroz git push."
-
-#: ../inc/class-gitium-help.php:35
-msgid ""
-"Gitium requires git command line tool minimum version 1.7 "
-"installed on the server and proc_open PHP function enabled."
-msgstr ""
-"Gitium zahteva da na serveru bude instaliran git alat komandne "
-"linije, najmanje verzije 1.7 i proc_open aktiviranu PHP "
-"funkciju."
-
-#: ../inc/class-gitium-help.php:39
-msgid "Is this plugin considered stable?"
-msgstr "Da li se ovaj plugin smatra stabilnim?"
-
-#: ../inc/class-gitium-help.php:39
-msgid ""
-"Right now this plugin is considered alpha quality and should be used in "
-"production environments only by adventurous kinds."
-msgstr ""
-"Trenutno se smatra da ovaj plugin ima alfa kvalitet i treba ga koristiti u "
-"okruženjima produkcije isključivo avanturističkog karaktera."
-
-#: ../inc/class-gitium-help.php:40
-msgid "What happens in case of conflicts?"
-msgstr "Šta se dešava u slučaju konflikta?"
-
-#: ../inc/class-gitium-help.php:40
-msgid ""
-"The behavior in case of conflicts is to overwrite the changes on the origin "
-"repository with the local changes (ie. local modifications take precedence "
-"over remote ones)."
-msgstr ""
-"U slučaju konflikta treba poništiti izmene u prvobitnom spremištu, zajedno "
-"sa lokalnim izmenama (tj. Lokalne izmene imaju prednost u odnosu na "
-"udaljene)."
-
-#: ../inc/class-gitium-help.php:41
-msgid "How to deploy automatically after a push?"
-msgstr "Kako izvršiti automatsko razmeštanje posle pritiska?"
-
-#: ../inc/class-gitium-help.php:41
-msgid ""
-"You can ping the webhook url after a push to automatically deploy the new "
-"code. The webhook url can be found under Code menu. This url plays well with "
-"Github or Bitbucket webhooks."
-msgstr ""
-"Možete pingovati url za webhook nakon pritiska za automatsko razmeštanje "
-"novog koda. URL za webhook možete naći u meniju koda. Ovaj url dobro radi uz "
-"Github ili Bitbucket webhooks."
-
-#: ../inc/class-gitium-help.php:42
-msgid "Does it works on multi site setups?"
-msgstr "Da li radi na podešavanjima višestrukih site-ova?"
-
-#: ../inc/class-gitium-help.php:42
-msgid "Gitium is not supporting multisite setups at the moment."
-msgstr "Gitium trenutno ne podržava podešavanje višestrukih site-ova."
-
-#: ../inc/class-gitium-help.php:43
-msgid "How does gitium handle submodules?"
-msgstr "Kako gitium upravlja submodulima?"
-
-#: ../inc/class-gitium-help.php:43
-msgid "Currently submodules are not supported."
-msgstr "Trenutno, submoduli nisu podržani."
-
-#: ../inc/class-gitium-help.php:47
-msgid ""
-"In this step you must specify the Remote URL. This URL "
-"represents the link between the git sistem and your site."
-msgstr ""
-"U ovom koraku morate odrediti Udaljeni URL. Ovaj URL "
-"predstavlja vezu između git sistema i vašeg site-a."
-
-#: ../inc/class-gitium-help.php:48
-msgid "You can get this URL from your Git repository and it looks like this:"
-msgstr "Ovaj URL možete dobiti iz svog Git spremišta i on izgleda ovako:"
-
-#: ../inc/class-gitium-help.php:49
-msgid "github.com -> git@github.com:user/example.git"
-msgstr "github.com -> git@github.com:user/example.git"
-
-#: ../inc/class-gitium-help.php:50
-msgid "bitbucket.org -> git@bitbucket.org:user/glowing-happiness.git"
-msgstr "bitbucket.org -> git@bitbucket.org:user/glowing-happines.git"
-
-#: ../inc/class-gitium-help.php:51
-msgid ""
-"To go to the next step, fill the Remote URL and then press the "
-"Fetch button."
-msgstr ""
-"Da biste prešli na sledeći korak, popunite Udaljeni URL i "
-"pritisnite Dobavi taster."
-
-#: ../inc/class-gitium-help.php:52
-msgid ""
-"In this step you must select the branch you want to follow."
-msgstr ""
-"U ovom koraku morate odabrati ogranak koji želite da pratite. "
-
-#: ../inc/class-gitium-help.php:53
-msgid "Only this branch will have all of your code modifications."
-msgstr "Samo će ovaj ogranak imati sve vaše modifikacije koda."
-
-#: ../inc/class-gitium-help.php:54
-msgid ""
-"When you push the button Merge & Push, all code(plugins & "
-"themes) will be pushed on the git repository."
-msgstr ""
-"Kad kliknete na taster Spoji & Potisni svi (plugin-ovi i teme) "
-"koda biće potisnuti u git spremište."
-
-#: ../inc/class-gitium-help.php:64
-msgid ""
-"On status page you can see what files are modified, and you can commit the "
-"changes to git."
-msgstr ""
-"Na stranici statusa možete videti koje su datoteke izmenjene i možete uneti "
-"izmene u git."
-
-#: ../inc/class-gitium-help.php:69 ../inc/class-gitium-submenu-commits.php:29
-#: ../inc/class-gitium-submenu-commits.php:41
-msgid "Commits"
-msgstr "Izvršenja"
-
-#: ../inc/class-gitium-help.php:74
-msgid ""
-"You may be wondering what is the difference between author and committer."
-msgstr "Možda se pitate u čemu je razlika između autora i izvršioca?"
-
-#: ../inc/class-gitium-help.php:75
-msgid ""
-"The author is the person who originally wrote the patch, "
-"whereas the committer is the person who last applied the patch."
-msgstr ""
-"Autor je osoba koja je originalno napisala zakrpu, dok je "
-"izvršilac osoba koja je poslednja primenila zakrpu."
-
-#: ../inc/class-gitium-help.php:76
-msgid ""
-"So, if you send in a patch to a project and one of the core members applies "
-"the patch, both of you get credit — you as the author and the core member as "
-"the committer."
-msgstr ""
-"Dakle, ako pošaljete zakrpu projektu i jedan od ključnih članova je primeni "
-"- oboje dobijate zasluge - vi kao autor, a ključni član kao izvršilac."
-
-#: ../inc/class-gitium-help.php:86
-msgid "Each line from the gitignore file specifies a pattern."
-msgstr "Svaka linija iz gitignore datoteke označava šablon."
-
-#: ../inc/class-gitium-help.php:87
-msgid ""
-"When deciding whether to ignore a path, Git normally checks gitignore "
-"patterns from multiple sources, with the following order of precedence, from "
-"highest to lowest (within one level of precedence, the last matching pattern "
-"decides the outcome)"
-msgstr ""
-"Kad odlučujete o tome da li ćete ignorisati putanju, Git obično proverava "
-"gitignore šablone iz višestrukih izvora, sa sledećim redosledom - od "
-"najvišeg do najnižeg (u okviru jednog nivoa prednosti, poslednji šablon koji "
-"se poklapa odlučuje o ishodu)."
-
-#: ../inc/class-gitium-help.php:88
-#, php-format
-msgid "Read more on %s"
-msgstr "Pročitajte više o %s"
-
-#: ../inc/class-gitium-submenu-commits.php:28
-msgid "Git Commits"
-msgstr "Git izvršenja"
-
-#: ../inc/class-gitium-submenu-commits.php:61
-#, php-format
-msgid "Last %s commits"
-msgstr "Poslednja %s izvršenja"
-
-#: ../inc/class-gitium-submenu-commits.php:70
-#, php-format
-msgid "committed %s ago"
-msgstr "izvršena pre %s"
-
-#: ../inc/class-gitium-submenu-commits.php:82
-#, php-format
-msgid "authored %s ago"
-msgstr "autorizovana pre %s"
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium.pot b/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium.pot
deleted file mode 100644
index 807f7dae..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/languages/gitium.pot
+++ /dev/null
@@ -1,489 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: Gitium\n"
-"POT-Creation-Date: 2014-10-20 19:06+0200\n"
-"PO-Revision-Date: 2014-10-20 19:06+0200\n"
-"Last-Translator: Presslabs \n"
-"Language-Team: Presslabs \n"
-"Language: English\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
-"X-Poedit-KeywordsList: __;_e\n"
-"X-Poedit-Basepath: .\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Poedit-SearchPath-0: ..\n"
-
-#: ../inc/class-gitium-submenu-configure.php:34
-#: ../inc/class-gitium-submenu-configure.php:44
-msgid "Git Configuration"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:45
-msgid "Configuration"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:59
-msgid "Keypair successfully regenerated."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:78
-msgid "Initial commit"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:94
-msgid "Please specify a valid repo."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:99
-msgid "Could not push to remote"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:113
-msgid "Merged existing code from "
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:116
-msgid "Could not create initial commit -> "
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:120
-msgid "Could not merge the initial commit -> "
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:129
-msgid "Remote URL"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:132
-msgid ""
-"This URL provide access to a Git repository via SSH, HTTPS, or Subversion."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:133
-msgid ""
-"If you need to authenticate over \"https://\" instead of SSH use: "
-"https://user:pass@github.com/user/example.git"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:143
-msgid "Key pair"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:147
-#: ../inc/class-gitium-submenu-settings.php:80
-msgid "Regenerate Key"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:149
-#: ../inc/class-gitium-submenu-settings.php:81
-msgid ""
-"If your code use ssh keybased authentication for git you need to allow write "
-"access to your repository using this key."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:150
-#: ../inc/class-gitium-submenu-settings.php:82
-msgid ""
-"Checkout instructions for github or bitbucket."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:160
-msgid "Warning!"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:174
-#: ../inc/class-gitium-help.php:47
-msgid "Configuration step 1"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:175
-#: ../inc/class-gitium-submenu-configure.php:194
-msgid ""
-"If you need help to set this up, please click on the \"Help\" button from "
-"the top right corner of this screen."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:183
-msgid "Fetch"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:193
-#: ../inc/class-gitium-help.php:52
-msgid "Configuration step 2"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:202
-msgid "Choose tracking branch"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-configure.php:215
-msgid "Merge & Push"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:32
-#: ../inc/class-gitium-submenu-status.php:42
-msgid "Git Status"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:43
-#: ../inc/class-gitium-submenu-status.php:209 ../inc/class-gitium-help.php:59
-msgid "Status"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:53
-msgid "untracked"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:54
-msgid "modified on remote"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:55
-msgid "added to remote"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:56
-msgid "deleted from remote"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:57
-#: ../inc/class-gitium-submenu-status.php:61
-msgid "deleted from work tree"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:58
-msgid "updated in work tree"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:59
-#: ../inc/class-gitium-submenu-status.php:60
-msgid "added to work tree"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:73
-#, php-format
-msgid "renamed from `%s`"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:88
-#: ../inc/class-gitium-submenu-settings.php:106
-msgid "The file `.gitignore` is saved!"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:90
-#: ../inc/class-gitium-submenu-settings.php:108
-msgid "The file `.gitignore` could not be saved!"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:100
-msgid "Could not enable the maintenance mode!"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:102
-#: ../inc/class-gitium-submenu-status.php:196
-#, php-format
-msgid "Merged changes from %s on %s"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:109
-msgid "Could not commit!"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:114
-msgid "Merge failed: "
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:116
-#, php-format
-msgid "Pushed commit: `%s`"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:125
-#, php-format
-msgid "Following remote branch %s."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:127
-msgid "Everything is up to date"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:130
-#, php-format
-msgid "You are %s commits ahead and %s behind remote."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:132
-#, php-format
-msgid "You are %s commits ahead remote."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:134
-#, php-format
-msgid "You are %s commits behind remote."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:160
-msgid "Add this file to the `.gitignore` list."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:163
-msgid "Submodules are not supported in this version."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:175
-#: ../inc/class-gitium-submenu-status.php:176
-msgid "Path"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:175
-#: ../inc/class-gitium-submenu-status.php:176
-msgid "Change"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:181
-msgid "Nothing to commit, working directory clean."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:195
-msgid "Commit message"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:199
-msgid "Save changes"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-status.php:209
-msgid "connected to"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:32 ../inc/class-gitium-help.php:81
-msgid "Settings"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:46
-msgid ""
-"Webhook URL regenerates. Please make sure you update any external references."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:55
-msgid "Public key successfully regenerated."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:61
-msgid "Webhook URL"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:65
-msgid "Regenerate Webhook"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:67
-msgid "Pinging this URL triggers an update from remote repository."
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:77
-msgid "Public Key"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:116
-msgid "Gitium Settings"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:121
-msgid "Be careful when you modify this list!"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-settings.php:126
-msgid "Save"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:26
-msgid "Gitium"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:27
-msgid "F.A.Q."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:32
-msgid ""
-"Gitium enables continuous deployment for WordPress integrating with tools "
-"such as Github, Bitbucket or Travis-CI. Plugin and theme updates, installs "
-"and removals are automatically versioned."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:33
-msgid ""
-"Ninja code edits from the WordPress editor are also tracked into version "
-"control. Gitium is designed for sane development environments."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:34
-msgid ""
-"Staging and production can follow different branches of the same repository. "
-"You can deploy code simply trough git push."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:35
-msgid ""
-"Gitium requires git command line tool minimum version 1.7 "
-"installed on the server and proc_open PHP function enabled."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:39
-msgid "Is this plugin considered stable?"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:39
-msgid ""
-"Right now this plugin is considered alpha quality and should be used in "
-"production environments only by adventurous kinds."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:40
-msgid "What happens in case of conflicts?"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:40
-msgid ""
-"The behavior in case of conflicts is to overwrite the changes on the origin "
-"repository with the local changes (ie. local modifications take precedence "
-"over remote ones)."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:41
-msgid "How to deploy automatically after a push?"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:41
-msgid ""
-"You can ping the webhook url after a push to automatically deploy the new "
-"code. The webhook url can be found under Code menu. This url plays well with "
-"Github or Bitbucket webhooks."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:42
-msgid "Does it works on multi site setups?"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:42
-msgid "Gitium is not supporting multisite setups at the moment."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:43
-msgid "How does gitium handle submodules?"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:43
-msgid "Currently submodules are not supported."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:47
-msgid ""
-"In this step you must specify the Remote URL. This URL "
-"represents the link between the git sistem and your site."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:48
-msgid "You can get this URL from your Git repository and it looks like this:"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:49
-msgid "github.com -> git@github.com:user/example.git"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:50
-msgid "bitbucket.org -> git@bitbucket.org:user/glowing-happiness.git"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:51
-msgid ""
-"To go to the next step, fill the Remote URL and then press the "
-"Fetch button."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:52
-msgid ""
-"In this step you must select the branch you want to follow."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:53
-msgid "Only this branch will have all of your code modifications."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:54
-msgid ""
-"When you push the button Merge & Push, all code(plugins & "
-"themes) will be pushed on the git repository."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:64
-msgid ""
-"On status page you can see what files are modified, and you can commit the "
-"changes to git."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:69 ../inc/class-gitium-submenu-commits.php:29
-#: ../inc/class-gitium-submenu-commits.php:41
-msgid "Commits"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:74
-msgid ""
-"You may be wondering what is the difference between author and committer."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:75
-msgid ""
-"The author is the person who originally wrote the patch, "
-"whereas the committer is the person who last applied the patch."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:76
-msgid ""
-"So, if you send in a patch to a project and one of the core members applies "
-"the patch, both of you get credit — you as the author and the core member as "
-"the committer."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:86
-msgid "Each line from the gitignore file specifies a pattern."
-msgstr ""
-
-#: ../inc/class-gitium-help.php:87
-msgid ""
-"When deciding whether to ignore a path, Git normally checks gitignore "
-"patterns from multiple sources, with the following order of precedence, from "
-"highest to lowest (within one level of precedence, the last matching pattern "
-"decides the outcome)"
-msgstr ""
-
-#: ../inc/class-gitium-help.php:88
-#, php-format
-msgid "Read more on %s"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-commits.php:28
-msgid "Git Commits"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-commits.php:61
-#, php-format
-msgid "Last %s commits"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-commits.php:70
-#, php-format
-msgid "committed %s ago"
-msgstr ""
-
-#: ../inc/class-gitium-submenu-commits.php:82
-#, php-format
-msgid "authored %s ago"
-msgstr ""
diff --git a/wp-content/upgrade-temp-backup/plugins/gitium/readme.txt b/wp-content/upgrade-temp-backup/plugins/gitium/readme.txt
deleted file mode 100644
index 784c44a0..00000000
--- a/wp-content/upgrade-temp-backup/plugins/gitium/readme.txt
+++ /dev/null
@@ -1,264 +0,0 @@
-=== Gitium ===
-
-Contributors: PressLabs
-Donate link: https://www.presslabs.com/gitium/
-Tags: git, version, versioning, deployment, version-control, github, bitbucket, travis, code, revision, testing, development, branch, production, staging, debug, plugin, gitium, presslabs, simple
-Requires at least: 4.7
-Tested up to: 6.2.2
-Requires PHP: 5.6
-License: GPLv2
-Stable tag: 1.0.5
-License URI: http://www.gnu.org/licenses/gpl-2.0.html
-
-Automatic git version control and deployment for your plugins and themes integrated into wp-admin.
-
-== About the makers ==
-This plugin was developed by the crafty people at Presslabs—the Smart Managed WordPress Hosting Platform. Here we bring high-performance hosting and business intelligence for WordPress sites. In our spare time, we contribute to the global open-source community with our code.
-
-We’ve built Gitium back in 2013 to provide our clients a more simple and error-free method to integrate a new git version control into their code management flow.
-
-== What is Gitium? ==
-
-This plugin enables continuous deployment for WordPress, integrating with tools such as Github, Bitbucket or Travis-CI. Theme or plugin updates, installs and removals are all automatically versioned. Ninja code edits from the WordPress editor are also tracked by the version control system.
-
-== Why is Gitium? ==
-
-Gitium is designed with responsible development environments in mind, allowing staging and production to follow different branches of the same repository. You can also deploy code by simply using git push.
-
-Gitium requires git command line tool with a minimum version of 1.7 installed on the server and the proc_open PHP function enabled.
-
-== Gitium features: ==
--preserves the WordPress behavior
--accountability for code changes
--safe code storage—gets all code edits in Git
-
-== Development ==
-For more details about Gitium, head here: http://docs.presslabs.com/gitium/usage/
-
-== Receiving is nicer when giving ==
-We’ve built this to make our lives easier and we’re happy to do that for other developers, too. We’d really appreciate it if you could contribute with code, tests, documentation or just share your experience with Gitium.
-
-Development of Gitium happens at http://github.com/PressLabs/gitium
-Issues are tracked at http://github.com/PressLabs/gitium/issues
-This WordPress plugin can be found at https://wordpress.org/plugins/gitium/
-
-== Screenshots ==
-
-1. Setup step 1: Get SSH Key
-2. Setup step 2: Set SSH Key (Github)
-3. Setup step 3: Add remote repository
-4. Setup step 4: Choose following branch
-5. Commit local changes
-
-
-== Installation ==
-
-= Manual Installation =
-1. Upload `gitium.zip` to the `/wp-content/plugins/` directory;
-2. Extract the `gitium.zip` archive into the `/wp-content/plugins/` directory;
-3. Activate the plugin through the 'Plugins' menu in WordPress.
-
-Alternatively, go into your WordPress dashboard and click on Plugins -> Add Plugin and search for `Gitium`. Then, click on Install and, after that, on Activate Now.
-
-
-= Usage =
-
-Activate the plugin and follow the on-screen instructions under the `Gitium` menu.
-
-_IMPORTANT_: Gitium does its best not to version your WordPress core, neither your `/wp-content/uploads` folder.
-
-== Frequently Asked Questions ==
-
-= Could not connect to remote repository? =
-
-If you encounter this kind of error you can try to fix it by setting the proper username of the .git directory.
-
-Example: chown -R www-data:www-data .git
-
-= Is this plugin considered stable? =
-
-Yes, we consider the plugin stable after extensive usage in production environments at Presslabs, with hundreds of users and powering sites with hundreds of millions of pageviews per month.
-
-= What will happen in case of conflicts? =
-
-The behavior in case of conflicts is to overwrite the changes on the `origin` repository with the local changes (ie. local modifications take precedence over remote ones).
-
-= How to deploy automatically after a push? =
-
-You can ping the webhook url after a push to automatically deploy the new code. The webhook url can be found under `Gitium` menu, `Settings` section. This url also plays well with Github or Bitbucket webhooks.
-
-= Does it works on multi site setups? =
-
-Gitium does not support multisite setups at the moment.
-
-= How does gitium handle submodules? =
-
-Submodules are currently not supported.
-
-== Upgrade Notice ==
-= 1.0.5 =
-Fixed wrong redirection for multisite installations during initial setup
-
-== Changelog ==
-
-= 1.0.5 =
-* Various bug fixes
-
-= 1.0.4 =
-* PHP 8 compat. fixes
-
-= 1.0.3 =
-* Fixed wrong redirection for multisite installations during initial setup
-
-= 1.0.2 =
-* Full PHP 7+ compatibility
-* Hotfix - Fixed the blank pages being displayed instead of success of failure messages;
-* Hotfix - Fixed the push process when other remote branches had changes;
-* Hotfix - Fixed the missing ssh / key handling with fatal errors during activation;
-* Added - More success messages in certain cases.
-
-= 1.0.1 =
-* Hotfix - Fix race condition on Code Editor Save
-
-= 1.0 =
-* Fixed WP 4.9 Compatibility
-
-= 1.0-rc12 =
-* Bumped plugin version
-
-= 1.0-rc11 =
-* Hotfixed an error that prevented gitium to error_log properly.
-
-= 1.0-rc10 =
-* Bumped wordpress tested version
-
-= 1.0-rc9 =
-* PHP7 compat and wp-cli
-
-= 1.0-rc8 =
-* Fix some indents
-* Add some more tests
-* Fix the submenu configure logic
-
-= 1.0-rc7 =
-* Test remote url from git wrapper
-* Remove the phpmd package from test environment
-* Set WP_DEBUG to false on tests
-* Refactoring
-* Abort the cherry-pick - changes are already there
-* Fix the race condition
-* Add acquire and release logs for gitium lock
-* Add explanations to merge with accept mine logic
-
-= 1.0-rc6 =
-* Delete all transients and options on uninstall hook
-* Add transients to is_versions and get_remote_tracking_branch functions
-* Update the composer
-* Check requirements before show the admin menu
-* Put the logs off by default(on test env)
-* Fix redirect issue and display errors
-* Create wordpress docker env command
-* PHP Warning: unlink #114
-
-= 1.0-rc5 =
-* Fix delete plugin/theme bug on 4.6
-* Update the readme file
-
-= 1.0-rc4 =
-* Fix merge with accept mine behind commits bug
-
-= 1.0-rc3 =
-* Add support for multisite
-* Fix PHP error on merge & push
-
-= 1.0-rc2 =
-* Change the default lockfile location
-* Fix a PHP Warning
-
-= 1.0-rc1 =
-* Update the logic of merge and push
-* Add lock mechanism for fetch and merge
-* Fix repo stuck on merge_local branch
-* Tested up to 4.5.3
-
-= 0.5.8-beta =
-* Add documentation for 'Could not connect to remote repository?'
-* Fix the update theme from Dashboard commit message & the install plugin commit message
-* Fix install/delete plugin/theme commit message
-* Add a test and rewrite the tests
-* Tested up to 4.5.2
-
-= 0.5.7-beta =
-* Fix bug deleting plugins/themes causes wrong commit message
-* Fix bug wrong commit message
-* Fix bug updated function to stop maintenance mode hang
-* Fix bug undefined variable 'new_versions'
-* Add 'Merge changes' button for gitium webhook
-* Add gitium documentation for docker
-* Add more tests
-
-= 0.5.6-beta =
-* Fix compatibility issues with wp-cli
-
-= 0.5.5-beta =
-* Fix bug plugin deletion from plugins page did not trigger commit
-
-= 0.5.4-beta =
-* Fix bug missing changes on similarly named plugins
-* Add requirements notices
-* Add requirements help section
-
-= 0.5.3-beta =
-* Fix paths with spaces bug
-* Add a Disconnect from repo button
-* Fix POST var `path` conflicts
-* Fix travis tests
-
-= 0.5.2-beta =
-* Add Contextual Help to Configuration page
-* Make the icon path relative
-* The key file is deleted properly
-* Update serbian translation
-* Make the resource type more specific
-* Fix Menu Bubble
-* Remove useless param for get_transient
-* Add Spanish Translation
-* Rename `gitium_version` transient
-* Fix git version notice
-* Delete .vimrc
-* Update .gitignore
-* Fix syntax error
-* Add better git version check
-* Fix add_query_arg vulnerability
-
-= 0.5.1-beta =
-* Update Serbian Translation (by [Ogi Djuraskovic](http://firstsiteguide.com/))
-* Fix Menu Bubble
-
-= 0.5-beta =
-* Add `Last 20 Commits` menu page
-* Add WordPress Contextual Help menu
-* Add `Settings` menu page
-* Move `Webhook URL` and `Public Key` fields to `Settings` page
-* Add menu icon
-* The `.gitignore` file can be edited
-* Fix commit message on theme/plugin update event
-* Refactoring
-
-= 0.4-beta =
-* Add `Bitbucket` documentation link
-* Add the action `gitium_before_merge_with_accept_mine`
-* Moved to `travis-ci.org`
-* Add new tests
-* Added code climate coverage reporting
-* Refactoring
-
-= 0.3.2-alpha =
-* Fix plugin activation issues
-
-= 0.3.1-alpha =
-* Fix issues with ssh repositories
-* Fix maintemance mode when webhook fails
-
-= 0.3-alpha =
-* First alpha release
diff --git a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/dist/simple-local-avatars.asset.php b/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/dist/simple-local-avatars.asset.php
deleted file mode 100644
index 97728613..00000000
--- a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/dist/simple-local-avatars.asset.php
+++ /dev/null
@@ -1 +0,0 @@
- array(), 'version' => 'aa61da036e6891c324d0');
diff --git a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/dist/simple-local-avatars.js b/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/dist/simple-local-avatars.js
deleted file mode 100644
index 1332c741..00000000
--- a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/dist/simple-local-avatars.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{let a,e,t,i,r,s,l,o,n,c=!1;function m(a){void 0===e&&(t=document.getElementById("simple-local-avatar-ratings"),e=jQuery(document.getElementById("simple-local-avatar-spinner")),i=document.getElementById("simple-local-avatar-photo"),r=jQuery(t).closest("form").find("input[type=submit]")),"unlock"===a?(c=!1,r.removeAttr("disabled"),e.hide(),e.hasClass("is-active")&&e.removeClass("is-active")):(c=!0,r.attr("disabled","disabled"),e.show(),jQuery(i).html(e),e.hasClass("is-active")||e.addClass("is-active"))}function p(a,e){const t=e.get("control"),i=a.get("width"),r=a.get("height");let s=parseInt(t.params.width,10),l=parseInt(t.params.height,10);const o=s/l;e.set("canSkipCrop",!0);const n=s,c=l;i/r>o?(l=r,s=l*o):(s=i,l=s/o);const m=(i-s)/2,p=(r-l)/2;return{handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:i,imageHeight:r,minWidth:n>s?s:n,minHeight:c>l?l:c,x1:m,y1:p,x2:s+m,y2:l+p,aspectRatio:`${s}:${l}`}}function d(a,e,r,s){const l={};l.url=a,l.thumbnail_url=a,l.timestamp=_.now(),e&&(l.attachment_id=e),r&&(l.width=r),s&&(l.height=s),m("lock"),jQuery.post(i10n_SimpleLocalAvatars.ajaxurl,{action:"assign_simple_local_avatar_media",media_id:e,user_id:i10n_SimpleLocalAvatars.user_id,_wpnonce:i10n_SimpleLocalAvatars.mediaNonce}).done((function(a){""!==a&&(i.innerHTML=a,jQuery("#simple-local-avatar-remove").show(),t.disabled=!1)})).always((function(){m("unlock")}))}jQuery(document).ready((function(e){l=e("#simple-local-avatar"),s=e("#simple-local-avatar-photo img"),n=s.attr("src"),t=e("#simple-local-avatar-ratings"),i=e("#simple-local-avatar-photo"),e("#simple-local-avatar-media").on("click",(function(e){if(e.preventDefault(),c)return;const r={id:"control-id",params:{flex_width:!0,flex_height:!0,width:200,height:200}};a=wp.media({button:{text:i10n_SimpleLocalAvatars.selectCrop,close:!1},states:[new wp.media.controller.Library({title:i10n_SimpleLocalAvatars.selectCrop,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:200,suggestedHeight:200}),new wp.media.controller.CustomizeImageCropper({imgSelectOptions:p,control:r})]}),a.on("cropped",(function(a){const{url:e}=a;d(e,a.id,a.width,a.height)})),a.on("skippedcrop",(function(a){const e=a.get("url"),t=a.get("width"),i=a.get("height");d(e,a.id,t,i)})),a.on("select",(function(){const e=a.state().get("selection").first().toJSON();var s;r.params.width!==e.width||r.params.height!==e.height||r.params.flex_width||r.params.flex_height?a.setState("cropper"):(e.dst_width=e.width,e.dst_height=e.height,s=e,m("lock"),jQuery.post(i10n_SimpleLocalAvatars.ajaxurl,{action:"assign_simple_local_avatar_media",media_id:s.id,user_id:i10n_SimpleLocalAvatars.user_id,_wpnonce:i10n_SimpleLocalAvatars.mediaNonce}).done((function(a){""!==a&&(i.innerHTML=a,jQuery("#simple-local-avatar-remove").show(),t.disabled=!1,m("unlock"))})).always((function(){m("unlock")})),a.close())})),a.open()})),e("#simple-local-avatar-remove").on("click",(function(a){a.preventDefault(),c||(m("lock"),e.get(i10n_SimpleLocalAvatars.ajaxurl,{action:"remove_simple_local_avatar",user_id:i10n_SimpleLocalAvatars.user_id,_wpnonce:i10n_SimpleLocalAvatars.deleteNonce}).done((function(a){""!==a&&(i.innerHTML=a,e("#simple-local-avatar-remove").hide(),t.disabled=!0)})).always((function(){m("unlock")})))})),l.on("change",(function(a){s.attr("srcset",""),s.attr("height","auto"),URL.revokeObjectURL(o),a.target.files.length>0?(o=URL.createObjectURL(a.target.files[0]),s.attr("src",o)):s.attr("src",n)})),e(document.getElementById("simple-local-avatars-migrate-from-wp-user-avatar")).on("click",(function(a){a.preventDefault(),jQuery.post(i10n_SimpleLocalAvatars.ajaxurl,{action:"migrate_from_wp_user_avatar",migrateFromWpUserAvatarNonce:i10n_SimpleLocalAvatars.migrateFromWpUserAvatarNonce}).always((function(){e(".simple-local-avatars-migrate-from-wp-user-avatar-progress").empty(),e(".simple-local-avatars-migrate-from-wp-user-avatar-progress").text(i10n_SimpleLocalAvatars.migrateFromWpUserAvatarProgress)})).done((function(a){e(".simple-local-avatars-migrate-from-wp-user-avatar-progress").empty();const t=e.parseJSON(a).count;0===t&&e(".simple-local-avatars-migrate-from-wp-user-avatar-progress").text(i10n_SimpleLocalAvatars.migrateFromWpUserAvatarFailure),t>0&&e(".simple-local-avatars-migrate-from-wp-user-avatar-progress").text(i10n_SimpleLocalAvatars.migrateFromWpUserAvatarSuccess+": "+t),setTimeout((function(){e(".simple-local-avatars-migrate-from-wp-user-avatar-progress").empty()}),5e3)}))}));const r=e("#clear_cache_btn"),u=e("#clear_cache_message"),v=e("#simple-local-avatar-default"),g=e("#simple-local-avatar-file-url"),h=e("#simple-local-avatar-file-id");function _(){r.find("span").remove(),r.removeClass("disabled")}function f(a,t){t.step=a,e.ajax({url:i10n_SimpleLocalAvatars.ajaxurl,dataType:"json",data:t,method:"POST",success:function(a){if(a.success)return"done"===a.data.step?(u.text(a.data.message),_()):(u.text(a.data.message),f(parseInt(a.data.step,10),t)),!1;u.text(i10n_SimpleLocalAvatars.clearCacheError),_()},error:function(){u.text(i10n_SimpleLocalAvatars.clearCacheError),_()}})}if(r.on("click",(function(a){a.preventDefault(),r.addClass("disabled"),r.append(''),f(1,{action:"sla_clear_user_cache",nonce:i10n_SimpleLocalAvatars.cacheNonce})})),v.click((function(a){a.preventDefault();var t=e(this),i=wp.media({title:i10n_SimpleLocalAvatars.insertMediaTitle,multiple:!1,library:{type:"image"}}).open().on("select",(function(a){var e=i.state().get("selection").first(),r=(e=e.toJSON())?.sizes?.thumbnail?.url;void 0===r&&(r=e.url);var s=t.parent().find("img.avatar");s.show(),s.attr("src",r),s.attr("srcset",r),g.val(r),h.val(e.id)}))})),g.length&&""!==g.val()){var w=g.parent().find("img.avatar");w.attr("src",g.val()),w.attr("srcset",g.val())}""===h.val()&&h.parent().find("img.avatar").hide()}))})();
\ No newline at end of file
diff --git a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/includes/class-simple-local-avatars.php b/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/includes/class-simple-local-avatars.php
deleted file mode 100644
index 0eb8fa84..00000000
--- a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/includes/class-simple-local-avatars.php
+++ /dev/null
@@ -1,1634 +0,0 @@
-add_hooks();
-
- $this->options = (array) get_option( 'simple_local_avatars' );
- $this->user_key = 'simple_local_avatar';
- $this->rating_key = 'simple_local_avatar_rating';
-
- if (
- ! $this->is_avatar_shared() // Are we sharing avatars?
- && (
- ( // And either an ajax request not in the network admin.
- defined( 'DOING_AJAX' ) && DOING_AJAX
- && isset( $_SERVER['HTTP_REFERER'] ) && ! preg_match( '#^' . network_admin_url() . '#i', $_SERVER['HTTP_REFERER'] )
- )
- ||
- ( // Or normal request not in the network admin.
- ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX )
- && ! is_network_admin()
- )
- )
- && is_multisite()
- ) {
- $this->user_key = sprintf( $this->user_key . '_%d', get_current_blog_id() );
- $this->rating_key = sprintf( $this->rating_key . '_%d', get_current_blog_id() );
- }
- }
-
- /**
- * Register actions and filters.
- */
- public function add_hooks() {
- global $pagenow;
- global $wp_version;
-
- add_filter( 'plugin_action_links_' . SLA_PLUGIN_BASENAME, array( $this, 'plugin_filter_action_links' ) );
-
- add_filter( 'pre_get_avatar_data', array( $this, 'get_avatar_data' ), 10, 2 );
- add_filter( 'pre_option_simple_local_avatars', array( $this, 'pre_option_simple_local_avatars' ), 10, 1 );
-
- add_action( 'admin_init', array( $this, 'admin_init' ) );
- add_action( 'init', array( $this, 'define_avatar_ratings' ) );
-
- // Load the JS on BE & FE both, in order to support third party plugins like bbPress.
- add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
-
- add_action( 'show_user_profile', array( $this, 'edit_user_profile' ) );
- add_action( 'edit_user_profile', array( $this, 'edit_user_profile' ) );
-
- add_action( 'personal_options_update', array( $this, 'edit_user_profile_update' ) );
- add_action( 'edit_user_profile_update', array( $this, 'edit_user_profile_update' ) );
- add_action( 'admin_action_remove-simple-local-avatar', array( $this, 'action_remove_simple_local_avatar' ) );
- add_action( 'wp_ajax_assign_simple_local_avatar_media', array( $this, 'ajax_assign_simple_local_avatar_media' ) );
- add_action( 'wp_ajax_remove_simple_local_avatar', array( $this, 'action_remove_simple_local_avatar' ) );
- add_action( 'user_edit_form_tag', array( $this, 'user_edit_form_tag' ) );
-
- add_action( 'rest_api_init', array( $this, 'register_rest_fields' ) );
-
- add_action( 'wp_ajax_migrate_from_wp_user_avatar', array( $this, 'ajax_migrate_from_wp_user_avatar' ) );
-
- if ( defined( 'WP_CLI' ) && WP_CLI ) {
- WP_CLI::add_command( 'simple-local-avatars migrate wp-user-avatar', array( $this, 'wp_cli_migrate_from_wp_user_avatar' ) );
- }
-
- add_action( 'wp_ajax_sla_clear_user_cache', array( $this, 'sla_clear_user_cache' ) );
-
- add_filter( 'avatar_defaults', array( $this, 'add_avatar_default_field' ) );
- if ( version_compare( $wp_version, '5.1', '<' ) ) {
- add_action( 'wpmu_new_blog', array( $this, 'set_defaults' ) );
- } else {
- add_action( 'wp_initialize_site', array( $this, 'set_defaults' ) );
- }
-
- if ( 'profile.php' === $pagenow ) {
- add_filter( 'media_view_strings', function ( $strings ) {
- $strings['skipCropping'] = esc_html__( 'Default Crop', 'simple-local-avatars' );
-
- return $strings;
- }, 10, 1 );
- }
-
- // Fix: An error occurred cropping the image (https://github.com/10up/simple-local-avatars/issues/141).
- if ( isset( $_POST['action'] ) && 'crop-image' === $_POST['action'] && is_admin() && wp_doing_ajax() ) {
- add_action( 'plugins_loaded', function () {
- remove_all_actions( 'setup_theme' );
- } );
- }
- }
-
- /**
- * Determine if plugin is network activated.
- *
- * @param string $plugin The plugin slug to check.
- *
- * @return boolean
- */
- public static function is_network( $plugin ) {
- $plugins = get_site_option( 'active_sitewide_plugins', array() );
-
- if ( is_multisite() && isset( $plugins[ $plugin ] ) ) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Get current plugin network mode
- */
- public function get_network_mode() {
- if ( SLA_IS_NETWORK ) {
- return get_site_option( 'simple_local_avatars_mode', 'default' );
- }
-
- return 'default';
- }
-
- /**
- * Determines if settings handling is enforced on a network level
- *
- * Important: this is only meant for admin UI purposes.
- *
- * @return boolean
- */
- public function is_enforced() {
- if (
- ( ! is_network_admin() && ( SLA_IS_NETWORK && 'enforce' === $this->get_network_mode() ) )
- ) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Determine if avatars should be shared
- *
- * @return boolean
- */
- public function is_avatar_shared() {
- if (
- is_multisite() // Are we on multisite.
- && ! isset( $this->options['shared'] ) // And our shared option doesn't exist.
- || (
- isset( $this->options['shared'] ) // Or our shared option is set.
- && 1 === $this->options['shared']
- )
- ) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Add the settings action link to the plugin page.
- *
- * @param array $links The Action links for the plugin.
- *
- * @return array
- */
- public function plugin_filter_action_links( $links ) {
-
- if ( ! is_array( $links ) ) {
- return $links;
- }
-
- $links['settings'] = sprintf(
- ' %s ',
- esc_url( admin_url( 'options-discussion.php' ) ),
- __( 'Settings', 'simple-local-avatars' )
- );
-
- return $links;
- }
-
- /**
- * Retrieve the local avatar for a user who provided a user ID, email address or post/comment object.
- *
- * @param string $avatar Avatar return by original function
- * @param int|string|object $id_or_email A user ID, email address, or post/comment object
- * @param int $size Size of the avatar image
- * @param string $default URL to a default image to use if no avatar is available
- * @param string $alt Alternative text to use in image tag. Defaults to blank
- * @param array $args Optional. Extra arguments to retrieve the avatar.
- *
- * @return string tag for the user's avatar
- */
- public function get_avatar( $avatar = '', $id_or_email = '', $size = 96, $default = '', $alt = '', $args = array() ) {
- return apply_filters( 'simple_local_avatar', get_avatar( $id_or_email, $size, $default, $alt, $args ) );
- }
-
- /**
- * Filter avatar data early to add avatar url if needed. This filter hooks
- * before Gravatar setup to prevent wasted requests.
- *
- * @since 2.2.0
- *
- * @param array $args Arguments passed to get_avatar_data(), after processing.
- * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
- * user email, WP_User object, WP_Post object, or WP_Comment object.
- */
- public function get_avatar_data( $args, $id_or_email ) {
- if ( ! empty( $args['force_default'] ) ) {
- return $args;
- }
-
- $simple_local_avatar_url = $this->get_simple_local_avatar_url( $id_or_email, $args['size'] );
- if ( $simple_local_avatar_url ) {
- $args['url'] = $simple_local_avatar_url;
- }
-
- // Local only mode
- if ( ! $simple_local_avatar_url && ! empty( $this->options['only'] ) ) {
- $args['url'] = $this->get_default_avatar_url( $args['size'] );
- }
-
- if ( ! empty( $args['url'] ) ) {
- $args['found_avatar'] = true;
-
- // If custom alt text isn't passed, pull alt text from the local image.
- if ( empty( $args['alt'] ) ) {
- $args['alt'] = $this->get_simple_local_avatar_alt( $id_or_email );
- }
- }
-
- return $args;
- }
-
- /**
- * Get a user ID from certain possible values.
- *
- * @since 2.5.0
- *
- * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
- * user email, WP_User object, WP_Post object, or WP_Comment object.
- * @return int|false
- */
- public function get_user_id( $id_or_email ) {
- $user_id = false;
-
- if ( is_numeric( $id_or_email ) ) {
- $user_id = (int) $id_or_email;
- } elseif ( is_object( $id_or_email ) && ! empty( $id_or_email->user_id ) ) {
- $user_id = (int) $id_or_email->user_id;
- } elseif ( $id_or_email instanceof WP_User ) {
- $user_id = $id_or_email->ID;
- } elseif ( $id_or_email instanceof WP_Post && ! empty( $id_or_email->post_author ) ) {
- $user_id = (int) $id_or_email->post_author;
- } elseif ( is_string( $id_or_email ) ) {
- $user = get_user_by( 'email', $id_or_email );
- $user_id = $user ? $user->ID : '';
- }
-
- return $user_id;
- }
-
- /**
- * Get local avatar url.
- *
- * @since 2.2.0
- *
- * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
- * user email, WP_User object, WP_Post object, or WP_Comment object.
- * @param int $size Requested avatar size.
- */
- public function get_simple_local_avatar_url( $id_or_email, $size ) {
- $user_id = $this->get_user_id( $id_or_email );
-
- if ( empty( $user_id ) ) {
- return '';
- }
-
- // Fetch local avatar from meta and make sure it's properly set.
- $local_avatars = get_user_meta( $user_id, $this->user_key, true );
- if ( empty( $local_avatars['full'] ) ) {
- return '';
- }
-
- // check rating
- $avatar_rating = get_user_meta( $user_id, $this->rating_key, true );
- $site_rating = get_option( 'avatar_rating' );
- if ( ! empty( $avatar_rating ) && 'G' !== $avatar_rating && $site_rating ) {
- $ratings = array_keys( $this->avatar_ratings );
- $site_rating_weight = array_search( $site_rating, $ratings, true );
- $avatar_rating_weight = array_search( $avatar_rating, $ratings, true );
- if ( false !== $avatar_rating_weight && $avatar_rating_weight > $site_rating_weight ) {
- return '';
- }
- }
-
- // handle "real" media
- if ( ! empty( $local_avatars['media_id'] ) ) {
- // If using shared avatars, make sure we validate the URL on the main site.
- if ( $this->is_avatar_shared() ) {
- $origin_blog_id = isset( $local_avatars['blog_id'] ) && ! empty( $local_avatars['blog_id'] ) ? $local_avatars['blog_id'] : get_main_site_id();
- switch_to_blog( $origin_blog_id );
- }
-
- $avatar_full_path = get_attached_file( $local_avatars['media_id'] );
-
- if ( $this->is_avatar_shared() ) {
- restore_current_blog();
- }
-
- // has the media been deleted?
- if ( ! $avatar_full_path ) {
- return '';
- }
- }
-
- $size = (int) $size;
-
- // Generate a new size.
- if ( ! array_key_exists( $size, $local_avatars ) ) {
- $local_avatars[ $size ] = $local_avatars['full']; // just in case of failure elsewhere
-
- // allow automatic rescaling to be turned off
- if ( apply_filters( 'simple_local_avatars_dynamic_resize', true ) ) :
-
- $upload_path = wp_upload_dir();
-
- // get path for image by converting URL, unless its already been set, thanks to using media library approach
- if ( ! isset( $avatar_full_path ) ) {
- $avatar_full_path = str_replace( $upload_path['baseurl'], $upload_path['basedir'], $local_avatars['full'] );
- }
-
- // generate the new size
- $editor = wp_get_image_editor( $avatar_full_path );
- if ( ! is_wp_error( $editor ) ) {
- $resized = $editor->resize( $size, $size, true );
- if ( ! is_wp_error( $resized ) ) {
- $dest_file = $editor->generate_filename();
- $saved = $editor->save( $dest_file );
- if ( ! is_wp_error( $saved ) ) {
- // Transform the destination file path into URL.
- $dest_file_url = '';
- if ( false !== strpos( $dest_file, $upload_path['basedir'] ) ) {
- $dest_file_url = str_replace( $upload_path['basedir'], $upload_path['baseurl'], $dest_file );
- } else if ( is_multisite() && false !== strpos( $dest_file, ABSPATH . 'wp-content/uploads' ) ) {
- $dest_file_url = str_replace( ABSPATH . 'wp-content/uploads', network_site_url( '/wp-content/uploads' ), $dest_file );
- }
-
- $local_avatars[ $size ] = $dest_file_url;
- }
- }
- }
-
- // save updated avatar sizes
- update_user_meta( $user_id, $this->user_key, $local_avatars );
-
- endif;
- }
-
- if ( 'http' !== substr( $local_avatars[ $size ], 0, 4 ) ) {
- $local_avatars[ $size ] = home_url( $local_avatars[ $size ] );
- }
-
- return esc_url( $local_avatars[ $size ] );
- }
-
- /**
- * Get local avatar alt text.
- *
- * @since 2.5.0
- *
- * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
- * user email, WP_User object, WP_Post object, or WP_Comment object.
- * @return string
- */
- public function get_simple_local_avatar_alt( $id_or_email ) {
- $user_id = $this->get_user_id( $id_or_email );
-
- /**
- * Filter the default avatar alt text.
- *
- * @param string $alt Default alt text.
- * @return string
- */
- $default_alt = apply_filters( 'simple_local_avatars_default_alt', __( 'Avatar photo', 'simple-local-avatars' ) );
-
- if ( empty( $user_id ) ) {
- return $default_alt;
- }
-
- // Fetch local avatar from meta and make sure we have a media ID.
- $local_avatars = get_user_meta( $user_id, 'simple_local_avatar', true );
- if ( empty( $local_avatars['media_id'] ) ) {
- $alt = '';
- // If no avatar is set, check if we are using a default avatar with alt text.
- if ( 'simple_local_avatar' === get_option( 'avatar_default' ) ) {
- $default_avatar_id = get_option( 'simple_local_avatar_default', '' );
- if ( ! empty( $default_avatar_id ) ) {
- $alt = get_post_meta( $default_avatar_id, '_wp_attachment_image_alt', true );
- }
- }
-
- return $alt ? $alt : $default_alt;
- }
-
- $alt = get_post_meta( $local_avatars['media_id'], '_wp_attachment_image_alt', true );
-
- return $alt ? $alt : $default_alt;
- }
-
- /**
- * Get default avatar url
- *
- * @since 2.2.0
- *
- * @param int $size Requested avatar size.
- */
- public function get_default_avatar_url( $size ) {
- if ( empty( $default ) ) {
- $avatar_default = get_option( 'avatar_default' );
- if ( empty( $avatar_default ) ) {
- $default = 'mystery';
- } else {
- $default = $avatar_default;
- }
- }
-
- $host = is_ssl() ? 'https://secure.gravatar.com' : 'http://0.gravatar.com';
-
- if ( 'mystery' === $default ) {
- $default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com')
- } elseif ( 'blank' === $default ) {
- $default = includes_url( 'images/blank.gif' );
- } elseif ( 'gravatar_default' === $default ) {
- $default = "$host/avatar/?s={$size}";
- } elseif ( 'simple_local_avatar' === $default ) {
- $default = "$host/avatar/?d=$default&s={$size}";
- $default_avatar_id = get_option( 'simple_local_avatar_default', '' );
- if ( ! empty( $default_avatar_id ) ) {
- $default = wp_get_attachment_image_url( $default_avatar_id );
- }
- } else {
- $default = "$host/avatar/?d=$default&s={$size}";
- }
-
- return $default;
- }
-
- /**
- * Define the ratings avatar ratings.
- *
- * The ratings need to be defined after the languages have been loaded so
- * they can be translated. This method exists to define the ratings
- * after that has been done.
- *
- * @since 2.7.3
- */
- public function define_avatar_ratings() {
- /*
- * Avatar ratings.
- *
- * The key should not be translated as it's used by WP Core in it's
- * english form (G, PG, etc).
- *
- * The values should be translated, these include the initial rating
- * name and the description for display to users.
- */
- $this->avatar_ratings = array(
- /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */
- 'G' => __( 'G — Suitable for all audiences' ),
- /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */
- 'PG' => __( 'PG — Possibly offensive, usually for audiences 13 and above' ),
- /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */
- 'R' => __( 'R — Intended for adult audiences above 17' ),
- /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */
- 'X' => __( 'X — Even more mature than above' ),
- );
- }
-
- /**
- * Register admin settings.
- */
- public function admin_init() {
- $this->define_avatar_ratings();
- // upgrade pre 2.0 option
- $old_ops = get_option( 'simple_local_avatars_caps' );
- if ( $old_ops ) {
- if ( ! empty( $old_ops['simple_local_avatars_caps'] ) ) {
- update_option( 'simple_local_avatars', array( 'caps' => 1 ) );
- }
-
- delete_option( 'simple_local_avatar_caps' );
- }
-
- register_setting( 'discussion', 'simple_local_avatars', array( $this, 'sanitize_options' ) );
- add_settings_field(
- 'simple-local-avatars-only',
- __( 'Local Avatars Only', 'simple-local-avatars' ),
- array( $this, 'avatar_settings_field' ),
- 'discussion',
- 'avatars',
- array(
- 'class' => 'simple-local-avatars',
- 'key' => 'only',
- 'desc' => __( 'Only allow local avatars (still uses Gravatar for default avatars)', 'simple-local-avatars' ),
- )
- );
- add_settings_field(
- 'simple-local-avatars-caps',
- __( 'Local Upload Permissions', 'simple-local-avatars' ),
- array( $this, 'avatar_settings_field' ),
- 'discussion',
- 'avatars',
- array(
- 'class' => 'simple-local-avatars',
- 'key' => 'caps',
- 'desc' => __( 'Only allow users with file upload capabilities to upload local avatars (Authors and above)', 'simple-local-avatars' ),
- )
- );
-
- if ( is_multisite() ) {
- add_settings_field(
- 'simple-local-avatars-shared',
- __( 'Shared network avatars', 'simple-local-avatars' ),
- array( $this, 'avatar_settings_field' ),
- 'discussion',
- 'avatars',
- array(
- 'class' => 'simple-local-avatars',
- 'key' => 'shared',
- 'desc' => __( 'Uploaded avatars will be shared across the entire network, instead of being unique per site', 'simple-local-avatars' ),
- 'default' => 1,
- )
- );
- }
-
- add_action( 'load-options-discussion.php', array( $this, 'load_discussion_page' ) );
-
- // This is for network site settings.
- if ( SLA_IS_NETWORK && is_network_admin() ) {
- add_action( 'load-settings.php', array( $this, 'load_network_settings' ) );
- }
-
- add_settings_field(
- 'simple-local-avatars-migration',
- __( 'Migrate Other Local Avatars', 'simple-local-avatars' ),
- array( $this, 'migrate_from_wp_user_avatar_settings_field' ),
- 'discussion',
- 'avatars'
- );
- add_settings_field(
- 'simple-local-avatars-clear',
- esc_html__( 'Clear local avatar cache', 'simple-local-avatars' ),
- array( $this, 'avatar_settings_field' ),
- 'discussion',
- 'avatars',
- array(
- 'key' => 'clear_cache',
- 'desc' => esc_html__( 'Clear cache of stored avatars', 'simple-local-avatars' ),
- )
- );
-
- // Save default avatar file.
- $this->save_default_avatar_file_id();
- }
-
- /**
- * Fire code on the Discussion page
- */
- public function load_discussion_page() {
- add_action( 'admin_print_styles', array( $this, 'admin_print_styles' ) );
- add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
- }
-
- /**
- * Load needed hooks to handle network settings
- */
- public function load_network_settings() {
- $this->options = (array) get_site_option( 'simple_local_avatars', array() );
-
- add_action( 'wpmu_options', array( $this, 'show_network_settings' ) );
- add_action( 'update_wpmu_options', array( $this, 'save_network_settings' ) );
- }
-
- /**
- * Show the network settings
- */
- public function show_network_settings() {
- $mode = $this->get_network_mode();
- ?>
-
-
-
- simple_local_avatar ) ) {
- echo '' . esc_html__( 'No local avatar is set. Set up your avatar at Gravatar.com.', 'simple-local-avatars' ) . '';
- } else {
- echo '' . esc_html__( 'You do not have media management permissions. To change your local avatar, contact the blog administrator.', 'simple-local-avatars' ) . '';
- }
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
- avatar_delete( $user_id ); // delete old images if successful.
-
- $meta_value = array();
-
- // set the new avatar
- if ( is_numeric( $url_or_media_id ) ) {
- $meta_value['media_id'] = $url_or_media_id;
- $url_or_media_id = wp_get_attachment_url( $url_or_media_id );
- }
-
- $meta_value['full'] = $url_or_media_id;
- $meta_value['blog_id'] = get_current_blog_id();
-
- update_user_meta( $user_id, $this->user_key, $meta_value ); // save user information (overwriting old).
-
- /**
- * Enable themes and other plugins to react to changes to a user's avatar.
- *
- * @since 2.6.0
- *
- * @param int $user_id Id of the user who's avatar was updated
- */
- do_action( 'simple_local_avatar_updated' , $user_id );
- }
-
- /**
- * Save any changes to the user profile
- *
- * @param int $user_id ID of user being updated
- */
- public function edit_user_profile_update( $user_id ) {
- // check nonces
- if ( empty( $_POST['_simple_local_avatar_nonce'] ) || ! wp_verify_nonce( $_POST['_simple_local_avatar_nonce'], 'simple_local_avatar_nonce' ) ) {
- return;
- }
-
- // check for uploaded files
- if ( ! empty( $_FILES['simple-local-avatar']['name'] ) && 0 === $_FILES['simple-local-avatar']['error'] ) :
-
- // need to be more secure since low privelege users can upload
- $allowed_mime_types = wp_get_mime_types();
- $file_mime_type = strtolower( $_FILES['simple-local-avatar']['type'] );
-
- if ( ! ( 0 === strpos( $file_mime_type, 'image/' ) ) || ! in_array( $file_mime_type, $allowed_mime_types, true ) ) {
- $this->avatar_upload_error = __( 'Only images can be uploaded as an avatar', 'simple-local-avatars' );
- add_action( 'user_profile_update_errors', array( $this, 'user_profile_update_errors' ) );
- return;
- }
-
- $max_upload_size = $this->upload_size_limit( wp_max_upload_size() );
- if ( $_FILES['simple-local-avatar']['size'] > $max_upload_size ) {
- $this->avatar_upload_error = sprintf( __( 'Max allowed avatar size is %s', 'simple-local-avatars' ), size_format( $max_upload_size ) );
- add_action( 'user_profile_update_errors', array( $this, 'user_profile_update_errors' ) );
- return;
- }
-
- // front end (theme my profile etc) support
- if ( ! function_exists( 'media_handle_upload' ) ) {
- include_once ABSPATH . 'wp-admin/includes/media.php';
- }
-
- // front end (plugin bbPress etc) support
- if ( ! function_exists( 'wp_handle_upload' ) ) {
- include_once ABSPATH . 'wp-admin/includes/file.php';
- }
- if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) {
- include_once ABSPATH . 'wp-admin/includes/image.php';
- }
-
- $this->user_id_being_edited = $user_id; // make user_id known to unique_filename_callback function
- $avatar_id = media_handle_upload(
- 'simple-local-avatar',
- 0,
- array(),
- array(
- 'mimes' => array(
- 'jpg|jpeg|jpe' => 'image/jpeg',
- 'gif' => 'image/gif',
- 'png' => 'image/png',
- ),
- 'test_form' => false,
- 'unique_filename_callback' => array( $this, 'unique_filename_callback' ),
- )
- );
-
- if ( is_wp_error( $avatar_id ) ) { // handle failures.
- $this->avatar_upload_error = '' . __( 'There was an error uploading the avatar:', 'simple-local-avatars' ) . ' ' . esc_html( $avatar_id->get_error_message() );
- add_action( 'user_profile_update_errors', array( $this, 'user_profile_update_errors' ) );
-
- return;
- }
-
- $this->assign_new_user_avatar( $avatar_id, $user_id );
-
- endif;
-
- // Handle ratings
- if ( isset( $avatar_id ) || get_user_meta( $user_id, $this->user_key, true ) ) {
- if ( empty( $_POST['simple_local_avatar_rating'] ) || ! array_key_exists( $_POST['simple_local_avatar_rating'], $this->avatar_ratings ) ) {
- $_POST['simple_local_avatar_rating'] = key( $this->avatar_ratings );
- }
-
- update_user_meta( $user_id, $this->rating_key, $_POST['simple_local_avatar_rating'] );
- }
- }
-
- /**
- * Allow developers to override the maximum allowable file size for avatar uploads
- *
- * @param int $bytes WordPress default byte size check
- * @return int Maximum byte size
- */
- public function upload_size_limit( $bytes ) {
- return apply_filters( 'simple_local_avatars_upload_limit', $bytes );
- }
-
- /**
- * Runs when a user clicks the Remove button for the avatar
- */
- public function action_remove_simple_local_avatar() {
- if ( ! empty( $_GET['user_id'] ) && ! empty( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'remove_simple_local_avatar_nonce' ) ) {
- $user_id = (int) $_GET['user_id'];
-
- if ( ! current_user_can( 'edit_user', $user_id ) ) {
- wp_die( esc_html__( 'You do not have permission to edit this user.', 'simple-local-avatars' ) );
- }
-
- $this->avatar_delete( $user_id ); // delete old images if successful
-
- /**
- * Enable themes and other plugins to react to avatar deletions.
- *
- * @since 2.6.0
- *
- * @param int $user_id Id of the user who's avatar was deleted.
- */
- do_action( 'simple_local_avatar_deleted', $user_id );
-
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
- echo wp_kses_post( get_simple_local_avatar( $user_id ) );
- }
- }
-
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
- die;
- }
- }
-
- /**
- * AJAX callback for assigning media ID fetched from media library to user
- */
- public function ajax_assign_simple_local_avatar_media() {
- // check required information and permissions
- if ( empty( $_POST['user_id'] ) || empty( $_POST['media_id'] ) || ! current_user_can( 'upload_files' ) || ! current_user_can( 'edit_user', $_POST['user_id'] ) || empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'assign_simple_local_avatar_nonce' ) ) {
- die;
- }
-
- $media_id = (int) $_POST['media_id'];
- $user_id = (int) $_POST['user_id'];
-
- // ensure the media is real is an image
- if ( wp_attachment_is_image( $media_id ) ) {
- $this->assign_new_user_avatar( $media_id, $user_id );
- }
-
- echo wp_kses_post( get_simple_local_avatar( $user_id ) );
-
- die;
- }
-
- /**
- * Delete avatars based on a user_id
- *
- * @param int $user_id User ID.
- */
- public function avatar_delete( $user_id ) {
- $old_avatars = (array) get_user_meta( $user_id, $this->user_key, true );
-
- if ( empty( $old_avatars ) ) {
- return;
- }
-
- // if it was uploaded media, don't erase the full size or try to erase an the ID
- if ( array_key_exists( 'media_id', $old_avatars ) ) {
- unset( $old_avatars['media_id'], $old_avatars['full'] );
- }
-
- if ( ! empty( $old_avatars ) ) {
- $upload_path = wp_upload_dir();
-
- foreach ( $old_avatars as $old_avatar ) {
- // derive the path for the file based on the upload directory
- $old_avatar_path = str_replace( $upload_path['baseurl'], $upload_path['basedir'], $old_avatar );
- if ( file_exists( $old_avatar_path ) ) {
- unlink( $old_avatar_path );
- }
- }
- }
-
- delete_user_meta( $user_id, $this->user_key );
- delete_user_meta( $user_id, $this->rating_key );
- }
-
- /**
- * Creates a unique, meaningful file name for uploaded avatars.
- *
- * @param string $dir Path for file
- * @param string $name Filename
- * @param string $ext File extension (e.g. ".jpg")
- * @return string Final filename
- */
- public function unique_filename_callback( $dir, $name, $ext ) {
- $user = get_user_by( 'id', (int) $this->user_id_being_edited );
- $name = $base_name = sanitize_file_name( $user->display_name . '_avatar_' . time() ); //phpcs:ignore
-
- // ensure no conflicts with existing file names
- $number = 1;
- while ( file_exists( $dir . "/$name$ext" ) ) {
- $name = $base_name . '_' . $number;
- $number ++;
- }
-
- return $name . $ext;
- }
-
- /**
- * Adds errors based on avatar upload problems.
- *
- * @param WP_Error $errors Error messages for user profile screen.
- */
- public function user_profile_update_errors( WP_Error $errors ) {
- $errors->add( 'avatar_error', $this->avatar_upload_error );
- }
-
- /**
- * Registers the simple_local_avatar field in the REST API.
- */
- public function register_rest_fields() {
- register_rest_field(
- 'user',
- 'simple_local_avatar',
- array(
- 'get_callback' => array( $this, 'get_avatar_rest' ),
- 'update_callback' => array( $this, 'set_avatar_rest' ),
- 'schema' => array(
- 'description' => 'The users simple local avatar',
- 'type' => 'object',
- ),
- )
- );
- }
-
- /**
- * Returns the simple_local_avatar meta key for the given user.
- *
- * @param object $user User object
- */
- public function get_avatar_rest( $user ) {
- $local_avatar = get_user_meta( $user['id'], $this->user_key, true );
- if ( empty( $local_avatar ) ) {
- return;
- }
-
- return $local_avatar;
- }
-
- /**
- * Updates the simple local avatar from a REST request.
- *
- * Since we are just adding a field to the existing user endpoint
- * we don't need to worry about ensuring the calling user has proper permissions.
- * Only the user or an administrator would be able to change the avatar.
- *
- * @param array $input Input submitted via REST request.
- * @param object $user The user making the request.
- */
- public function set_avatar_rest( $input, $user ) {
- $this->assign_new_user_avatar( $input['media_id'], $user->ID );
- }
-
- /**
- * Short-circuit filter the `simple_local_avatars` option to match network if necessary
- *
- * @param bool $value Value of `simple_local_avatars` option, typically false.
- *
- * @return array
- */
- public function pre_option_simple_local_avatars( $value ) {
- if ( SLA_IS_NETWORK && 'enforce' === $this->get_network_mode() ) {
- $value = get_site_option( 'simple_local_avatars', array() );
- }
-
- return $value;
- }
-
- /**
- * Set plugin defaults for a new site
- *
- * @param int|WP_Site $blog_id Blog ID or object.
- */
- public function set_defaults( $blog_id ) {
- if ( 'enforce' === $this->get_network_mode() ) {
- return;
- }
-
- if ( $blog_id instanceof WP_Site ) {
- $blog_id = (int) $blog_id->blog_id;
- }
-
- switch_to_blog( $blog_id );
- update_option( 'simple_local_avatars', $this->sanitize_options( $this->options ) );
- restore_current_blog();
- }
-
- /**
- * Add some basic styling on the Discussion page
- */
- public function admin_print_styles() {
- ?>
-
- is_enforced() ) {
- $classes .= ' sla-enforced';
- }
-
- return $classes;
- }
-
- /**
- * Clear user cache.
- */
- public function sla_clear_user_cache() {
- check_ajax_referer( 'sla_clear_cache_nonce', 'nonce' );
- $step = isset( $_REQUEST['step'] ) ? intval( $_REQUEST['step'] ) : 1;
-
- // Setup defaults.
- $users_per_page = 50;
- $offset = ( $step - 1 ) * $users_per_page;
-
- $users_query = new \WP_User_Query(
- array(
- 'fields' => array( 'ID' ),
- 'number' => $users_per_page,
- 'offset' => $offset,
- )
- );
-
- // Total users in the site.
- $total_users = $users_query->get_total();
-
- // Get the users.
- $users = $users_query->get_results();
-
- if ( ! empty( $users ) ) {
- foreach ( $users as $user ) {
- $user_id = $user->ID;
- $local_avatars = get_user_meta( $user_id, 'simple_local_avatar', true );
- $media_id = isset( $local_avatars['media_id'] ) ? $local_avatars['media_id'] : '';
- $this->clear_user_avatar_cache( $local_avatars, $user_id, $media_id );
- }
-
- wp_send_json_success(
- array(
- 'step' => $step + 1,
- 'message' => sprintf(
- /* translators: 1: Offset, 2: Total users */
- esc_html__( 'Processing %1$s/%2$s users...', 'simple-local-avatars' ),
- $offset,
- $total_users
- ),
- )
- );
- }
-
- wp_send_json_success(
- array(
- 'step' => 'done',
- 'message' => sprintf(
- /* translators: %s Total users */
- esc_html__( 'Completed clearing cache for all %s user(s) avatars.', 'simple-local-avatars' ),
- $total_users
- ),
- )
- );
- }
-
- /**
- * Clear avatar cache for given user.
- *
- * @param array $local_avatars Local avatars.
- * @param int $user_id User ID.
- * @param mixed $media_id Media ID.
- */
- private function clear_user_avatar_cache( $local_avatars, $user_id, $media_id ) {
- if ( ! empty( $media_id ) ) {
- // In order to support WP 4.9.
- if ( function_exists( 'wp_get_original_image_path' ) ) {
- $file_name_data = pathinfo( wp_get_original_image_path( $media_id ) );
- } else {
- $file_name_data = pathinfo( get_attached_file( $media_id ) );
- }
-
- $file_dir_name = $file_name_data['dirname'];
- $file_name = $file_name_data['filename'];
- $file_ext = $file_name_data['extension'];
- foreach ( $local_avatars as $local_avatars_key => $local_avatar_value ) {
- if ( ! in_array( $local_avatars_key, [ 'media_id', 'full' ], true ) ) {
- $file_size_path = sprintf( '%1$s/%2$s-%3$sx%3$s.%4$s', $file_dir_name, $file_name, $local_avatars_key, $file_ext );
- if ( ! file_exists( $file_size_path ) ) {
- unset( $local_avatars[ $local_avatars_key ] );
- }
- }
- }
-
- // Update meta, remove sizes that don't exist.
- update_user_meta( $user_id, 'simple_local_avatar', $local_avatars );
- }
- }
-
- /**
- * Add default avatar upload file field.
- *
- * @param array $defaults Default options for avatar.
- *
- * @return array Default options of avatar.
- */
- public function add_avatar_default_field( $defaults ) {
- if ( ! did_action( 'wp_enqueue_media' ) ) {
- wp_enqueue_media();
- }
- $default_avatar_file_url = '';
- $default_avatar_file_id = get_option( 'simple_local_avatar_default', '' );
- if ( ! empty( $default_avatar_file_id ) ) {
- $default_avatar_file_url = wp_get_attachment_image_url( $default_avatar_file_id );
- }
- ob_start();
- ?>
-
-
-
- blog_id = 1;
- $sites = array( $site );
- }
-
- // Bail early if we don't find sites.
- if ( empty( $sites ) ) {
- return $count;
- }
-
- foreach ( $sites as $site ) {
- // Get the blog ID to use in the meta key and user query.
- $blog_id = isset( $site->blog_id ) ? $site->blog_id : 1;
-
- // Get the name of the meta key for WP User Avatar.
- $meta_key = $wpdb->get_blog_prefix( $blog_id ) . 'user_avatar';
-
- // Get processed users from database.
- $migrations = get_option( 'simple_local_avatars_migrations', array() );
- $processed_users = isset( $migrations['wp_user_avatar'] ) ? $migrations['wp_user_avatar'] : array();
-
- // Get all users that have a local avatar.
- $users = get_users(
- array(
- 'blog_id' => $blog_id,
- 'exclude' => $processed_users,
- 'meta_key' => $meta_key,
- 'meta_compare' => 'EXISTS',
- )
- );
-
- // Bail early if we don't find users.
- if ( empty( $users ) ) {
- continue;
- }
-
- foreach ( $users as $user ) {
- // Get the existing avatar media ID.
- $avatar_id = get_user_meta( $user->ID, $meta_key, true );
-
- // Attach the user and media to Simple Local Avatars.
- $sla = new Simple_Local_Avatars();
- $sla->assign_new_user_avatar( (int) $avatar_id, $user->ID );
-
- // Check that it worked.
- $is_migrated = get_user_meta( $user->ID, 'simple_local_avatar', true );
-
- if ( ! empty( $is_migrated ) ) {
- // Build array of user IDs.
- $migrations['wp_user_avatar'][] = $user->ID;
-
- // Record the user IDs so we don't process a second time.
- $is_saved = update_option( 'simple_local_avatars_migrations', $migrations );
-
- // Record how many avatars we migrate to be used in our messaging.
- if ( $is_saved ) {
- $count ++;
- }
- }
- }
- }
-
- return $count;
- }
-
- /**
- * Migrate the user's avatar data away from WP User Avatar/ProfilePress via the dashboard.
- *
- * Sends the number of avatars processed back to the AJAX response before stopping execution.
- *
- * @return void
- */
- public function ajax_migrate_from_wp_user_avatar() {
- // Bail early if nonce is not available.
- if ( empty( sanitize_text_field( $_POST['migrateFromWpUserAvatarNonce'] ) ) ) {
- die;
- }
-
- // Bail early if nonce is invalid.
- if ( ! wp_verify_nonce( sanitize_text_field( $_POST['migrateFromWpUserAvatarNonce'] ), 'migrate_from_wp_user_avatar_nonce' ) ) {
- die();
- }
-
- // Run the migration script and store the number of avatars processed.
- $count = $this->migrate_from_wp_user_avatar();
-
- // Create the array we send back to javascript here.
- $array_we_send_back = array( 'count' => $count );
-
- // Make sure to json encode the output because that's what it is expecting.
- echo wp_json_encode( $array_we_send_back );
-
- // Make sure you die when finished doing ajax output.
- wp_die();
-
- }
-
- /**
- * Migrate the user's avatar data from WP User Avatar/ProfilePress via the command line.
- *
- * ## OPTIONS
- *
- * [--yes]
- * : Skips the confirmations (for automated systems).
- *
- * ## EXAMPLES
- *
- * $ wp simple-local-avatars migrate wp-user-avatar
- * Success: Number of avatars successfully migrated from WP User Avatar: 5
- *
- * @param array $args The arguments.
- * @param array $assoc_args The associative arguments.
- *
- * @return void
- */
- public function wp_cli_migrate_from_wp_user_avatar( $args, $assoc_args ) {
-
- // Argument --yes to prevent confirmation (for automated systems).
- if ( ! isset( $assoc_args['yes'] ) ) {
- WP_CLI::confirm( esc_html__( 'Do you want to migrate avatars from WP User Avatar?', 'simple-local-avatars' ) );
- }
-
- // Run the migration script and store the number of avatars processed.
- $count = $this->migrate_from_wp_user_avatar();
-
- // Error out if we don't process any avatars.
- if ( 0 === absint( $count ) ) {
- WP_CLI::error( esc_html__( 'No avatars were migrated from WP User Avatar.', 'simple-local-avatars' ) );
- }
-
- WP_CLI::success(
- sprintf(
- '%s: %s',
- esc_html__( 'Number of avatars successfully migrated from WP User Avatar', 'simple-local-avatars' ),
- esc_html( $count )
- )
- );
- }
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/readme.txt b/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/readme.txt
deleted file mode 100644
index f051650f..00000000
--- a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/readme.txt
+++ /dev/null
@@ -1,227 +0,0 @@
-=== Simple Local Avatars ===
-Contributors: jakemgold, 10up, thinkoomph, jeffpaul, faisal03
-Donate link: https://10up.com/plugins/simple-local-avatars-wordpress/
-Tags: avatar, gravatar, user photos, users, profile
-Requires at least: 5.7
-Tested up to: 6.2
-Requires PHP: 7.4
-Stable tag: 2.7.5
-License: GPLv2 or later
-License URI: http://www.gnu.org/licenses/gpl-2.0.html
-
-Adds an avatar upload field to user profiles. Generates requested sizes on demand just like Gravatar!
-
-== Description ==
-
-Adds an avatar upload field to user profiles if the current user has media permissions. Generates requested sizes on demand just like Gravatar! Simple and lightweight.
-
-Just edit a user profile, and scroll down to the new "Avatar" field. The plug-in will take care of cropping and sizing!
-
-1. Stores avatars in the "uploads" folder where all of your other media is kept.
-2. Has a simple, native interface.
-3. Fully supports Gravatar and default avatars if no local avatar is set for the user - but also allows you turn off Gravatar.
-4. Generates the requested avatar size on demand (and stores the new size for efficiency), so it looks great, just like Gravatar!
-5. Lets you decide whether lower privilege users (subscribers, contributors) can upload their own avatar.
-6. Enables rating of local avatars, just like Gravatar.
-
-== Installation ==
-
-1. Install easily with the WordPress plugin control panel or manually download the plugin and upload the extracted folder to the `/wp-content/plugins/` directory
-1. Activate the plugin through the 'Plugins' menu in WordPress
-1. If you only want users with file upload capabilities to upload avatars, check the applicable option under Settings > Discussion
-1. Start uploading avatars by editing user profiles!
-
-Use avatars in your theme using WordPress' built in `get_avatar()` function: [http://codex.wordpress.org/Function_Reference/get_avatar](http://codex.wordpress.org/Function_Reference/get_avatar "get_avatar function")
-
-You can also use `get_simple_local_avatar()` (with the same arguments) to retreive local avatars a bit faster, but this will make your theme dependent on this plug-in.
-
-== Screenshots ==
-
-1. Avatar upload field on a user profile page
-
-== Changelog ==
-
-## [2.7.5] - 2023-05-12 =
-* **Added:** Ajax loading animation during process of uploading and deleting local avatars (props [@lllopo](https://github.com/lllopo), [@BhargavBhandari90](https://github.com/BhargavBhandari90), [@faisal-alvi](https://github.com/faisal-alvi) via [#204](https://github.com/10up/simple-local-avatars/pull/204)).
-* **Changed:** Avatar removal button text (props [@jayedul](https://github.com/jayedul), [@jeffpaul](https://github.com/jeffpaul), [@dkotter](https://github.com/dkotter), [@faisal-alvi](https://github.com/faisal-alvi) via [#208](https://github.com/10up/simple-local-avatars/pull/208)).
-* **Changed:** WordPress "tested up to" version 6.2 (props [@jayedul](https://github.com/jayedul), [@faisal-alvi](https://github.com/faisal-alvi) via [#210](https://github.com/10up/simple-local-avatars/pull/210)).
-* **Changed:** Run E2E tests on the zip generated by "Build release zip" action (props [@jayedul](https://github.com/jayedul), [@iamdharmesh](https://github.com/iamdharmesh), [@faisal-alvi](https://github.com/faisal-alvi) via [#205](https://github.com/10up/simple-local-avatars/pull/205)).
-* **Security:** Bump `webpack` from 5.75.0 to 5.76.1 (props [@dependabot](https://github.com/dependabot), [@faisal-alvi](https://github.com/faisal-alvi) via [#207](https://github.com/10up/simple-local-avatars/pull/207)).
-
-= 2.7.4 - 2023-02-23 =
-* **Fixed:** Support passing `WP_User` to `get_avatar()` (props [@mattheu](https://github.com/mattheu), [@faisal-alvi](https://github.com/faisal-alvi) via [#193](https://github.com/10up/simple-local-avatars/pull/193)).
-* **Fixed:** Remove trailing commas in function calls (props [@patrixer](https://github.com/patrixer), [@dkotter](https://github.com/dkotter), [@sekra24](https://github.com/sekra24), [@faisal-alvi](https://github.com/faisal-alvi) via [#196](https://github.com/10up/simple-local-avatars/pull/196)).
-* **Security:** Bump `simple-git` from 3.15.1 to 3.16.0 (props [@dependabot](https://github.com/dependabot), [@faisal-alvi](https://github.com/faisal-alvi) via [#191](https://github.com/10up/simple-local-avatars/pull/191)).
-* **Security:** Bump `http-cache-semantics` from 4.1.0 to 4.1.1 (props [@dependabot](https://github.com/dependabot), [@faisal-alvi](https://github.com/faisal-alvi) via [#197](https://github.com/10up/simple-local-avatars/pull/197)).
-
-= 2.7.3 - 2023-01-16 =
-* **Fixed:** Issue causing fatal errors when avatars used on front end of site (props [@Rottinator](https://github.com/Rottinator), [@peterwilsoncc](https://github.com/peterwilsoncc), [@ravinderk](https://github.com/ravinderk), [@faisal-alvi](https://github.com/faisal-alvi) via [#187](https://github.com/10up/simple-local-avatars/pull/187)).
-* **Fixed:** Deprecation error in admin on PHP 8.0 and later (props [@Rottinator](https://github.com/Rottinator), [@peterwilsoncc](https://github.com/peterwilsoncc), [@ravinderk](https://github.com/ravinderk), [@faisal-alvi](https://github.com/faisal-alvi) via [#187](https://github.com/10up/simple-local-avatars/pull/187)).
-
-= 2.7.2 - 2023-01-13 =
-* **Added:** Filter hook `simple_local_avatars_upload_limit` to restrict image upload size & image file checking enhanced (props [@Shirkit](https://github.com/Shirkit), [@jayedul](https://github.com/jayedul), [@faisal-alvi](https://github.com/faisal-alvi), [@jeffpaul](https://github.com/jeffpaul) via [#171](https://github.com/10up/simple-local-avatars/pull/171)).
-* **Added:** GitHub Actions summary on Cypress e2e test runs (props [@faisal-alvi](https://github.com/faisal-alvi), [@jeffpaul](https://github.com/jeffpaul), [@iamdharmesh](https://github.com/iamdharmesh) via [#174](https://github.com/10up/simple-local-avatars/pull/174)).
-* **Changed:** Cypress integration migrated from 9.5.4 to 11.2.0 (props [@iamdharmesh](https://github.com/iamdharmesh), [@jayedul](https://github.com/jayedul), [@faisal-alvi](https://github.com/faisal-alvi) via [#172](https://github.com/10up/simple-local-avatars/pull/172)).
-* **Fixed:** PHP8 support for `assign_new_user_avatar` (props [@lllopo](https://github.com/lllopo), [@mattwatsoncodes](https://github.com/mattwatsoncodes), [@faisal-alvi](https://github.com/faisal-alvi) via [#183](https://github.com/10up/simple-local-avatars/pull/183)).
-* **Fixed:** Fixed the user profile language not respected issue (props [@dkotter](https://github.com/dkotter), [@lllopo](https://github.com/lllopo), [@faisal-alvi](https://github.com/faisal-alvi), [@jeffpaul](https://github.com/jeffpaul) via [#175](https://github.com/10up/simple-local-avatars/pull/175)).
-* **Removed:** textdomain from the core strings and the function `update_avatar_ratings` as it's not required anymore (props [@dkotter](https://github.com/dkotter), [@lllopo](https://github.com/lllopo), [@faisal-alvi](https://github.com/faisal-alvi), [@jeffpaul](https://github.com/jeffpaul) via [#175](https://github.com/10up/simple-local-avatars/pull/175)).
-* **Security:** Bump `json5` from 1.0.1 to 1.0.2 (props [@dependabot](https://github.com/dependabot), [@faisal-alvi](https://github.com/faisal-alvi) via [#182](https://github.com/10up/simple-local-avatars/pull/182)).
-
-= 2.7.1 - 2022-12-08 =
-* **Added:** Added missing files from the last release and changed the readme file to fix the bullet points and added fullstops.
-
-= 2.7.0 - 2022-12-08 =
-* **Added:** Added `Build release zip` GitHub Action (props [@peterwilsoncc](https://github.com/peterwilsoncc), [@faisal-alvi](https://github.com/faisal-alvi) via [#168](https://github.com/10up/simple-local-avatars/pull/168)).
-* **Changed:** Set plugin defaults on `wp_initialize_site` instead of deprecated action `wpmu_new_blog` (props [@kadamwhite](https://github.com/kadamwhite), [@faisal-alvi](https://github.com/faisal-alvi) via [#156](https://github.com/10up/simple-local-avatars/pull/156)).
-* **Changed:** Support Level from Active to Stable (props [@jeffpaul](https://github.com/jeffpaul), [@dkotter](https://github.com/dkotter) via [#159](https://github.com/10up/simple-local-avatars/pull/159)).
-* **Changed:** Build tools: Allow PHPCS installer plugin to run without prompting user (props [@peterwilsoncc](https://github.com/peterwilsoncc), [@jeffpaul](https://github.com/jeffpaul) via [#164](https://github.com/10up/simple-local-avatars/pull/164)).
-* **Changed:** WP tested up to version bump to 6.1 (props [@peterwilsoncc](https://github.com/peterwilsoncc), [@faisal-alvi](https://github.com/faisal-alvi) via [#165](https://github.com/10up/simple-local-avatars/pull/165)).
-* **Fixed:** Non admin users can not crop avatar (props [@jayedul](https://github.com/jayedul), [@faisal-alvi](https://github.com/faisal-alvi), [@zamanq](https://github.com/zamanq), [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul) via [#155](https://github.com/10up/simple-local-avatars/pull/155)).
-* **Security:** Bump `@wordpress/env` from 4.9.0 to 5.2.0 and `got` from 10.7.0 to 11.8.5 (props [@dependabot](https://github.com/dependabot), [@faisal-alvi](https://github.com/faisal-alvi) via [#153](https://github.com/10up/simple-local-avatars/pull/153)).
-* **Security:** Bump `loader-utils` from 2.0.2 to 2.0.3 (props [@dependabot](https://github.com/dependabot), [@faisal-alvi](https://github.com/faisal-alvi) via [#160](https://github.com/10up/simple-local-avatars/pull/160)).
-* **Security:** Bump `loader-utils` from 2.0.3 to 2.0.4 (props [@dependabot](https://github.com/dependabot), [@peterwilsoncc](https://github.com/peterwilsoncc) via [#162](https://github.com/10up/simple-local-avatars/pull/162)).
-* **Security:** Bump `simple-git` from 3.9.0 to 3.15.1 (props [@dependabot](https://github.com/dependabot) via [#176](https://github.com/10up/simple-local-avatars/pull/176)).
-
-= 2.6.0 - 2022-09-13 =
-**Note that this release bumps the minimum required version of WordPress from 4.6 to 5.7 and PHP from 5.6 to 7.4.**
-
-* **Added:** If a default avatar image is used, ensure that outputs alt text. This will either be default text (Avatar photo) or the alt text from the uploaded default image (props [@dkotter](https://github.com/dkotter), [@faisal-alvi](https://github.com/faisal-alvi) via [#147](https://github.com/10up/simple-local-avatars/pull/147))
-* **Added:** Two hooks, `simple_local_avatar_updated` and `simple_local_avatar_deleted`, (props [@t-lock](https://github.com/t-lock), [@faisal-alvi](https://github.com/faisal-alvi), [@dkotter](https://github.com/dkotter) via [#149](https://github.com/10up/simple-local-avatars/pull/149))
-* **Changed:** Bump minimum required version of WordPress from 4.6 to 5.7 (props [@vikrampm1](https://github.com/vikrampm1), [@faisal-alvi](https://github.com/faisal-alvi), [@cadic](https://github.com/cadic) via [#143](https://github.com/10up/simple-local-avatars/pull/143)).
-* **Changed:** Bump minimum required version of PHP from 5.6 to 7.4 (props [@vikrampm1](https://github.com/vikrampm1), [@faisal-alvi](https://github.com/faisal-alvi), [@cadic](https://github.com/cadic) via [#143](https://github.com/10up/simple-local-avatars/pull/143)).
-* **Changed:**The plugin is now available via Composer without any additional steps required (props [@faisal-alvi](https://github.com/faisal-alvi), [@kovshenin](https://github.com/kovshenin), [@jeffpaul](https://github.com/jeffpaul) via [#145](https://github.com/10up/simple-local-avatars/pull/145))
-* **Security:** Bump `terser` from 5.14.1 to 5.14.2 (props [@dependabot](https://github.com/dependabot), [@faisal-alvi](https://github.com/faisal-alvi) via [#142](https://github.com/10up/simple-local-avatars/pull/142))
-
-= 2.5.0 - 2022-06-24 =
-* **Added:** Skip cropping button (props [@dkotter](https://github.com/dkotter), [@faisal-alvi](https://github.com/faisal-alvi), [@cadic](https://github.com/cadic), [@jeffpaul](https://github.com/jeffpaul), [@dinhtungdu](https://github.com/dinhtungdu) via [#130](https://github.com/10up/simple-local-avatars/pull/130))!
-* **Added:** Updated the button name from "Skip Crop" to "Default Crop" only on the edit profile page (props [@faisal-alvi](https://github.com/faisal-alvi), [@peterwilsoncc](https://github.com/peterwilsoncc) via [#136](https://github.com/10up/simple-local-avatars/pull/136)).
-* **Added:** If an image used for a local avatar has alt text assigned, ensure that alt text is used when rendering the image (props [@dkotter](https://github.com/dkotter), [@pixelloop](https://github.com/pixelloop), [@faisal-alvi](https://github.com/faisal-alvi) via [#127](https://github.com/10up/simple-local-avatars/pull/127)).
-* **Added:** Support for bbPress by loading the JS at FE on the profile edit page (props [@foliovision](https://github.com/foliovision), [@faisal-alvi](https://github.com/faisal-alvi), [@iamdharmesh](https://github.com/iamdharmesh) via [#134](https://github.com/10up/simple-local-avatars/pull/134)).
-* **Added:** Cypress E2E tests (props [@faisal-alvi](https://github.com/faisal-alvi), [@vikrampm1](https://github.com/vikrampm1), [@Sidsector9](https://github.com/Sidsector9) via [#115](https://github.com/10up/simple-local-avatars/pull/115)).
-* **Fixed:** Broken avatar URLs for network-configured shared avatars with non-standard thumbnail sizes (props [@vladolaru](https://github.com/vladolaru), [@faisal-alvi](https://github.com/faisal-alvi) via [#125](https://github.com/10up/simple-local-avatars/pull/125)).
-* **Fixed:** `HTTP_REFERER` is null and causing PHP warning (props [@alireza-salehi](https://github.com/alireza-salehi), [@faisal-alvi](https://github.com/faisal-alvi), [@peterwilsoncc](https://github.com/peterwilsoncc) via [#129](https://github.com/10up/simple-local-avatars/pull/129)).
-
-= 2.4.0 - 2022-05-10 =
-* **Added:** Ability to set a default avatar. (props [@mehulkaklotar](https://github.com/mehulkaklotar), [@jeffpaul](https://github.com/jeffpaul), [@dinhtungdu](https://github.com/dinhtungdu), [@faisal-alvi](https://github.com/faisal-alvi) via [#96](https://github.com/10up/simple-local-avatars/pull/96)).
-* **Fixed:** Correct plugin name in changelog. (props [@grappler](https://github.com/grappler), [@jeffpaul](https://github.com/jeffpaul) via [#117](https://github.com/10up/simple-local-avatars/pull/117)).
-* **Fixed:** Avatar cache not being cleared. (props [@thefrosty](https://github.com/thefrosty), [@jeffpaul](https://github.com/jeffpaul), [@faisal-alvi](https://github.com/faisal-alvi), [@peterwilsoncc](https://github.com/peterwilsoncc) via [#118](https://github.com/10up/simple-local-avatars/pull/118) & [#120](https://github.com/10up/simple-local-avatars/pull/120)).
-* **Security:** Dev dependency `@wordpress/scripts` upgraded to resolve deeper level dependency security issues. (props [@jeffpaul](https://github.com/jeffpaul), [@faisal-alvi](https://github.com/faisal-alvi), [@cadic](https://github.com/cadic) via [#119](https://github.com/10up/simple-local-avatars/pull/119)).
-
-= 2.3.0 - 2022-04-25 =
-* **Added:** Crop screen (props [@jeffpaul](https://github.com/jeffpaul), [@helen](https://github.com/helen), [@ajmaurya99](https://github.com/ajmaurya99), [@Antonio-Laguna](https://github.com/Antonio-Laguna), [@faisal-alvi](https://github.com/faisal-alvi)).
-* **Added:** Avatar preview for Subscribers (props [@ankitguptaindia](https://github.com/ankitguptaindia), [@dinhtungdu](https://github.com/dinhtungdu), [@dkotter](https://github.com/dkotter)).
-* **Added:** More robust multisite support and shared avatar setting (props [@adamsilverstein](https://github.com/adamsilverstein), [@helen](https://github.com/helen), [@jeffpaul](https://github.com/jeffpaul), [@dkotter](https://github.com/dkotter), [@faisal-alvi](https://github.com/faisal-alvi), [@holle75](https://github.com/holle75)).
-* **Added:** Settings link to plugin action links (props [@rahulsprajapati](https://github.com/rahulsprajapati), [@jeffpaul](https://github.com/jeffpaul), [@iamdharmesh](https://github.com/iamdharmesh)).
-* **Added:** Dashboard setting and WP-CLI command to migrate avatars from [WP User Avatar](https://wordpress.org/plugins/wp-user-avatar/) (props [@jeffpaul](https://github.com/jeffpaul), [@claytoncollie](https://github.com/claytoncollie), [@helen](https://github.com/helen), [@faisal-alvi](https://github.com/faisal-alvi)).
-* **Added:** Option to clear cache of user meta to remove image sizes that do not exist (props [@jeffpaul](https://github.com/jeffpaul), [@ituk](https://github.com/ituk), [@dinhtungdu](https://github.com/dinhtungdu), [@sparkbold](https://github.com/sparkbold), [@thrijith](https://github.com/thrijith)).
-* **Added:** Package file (props [@faisal-alvi](https://github.com/faisal-alvi), [@jeffpaul](https://github.com/jeffpaul), [@claytoncollie](https://github.com/claytoncollie), [@cadic](https://github.com/cadic)).
-* **Added:** PHP Unit Tests (props [@faisal-alvi](https://github.com/faisal-alvi), [@iamdharmesh](https://github.com/iamdharmesh)).
-* **Added:** "No Response" GitHub Action (props [@jeffpaul](https://github.com/jeffpaul)).
-* **Changed:** Bump WordPress "tested up to" version to 5.9 (props [@jeffpaul](https://github.com/jeffpaul), [@ankitguptaindia](https://github.com/ankitguptaindia), [@dinhtungdu](https://github.com/dinhtungdu), [@phpbits](https://github.com/phpbits)).
-* **Changed:** Bump WordPress "tested up to" version to 6.0 (props [@ajmaurya99](https://github.com/ajmaurya99) via [#110](https://github.com/10up/simple-local-avatars/pull/110)).
-* **Changed:** Format admin script (props [@thrijith](https://github.com/thrijith), [@dinhtungdu](https://github.com/dinhtungdu)).
-* **Fixed:** Media ID as string in REST API (props [@diodoe](https://github.com/diodoe), [@dinhtungdu](https://github.com/dinhtungdu), [@dkotter](https://github.com/dkotter)).
-* **Fixed:** Avatar rating text is not translated properly if a user has a custom language Set (props [@ActuallyConnor](https://github.com/ActuallyConnor), [@faisal-alvi](https://github.com/faisal-alvi)).
-* **Security:** PHP 8 compatibility (props [@faisal-alvi](https://github.com/faisal-alvi), [@dkotter](https://github.com/dkotter), [@Sidsector9](https://github.com/Sidsector9)).
-* **Security:** Bump `rmccue/requests` from 1.7.0 to 1.8.0 (props [dependabot@](https://github.com/dependabot)).
-* **Security:** Bump `nanoid` from 3.1.28 to 3.2.0 (props [dependabot@](https://github.com/dependabot)).
-* **Security:** Bump `minimist` from 1.2.5 to 1.2.6 (props [dependabot@](https://github.com/dependabot)).
-
-= 2.2.0 - 2020-10-27 =
-* **Added:** `$args` parameter to `get_simple_local_avatar` function (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@heyjones](https://github.com/heyjones), [@dkotter](https://profiles.wordpress.org/dkotter/), [@sumnercreations](https://github.com/sumnercreations), [@dshanske](https://profiles.wordpress.org/dshanske/)).
-* **Added:** `Simple_Local_Avatars::get_avatar_data()`, `Simple_Local_Avatars::get_simple_local_avatar_url()`, and `Simple_Local_Avatars::get_default_avatar_url()` methods (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@heyjones](https://github.com/heyjones), [@dkotter](https://profiles.wordpress.org/dkotter/), [@sumnercreations](https://github.com/sumnercreations), [@dshanske](https://profiles.wordpress.org/dshanske/)).
-* **Added:** Ability to retrieve avatar with `WP_Post` object (props [@oscarssanchez](https://profiles.wordpress.org/oscarssanchez), [@blobaugh](https://profiles.wordpress.org/blobaugh)).
-* **Added:** class and ID to Avatar section on Profile Page to allow easier styling (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
-* **Added:** [WP Acceptance](https://github.com/10up/wpacceptance/) test coverage (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
-* **Changed:** Switched to `pre_get_avatar_data` filter (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@heyjones](https://github.com/heyjones), [@dkotter](https://profiles.wordpress.org/dkotter/), [@sumnercreations](https://github.com/sumnercreations), [@dshanske](https://profiles.wordpress.org/dshanske/)).
-* **Changed:** `assign_new_user_avatar` function to public (props [@tripflex](https://profiles.wordpress.org/tripflex/)).
-* **Changed:** Split the main class into its own file, added unit tests, and set up testing GitHub action (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@helen](https://profiles.wordpress.org/helen/), [@stevegrunwell](https://profiles.wordpress.org/stevegrunwell/)).
-* **Changed:** New plugin banner and icon (props [@JackieKjome](https://profiles.wordpress.org/jackiekjome/)).
-* **Changed:** Bump WordPress version "tested up to" 5.5 (props [@Waka867](https://github.com/Waka867), [@tmoorewp](https://profiles.wordpress.org/tmoorewp), [@jeffpaul](https://profiles.wordpress.org/jeffpaul), [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
-* **Changed:** GitHub Actions from HCL to YAML workflow syntax (props [@jeffpaul](https://profiles.wordpress.org/jeffpaul)).
-* **Changed:** Documentation updates (props [@jeffpaul](https://profiles.wordpress.org/jeffpaul)).
-* **Fixed:** Initialize `Simple_Local_Avatars` on the `$simple_local_avatars` global, enabling bundling plugin with composer (props [@pauldewouters](https://profiles.wordpress.org/pauldewouters/), [@adamsilverstein](https://profiles.wordpress.org/adamsilverstein)).
-* **Removed:** `get_avatar` function that overrides the core function (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@heyjones](https://github.com/heyjones), [@dkotter](https://profiles.wordpress.org/dkotter/), [@sumnercreations](https://github.com/sumnercreations), [@dshanske](https://profiles.wordpress.org/dshanske/)).
-
-= 2.1.1 - 2019-05-07 =
-* Fixed: Do not delete avatars just because they don't exist on the local filesystem. This was occasionally dumping avatars when WordPress uploads were stored elsewhere, e.g. a cloud service.
-
-= 2.1 - 2018-10-24 =
-* *New:* All avatar uploads now go into the media library. Don't worry - users without the ability to upload files cannot otherwise see the contents of your media library. This allows local avatars to respect other functionality your site may have around uploaded images, such as external hosting.
-* *New:* REST API support for getting and updating.
-* *New:* Use .org language packs rather than bundling translations.
-* *Fixed:* Avoid an `ArgumentCountError`.
-* *Fixed:* A couple of internationalization issues.
-
-= 2.0 - 2013-06-02 =
-* Choose or upload an avatar from the media library (for users with appropriate capabilities)!
-* Local avatars are rated for appropriateness, just like Gravatar
-* A new setting under Discussion enables administrators to turn off Gravatar (only use local avatars)
-* Delete the local avatar with a single button click (like everywhere else in WordPress)
-* Uploaded avatar file names are appended with the timestamp, addressing browser image caching issues
-* New developer filter for preventing automatic rescaling: simple_local_avatars_dynamic_resize
-* New developer filter for limiting upload size: simple_local_avatars_upload_limit
-* Upgraded functions deprecated since WordPress 3.5
-* Fixed translations not working on front end (although translations are now a bit out of date...)
-* Hungarian translation added (needs further updating again with new version)
-* Assorted refactoring / improvements under the hood
-
-= 1.3.1 - 2011-12-29 =
-* Brazilian Portuguese and Belarusian translations
-* Bug fixes (most notably correct naming of image files based on user display name)
-* Optimization for WordPress 3.2 / 3.3 (substitutes deprecated function)
-
-= 1.3 - 2011-09-22 =
-* Avatar file name saved as "user-display-name_avatar" (or other image extension)
-* Russian localization added
-* Assorted minor code optimizations
-
-= 1.2.4 - 2011-07-02 =
-* Support for front end avatar uploads (e.g. Theme My Profile)
-
-= 1.2.3 - 2011-04-04 =
-* Russian localization
-
-= 1.2.2 - 2011-03-25 =
-* Fix for avatars uploaded pre-1.2.1 having a broken path after upgrade
-
-= 1.2.1 - 2011-01-26 =
-* French localization
-* Simplify uninstall code
-
-= 1.2 - 2011-01-26 =
-* Fix path issues on some IIS servers (resulting in missing avatar images)
-* Fix rare uninstall issues related to deleted avatars
-* Spanish localization
-* Other minor under the hood optimizations
-
-= 1.1.3 - 2011-01-20 =
-* Properly deletes old avatars upon changing avatar
-* Fixes "foreach" warning in debug mode when updating avatar image
-
-= 1.1.2 - 2011-01-18 =
-* Norwegian localization
-
-= 1.1.1 - 2011-01-18 =
-* Italian localization
-
-= 1.1 - 2011-01-18 =
-* All users (regardless of capabilities) can upload avatars by default. To limit avatar uploading to users with upload files capabilities (Authors and above), check the applicable option under Settings > Discussion. This was the default behavior in 1.0.
-* Localization support; German included
-
-= 1.0 - 2011-01-18 =
-* Initial release.
-
-== Upgrade Notice ==
-
-= 2.6.0 =
-**Note that this release bumps the minimum required version of WordPress from 4.6 to 5.7 and PHP from 5.6 to 7.4.**
-
-= 2.1 =
-*Important note:* All avatar uploads now go into the media library. Don't worry - users without the ability to upload files cannot otherwise see the contents of your media library. This allows local avatars to respect other functionality your site may have around uploaded images, such as external hosting.
-
-= 2.0 =
-Upgraded to take advantage of *WordPress 3.5 and newer*. Does not support older versions! This has also *not* been tested with front end profile plug-ins - feedback welcome. Note that several language strings have been added or modified - revised translations would be welcome!
-
-= 1.3.1 =
-Like WordPress 3.2, now *REQUIRES* PHP 5.2 or newer.
diff --git a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/simple-local-avatars.php b/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/simple-local-avatars.php
deleted file mode 100644
index 15021494..00000000
--- a/wp-content/upgrade-temp-backup/plugins/simple-local-avatars/simple-local-avatars.php
+++ /dev/null
@@ -1,73 +0,0 @@
- tag for the user's avatar
- */
-function get_simple_local_avatar( $id_or_email, $size = 96, $default = '', $alt = '', $args = array() ) {
- return apply_filters( 'simple_local_avatar', get_avatar( $id_or_email, $size, $default, $alt, $args ) );
-}
-
-register_uninstall_hook( __FILE__, 'simple_local_avatars_uninstall' );
-/**
- * On uninstallation, remove the custom field from the users and delete the local avatars
- */
-function simple_local_avatars_uninstall() {
- $simple_local_avatars = new Simple_Local_Avatars();
- $users = get_users(
- array(
- 'meta_key' => 'simple_local_avatar',
- 'fields' => 'ids',
- )
- );
-
- foreach ( $users as $user_id ) :
- $simple_local_avatars->avatar_delete( $user_id );
- endforeach;
-
- delete_option( 'simple_local_avatars' );
- delete_option( 'simple_local_avatars_migrations' );
-}
diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.mo b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.mo
deleted file mode 100644
index 8d576526..00000000
Binary files a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.mo and /dev/null differ
diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.pot b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.pot
deleted file mode 100644
index a67a4fd9..00000000
--- a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.pot
+++ /dev/null
@@ -1,176 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: SMTP Mailer\n"
-"POT-Creation-Date: 2015-12-20 14:09+1000\n"
-"PO-Revision-Date: 2015-12-20 14:09+1000\n"
-"Last-Translator: \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.5\n"
-"X-Poedit-KeywordsList: _e;__\n"
-"X-Poedit-Basepath: .\n"
-"X-Poedit-SearchPath-0: .\n"
-
-#: main.php:66
-msgid "Settings"
-msgstr ""
-
-#: main.php:72
-msgid "SMTP Mailer"
-msgstr ""
-
-#: main.php:77
-msgid "General"
-msgstr ""
-
-#: main.php:78
-msgid "Test Email"
-msgstr ""
-
-#: main.php:79
-msgid "Server Info"
-msgstr ""
-
-#: main.php:82
-#, php-format
-msgid ""
-"Please visit the SMTP Mailer "
-"documentation page for usage instructions."
-msgstr ""
-
-#: main.php:141
-msgid "To"
-msgstr ""
-
-#: main.php:143
-msgid "Email address of the recipient"
-msgstr ""
-
-#: main.php:147
-msgid "Subject"
-msgstr ""
-
-#: main.php:149
-msgid "Subject of the email"
-msgstr ""
-
-#: main.php:153
-msgid "Message"
-msgstr ""
-
-#: main.php:155
-msgid "Email body"
-msgstr ""
-
-#: main.php:162
-msgid "Send Email"
-msgstr ""
-
-#: main.php:256
-msgid "Settings Saved!"
-msgstr ""
-
-#: main.php:286
-msgid "SMTP Host"
-msgstr ""
-
-#: main.php:288
-msgid ""
-"The SMTP server which will be used to send email. For example: smtp.gmail.com"
-msgstr ""
-
-#: main.php:292
-msgid "SMTP Authentication"
-msgstr ""
-
-#: main.php:295
-msgid "True"
-msgstr ""
-
-#: main.php:296
-msgid "False"
-msgstr ""
-
-#: main.php:298
-msgid ""
-"Whether to use SMTP Authentication when sending an email (recommended: True)."
-msgstr ""
-
-#: main.php:303
-msgid "SMTP Username"
-msgstr ""
-
-#: main.php:305
-msgid "Your SMTP Username."
-msgstr ""
-
-#: main.php:309
-msgid "SMTP Password"
-msgstr ""
-
-#: main.php:311
-msgid "Your SMTP Password."
-msgstr ""
-
-#: main.php:315
-msgid "Type of Encryption"
-msgstr ""
-
-#: main.php:318
-msgid "TLS"
-msgstr ""
-
-#: main.php:319
-msgid "SSL"
-msgstr ""
-
-#: main.php:320
-msgid "No Encryption"
-msgstr ""
-
-#: main.php:322
-msgid ""
-"The encryption which will be used when sending an email (recommended: TLS)."
-msgstr ""
-
-#: main.php:327
-msgid "SMTP Port"
-msgstr ""
-
-#: main.php:329
-msgid ""
-"The port which will be used when sending an email (587/465/25). If you "
-"choose TLS it should be set to 587. For SSL use port 465 instead."
-msgstr ""
-
-#: main.php:333
-msgid "From Email Address"
-msgstr ""
-
-#: main.php:335
-msgid ""
-"The email address which will be used as the From Address if it is not "
-"supplied to the mail function."
-msgstr ""
-
-#: main.php:339
-msgid "From Name"
-msgstr ""
-
-#: main.php:341
-msgid ""
-"The name which will be used as the From Name if it is not supplied to the "
-"mail function."
-msgstr ""
-
-#: main.php:348
-msgid "Save Changes"
-msgstr ""
-
-#: main.php:368
-msgid ""
-"SMTP Mailer plugin cannot send email until you enter your credentials in the "
-"settings."
-msgstr ""
diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/main.php b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/main.php
deleted file mode 100644
index e72827e7..00000000
--- a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/main.php
+++ /dev/null
@@ -1,878 +0,0 @@
-plugin_version);
- define('SMTP_MAILER_SITE_URL', site_url());
- define('SMTP_MAILER_HOME_URL', home_url());
- define('SMTP_MAILER_URL', $this->plugin_url());
- define('SMTP_MAILER_PATH', $this->plugin_path());
- $this->plugin_includes();
- $this->loader_operations();
- }
-
- function plugin_includes() {
-
- }
-
- function loader_operations() {
- add_action('plugins_loaded', array($this, 'plugins_loaded_handler'));
- add_action('admin_menu', array($this, 'options_menu'));
- //add_action('admin_notices', 'smtp_mailer_admin_notice');
- add_filter('pre_wp_mail', 'smtp_mailer_pre_wp_mail', 10, 2);
- }
-
- function plugins_loaded_handler()
- {
- if(is_admin() && current_user_can('manage_options')){
- add_filter('plugin_action_links', array($this, 'add_plugin_action_links'), 10, 2);
- }
- load_plugin_textdomain('smtp-mailer', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/');
- }
-
- function plugin_url() {
- if ($this->plugin_url)
- return $this->plugin_url;
- return $this->plugin_url = plugins_url(basename(plugin_dir_path(__FILE__)), basename(__FILE__));
- }
-
- function plugin_path() {
- if ($this->plugin_path)
- return $this->plugin_path;
- return $this->plugin_path = untrailingslashit(plugin_dir_path(__FILE__));
- }
-
- function add_plugin_action_links($links, $file) {
- if ($file == plugin_basename(dirname(__FILE__) . '/main.php')) {
- $links[] = ''.__('Settings', 'smtp-mailer').'';
- }
- return $links;
- }
-
- function options_menu() {
- add_options_page(__('SMTP Mailer', 'smtp-mailer'), __('SMTP Mailer', 'smtp-mailer'), 'manage_options', 'smtp-mailer-settings', array($this, 'options_page'));
- }
-
- function options_page() {
- $plugin_tabs = array(
- 'smtp-mailer-settings' => __('General', 'smtp-mailer'),
- 'smtp-mailer-settings&action=test-email' => __('Test Email', 'smtp-mailer'),
- 'smtp-mailer-settings&action=server-info' => __('Server Info', 'smtp-mailer'),
- );
- $url = "https://wphowto.net/smtp-mailer-plugin-for-wordpress-1482";
- $link_text = sprintf(__('Please visit the SMTP Mailer documentation page for usage instructions.', 'smtp-mailer'), esc_url($url));
- $allowed_html_tags = array(
- 'a' => array(
- 'href' => array(),
- 'target' => array()
- )
- );
- echo '
' . wp_kses(
- sprintf(
- // translators: 1 W3TC plugin name, 2 HTML a tag to W3TC Minify JS admin page
- // translators: 3 HTML a tag to W3TC general settings user experience section
- // translators: 4 HTML a tag to W3TC user expereince advanced settings page
- // translators: 5 HTML a tag to W3TC Minify CSS admin page, 6 HTML line break tag.
- esc_html__(
- '%1$s can eliminate render blocking resources.%6$sOnce Minified, you can defer JS in the
- %2$s.%6$sThe Defer Scripts (PRO FEATURE) can also be used with or without Minify to defer
- the loading of JS files containing the "src" attribute. Scripts matched using this
- feature will be excluded from the Minify process. To enable this feature navigate
- to %3$s and check the "Defer JavaScript" checkbox. Once enabled the settings can be found
- at %4$s.%6$sRender blocking CSS can be eliminated in %5$s using the "Eliminate Render
- blocking CSS by moving it to HTTP body" (PRO FEATURE).',
- 'w3-total-cache'
- ),
- 'W3 Total Cache',
- '' . esc_html__( 'Performance » Minify » JS', 'w3-total-cache' ) . ' ',
- '' . esc_html__( 'Performance » General Settings » User Experience', 'w3-total-cache' ) . '',
- '' . esc_html__( 'Performance » User Experience', 'w3-total-cache' ) . '',
- '' . esc_html__( 'Performance » Minify » CSS', 'w3-total-cache' ) . '',
- '
' . esc_html__( 'Some themes and plugins are loading CSS files or parts of the CSS files on all pages and not only on the pages that should be loading on. For eaxmple if you are using some contact form plugin, there is a chance that the CSS file of that plugin will load not only on the /contact/ page, but on all other pages as well and this is why the unused CSS should be removed.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Open your Chrome browser, go to “Developer Tools”, click on “More Tools” and then “Coverage”.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Coverage will open up. We will see buttons for start capturing coverage, to reload and start capturing coverage and to stop capturing coverage and show results.', 'w3-total-cache' ) . '
-
' . esc_html__( 'If you have a webpage you want to analyze its code coverage. Load the webpage and click on the o button in the Coverage tab.', 'w3-total-cache' ) . '
-
' . esc_html__( 'After sometime, a table will show up in the tab with the resources it analyzed, and how much code is used in the webpage. All the files linked in the webpage (css, js) will be listed in the Coverage tab. Clicking on any resource there will open that resource in the Sources panel with a breakdown of Total Bytes and Unused Bytes.', 'w3-total-cache' ) . '
-
' . esc_html__( 'With this breakdown, we can see how many unused bytes are in our CSS files, so we can manually remove them.', 'w3-total-cache' ) . '
' . wp_kses(
- sprintf(
- // translators: 1 HTML a tag to W3TC Minify CSS admin page, 2 HTML acronym for CSS, 3 HTML acronym for JS, 4 HTML a tag to W3 API FAQ page containing HTML acronym tag for FAQ.
- esc_html__(
- 'On the %1$s tab all of the recommended settings are preset. Use the help button to simplify discovery of your %2$s and %3$s files and groups. Pay close attention to the method and location of your %3$s group embeddings. See the plugin\'s %4$s for more information on usage.',
- 'w3-total-cache'
- ),
- '' . esc_html__( 'Minify', 'w3-total-cache' ) . '',
- '' . esc_html__( 'CSS', 'w3-total-cache' ) . '',
- '' . esc_html__( 'JS', 'w3-total-cache' ) . '',
- '' . esc_html__( 'FAQ', 'w3-total-cache' ) . ''
- ),
- $allowed_tags
- ) . '
' . wp_kses(
- sprintf(
- // translators: 1 HTML a tag to W3TC Minify CSS admin page, 2 HTML acronym for CSS, 3 HTML acronym for JS, 4 HTML a tag to W3 API FAQ page containing HTML acronym tag for FAQ.
- esc_html__(
- 'On the %1$s tab all of the recommended settings are preset. Use the help button to simplify discovery of your %2$s and %3$s files and groups. Pay close attention to the method and location of your %3$s group embeddings. See the plugin\'s %4$s for more information on usage.',
- 'w3-total-cache'
- ),
- '' . esc_html__( 'Minify', 'w3-total-cache' ) . '',
- '' . esc_html__( 'CSS', 'w3-total-cache' ) . '',
- '' . esc_html__( 'JS', 'w3-total-cache' ) . '',
- '' . esc_html__( 'FAQ', 'w3-total-cache' ) . ''
- ),
- $allowed_tags
- ) . '
' . esc_html__( 'Some themes and plugins are loading JS files or parts of the JS files on all pages and not only on the pages that should be loading on. For eaxmple if you are using some contact form plugin, there is a chance that the JS file of that plugin will load not only on the /contact/ page, but on all other pages as well and this is why the unused JS should be removed.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Open your Chrome browser, go to “Developer Tools”, click on “More Tools” and then “Coverage”.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Coverage will open up. We will see buttons for start capturing coverage, to reload and start capturing coverage and to stop capturing coverage and show results.', 'w3-total-cache' ) . '
-
' . esc_html__( 'If you have a webpage you want to analyze its code coverage. Load the webpage and click on the o button in the Coverage tab.', 'w3-total-cache' ) . '
-
' . esc_html__( 'After sometime, a table will show up in the tab with the resources it analyzed, and how much code is used in the webpage. All the files linked in the webpage (css, js) will be listed in the Coverage tab. Clicking on any resource there will open that resource in the Sources panel with a breakdown of Total Bytes and Unused Bytes.', 'w3-total-cache' ) . '
-
' . esc_html__( 'With this breakdown, we can see how many unused bytes are in our JS files, so we can manually remove them.', 'w3-total-cache' ) . '
' . wp_kses(
- sprintf(
- // translators: 1 HTML a tag to helpx.adobe.com for optimizing-image-jped-format.
- esc_html__(
- 'It\'s important to prepare images before uloading them to the website. This should be done before the Image is uploaded and can be done by using some image optimization tool like %1$s.',
- 'w3-total-cache'
- ),
- '' . esc_html__( 'photoshop', 'w3-total-cache' ) . ''
- ),
- $allowed_tags
- ) . '
' . esc_html__( 'The srcset HTML tag provides the browser with variations of an image (including a fallback image) and instructs the browser to use specific images depending on the situation.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Essentially, you create various sizes of your image, and then utilize the srcset tag to define when the images get served. This is useful for responsive design when you have multiple images to deliver across several devices and dimensions.', 'w3-total-cache' ) . '
-
' . esc_html__( 'For example, let\'s say you want to send a high-resolution image to only those users that have high-resolution screens, as determined by the Device pixel ratio (DPR). The code would look like this:', 'w3-total-cache' ) . '
' . sprintf(
- // translators: 1 W3TC plugin name, opening HTML a tag to Image Service extension, 3 closing HTML a tag.
- esc_html__(
- 'Use %1$s %2$sWebP Converter%3$s to convert media library images to WebP.',
- 'w3-total-cache'
- ),
- 'W3 Total Cache',
- '',
- ''
- ) . '
' . sprintf(
- // translators: 1 W3TC plugin name, opening HTML a tag to Image Service extension, 3 closing HTML a tag.
- esc_html__(
- 'Use %1$s %2$sWebP Converter%3$s to convert media library images to WebP.',
- 'w3-total-cache'
- ),
- 'W3 Total Cache',
- '',
- ''
- ) . '
' . wp_kses(
- sprintf(
- // translators: 1 W3TC plugin name, 2 HTML a tag to kjdev php-ext-brotli.
- esc_html__(
- 'Use %1$s Browser Caching - Peformance>Browser Cache - Enable Gzip compression or Brotli compression (Gzip compression is most common and for Brotli compression you need to install %2$s on your server.',
- 'w3-total-cache'
- ),
- 'W3 Total Cache',
- '' . esc_html__( 'Brotli extension', 'w3-total-cache' ) . ''
- ),
- $allowed_tags
- ) . '
' . esc_html__( 'Look at the list of third-party resources flagged by Google Page speed and add preconnect or dns-prefetch to their link tags depending on whether the resource is critical or not.', 'w3-total-cache' ) . '
-
-
- ' . esc_html__( 'Add preconnect for critical third-party domains. Out of the list of third-party resources flagged by Google Page speed, identify the critical third-party resources and add the following code to the link tag:', 'w3-total-cache' ) . '
- ' . esc_html( '' ) . '
- ' . esc_html__( 'Where "https://third-party-example.com" is the critical third-party domain your page intends to connect to.', 'w3-total-cache' ) . '
-
-
- ' . esc_html__( 'Add dns-prefetch for all other third-party domains. For all other third-party scripts, including non-critical ones, add the following code to the link tag:', 'w3-total-cache' ) . '
- ' . esc_html( '' ) . '
- ' . esc_html__( 'Where "https://third-party-example.com" is the domain of the respective third-party resource.', 'w3-total-cache' ) . '
-
' . esc_html__( 'When dealing with server-side redirects, we recommend that they be executed via web server configuration as they are often faster than application-level configuration.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Avoid client-side redirects, as much as possible, as they are slower, non-cacheable and may not be supported by browsers by default.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Wherever possible, avoid landing page redirects; especially, the practice of executing separate, individual redirects for reasons such as protocol change, adding www, mobile-specific page, geo-location, and subdomain.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Always redirect to the preferred version of the URL, especially, when redirects are dynamically generated. This helps eliminate unnecessary redirects.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Similarly, remove temporary redirects if not needed anymore.', 'w3-total-cache' ) . '
-
' . esc_html__( 'Remember that combining multiple redirects into a single redirect is the most effective way to improve web performance.', 'w3-total-cache' ) . '
' . sprintf(
- // translators: 1 W3TC plugin name, opening HTML a tag to Image Service extension, 3 closing HTML a tag.
- esc_html__(
- 'Use %1$s %2$sWebP Converter%3$s to convert media library images to WebP.',
- 'w3-total-cache'
- ),
- 'W3 Total Cache',
- '',
- ''
- ) . '
' . esc_html__( 'Incorporate good site building practices into your development workflow to ensure you avoid duplication of JavaScript modules in the first place.', 'w3-total-cache' ) . '
-
' .
- wp_kses(
- sprintf(
- // translators: 1 HTML a tag to Zillow Webpack-Stats-Duplicates.
- esc_html__(
- 'To fix this audit, use a tool like %1$s to identify duplicate modules',
- 'w3-total-cache'
- ),
- '' . esc_html__( 'webpack-stats-duplicates', 'w3-total-cache' ) . ''
- ),
- $allowed_tags
- ) . '
' . esc_html__( 'One way to deal with this issue is to load polyfills, only when needed, which can provide feature-detection support at JavaScript runtime. However, it is often very difficult to implement in practice.', 'w3-total-cache' ) . '
';
- if ( filter_var( $item['url'], FILTER_VALIDATE_URL ) !== false ) {
- // The value is confirmed as a valid URL. We create a HTML link with the full URL value but display it with a trucated value.
- $items .= '
';
- } else {
- // For certain metrics Google uses the 'url' field for non-URL values. These are often HTML/CSS that shouldn't be escaped and will be displayed as plain text.
- $items .= '
';
- if ( filter_var( $item['source']['url'], FILTER_VALIDATE_URL ) !== false ) {
- // The value is confirmed as a valid URL. We create a HTML link with the full URL value but display it with a trucated value.
- $items .= '
';
- } else {
- // For certain metrics Google uses the 'url' field for non-URL values. These are often HTML/CSS that shouldn't be escaped and will be displayed as plain text.
- $items .= '
';
- if ( filter_var( $item['url'], FILTER_VALIDATE_URL ) !== false ) {
- // The value is confirmed as a valid URL. We create a HTML link with the full URL value but display it with a trucated value.
- $items .= '
';
- } else {
- // For certain metrics Google uses the 'url' field for non-URL values. These are often HTML/CSS that shouldn't be escaped and will be displayed as plain text.
- $items .= '
';
- if ( filter_var( $item['source']['url'], FILTER_VALIDATE_URL ) !== false ) {
- // The value is confirmed as a valid URL. We create a HTML link with the full URL value but display it with a trucated value.
- $items .= '
';
- } else {
- // For certain metrics Google uses the 'url' field for non-URL values. These are often HTML/CSS that shouldn't be escaped and will be displayed as plain text.
- $items .= '
\n";
- }
-
- /**
- * Prints configuration item UI based on description
- * key => configuration key
- * label => configuration key's as its introduced to the user
- * value => it's value
- * disabled => if disabled
- *
- * control => checkbox | radiogroup | selectbox | textbox
- * checkbox_label => text shown after the textbox
- * radiogroup_values => array of possible values for radiogroup
- * selectbox_values => array of possible values for dropdown
- * selectbox_optgroups =>
- * textbox_size =>
- *
- * control_after => something after control to add
- * description => description shown to the user below
- */
- public static function config_item( $a ) {
- /*
- * Some items we do not want shown in the free edition.
- *
- * By default, they will show in free, unless 'show_in_free' is specifically passed in as false.
- */
- $is_w3tc_free = ! Util_Environment::is_w3tc_pro( Dispatcher::config() );
- $show_in_free = ! isset( $a['show_in_free'] ) || (bool) $a['show_in_free'];
- if ( ! $show_in_free && $is_w3tc_free ) {
- return;
- }
-
- $a = self::config_item_preprocess( $a );
-
- if ( 'w3tc_single_column' === $a['label_class'] ) {
- echo '
\n";
- }
-
- // If wrap_separate is not set we wrap everything.
- if ( ! isset( $a['wrap_separate'] ) ) {
- self::pro_wrap_maybe_start();
- }
-
- self::control2( $a );
-
- if ( isset( $a['control_after'] ) ) {
- echo wp_kses( $a['control_after'], self::get_allowed_html_for_wp_kses_from_content( $a['control_after'] ) );
- }
-
- // If wrap_separate is set we wrap only the description.
- if ( isset( $a['wrap_separate'] ) ) {
- // If not pro we add a spacer for better separation of control element and wrapper.
- if ( ! Util_Environment::is_w3tc_pro( Dispatcher::config() ) ) {
- echo '
- get_array( 'extensions.active' );
- if ( array_key_exists( 'user-experience-defer-scripts', $extensions_active ) ) {
- // If more items are added this will only encompase the Defer Scripts, but if only 1 item show no sub-nav.
- ?>
- |
-
-
-
- array( 'example', 'is_title_postfix' ),
- 'control' => 'checkbox',
- 'label' => __( 'Add postfix to page titles', 'w3-total-cache' ),
- 'checkbox_label' => __( 'Enable', 'w3-total-cache' ),
- 'description' => __( 'Check if you want to add postfix to each post title.', 'w3-total-cache' ),
- )
- );
- \W3TC\Util_Ui::config_item(
- array(
- 'key' => array( 'example', 'title_postfix' ),
- 'control' => 'textbox',
- 'label' => __( 'Postfix to page titles', 'w3-total-cache' ),
- )
- );
- ?>
-
-
-
diff --git a/wp-content/upgrade-temp-backup/plugins/w3-total-cache/extension-example/w3-total-cache-example.php b/wp-content/upgrade-temp-backup/plugins/w3-total-cache/extension-example/w3-total-cache-example.php
deleted file mode 100644
index 4fdc6600..00000000
--- a/wp-content/upgrade-temp-backup/plugins/w3-total-cache/extension-example/w3-total-cache-example.php
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
- W3 Total Cache is distributed under the GNU General Public License, Version 2,
- June 1991. Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin
- St, Fifth Floor, Boston, MA 02110, USA
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-if ( !defined( 'ABSPATH' ) ) {
- die();
-}
-
-/**
- * Class autoloader
- *
- * @param string $class Classname
- */
-function w3tc_example_class_autoload( $class ) {
- if ( substr( $class, 0, 12 ) == 'W3TCExample\\' ) {
- $filename = dirname( __FILE__ ) . DIRECTORY_SEPARATOR .
- substr( $class, 12 ) . '.php';
-
- if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
- if ( !file_exists( $filename ) ) {
- debug_print_backtrace();
- }
- }
-
- require $filename;
- }
-}
-
-spl_autoload_register( 'w3tc_example_class_autoload' );
-
-add_action( 'w3tc_extensions', array(
- '\W3TCExample\Extension_Example_Admin',
- 'w3tc_extensions'
- ), 10, 2 );
diff --git a/wp-content/upgrade-temp-backup/plugins/w3-total-cache/inc/define.php b/wp-content/upgrade-temp-backup/plugins/w3-total-cache/inc/define.php
deleted file mode 100644
index 24557bcc..00000000
--- a/wp-content/upgrade-temp-backup/plugins/w3-total-cache/inc/define.php
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
Unfortunately, an error occurred while creating the minify cache. Please check your settings to ensure your site is working as intended.