aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/acp/acp_icons.php28
-rw-r--r--phpBB/includes/acp/acp_php_info.php9
-rw-r--r--phpBB/includes/message_parser.php2
3 files changed, 32 insertions, 7 deletions
diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php
index 4636b067c2..f5e09582e4 100644
--- a/phpBB/includes/acp/acp_icons.php
+++ b/phpBB/includes/acp/acp_icons.php
@@ -308,6 +308,29 @@ class acp_icons
{
$order = 0;
+ if (!($pak_ary = @file($phpbb_root_path . $img_path . '/' . $pak)))
+ {
+ trigger_error($user->lang['PAK_FILE_NOT_READABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
+
+ // Make sure the pak_ary is valid
+ foreach ($pak_ary as $pak_entry)
+ {
+ if (preg_match_all("#'(.*?)', #", $pak_entry, $data))
+ {
+ if ((sizeof($data[1]) != 4 && $mode == 'icons') ||
+ (sizeof($data[1]) != 6 && $mode == 'smilies'))
+ {
+ trigger_error($user->lang['WRONG_PAK_TYPE'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
+ }
+ else
+ {
+ trigger_error($user->lang['WRONG_PAK_TYPE'] . adm_back_link($this->u_action), E_USER_WARNING);
+ }
+ }
+
+
// The user has already selected a smilies_pak file
if ($current == 'delete')
{
@@ -343,11 +366,6 @@ class acp_icons
$db->sql_freeresult($result);
}
- if (!($pak_ary = @file($phpbb_root_path . $img_path . '/' . $pak)))
- {
- trigger_error($user->lang['PAK_FILE_NOT_READABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
- }
-
foreach ($pak_ary as $pak_entry)
{
$data = array();
diff --git a/phpBB/includes/acp/acp_php_info.php b/phpBB/includes/acp/acp_php_info.php
index fe223b623e..3816285953 100644
--- a/phpBB/includes/acp/acp_php_info.php
+++ b/phpBB/includes/acp/acp_php_info.php
@@ -29,15 +29,22 @@ class acp_php_info
$this->page_title = 'ACP_PHP_INFO';
ob_start();
- phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES);
+ @phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES);
$phpinfo = ob_get_contents();
ob_end_clean();
+ $phpinfo = trim($phpinfo);
+
// Here we play around a little with the PHP Info HTML to try and stylise
// it along phpBB's lines ... hopefully without breaking anything. The idea
// for this was nabbed from the PHP annotated manual
preg_match_all('#<body[^>]*>(.*)</body>#si', $phpinfo, $output);
+ if (empty($phpinfo) || empty($output))
+ {
+ trigger_error('NO_PHPINFO_AVAILABLE', E_USER_WARNING);
+ }
+
$output = $output[1][0];
$output = preg_replace('#<tr class="v"><td>(.*?<a[^>]*><img[^>]*></a>)(.*?)</td></tr>#s', '<tr class="row1"><td><table class="type2"><tr><td>\2</td><td>\1</td></tr></table></td></tr>', $output);
$output = preg_replace('#<table[^>]+>#i', '<table>', $output);
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php
index 797c2f5cfd..285b0d0649 100644
--- a/phpBB/includes/message_parser.php
+++ b/phpBB/includes/message_parser.php
@@ -418,7 +418,7 @@ class bbcode_firstpass extends bbcode
$conf = array('highlight.bg', 'highlight.comment', 'highlight.default', 'highlight.html', 'highlight.keyword', 'highlight.string');
foreach ($conf as $ini_var)
{
- ini_set($ini_var, str_replace('highlight.', 'syntax', $ini_var));
+ @ini_set($ini_var, str_replace('highlight.', 'syntax', $ini_var));
}
// Because highlight_string is specialcharing the text (but we already did this before), we have to reverse this in order to get correct results