Changeset d69f8f0 in github for program/include/rcube_shared.inc


Ignore:
Timestamp:
Jan 5, 2012 5:28:24 AM (17 months ago)
Author:
alecpl <alec@…>
Branches:
release-0.7
Children:
fd65421
Parents:
a33118f
Message:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • program/include/rcube_shared.inc

    r9e54e6f rd69f8f0  
    162162 
    163163  return $str; 
    164 } 
    165  
    166 /** 
    167  * Convert paths like ../xxx to an absolute path using a base url 
    168  * 
    169  * @param string Relative path 
    170  * @param string Base URL 
    171  * @return string Absolute URL 
    172  */ 
    173 function make_absolute_url($path, $base_url) 
    174 { 
    175   $host_url = $base_url; 
    176   $abs_path = $path; 
    177  
    178   // check if path is an absolute URL 
    179   if (preg_match('/^[fhtps]+:\/\//', $path)) 
    180     return $path; 
    181  
    182   // cut base_url to the last directory 
    183   if (strrpos($base_url, '/')>7) 
    184   { 
    185     $host_url = substr($base_url, 0, strpos($base_url, '/', 7)); 
    186     $base_url = substr($base_url, 0, strrpos($base_url, '/')); 
    187   } 
    188  
    189   // $path is absolute 
    190   if ($path[0] == '/') 
    191     $abs_path = $host_url.$path; 
    192   else 
    193   { 
    194     // strip './' because its the same as '' 
    195     $path = preg_replace('/^\.\//', '', $path); 
    196  
    197     if (preg_match_all('/\.\.\//', $path, $matches, PREG_SET_ORDER)) 
    198       foreach ($matches as $a_match) 
    199       { 
    200         if (strrpos($base_url, '/')) 
    201           $base_url = substr($base_url, 0, strrpos($base_url, '/')); 
    202  
    203         $path = substr($path, 3); 
    204       } 
    205  
    206     $abs_path = $base_url.'/'.$path; 
    207   } 
    208  
    209   return $abs_path; 
    210164} 
    211165 
Note: See TracChangeset for help on using the changeset viewer.