mirror of
https://github.com/e107inc/e107.git
synced 2025-08-18 04:12:00 +02:00
IN PROGRESS - Tasks EONE-10, EONE-11: more paths added, 'nice' urls are supported now (see thumb.php)
This commit is contained in:
@@ -1635,6 +1635,57 @@ class e_parse
|
||||
return $thurl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Help for converting to more safe URLs
|
||||
* e.g. {e_MEDIA_FILE}path/to/video.flv => e_MEDIA_FILE/path/to/video.flv
|
||||
*
|
||||
* @todo support for ALL URL shortcodes (replacement methods)
|
||||
* @param string $type sc|raw|rev|all
|
||||
* @return array
|
||||
*/
|
||||
public function getUrlConstants($type = 'sc')
|
||||
{
|
||||
static $array = array(
|
||||
'e_BASE/' => '{e_BASE}',
|
||||
'e_ADMIN/' => '{e_ADMIN}',
|
||||
'e_IMAGE/' => '{e_IMAGE}',
|
||||
'e_THEME/' => '{e_THEME}',
|
||||
'e_PLUGIN/' => '{e_PLUGIN}',
|
||||
'e_HANDLER/' => '{e_WEB_PACK}', // BC
|
||||
'e_MEDIA/' => '{e_MEDIA}',
|
||||
'e_MEDIA_FILE/' => '{e_MEDIA_FILE}',
|
||||
'e_MEDIA_VIDEO/' => '{e_MEDIA_VIDEO}',
|
||||
'e_MEDIA_IMAGE/' => '{e_MEDIA_IMAGE}',
|
||||
'e_MEDIA_ICON/' => '{e_MEDIA_ICON}',
|
||||
'e_MEDIA_AVATAR/' => '{e_MEDIA_AVATAR}',
|
||||
'e_WEB/' => '{e_ADMIN}',
|
||||
'e_WEB_JS/' => '{e_WEB_JS}',
|
||||
'e_WEB_CSS/' => '{e_WEB_CSS}',
|
||||
'e_WEB_IMAGE/' => '{e_WEB_IMAGE}',
|
||||
'e_WEB_PACK/' => '{e_WEB_PACK}',
|
||||
);
|
||||
|
||||
switch ($type)
|
||||
{
|
||||
case 'sc':
|
||||
return array_values($array);
|
||||
break;
|
||||
|
||||
case 'raw':
|
||||
return array_keys($array);
|
||||
break;
|
||||
|
||||
case 'rev':
|
||||
return array_reverse($array, true);
|
||||
break;
|
||||
|
||||
case 'all':
|
||||
return $array;
|
||||
break;
|
||||
}
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace e107 path constants
|
||||
* Note: only an ADMIN user can convert {e_ADMIN}
|
||||
@@ -1785,6 +1836,7 @@ class e_parse
|
||||
case 'abs' : $mode = 2; break;
|
||||
case 'full' : $mode = 3; break;
|
||||
case 'mix' : $mode = 4; break;
|
||||
case 'nice': $mode = 5; break;
|
||||
}
|
||||
}
|
||||
$e107 = e107::getInstance();
|
||||
@@ -1853,6 +1905,11 @@ class e_parse
|
||||
return $url;
|
||||
break;
|
||||
|
||||
case 5: // nice urls - e.g. e_MEDIA_VIDEO/mystream.flv
|
||||
$url = $this->createConstants($url, 4);
|
||||
return str_replace($this->getUrlConstants('sc'), $this->getUrlConstants('raw'), $url);
|
||||
break;
|
||||
|
||||
default:
|
||||
$tmp = array();
|
||||
break;
|
||||
|
Reference in New Issue
Block a user