PluginProbe ʕ •ᴥ•ʔ
Code Manager / 1.0.4
Code Manager v1.0.4
1.0.49 1.0.48 1.0.47 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.3 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.4 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9
code-manager / freemius / includes / supplements / fs-essential-functions-1.1.7.1.php
code-manager / freemius / includes / supplements Last commit date
fs-essential-functions-1.1.7.1.php 5 years ago fs-essential-functions-2.2.1.php 5 years ago index.php 5 years ago
fs-essential-functions-1.1.7.1.php
44 lines
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
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 given 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 $all_plugins = fs_get_plugins( true );
30
31 $file_real_path = fs_normalize_path( realpath( $file ) );
32
33 // Get active plugin's main files real full names (might be symlinks).
34 foreach ( $all_plugins as $relative_path => $data ) {
35 if ( 0 === strpos( $file_real_path, fs_normalize_path( dirname( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ) . '/' ) ) ) {
36 if ( '.' !== dirname( trailingslashit( $relative_path ) ) ) {
37 return $relative_path;
38 }
39 }
40 }
41
42 return null;
43 }
44