File "common.php"

Full Path: /home/warrior1/public_html/plugins/file-manager/backend/functions/common.php
File size: 1.79 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace BitApps\FM\Functions;

use BitApps\FM\Plugin;

function view($path)
{
    $pathString = BFM_VIEW_DIR;

    foreach (explode('.', $path) as $dir) {
        $pathString = $pathString . DIRECTORY_SEPARATOR . $dir;
    }

    $pathString = $pathString . '.php';

    if (file_exists($pathString) && is_file($pathString)) {
        include_once $pathString;
    }
}

function pr($obj)
{
    if (\defined('BITAPPS_DEV') && BITAPPS_DEV) {
        return;
    }

    echo '<pre>';
    print_r($obj);
    echo '</pre>';
}

function validatePath($path, $for = '')
{
    if (!class_exists('BitApps\FM\Plugin') || !\defined('ABSPATH')) {
        return;
    }

    if (current_user_can('install_plugins')) {
        return $path;
    }

    $realPath = trailingslashit(Plugin::instance()->preferences()->realPath($path));

    $error = null;

    if (strpos($realPath, ABSPATH) === false) {
        $error = 'Directory path must be within WordPress root directory. ' . $for . ' path: ' . $realPath;
    }

    if (!is_readable($realPath)) {
        $error = 'Directory is not readable or not exits. ' . $for . ' path: ' . $realPath;
    }

    if (!\is_null($error)) {
        view('admin.header'); ?>

        <div class='fm-container'>
            <div class='col-main col-main-permission-system'>
                <div class='gb-fm-row'>
                    <?php echo esc_html($error) ?>
                </div>
                <div class='gb-fm-row'>
                    <a style="background: #0073aa;padding: 12px;color: white;border-radius: 22px;text-decoration: none;" href="<?php echo esc_attr($_SERVER['REQUEST_URI']) ?>">Go Back</a>
                </div>
            </div><?php view('admin.sidebar'); ?>
        </div>
        <?php view('admin.footer'); ?>
<?php
        wp_die();
    }

    return $realPath;
}