1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-01 12:20:44 +02:00

e_parse: global removal (getFolder in action), e107 coding standards related changes, minor code improvements, some problems pointed (see FIXME, XXX comments)

This commit is contained in:
secretr
2009-08-20 12:27:26 +00:00
parent 3f58e82a3a
commit 7499bb001b

View File

@@ -9,8 +9,8 @@
* Text processing and parsing functions * Text processing and parsing functions
* *
* $Source: /cvs_backup/e107_0.8/e107_handlers/e_parse_class.php,v $ * $Source: /cvs_backup/e107_0.8/e107_handlers/e_parse_class.php,v $
* $Revision: 1.57 $ * $Revision: 1.58 $
* $Date: 2009-08-19 14:39:57 $ * $Date: 2009-08-20 12:27:26 $
* $Author: secretr $ * $Author: secretr $
* *
*/ */
@@ -1184,26 +1184,22 @@ class e_parse
// //
// only an ADMIN user can convert {e_ADMIN} // only an ADMIN user can convert {e_ADMIN}
// //
function replaceConstants($text, $mode = "", $all = false) function replaceConstants($text, $mode = '', $all = false)
{ {
if($mode != "") if($mode != "")
{ {
global $IMAGES_DIRECTORY, $PLUGINS_DIRECTORY, $FILES_DIRECTORY,
$THEMES_DIRECTORY, $DOWNLOADS_DIRECTORY, $ADMIN_DIRECTORY, $HANDLERS_DIRECTORY;
$e107 = e107::getInstance(); $e107 = e107::getInstance();
//FIXME - replace globals like this $e107->e107_dirs['IMAGES_DIRECTORY']
$replace_relative = array( $replace_relative = array(
"", '',
SITEURL.$IMAGES_DIRECTORY, SITEURL.$e107->getFolder('images'),
SITEURL.$THEMES_DIRECTORY, SITEURL.$e107->getFolder('themes'),
$IMAGES_DIRECTORY, $e107->getFolder('images'),
$PLUGINS_DIRECTORY, $e107->getFolder('plugins'),
$FILES_DIRECTORY, $e107->getFolder('files'),
$THEMES_DIRECTORY, $e107->getFolder('themes'),
$DOWNLOADS_DIRECTORY, $e107->getFolder('downloads'),
$HANDLERS_DIRECTORY $e107->getFolder('handlers')
); );
switch ($mode) switch ($mode)
@@ -1225,14 +1221,14 @@ class e_parse
case 'full': case 'full':
$replace_absolute = array( $replace_absolute = array(
SITEURL, SITEURL,
SITEURL.$IMAGES_DIRECTORY, SITEURL.$e107->getFolder('images'),
SITEURL.$THEMES_DIRECTORY, SITEURL.$e107->getFolder('themes'),
SITEURL.$IMAGES_DIRECTORY, SITEURL.$e107->getFolder('images'),
SITEURL.$PLUGINS_DIRECTORY, SITEURL.$e107->getFolder('plugins'),
SITEURL.$FILES_DIRECTORY, SITEURL.$e107->getFolder('files'),
SITEURL.$THEMES_DIRECTORY, SITEURL.$e107->getFolder('themes'),
SITEURL.$DOWNLOADS_DIRECTORY, SITEURL.$e107->getFolder('downloads'),
SITEURL.$HANDLERS_DIRECTORY SITEURL.$e107->getFolder('handlers')
); );
break; break;
} }
@@ -1241,8 +1237,8 @@ class e_parse
if (ADMIN) if (ADMIN)
{ {
$replace_relative[] = $ADMIN_DIRECTORY; $replace_relative[] = $e107->getFolder('admin');
$replace_absolute[] = SITEURL.$ADMIN_DIRECTORY; $replace_absolute[] = SITEURL.$e107->getFolder('admin');
$search[] = "{e_ADMIN}"; $search[] = "{e_ADMIN}";
} }
@@ -1266,10 +1262,14 @@ class e_parse
} }
// $pattern = ($all ? "#\{([A-Za-z_0-9]*)\}#s" : "#\{(e_[A-Z]*)\}#s"); // $pattern = ($all ? "#\{([A-Za-z_0-9]*)\}#s" : "#\{(e_[A-Z]*)\}#s");
$pattern = ($all ? "#\{([A-Za-z_0-9]*)\}#s" : "#\{(e_[A-Z]*(?:_ABS){0,1})\}#s"); $pattern = ($all ? '#\{([A-Za-z_0-9]*)\}#s' : '#\{(e_[A-Z]*(?:_ABS){0,1})\}#s');
$text = preg_replace_callback($pattern, array($this, 'doReplace'), $text); $text = preg_replace_callback($pattern, array($this, 'doReplace'), $text);
$theme_path = (defined("THEME")) ? constant("THEME") : "";
$text = str_replace("{THEME}",$theme_path,$text); if(!defined('THEME'))
{
//if not already parsed by doReplace
$text = str_replace(array('{THEME}', '{THEME_ABS}'), '', $text);
}
return $text; return $text;
} }
@@ -1284,32 +1284,32 @@ class e_parse
return $matches[1]; return $matches[1];
} }
function createConstants($url,$mode=0){ function createConstants($url, $mode=0)
global $IMAGES_DIRECTORY, $PLUGINS_DIRECTORY, $FILES_DIRECTORY, $THEMES_DIRECTORY, $DOWNLOADS_DIRECTORY, {
$ADMIN_DIRECTORY, $HANDLERS_DIRECTORY; //FIXME - create constants for absolute paths and site URL's
if($mode == 0) // folder name only. if($mode == 0) // folder name only.
{ {
$e107 = e107::getInstance();
$tmp = array( $tmp = array(
"{"."e_IMAGE"."}"=>$IMAGES_DIRECTORY, '{e_IMAGE}' => $e107->getFolder('images'),
"{"."e_PLUGIN"."}"=>$PLUGINS_DIRECTORY, '{e_PLUGIN}' => $e107->getFolder('plugins'),
"{"."e_FILE"."}"=>$FILES_DIRECTORY, '{e_FILE}' => $e107->getFolder('files'),
"{"."e_THEME"."}"=>$THEMES_DIRECTORY, '{e_THEME}' => $e107->getFolder('themes'),
"{"."e_DOWNLOAD"."}"=>$DOWNLOADS_DIRECTORY, '{e_DOWNLOAD}' => $e107->getFolder('downloads'),
"{"."e_ADMIN"."}"=>$ADMIN_DIRECTORY, '{e_ADMIN}' => $e107->getFolder('admin'),
"{"."e_HANDLER"."}"=>$HANDLERS_DIRECTORY '{e_HANDLER}' => $e107->getFolder('handlers')
); );
} }
elseif($mode == 1) // relative path elseif($mode == 1) // relative path
{ {
$tmp = array( $tmp = array(
"{"."e_IMAGE"."}"=>e_IMAGE, '{e_IMAGE}' => e_IMAGE,
"{"."e_PLUGIN"."}"=>e_PLUGIN, '{e_PLUGIN}' => e_PLUGIN,
"{"."e_FILE"."}"=>e_FILE, '{e_FILE}' => e_FILE,
"{"."e_THEME"."}"=>e_THEME, '{e_THEME}' => e_THEME,
"{"."e_DOWNLOAD"."}"=>e_DOWNLOAD, '{e_DOWNLOAD}' => e_DOWNLOAD,
"{"."e_ADMIN"."}"=>e_ADMIN, '{e_ADMIN}' => e_ADMIN,
"{"."e_HANDLER"."}"=>e_HANDLER '{e_HANDLER}' => e_HANDLER
); );
} }
foreach($tmp as $key=>$val) foreach($tmp as $key=>$val)
@@ -1325,14 +1325,16 @@ class e_parse
} }
//FIXME - $match not used?
function e_highlight($text, $match) function e_highlight($text, $match)
{ {
preg_match_all("#<[^>]+>#", $text, $tags); $tags = array();
$text = preg_replace("#<[^>]+>#", "<|>", $text); preg_match_all('#<[^>]+>#', $text, $tags);
$text = preg_replace("#(\b".$match."\b)#i", "<span class='searchhighlight'>\\1</span>", $text); $text = preg_replace('#<[^>]+>#', '<|>', $text);
$text = preg_replace('#(\b".$match."\b)#i', '<span class="searchhighlight">\\1</span>', $text);
foreach ($tags[0] as $tag) foreach ($tags[0] as $tag)
{ {
$text = preg_replace("#<\|>#", $tag, $text, 1); $text = preg_replace('#<\|>#', $tag, $text, 1);
} }
return $text; return $text;
} }