PluginProbe
Buttonizer – Floating Menus, Sticky Buttons, & Popup Builder / 1.1
Buttonizer – Floating Menus, Sticky Buttons, & Popup Builder v1.1
3.6.0 3.5.0 trunk 1.0.10 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.6.1 1.0.7 1.0.8 1.0.9 1.1 1.1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.5 1.5.1 All 110 releases
buttonizer-multifunctional-button / freemius / includes / supplements / fs-essential-functions-1.1.7.1.php

fs-essential-functions-1.1.7.1.php in Buttonizer – Floating Menus, Sticky Buttons, & Popup Builder 1.1, at freemius/includes/supplements/fs-essential-functions-1.1.7.1.php

48 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
6 * @since 1.1.7
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 /**
14 * Find the plugin main file path based on any give file inside the plugin's folder.
15 *
16 * @author Vova Feldman (@svovaf)
17 * @since 1.1.7.1
18 *
19 * @param string $file Absolute path to a file inside a plugin's folder.
20 *
21 * @return string
22 */
23 function fs_find_direct_caller_plugin_file( $file ) {
24 /**
25 * All the code below will be executed once on activation.
26 * If the user changes the main plugin's file name, the file_exists()
27 * will catch it.
28 */
29 if ( ! function_exists( 'get_plugins' ) ) {
30 require_once ABSPATH . 'wp-admin/includes/plugin.php';
31 }
32
33 $all_plugins = get_plugins();
34
35 $file_real_path = fs_normalize_path( realpath( $file ) );
36
37 // Get active plugin's main files real full names (might be symlinks).
38 foreach ( $all_plugins as $relative_path => &$data ) {
39 if ( 0 === strpos( $file_real_path, fs_normalize_path( dirname( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ) ) ) ) {
40 if ( '.' !== dirname( trailingslashit( $relative_path ) ) ) {
41 return $relative_path;
42 }
43 }
44 }
45
46 return null;
47 }
48