summaryrefslogtreecommitdiffstats
path: root/3dparty/Smarty/sysplugins/smarty_internal_get_include_path.php
blob: 86b904ce47988099d4dd9601ae35a5fde0e8d55d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php

/**
 * Smarty read include path plugin
 *
 * @package Smarty
 * @subpackage PluginsInternal
 * @author Monte Ohrt
 */

/**
 * Smarty Internal Read Include Path Class
 */
class Smarty_Internal_Get_Include_Path {
    /**
     * Return full file path from PHP include_path
     *
     * @param string $filepath filepath
     * @return mixed full filepath or false
     */
    public static function getIncludePath($filepath)
    {
    static $_path_array = null;

    if(!isset($_path_array)) {
        $_ini_include_path = ini_get('include_path');

        if(strstr($_ini_include_path,';')) {
            // windows pathnames
            $_path_array = explode(';',$_ini_include_path);
        } else {
            $_path_array = explode(':',$_ini_include_path);
        }
    }
    foreach ($_path_array as $_include_path) {
        if (file_exists($_include_path . DS . $filepath)) {
            return $_include_path . DS . $filepath;
        }
    }
    return false;
    }
}

?>