Jump to content

[SOLVED] Parse errors, drug addictions, and alcoholism: How to cope


NovaArgon

Recommended Posts

Hi my name is Chase and I have no clue what parse errors are.

((Loud Reply)) "Hi Chase"

 

We can talk about the drugs and alcoholism latter on to the important stuff.

 

Parse Errors

 

It seems that I have parse errors somewhere that is why my page is jacked up if you look at the later part of the source the last entry is just the header so i'm told.

 

I don't have a very complex page so I can wipe it out and start from scratch. Its just that I was already starting from scratch.

 

How do I fix parse errors or what are they. Why are they kicking my balls?

Link to comment
Share on other sites

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

 

<title>Advice Forums Home</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="generator" content="HTML Tidy for Linux (vers 1 September 2005), see www.w3.org" />

<meta name="keywords" content="Advice Forums, Money Advice Forums, Relationship Advice Forums, Parenting Advice Forums, Pet Advice Forums" />

<meta name="description" content="Advice Forums is based on the idea that you can learn how to do anything with alittle advice. It's about helping people and sharing knowledge. I hope you enjoy your time here and spend it helping yourself and others. Welcome to our community." />

<meta name="robots" content="index, follow" />

<link href="style2.css" rel="stylesheet"  type="text/css" />

 

</head>

<script type="text/javascript" src="http://shots.snap.com/ss/09c6f7d6c2bd3571d2bd4d2cec8b013c/snap_shots.js"></script>

<body>

 

<div id="wrapper">

 

<div id="header"><a href="index.php">

<img src="Img/logo.jpg" class="logo" alt="Advice Forums" title="Advice Forums" />  </a>

 

<div id="nav">

<ul>

<li><a href="index.php" class="selected">Home</a></li>

<li><a href="phpBB3">Forums</a></li>

<li><a href="blank.php">Comming Soon</a></li>

<li><a href="contact.php">Contact</a></li>

</ul>

 

</div> <!-- END NAV -->

 

</div> <!-- END HEADER -->

 

 

<div id="content">

 

<div id="col1">

 

<h1>Welcome</h1>

<p class="quote"><img src="Img/quote.jpg" alt="quote" class="quote" />The happiness of your life depends upon the quaility of your thoughts.</p>

<p>Advice Forums is based on the idea that you can learn how to do anything with alittle advice. It's about helping people and sharing knowledge. I hope you enjoy your time here and spend it helping yourself and others.</p>

<p>Welcome to our community.</p>

 

</div>    <!--END COL1-->

 

 

<div id="col2">

<h1>Recent Post</h1>

 

<?php

include($phpbb_root_path . '/home/advisorg/public_html/phpBB3/includes/functions_display.php' . $phpEx);

include($phpbb_root_path . '/home/advisorg/public_html/phpBB3/includes/functions_posts_anywhere.php' . $phpEx);

 

$forum_id = 25;//forum id to display recent posts from

$limit = 10;//number of posts to show on the page

$char_limit = 500;//character limit for each post (more button will show for posts over this size)

$unique = true; //display only 1 post per topic? true or false

$recursive = false; //view new posts in the forum selected and any subforums? true or false

display_posts($forum_id, $limit, $char_limit, $unique, $recursive);

?>

 

<!--END COL2--></div>

<!-- END CONTENT -->

<div id="boxcontainer">

<div class="box1">

<h1>This is Box 1</h1>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus luctus. Curabitur vitae velit ac nisi ultricies venenatis. Praesent ultricies. <a href="index.htm">Read More</a></p>

</div>

<!-- END BOX 1 -->

<div class="box2">

<h1>This is Box 2</h1>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus luctus. Curabitur vitae velit ac nisi ultricies venenatis. Praesent ultricies. <a href="index.htm">Read More</a></p>

</div>

<!-- END BOX 2 -->

<div class="box3">

<h1>This is Box 3</h1>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus luctus. Curabitur vitae velit ac nisi ultricies venenatis. Praesent ultricies. <a href="index.htm">Read More</a></p>

</div>

<!-- END BOX 2 --></div>

<!-- END BOXCONTAINER --></div>

<!--END  WRAP -->

<div id="footer">

<p>2007 adviceforums.org All Rights Reserved</p>

<p>| <a href="http://adviceforums.org/phpBB3/viewforum.php?f=4&sid=d2816ae19965b1a42a1fb69d1e8e56d9">TOS</a> | <a href="http://adviceforums.org/phpBB3/viewforum.php?f=4&sid=d2816ae19965b1a42a1fb69d1e8e56d9">Privacy Policy</a> |</p>

</div>

<!-- END FOOTER -->

</body>

</html>

 

Sorry i'm not sure what the errors are I'v been trying to get help with some code and that was the last thing I was told. I haven't found the errors yet.

 

Thanks for taking a look at my code

Link to comment
Share on other sites

Since PHP won't parse HTML output (anything outside of <?php ?> tags), the only possible part of your code that would throw a parse error is:

 

<?php
include($phpbb_root_path . '/home/advisorg/public_html/phpBB3/includes/functions_display.php' . $phpEx);
include($phpbb_root_path . '/home/advisorg/public_html/phpBB3/includes/functions_posts_anywhere.php' . $phpEx);

$forum_id   = 25;//forum id to display recent posts from
$limit      = 10;//number of posts to show on the page
$char_limit   = 500;//character limit for each post (more button will show for posts over this size)
$unique      = true; //display only 1 post per topic? true or false
$recursive   = false; //view new posts in the forum selected and any subforums? true or false
display_posts($forum_id, $limit, $char_limit, $unique, $recursive);
?>

 

$phpbb_root_path is a variable that needs a string value if it is to be used in an include. I don't see it defined anywhere before it is called, nor do I see any file included earlier in the script that might provide it to this script. That's going to be a problem... So, you'll need to define that path. $phpEx also needs a definition if it's going to be used. Typically this is '.php', and it is appended to any filenames phpBB uses. Since you are providing the file extension already, this extra variable won't work. Even once the pathing is correct, it will look for a file called: functions_display.php.php, which obviously will fail. So, let's remove that, fix the path, then try this code:

 

<?php
$phpbb_root_path = 'home/advisorg/public_html/phpbb3/';
include('$phpbb_root_path' . 'includes/functions_display.php');
include('$phpbb_root_path' . 'includes/functions_posts_anywhere.php');

$forum_id   = 25;//forum id to display recent posts from
$limit      = 10;//number of posts to show on the page
$char_limit   = 500;//character limit for each post (more button will show for posts over this size)
$unique      = true; //display only 1 post per topic? true or false
$recursive   = false; //view new posts in the forum selected and any subforums? true or false
display_posts($forum_id, $limit, $char_limit, $unique, $recursive);
?>

 

PhREEEk

Link to comment
Share on other sites

functions_display.php

 

<?php

/**

*

* @package phpBB3

* @version $Id: functions_display.php,v 1.167 2007/10/05 14:30:10 acydburn Exp $

* @copyright © 2005 phpBB Group

* @license http://opensource.org/licenses/gpl-license.php GNU Public License

*

*/

 

/**

* @ignore

*/

if (!defined('IN_PHPBB'))

{

exit;

}

 

/**

* Display Forums

*/

function display_forums($root_data = '', $display_moderators = true, $return_moderators = false)

{

global $db, $auth, $user, $template;

global $phpbb_root_path, $phpEx, $config;

 

$forum_rows = $subforums = $forum_ids = $forum_ids_moderator = $forum_moderators = $active_forum_ary = array();

$parent_id = $visible_forums = 0;

$sql_from = '';

 

// Mark forums read?

$mark_read = request_var('mark', '');

 

if ($mark_read == 'all')

{

$mark_read = '';

}

 

if (!$root_data)

{

if ($mark_read == 'forums')

{

$mark_read = 'all';

}

 

$root_data = array('forum_id' => 0);

$sql_where = '';

}

else

{

$sql_where = 'left_id > ' . $root_data['left_id'] . ' AND left_id < ' . $root_data['right_id'];

}

 

// Display list of active topics for this category?

$show_active = (isset($root_data['forum_flags']) && ($root_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS)) ? true : false;

 

$sql_array = array(

'SELECT' => 'f.*',

'FROM' => array(

FORUMS_TABLE => 'f'

),

'LEFT_JOIN' => array(),

);

 

if ($config['load_db_lastread'] && $user->data['is_registered'])

{

$sql_array['LEFT_JOIN'][] = array('FROM' => array(FORUMS_TRACK_TABLE => 'ft'), 'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id');

$sql_array['SELECT'] .= ', ft.mark_time';

}

else if ($config['load_anon_lastread'] || $user->data['is_registered'])

{

$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';

$tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array();

 

if (!$user->data['is_registered'])

{

$user->data['user_lastmark'] = (isset($tracking_topics['l'])) ? (int) (base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate']) : 0;

}

}

 

if ($show_active)

{

$sql_array['LEFT_JOIN'][] = array(

'FROM' => array(FORUMS_ACCESS_TABLE => 'fa'),

'ON' => "fa.forum_id = f.forum_id AND fa.session_id = '" . $db->sql_escape($user->session_id) . "'"

);

 

$sql_array['SELECT'] .= ', fa.user_id';

}

 

$sql = $db->sql_build_query('SELECT', array(

'SELECT' => $sql_array['SELECT'],

'FROM' => $sql_array['FROM'],

'LEFT_JOIN' => $sql_array['LEFT_JOIN'],

 

'WHERE' => $sql_where,

 

'ORDER_BY' => 'f.left_id',

));

 

$result = $db->sql_query($sql);

 

$forum_tracking_info = array();

$branch_root_id = $root_data['forum_id'];

while ($row = $db->sql_fetchrow($result))

{

$forum_id = $row['forum_id'];

 

// Mark forums read?

if ($mark_read == 'forums' || $mark_read == 'all')

{

if ($auth->acl_get('f_list', $forum_id))

{

$forum_ids[] = $forum_id;

continue;

}

}

 

// Category with no members

if ($row['forum_type'] == FORUM_CAT && ($row['left_id'] + 1 == $row['right_id']))

{

continue;

}

 

// Skip branch

if (isset($right_id))

{

if ($row['left_id'] < $right_id)

{

continue;

}

unset($right_id);

}

 

if (!$auth->acl_get('f_list', $forum_id))

{

// if the user does not have permissions to list this forum, skip everything until next branch

$right_id = $row['right_id'];

continue;

}

 

$forum_ids[] = $forum_id;

 

if ($config['load_db_lastread'] && $user->data['is_registered'])

{

$forum_tracking_info[$forum_id] = (!empty($row['mark_time'])) ? $row['mark_time'] : $user->data['user_lastmark'];

}

else if ($config['load_anon_lastread'] || $user->data['is_registered'])

{

if (!$user->data['is_registered'])

{

$user->data['user_lastmark'] = (isset($tracking_topics['l'])) ? (int) (base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate']) : 0;

}

$forum_tracking_info[$forum_id] = (isset($tracking_topics['f'][$forum_id])) ? (int) (base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate']) : $user->data['user_lastmark'];

}

 

$row['forum_topics'] = ($auth->acl_get('m_approve', $forum_id)) ? $row['forum_topics_real'] : $row['forum_topics'];

 

// Display active topics from this forum?

if ($show_active && $row['forum_type'] == FORUM_POST && $auth->acl_get('f_read', $forum_id) && ($row['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS))

{

if (!isset($active_forum_ary['forum_topics']))

{

$active_forum_ary['forum_topics'] = 0;

}

 

if (!isset($active_forum_ary['forum_posts']))

{

$active_forum_ary['forum_posts'] = 0;

}

 

$active_forum_ary['forum_id'][] = $forum_id;

$active_forum_ary['enable_icons'][] = $row['enable_icons'];

$active_forum_ary['forum_topics'] += $row['forum_topics'];

$active_forum_ary['forum_posts'] += $row['forum_posts'];

 

// If this is a passworded forum we do not show active topics from it if the user is not authorised to view it...

if ($row['forum_password'] && $row['user_id'] != $user->data['user_id'])

{

$active_forum_ary['exclude_forum_id'][] = $forum_id;

}

}

 

//

if ($row['parent_id'] == $root_data['forum_id'] || $row['parent_id'] == $branch_root_id)

{

if ($row['forum_type'] != FORUM_CAT)

{

$forum_ids_moderator[] = (int) $forum_id;

}

 

// Direct child of current branch

$parent_id = $forum_id;

$forum_rows[$forum_id] = $row;

 

if ($row['forum_type'] == FORUM_CAT && $row['parent_id'] == $root_data['forum_id'])

{

$branch_root_id = $forum_id;

}

$forum_rows[$parent_id]['forum_id_last_post'] = $row['forum_id'];

$forum_rows[$parent_id]['orig_forum_last_post_time'] = $row['forum_last_post_time'];

}

else if ($row['forum_type'] != FORUM_CAT)

{

$subforums[$parent_id][$forum_id]['display'] = ($row['display_on_index']) ? true : false;

$subforums[$parent_id][$forum_id]['name'] = $row['forum_name'];

$subforums[$parent_id][$forum_id]['orig_forum_last_post_time'] = $row['forum_last_post_time'];

 

$forum_rows[$parent_id]['forum_topics'] += $row['forum_topics'];

 

// Do not list redirects in LINK Forums as Posts.

if ($row['forum_type'] != FORUM_LINK)

{

$forum_rows[$parent_id]['forum_posts'] += $row['forum_posts'];

}

 

if ($row['forum_last_post_time'] > $forum_rows[$parent_id]['forum_last_post_time'])

{

$forum_rows[$parent_id]['forum_last_post_id'] = $row['forum_last_post_id'];

$forum_rows[$parent_id]['forum_last_post_subject'] = $row['forum_last_post_subject'];

$forum_rows[$parent_id]['forum_last_post_time'] = $row['forum_last_post_time'];

$forum_rows[$parent_id]['forum_last_poster_id'] = $row['forum_last_poster_id'];

$forum_rows[$parent_id]['forum_last_poster_name'] = $row['forum_last_poster_name'];

$forum_rows[$parent_id]['forum_last_poster_colour'] = $row['forum_last_poster_colour'];

$forum_rows[$parent_id]['forum_id_last_post'] = $forum_id;

}

}

}

$db->sql_freeresult($result);

 

// Handle marking posts

if ($mark_read == 'forums' || $mark_read == 'all')

{

$redirect = build_url('mark');

 

if ($mark_read == 'all')

{

markread('all');

 

$message = sprintf($user->lang['RETURN_INDEX'], '<a href="' . $redirect . '">', '</a>');

}

else

{

markread('topics', $forum_ids);

 

$message = sprintf($user->lang['RETURN_FORUM'], '<a href="' . $redirect . '">', '</a>');

}

 

meta_refresh(3, $redirect);

trigger_error($user->lang['FORUMS_MARKED'] . '<br /><br />' . $message);

}

 

// Grab moderators ... if necessary

if ($display_moderators)

{

if ($return_moderators)

{

$forum_ids_moderator[] = $root_data['forum_id'];

}

get_moderators($forum_moderators, $forum_ids_moderator);

}

 

// Used to tell whatever we have to create a dummy category or not.

$last_catless = true;

foreach ($forum_rows as $row)

{

// Empty category

if ($row['parent_id'] == $root_data['forum_id'] && $row['forum_type'] == FORUM_CAT)

{

$template->assign_block_vars('forumrow', array(

'S_IS_CAT' => true,

'FORUM_ID' => $row['forum_id'],

'FORUM_NAME' => $row['forum_name'],

'FORUM_DESC' => generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),

'FORUM_FOLDER_IMG' => '',

'FORUM_FOLDER_IMG_SRC' => '',

'FORUM_IMAGE' => ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang['FORUM_CAT'] . '" />' : '',

'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',

'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']))

);

 

continue;

}

 

$visible_forums++;

$forum_id = $row['forum_id'];

 

$forum_unread = (isset($forum_tracking_info[$forum_id]) && $row['orig_forum_last_post_time'] > $forum_tracking_info[$forum_id]) ? true : false;

 

$folder_image = $folder_alt = $l_subforums = '';

$subforums_list = array();

 

// Generate list of subforums if we need to

if (isset($subforums[$forum_id]))

{

foreach ($subforums[$forum_id] as $subforum_id => $subforum_row)

{

$subforum_unread = (isset($forum_tracking_info[$subforum_id]) && $subforum_row['orig_forum_last_post_time'] > $forum_tracking_info[$subforum_id]) ? true : false;

 

if ($subforum_row['display'] && $subforum_row['name'])

{

$subforums_list[] = array(

'link' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $subforum_id),

'name' => $subforum_row['name'],

'unread' => $subforum_unread,

);

}

else

{

unset($subforums[$forum_id][$subforum_id]);

}

 

// If one subforum is unread the forum gets unread too...

if ($subforum_unread)

{

$forum_unread = true;

}

}

 

$l_subforums = (sizeof($subforums[$forum_id]) == 1) ? $user->lang['SUBFORUM'] . ': ' : $user->lang['SUBFORUMS'] . ': ';

$folder_image = ($forum_unread) ? 'forum_unread_subforum' : 'forum_read_subforum';

}

else

{

switch ($row['forum_type'])

{

case FORUM_POST:

$folder_image = ($forum_unread) ? 'forum_unread' : 'forum_read';

break;

 

case FORUM_LINK:

$folder_image = 'forum_link';

break;

}

}

 

// Which folder should we display?

if ($row['forum_status'] == ITEM_LOCKED)

{

$folder_image = ($forum_unread) ? 'forum_unread_locked' : 'forum_read_locked';

$folder_alt = 'FORUM_LOCKED';

}

else

{

$folder_alt = ($forum_unread) ? 'NEW_POSTS' : 'NO_NEW_POSTS';

}

 

// Create last post link information, if appropriate

if ($row['forum_last_post_id'])

{

$last_post_subject = $row['forum_last_post_subject'];

$last_post_time = $user->format_date($row['forum_last_post_time']);

$last_post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id_last_post'] . '&p=' . $row['forum_last_post_id']) . '#p' . $row['forum_last_post_id'];

}

else

{

$last_post_subject = $last_post_time = $last_post_url = '';

}

 

// Output moderator listing ... if applicable

$l_moderator = $moderators_list = '';

if ($display_moderators && !empty($forum_moderators[$forum_id]))

{

$l_moderator = (sizeof($forum_moderators[$forum_id]) == 1) ? $user->lang['MODERATOR'] : $user->lang['MODERATORS'];

$moderators_list = implode(', ', $forum_moderators[$forum_id]);

}

 

$l_post_click_count = ($row['forum_type'] == FORUM_LINK) ? 'CLICKS' : 'POSTS';

$post_click_count = ($row['forum_type'] != FORUM_LINK || $row['forum_flags'] & FORUM_FLAG_LINK_TRACK) ? $row['forum_posts'] : '';

 

$s_subforums_list = array();

foreach ($subforums_list as $subforum)

{

$s_subforums_list[] = '<a href="' . $subforum['link'] . '" class="subforum ' . (($subforum['unread']) ? 'unread' : 'read') . '">' . $subforum['name'] . '</a>';

}

$s_subforums_list = (string) implode(', ', $s_subforums_list);

$catless = ($row['parent_id'] == $root_data['forum_id']) ? true : false;

 

if ($row['forum_type'] != FORUM_LINK)

{

$u_viewforum = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']);

}

else

{

// If the forum is a link and we count redirects we need to visit it

// If the forum is having a password or no read access we do not expose the link, but instead handle it in viewforum

if (($row['forum_flags'] & FORUM_FLAG_LINK_TRACK) || $row['forum_password'] || !$auth->acl_get('f_read', $forum_id))

{

$u_viewforum = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']);

}

else

{

$u_viewforum = $row['forum_link'];

}

}

 

$template->assign_block_vars('forumrow', array(

'S_IS_CAT' => false,

'S_NO_CAT' => $catless && !$last_catless,

'S_IS_LINK' => ($row['forum_type'] == FORUM_LINK) ? true : false,

'S_UNREAD_FORUM' => $forum_unread,

'S_LOCKED_FORUM' => ($row['forum_status'] == ITEM_LOCKED) ? true : false,

'S_SUBFORUMS' => (sizeof($subforums_list)) ? true : false,

 

'FORUM_ID' => $row['forum_id'],

'FORUM_NAME' => $row['forum_name'],

'FORUM_DESC' => generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),

'TOPICS' => $row['forum_topics'],

$l_post_click_count => $post_click_count,

'FORUM_FOLDER_IMG' => $user->img($folder_image, $folder_alt),

'FORUM_FOLDER_IMG_SRC' => $user->img($folder_image, $folder_alt, false, '', 'src'),

'FORUM_IMAGE' => ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang[$folder_alt] . '" />' : '',

'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',

'LAST_POST_SUBJECT' => censor_text($last_post_subject),

'LAST_POST_TIME' => $last_post_time,

'LAST_POSTER' => get_username_string('username', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),

'LAST_POSTER_COLOUR' => get_username_string('colour', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),

'LAST_POSTER_FULL' => get_username_string('full', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),

'MODERATORS' => $moderators_list,

'SUBFORUMS' => $s_subforums_list,

 

'L_SUBFORUM_STR' => $l_subforums,

'L_FORUM_FOLDER_ALT' => $folder_alt,

'L_MODERATOR_STR' => $l_moderator,

 

'U_VIEWFORUM' => $u_viewforum,

'U_LAST_POSTER' => get_username_string('profile', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),

'U_LAST_POST' => $last_post_url)

);

 

// Assign subforums loop for style authors

foreach ($subforums_list as $subforum)

{

$template->assign_block_vars('forumrow.subforum', array(

'U_SUBFORUM' => $subforum['link'],

'SUBFORUM_NAME' => $subforum['name'],

'S_UNREAD' => $subforum['unread'])

);

}

 

$last_catless = $catless;

}

 

$template->assign_vars(array(

'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $root_data['forum_id'] . '&mark=forums') : '',

'S_HAS_SUBFORUM' => ($visible_forums) ? true : false,

'L_SUBFORUM' => ($visible_forums == 1) ? $user->lang['SUBFORUM'] : $user->lang['SUBFORUMS'],

'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'))

);

 

if ($return_moderators)

{

return array($active_forum_ary, $forum_moderators);

}

 

return array($active_forum_ary, array());

}

 

/**

* Create forum rules for given forum

*/

function generate_forum_rules(&$forum_data)

{

if (!$forum_data['forum_rules'] && !$forum_data['forum_rules_link'])

{

return;

}

 

global $template, $phpbb_root_path, $phpEx;

 

if ($forum_data['forum_rules'])

{

$forum_data['forum_rules'] = generate_text_for_display($forum_data['forum_rules'], $forum_data['forum_rules_uid'], $forum_data['forum_rules_bitfield'], $forum_data['forum_rules_options']);

}

 

$template->assign_vars(array(

'S_FORUM_RULES' => true,

'U_FORUM_RULES' => $forum_data['forum_rules_link'],

'FORUM_RULES' => $forum_data['forum_rules'])

);

}

 

/**

* Create forum navigation links for given forum, create parent

* list if currently null, assign basic forum info to template

*/

function generate_forum_nav(&$forum_data)

{

global $db, $user, $template, $auth;

global $phpEx, $phpbb_root_path;

 

if (!$auth->acl_get('f_list', $forum_data['forum_id']))

{

return;

}

 

// Get forum parents

$forum_parents = get_forum_parents($forum_data);

 

// Build navigation links

if (!empty($forum_parents))

{

foreach ($forum_parents as $parent_forum_id => $parent_data)

{

list($parent_name, $parent_type) = array_values($parent_data);

 

// Skip this parent if the user does not have the permission to view it

if (!$auth->acl_get('f_list', $parent_forum_id))

{

continue;

}

 

$template->assign_block_vars('navlinks', array(

'S_IS_CAT' => ($parent_type == FORUM_CAT) ? true : false,

'S_IS_LINK' => ($parent_type == FORUM_LINK) ? true : false,

'S_IS_POST' => ($parent_type == FORUM_POST) ? true : false,

'FORUM_NAME' => $parent_name,

'FORUM_ID' => $parent_forum_id,

'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $parent_forum_id))

);

}

}

 

$template->assign_block_vars('navlinks', array(

'S_IS_CAT' => ($forum_data['forum_type'] == FORUM_CAT) ? true : false,

'S_IS_LINK' => ($forum_data['forum_type'] == FORUM_LINK) ? true : false,

'S_IS_POST' => ($forum_data['forum_type'] == FORUM_POST) ? true : false,

'FORUM_NAME' => $forum_data['forum_name'],

'FORUM_ID' => $forum_data['forum_id'],

'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_data['forum_id']))

);

 

$template->assign_vars(array(

'FORUM_ID' => $forum_data['forum_id'],

'FORUM_NAME' => $forum_data['forum_name'],

'FORUM_DESC' => generate_text_for_display($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_bitfield'], $forum_data['forum_desc_options']))

);

 

return;

}

 

/**

* Returns forum parents as an array. Get them from forum_data if available, or update the database otherwise

*/

function get_forum_parents(&$forum_data)

{

global $db;

 

$forum_parents = array();

 

if ($forum_data['parent_id'] > 0)

{

if ($forum_data['forum_parents'] == '')

{

$sql = 'SELECT forum_id, forum_name, forum_type

FROM ' . FORUMS_TABLE . '

WHERE left_id < ' . $forum_data['left_id'] . '

AND right_id > ' . $forum_data['right_id'] . '

ORDER BY left_id ASC';

$result = $db->sql_query($sql);

 

while ($row = $db->sql_fetchrow($result))

{

$forum_parents[$row['forum_id']] = array($row['forum_name'], (int) $row['forum_type']);

}

$db->sql_freeresult($result);

 

$forum_data['forum_parents'] = serialize($forum_parents);

 

$sql = 'UPDATE ' . FORUMS_TABLE . "

SET forum_parents = '" . $db->sql_escape($forum_data['forum_parents']) . "'

WHERE parent_id = " . $forum_data['parent_id'];

$db->sql_query($sql);

}

else

{

$forum_parents = unserialize($forum_data['forum_parents']);

}

}

 

return $forum_parents;

}

 

/**

* Generate topic pagination

*/

function topic_generate_pagination($replies, $url)

{

global $config, $user;

 

// Make sure $per_page is a valid value

$per_page = ($config['posts_per_page'] <= 0) ? 1 : $config['posts_per_page'];

 

if (($replies + 1) > $per_page)

{

$total_pages = ceil(($replies + 1) / $per_page);

$pagination = '';

 

$times = 1;

for ($j = 0; $j < $replies + 1; $j += $per_page)

{

$pagination .= '<a href="' . $url . '&start=' . $j . '">' . $times . '</a>';

if ($times == 1 && $total_pages > 5)

{

$pagination .= ' ... ';

 

// Display the last three pages

$times = $total_pages - 3;

$j += ($total_pages - 4) * $per_page;

}

else if ($times < $total_pages)

{

$pagination .= '<span class="page-sep">' . $user->lang['COMMA_SEPARATOR'] . '</span>';

}

$times++;

}

}

else

{

$pagination = '';

}

 

return $pagination;

}

 

/**

* Obtain list of moderators of each forum

*/

function get_moderators(&$forum_moderators, $forum_id = false)

{

global $config, $template, $db, $phpbb_root_path, $phpEx;

 

// Have we disabled the display of moderators? If so, then return

// from whence we came ...

if (!$config['load_moderators'])

{

return;

}

 

$forum_sql = '';

 

if ($forum_id !== false)

{

if (!is_array($forum_id))

{

$forum_id = array($forum_id);

}

 

// If we don't have a forum then we can't have a moderator

if (!sizeof($forum_id))

{

return;

}

 

$forum_sql = 'AND m.' . $db->sql_in_set('forum_id', $forum_id);

}

 

$sql_array = array(

'SELECT' => 'm.*, u.user_colour, g.group_colour, g.group_type',

 

'FROM' => array(

MODERATOR_CACHE_TABLE => 'm',

),

 

'LEFT_JOIN' => array(

array(

'FROM' => array(USERS_TABLE => 'u'),

'ON' => 'm.user_id = u.user_id',

),

array(

'FROM' => array(GROUPS_TABLE => 'g'),

'ON' => 'm.group_id = g.group_id',

),

),

 

'WHERE' => "m.display_on_index = 1 $forum_sql",

);

 

$sql = $db->sql_build_query('SELECT', $sql_array);

$result = $db->sql_query($sql, 3600);

 

while ($row = $db->sql_fetchrow($result))

{

if (!empty($row['user_id']))

{

$forum_moderators[$row['forum_id']][] = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);

}

else

{

$forum_moderators[$row['forum_id']][] = '<a' . (($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . ';"' : '') . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']) . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</a>';

}

}

$db->sql_freeresult($result);

 

return;

}

 

/**

* User authorisation levels output

*

* @param string $mode Can be forum or topic. Not in use at the moment.

* @param int $forum_id The current forum the user is in.

* @param int $forum_status The forums status bit.

*/

function gen_forum_auth_level($mode, $forum_id, $forum_status)

{

global $template, $auth, $user, $config;

 

$locked = ($forum_status == ITEM_LOCKED && !$auth->acl_get('m_edit', $forum_id)) ? true : false;

 

$rules = array(

($auth->acl_get('f_post', $forum_id) && !$locked) ? $user->lang['RULES_POST_CAN'] : $user->lang['RULES_POST_CANNOT'],

($auth->acl_get('f_reply', $forum_id) && !$locked) ? $user->lang['RULES_REPLY_CAN'] : $user->lang['RULES_REPLY_CANNOT'],

($user->data['is_registered'] && $auth->acl_gets('f_edit', 'm_edit', $forum_id) && !$locked) ? $user->lang['RULES_EDIT_CAN'] : $user->lang['RULES_EDIT_CANNOT'],

($user->data['is_registered'] && $auth->acl_gets('f_delete', 'm_delete', $forum_id) && !$locked) ? $user->lang['RULES_DELETE_CAN'] : $user->lang['RULES_DELETE_CANNOT'],

);

 

if ($config['allow_attachments'])

{

$rules[] = ($auth->acl_get('f_attach', $forum_id) && $auth->acl_get('u_attach') && !$locked) ? $user->lang['RULES_ATTACH_CAN'] : $user->lang['RULES_ATTACH_CANNOT'];

}

 

foreach ($rules as $rule)

{

$template->assign_block_vars('rules', array('RULE' => $rule));

}

 

return;

}

 

/**

* Generate topic status

*/

function topic_status(&$topic_row, $replies, $unread_topic, &$folder_img, &$folder_alt, &$topic_type)

{

global $user, $config;

 

$folder = $folder_new = '';

 

if ($topic_row['topic_status'] == ITEM_MOVED)

{

$topic_type = $user->lang['VIEW_TOPIC_MOVED'];

$folder_img = 'topic_moved';

$folder_alt = 'TOPIC_MOVED';

}

else

{

switch ($topic_row['topic_type'])

{

case POST_GLOBAL:

$topic_type = $user->lang['VIEW_TOPIC_GLOBAL'];

$folder = 'global_read';

$folder_new = 'global_unread';

break;

 

case POST_ANNOUNCE:

$topic_type = $user->lang['VIEW_TOPIC_ANNOUNCEMENT'];

$folder = 'announce_read';

$folder_new = 'announce_unread';

break;

 

case POST_STICKY:

$topic_type = $user->lang['VIEW_TOPIC_STICKY'];

$folder = 'sticky_read';

$folder_new = 'sticky_unread';

break;

 

default:

$topic_type = '';

$folder = 'topic_read';

$folder_new = 'topic_unread';

 

if ($config['hot_threshold'] && $replies >= $config['hot_threshold'] && $topic_row['topic_status'] != ITEM_LOCKED)

{

$folder .= '_hot';

$folder_new .= '_hot';

}

break;

}

 

if ($topic_row['topic_status'] == ITEM_LOCKED)

{

$topic_type = $user->lang['VIEW_TOPIC_LOCKED'];

$folder .= '_locked';

$folder_new .= '_locked';

}

 

 

$folder_img = ($unread_topic) ? $folder_new : $folder;

$folder_alt = ($unread_topic) ? 'NEW_POSTS' : (($topic_row['topic_status'] == ITEM_LOCKED) ? 'TOPIC_LOCKED' : 'NO_NEW_POSTS');

 

// Posted image?

if (!empty($topic_row['topic_posted']) && $topic_row['topic_posted'])

{

$folder_img .= '_mine';

}

}

 

if ($topic_row['poll_start'] && $topic_row['topic_status'] != ITEM_MOVED)

{

$topic_type = $user->lang['VIEW_TOPIC_POLL'];

}

}

 

/**

* Assign/Build custom bbcodes for display in screens supporting using of bbcodes

* The custom bbcodes buttons will be placed within the template block 'custom_codes'

*/

function display_custom_bbcodes()

{

global $db, $template;

 

// Start counting from 22 for the bbcode ids (every bbcode takes two ids - opening/closing)

$num_predefined_bbcodes = 22;

 

$sql = 'SELECT bbcode_id, bbcode_tag, bbcode_helpline

FROM ' . BBCODES_TABLE . '

WHERE display_on_posting = 1

ORDER BY bbcode_tag';

$result = $db->sql_query($sql);

 

$i = 0;

while ($row = $db->sql_fetchrow($result))

{

$template->assign_block_vars('custom_tags', array(

'BBCODE_NAME' => "'[{$row['bbcode_tag']}]', '[/" . str_replace('=, '', $row['bbcode_tag]) . "]'",

'BBCODE_ID' => $num_predefined_bbcodes + ($i * 2),

'BBCODE_TAG' => $row['bbcode_tag'],

'BBCODE_HELPLINE' => str_replace(array('&', '"', "'", '<', '>'), array('\&', '\"', '\\\'', '<', '>'), $row['bbcode_helpline']))

);

 

$i++;

}

$db->sql_freeresult($result);

}

 

/**

* Display reasons

*/

function display_reasons($reason_id = 0)

{

global $db, $user, $template;

 

$sql = 'SELECT *

FROM ' . REPORTS_REASONS_TABLE . '

ORDER BY reason_order ASC';

$result = $db->sql_query($sql);

 

while ($row = $db->sql_fetchrow($result))

{

// If the reason is defined within the language file, we will use the localized version, else just use the database entry...

if (isset($user->lang['report_reasons']['TITLE'][strtoupper($row['reason_title'])]) && isset($user->lang['report_reasons']['DESCRIPTION'][strtoupper($row['reason_title'])]))

{

$row['reason_description'] = $user->lang['report_reasons']['DESCRIPTION'][strtoupper($row['reason_title'])];

$row['reason_title'] = $user->lang['report_reasons']['TITLE'][strtoupper($row['reason_title'])];

}

 

$template->assign_block_vars('reason', array(

'ID' => $row['reason_id'],

'TITLE' => $row['reason_title'],

'DESCRIPTION' => $row['reason_description'],

'S_SELECTED' => ($row['reason_id'] == $reason_id) ? true : false)

);

}

$db->sql_freeresult($result);

}

 

/**

* Display user activity (action forum/topic)

*/

function display_user_activity(&$userdata)

{

global $auth, $template, $db, $user;

global $phpbb_root_path, $phpEx;

 

// Do not display user activity for users having more than 5000 posts...

if ($userdata['user_posts'] > 5000)

{

return;

}

 

$forum_ary = array();

 

// Do not include those forums the user is not having read access to...

$forum_read_ary = $auth->acl_getf('!f_read');

 

foreach ($forum_read_ary as $forum_id => $not_allowed)

{

if ($not_allowed['f_read'])

{

$forum_ary[] = (int) $forum_id;

}

}

 

$forum_ary = array_unique($forum_ary);

$forum_sql = (sizeof($forum_ary)) ? 'AND ' . $db->sql_in_set('forum_id', $forum_ary, true) : '';

 

// Obtain active forum

$sql = 'SELECT forum_id, COUNT(post_id) AS num_posts

FROM ' . POSTS_TABLE . '

WHERE poster_id = ' . $userdata['user_id'] . "

AND post_postcount = 1

$forum_sql

GROUP BY forum_id

ORDER BY num_posts DESC";

$result = $db->sql_query_limit($sql, 1);

$active_f_row = $db->sql_fetchrow($result);

$db->sql_freeresult($result);

 

if (!empty($active_f_row))

{

$sql = 'SELECT forum_name

FROM ' . FORUMS_TABLE . '

WHERE forum_id = ' . $active_f_row['forum_id'];

$result = $db->sql_query($sql, 3600);

$active_f_row['forum_name'] = (string) $db->sql_fetchfield('forum_name');

$db->sql_freeresult($result);

}

 

// Obtain active topic

$sql = 'SELECT topic_id, COUNT(post_id) AS num_posts

FROM ' . POSTS_TABLE . '

WHERE poster_id = ' . $userdata['user_id'] . "

AND post_postcount = 1

$forum_sql

GROUP BY topic_id

ORDER BY num_posts DESC";

$result = $db->sql_query_limit($sql, 1);

$active_t_row = $db->sql_fetchrow($result);

$db->sql_freeresult($result);

 

if (!empty($active_t_row))

{

$sql = 'SELECT topic_title

FROM ' . TOPICS_TABLE . '

WHERE topic_id = ' . $active_t_row['topic_id'];

$result = $db->sql_query($sql);

$active_t_row['topic_title'] = (string) $db->sql_fetchfield('topic_title');

$db->sql_freeresult($result);

}

 

$userdata['active_t_row'] = $active_t_row;

$userdata['active_f_row'] = $active_f_row;

 

$active_f_name = $active_f_id = $active_f_count = $active_f_pct = '';

if (!empty($active_f_row['num_posts']))

{

$active_f_name = $active_f_row['forum_name'];

$active_f_id = $active_f_row['forum_id'];

$active_f_count = $active_f_row['num_posts'];

$active_f_pct = ($userdata['user_posts']) ? ($active_f_count / $userdata['user_posts']) * 100 : 0;

}

 

$active_t_name = $active_t_id = $active_t_count = $active_t_pct = '';

if (!empty($active_t_row['num_posts']))

{

$active_t_name = $active_t_row['topic_title'];

$active_t_id = $active_t_row['topic_id'];

$active_t_count = $active_t_row['num_posts'];

$active_t_pct = ($userdata['user_posts']) ? ($active_t_count / $userdata['user_posts']) * 100 : 0;

}

 

$l_active_pct = ($userdata['user_id'] != ANONYMOUS && $userdata['user_id'] == $user->data['user_id']) ? $user->lang['POST_PCT_ACTIVE_OWN'] : $user->lang['POST_PCT_ACTIVE'];

 

$template->assign_vars(array(

'ACTIVE_FORUM' => $active_f_name,

'ACTIVE_FORUM_POSTS' => ($active_f_count == 1) ? sprintf($user->lang['USER_POST'], 1) : sprintf($user->lang['USER_POSTS'], $active_f_count),

'ACTIVE_FORUM_PCT' => sprintf($l_active_pct, $active_f_pct),

'ACTIVE_TOPIC' => censor_text($active_t_name),

'ACTIVE_TOPIC_POSTS' => ($active_t_count == 1) ? sprintf($user->lang['USER_POST'], 1) : sprintf($user->lang['USER_POSTS'], $active_t_count),

'ACTIVE_TOPIC_PCT' => sprintf($l_active_pct, $active_t_pct),

'U_ACTIVE_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $active_f_id),

'U_ACTIVE_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't=' . $active_t_id),

'S_SHOW_ACTIVITY' => true)

);

}

 

/**

* Topic and forum watching common code

*/

function watch_topic_forum($mode, &$s_watching, &$s_watching_img, $user_id, $forum_id, $topic_id, $notify_status = 'unset', $start = 0)

{

global $template, $db, $user, $phpEx, $start, $phpbb_root_path;

 

$table_sql = ($mode == 'forum') ? FORUMS_WATCH_TABLE : TOPICS_WATCH_TABLE;

$where_sql = ($mode == 'forum') ? 'forum_id' : 'topic_id';

$match_id = ($mode == 'forum') ? $forum_id : $topic_id;

 

$u_url = ($mode == 'forum') ? 'f' : 'f=' . $forum_id . '&t';

 

// Is user watching this thread?

if ($user_id != ANONYMOUS)

{

$can_watch = true;

 

if ($notify_status == 'unset')

{

$sql = "SELECT notify_status

FROM $table_sql

WHERE $where_sql = $match_id

AND user_id = $user_id";

$result = $db->sql_query($sql);

 

$notify_status = ($row = $db->sql_fetchrow($result)) ? $row['notify_status'] : NULL;

$db->sql_freeresult($result);

}

 

if (!is_null($notify_status) && $notify_status !== '')

{

if (isset($_GET['unwatch']))

{

if ($_GET['unwatch'] == $mode)

{

$is_watching = 0;

 

$sql = 'DELETE FROM ' . $table_sql . "

WHERE $where_sql = $match_id

AND user_id = $user_id";

$db->sql_query($sql);

}

 

$redirect_url = append_sid("{$phpbb_root_path}view$mode.$phpEx", "$u_url=$match_id&start=$start");

 

meta_refresh(3, $redirect_url);

 

$message = $user->lang['NOT_WATCHING_' . strtoupper($mode)] . '<br /><br />' . sprintf($user->lang['RETURN_' . strtoupper($mode)], '<a href="' . $redirect_url . '">', '</a>');

trigger_error($message);

}

else

{

$is_watching = true;

 

if ($notify_status)

{

$sql = 'UPDATE ' . $table_sql . "

SET notify_status = 0

WHERE $where_sql = $match_id

AND user_id = $user_id";

$db->sql_query($sql);

}

}

}

else

{

if (isset($_GET['watch']))

{

if ($_GET['watch'] == $mode)

{

$is_watching = true;

 

$sql = 'INSERT INTO ' . $table_sql . " (user_id, $where_sql, notify_status)

VALUES ($user_id, $match_id, 0)";

$db->sql_query($sql);

}

 

$redirect_url = append_sid("{$phpbb_root_path}view$mode.$phpEx", "$u_url=$match_id&start=$start");

meta_refresh(3, $redirect_url);

 

$message = $user->lang['ARE_WATCHING_' . strtoupper($mode)] . '<br /><br />' . sprintf($user->lang['RETURN_' . strtoupper($mode)], '<a href="' . $redirect_url . '">', '</a>');

trigger_error($message);

}

else

{

$is_watching = 0;

}

}

}

else

{

if (isset($_GET['unwatch']) && $_GET['unwatch'] == $mode)

{

login_box();

}

else

{

$can_watch = 0;

$is_watching = 0;

}

}

 

if ($can_watch)

{

$s_watching['link'] = append_sid("{$phpbb_root_path}view$mode.$phpEx", "$u_url=$match_id&" . (($is_watching) ? 'unwatch' : 'watch') . "=$mode&start=$start");

$s_watching['title'] = $user->lang[(($is_watching) ? 'STOP' : 'START') . '_WATCHING_' . strtoupper($mode)];

$s_watching['is_watching'] = $is_watching;

}

 

return;

}

 

/**

* Get user rank title and image

*

* @param int $user_rank the current stored users rank id

* @param int $user_posts the users number of posts

* @param string &$rank_title the rank title will be stored here after execution

* @param string &$rank_img the rank image as full img tag is stored here after execution

* @param string &$rank_img_src the rank image source is stored here after execution

*

*/

function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)

{

global $ranks, $config;

 

if (empty($ranks))

{

global $cache;

$ranks = $cache->obtain_ranks();

}

 

if (!empty($user_rank))

{

$rank_title = (isset($ranks['special'][$user_rank]['rank_title'])) ? $ranks['special'][$user_rank]['rank_title'] : '';

$rank_img = (!empty($ranks['special'][$user_rank]['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] . '" alt="' . $ranks['special'][$user_rank]['rank_title'] . '" title="' . $ranks['special'][$user_rank]['rank_title'] . '" />' : '';

$rank_img_src = (!empty($ranks['special'][$user_rank]['rank_image'])) ? $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] : '';

}

else

{

if (!empty($ranks['normal']))

{

foreach ($ranks['normal'] as $rank)

{

if ($user_posts >= $rank['rank_min'])

{

$rank_title = $rank['rank_title'];

$rank_img = (!empty($rank['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $rank['rank_image'] . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" />' : '';

$rank_img_src = (!empty($rank['rank_image'])) ? $config['ranks_path'] . '/' . $rank['rank_image'] : '';

break;

}

}

}

}

}

 

/**

* Get user avatar

*

* @param string $avatar Users assigned avatar name

* @param int $avatar_type Type of avatar

* @param string $avatar_width Width of users avatar

* @param string $avatar_height Height of users avatar

* @param string $alt Optional language string for alt tag within image, can be a language key or text

*

* @return string Avatar image

*/

function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR')

{

global $user, $config, $phpbb_root_path, $phpEx;

 

if (empty($avatar) || !$avatar_type)

{

return '';

}

 

$avatar_img = '';

 

switch ($avatar_type)

{

case AVATAR_UPLOAD:

$avatar_img = $phpbb_root_path . "download/file.$phpEx?avatar=";

break;

 

case AVATAR_GALLERY:

$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';

break;

}

 

$avatar_img .= $avatar;

return '<img src="' . $avatar_img . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';

}

 

?>

Link to comment
Share on other sites

functions_posts_anywhere.php

 

<?php

/**

*

* @package acp

* @version $Id: functions_admin.php,v 1.247 2007/08/19 13:36:52 naderman Exp $

* @copyright © 2005 phpBB Group

* @license http://opensource.org/licenses/gpl-license.php GNU Public License

*

*/

 

/**

* Display posts for forums, topics or posts

*

* @param mixed $forum_id forum_id or forum_ids (array)

* @param mixed $topic_id topic_id or topic_ids (array)

* @param mixed $post_id post_id or post_ids (array)

* @param int $limit Number of results returned

* @param string $display_type forum, topic or post. Displays results as forum, topic or posts

* @param int $char_limit character limit for each post before it cuts off to say read more

* @param bool $recursive view topics or posts under this parent recursively

*/

 

function display_posts($id, $limit = 10, $char_limit = 500, $unique = true, $recursive = true)

{

global $db, $user, $template, $phpbb_root_path, $auth, $phpEx, $config;

 

$forum_id = request_var('f', 0);

if (!$forum_id)

{

$forum_id = $id;

}

 

// Container for user details, only process once

$forum_ary = $post_ary = $user_cache = $user_ary = $post_ids = $user_cache = $attachments = $update_count = array();

$has_attachments = $display_notice = false;

 

//if recursive is selected, grab forums beneath the selected

if ($recursive && $forum_id)

{

//grab array of subforums beneath this one

$forum_ary = select_subforums($forum_id);

 

if (!sizeof($forum_ary))

{

trigger_error('NO_FORUM');

}

$where = $db->sql_in_set('forum_id', $forum_ary) . ((!$auth->acl_get('m_approve', 'forum_id')) ? ' AND post_approved = 1' : '');

}

else if ($forum_id)

{

if (!$auth->acl_get('f_read', $forum_id) && $forum_id !== 0)

{

trigger_error('SORRY_AUTH_READ');

}

$forum_ary[$forum_id] = $forum_id;

$where = $db->sql_in_set('forum_id', $forum_ary) . ((!$auth->acl_get('m_approve', 'forum_id')) ? ' AND post_approved = 1' : '');

}

else if ($id === false)

{

$where = (!$auth->acl_get('m_approve', 'forum_id')) ? ' post_approved = 1' : '';

}

else

{

$forum_ary[0] = 0;

$where = $db->sql_in_set('forum_id', $forum_ary) . ((!$auth->acl_get('m_approve', 'forum_id')) ? ' AND post_approved = 1' : '');

}

 

if ($unique)

{

//grab the topic id's well be using

$sql_ary = array(

'SELECT' => 'DISTINCT topic_id',

'FROM' => array(

POSTS_TABLE => '',

),

'WHERE' => $where,

'ORDER_BY' => 'post_time DESC',

);

$sql = $db->sql_build_query('SELECT', $sql_ary);

$result = $db->sql_query_limit($sql, $limit);

 

while ($row = $db->sql_fetchrow($result))

{

$topic_ary[$row['topic_id']] = $row['topic_id'];

}

$db->sql_freeresult($result);

}

 

$details_ary = array(

'unique' => $unique,

'limit' => $limit,

);

select_posts($details_ary, $forum_ary, $topic_ary, $post_ary, $post_ids, $user_ary);

 

//grab attachments if any for these posts

$sql_ary = array(

'SELECT' => '*',

'FROM' => array(

ATTACHMENTS_TABLE => '',

),

'WHERE' => $db->sql_in_set('post_msg_id', $post_ids),

);

$sql = $db->sql_build_query('SELECT', $sql_ary);

$result = $db->sql_query($sql);

 

while ($row = $db->sql_fetchrow($result))

{

$attachments[$row['post_msg_id']][] = $row;

}

$db->sql_freeresult($result);

 

//get user_cache

build_user_cache($user_ary, $user_cache);

 

// Load custom profile fields

if ($config['load_cpf_viewtopic'])

{

include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);

$cp = new custom_profile();

 

// Grab all profile fields from users in id cache for later use - similar to the poster cache

$profile_fields_cache = $cp->generate_profile_fields_template('grab', $user_ary);

}

 

// Generate online information for user

if ($config['load_onlinetrack'] && sizeof($user_ary))

{

$sql_ary = array(

'SELECT' => 'session_user_id, MAX(session_time) as online_time, MIN(session_viewonline) AS viewonline',

'FROM' => array(

SESSIONS_TABLE => '',

),

'WHERE' => $db->sql_in_set('session_user_id', $user_ary),

'GROUP_BY' => 'session_user_id',

);

$sql = $db->sql_build_query('SELECT', $sql_ary);

$result = $db->sql_query($sql);

 

$update_time = $config['load_online_time'] * 60;

while ($row = $db->sql_fetchrow($result))

{

$user_cache[$row['session_user_id']]['online'] = (time() - $update_time < $row['online_time'] && (($row['viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;

}

$db->sql_freeresult($result);

}

 

foreach ($post_ary as $row)

{

$poster_id = $row['poster_id'];

$forum_id = $row['forum_id'];

$row['bbcode_options'] = $row['enable_bbcode'] + $row['enable_smilies'] + $row['enable_magic_url'];

$row['username'] = $user_cache[$poster_id]['username'];

$row['user_colour'] = $user_cache[$poster_id]['user_colour'];

 

$message = $row['post_text'];

$trim = false;

 

if ($char_limit)

{

strip_bbcode($message, $row['bbcode_uid']);

if (utf8_strlen($message) > $char_limit)

{

$message = utf8_substr($message, 0, $char_limit);

$trim = true;

}

else

{

$message = generate_text_for_display($row['post_text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']);

}

}

else

{

$message = generate_text_for_display($row['post_text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']);

}

 

if ($auth->acl_get('u_download') && $auth->acl_get('f_download', $forum_id))

{

parse_attachments($forum_id, $message, $attachments[$row['post_id']], $update_count);

}

else

{

$display_notice = true;

}

$post_unread = ($row['mark_time'] > $row['post_time'] && $user->data['user_id'] != ANONYMOUS) ? true : false;

 

if ($config['load_cpf_viewtopic'])

{

$cp_row = (isset($profile_fields_cache[$poster_id])) ? $cp->generate_profile_fields_template('show', false, $profile_fields_cache[$poster_id]) : array();

}

 

$template->assign_block_vars('postrow', array(

'POST_AUTHOR_FULL' => get_username_string('full', $poster_id, $row['username'], $row['user_colour'], $row['post_username']),

'POST_AUTHOR_COLOUR' => get_username_string('colour', $poster_id, $row['username'], $row['user_colour'], $row['post_username']),

'POST_AUTHOR' => get_username_string('username', $poster_id, $row['username'], $row['user_colour'], $row['post_username']),

'U_POST_AUTHOR' => get_username_string('profile', $poster_id, $row['username'], $row['user_colour'], $row['post_username']),

 

'RANK_TITLE' => $user_cache[$poster_id]['rank_title'],

'RANK_IMG' => $user_cache[$poster_id]['rank_image'],

'RANK_IMG_SRC' => $user_cache[$poster_id]['rank_image_src'],

'POSTER_JOINED' => $user_cache[$poster_id]['joined'],

'POSTER_POSTS' => $user_cache[$poster_id]['posts'],

'POSTER_FROM' => $user_cache[$poster_id]['from'],

'POSTER_AVATAR' => $user_cache[$poster_id]['avatar'],

'POSTER_WARNINGS' => $user_cache[$poster_id]['warnings'],

'POSTER_AGE' => $user_cache[$poster_id]['age'],

 

'POST_DATE' => $user->format_date($row['post_time']),

'POST_SUBJECT' => $row['post_subject'],

'MESSAGE' => $message,

'READ_MORE' => ($trim) ? true : false,

'SIGNATURE' => ($row['enable_sig']) ? $user_cache[$poster_id]['sig'] : '',

'EDITED_MESSAGE' => ($row['post_edit_count']) ? get_username_string('full', $row['post_edit_user'], $user_cache[$poster_id]['username'], $user_cache[$poster_id]['user_colour']) : '',

'EDIT_REASON' => $row['post_edit_reason'],

 

'MINI_POST_IMG' => ($post_unread) ? $user->img('icon_post_target_unread', 'NEW_POST') : $user->img('icon_post_target', 'POST'),

#'POST_ICON_IMG' => ($row['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['img'] : '',

#'POST_ICON_IMG_WIDTH' => ($row['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['width'] : '',

#'POST_ICON_IMG_HEIGHT'=> ($row['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['height'] : '',

'ICQ_STATUS_IMG' => $user_cache[$poster_id]['icq_status_img'],

'ONLINE_IMG' => ($poster_id == ANONYMOUS || !$config['load_onlinetrack']) ? '' : (($user_cache[$poster_id]['online']) ? $user->img('icon_user_online', 'ONLINE') : $user->img('icon_user_offline', 'OFFLINE')),

'S_ONLINE' => ($poster_id == ANONYMOUS || !$config['load_onlinetrack']) ? false : (($user_cache[$poster_id]['online']) ? true : false),

 

'U_EDIT' => (!$user->data['is_registered']) ? '' : ((($user->data['user_id'] == $poster_id && $auth->acl_get('f_edit', $forum_id) && ($row['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time'])) || $auth->acl_get('m_edit', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=edit&f=$forum_id&p={$row['post_id']}") : ''),

'U_QUOTE' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=quote&f=$forum_id&p={$row['post_id']}") : '',

'U_INFO' => ($auth->acl_get('m_info', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=post_details&f=$forum_id&p=" . $row['post_id'], true, $user->session_id) : '',

'U_DELETE' => (!$user->data['is_registered']) ? '' : ((($user->data['user_id'] == $poster_id && $auth->acl_get('f_delete', $forum_id) && $row['topic_last_post_id'] == $row['post_id'] && ($row['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time'])) || $auth->acl_get('m_delete', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=delete&f=$forum_id&p={$row['post_id']}") : ''),

 

'U_PROFILE' => $user_cache[$poster_id]['profile'],

'U_SEARCH' => $user_cache[$poster_id]['search'],

'U_PM' => ($poster_id != ANONYMOUS && $config['allow_privmsg'] && $auth->acl_get('u_sendpm') && ($user_cache[$poster_id]['allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&action=quotepost&p=' . $row['post_id']) : '',

'U_EMAIL' => $user_cache[$poster_id]['email'],

'U_WWW' => $user_cache[$poster_id]['www'],

'U_ICQ' => $user_cache[$poster_id]['icq'],

'U_AIM' => $user_cache[$poster_id]['aim'],

'U_MSN' => $user_cache[$poster_id]['msn'],

'U_YIM' => $user_cache[$poster_id]['yim'],

'U_JABBER' => $user_cache[$poster_id]['jabber'],

 

'U_REPORT' => ($auth->acl_get('f_report', $forum_id)) ? append_sid("{$phpbb_root_path}report.$phpEx", 'f=' . $forum_id . '&p=' . $row['post_id']) : '',

'U_MCP_REPORT' => ($auth->acl_get('m_report', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=report_details&f=' . $forum_id . '&p=' . $row['post_id'], true, $user->session_id) : '',

'U_MCP_APPROVE' => ($auth->acl_get('m_approve', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=approve_details&f=' . $forum_id . '&p=' . $row['post_id'], true, $user->session_id) : '',

'U_MINI_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'p=' . $row['post_id']) . (($row['topic_type'] == POST_GLOBAL) ? '&f=' . $forum_id : '') . '#p' . $row['post_id'],

#'U_NEXT_POST_ID' => ($i < $i_total && isset($rowset[$post_list[$i + 1]])) ? $rowset[$post_list[$i + 1]]['post_id'] : '',

#'U_PREV_POST_ID' => $prev_post_id,

'U_NOTES' => ($auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $poster_id, true, $user->session_id) : '',

'U_WARN' => ($auth->acl_get('m_warn') && $poster_id != $user->data['user_id'] && $poster_id != ANONYMOUS) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_post&f=' . $forum_id . '&p=' . $row['post_id'], true, $user->session_id) : '',

 

'POST_ID' => $row['post_id'],

'POSTER_ID' => $poster_id,

 

'S_HAS_ATTACHMENTS' => (!empty($attachments[$row['post_id']])) ? true : false,

'S_POST_UNAPPROVED' => ($row['post_approved']) ? false : true,

'S_POST_REPORTED' => ($row['post_reported'] && $auth->acl_get('m_report', $forum_id)) ? true : false,

'S_DISPLAY_NOTICE' => $display_notice && $row['post_attachment'],

#'S_FRIEND' => ($row['friend']) ? true : false,

'S_UNREAD_POST' => $post_unread,

#'S_FIRST_UNREAD' => $s_first_unread,

'S_CUSTOM_FIELDS' => (isset($cp_row['row']) && sizeof($cp_row['row'])) ? true : false,

#'S_TOPIC_POSTER' => ($topic_data['topic_poster'] == $poster_id) ? true : false,

));

 

// Display not already displayed Attachments for this post, we already parsed them. ;)

if (!empty($attachments[$row['post_id']]))

{

foreach ($attachments[$row['post_id']] as $attachment)

{

$template->assign_block_vars('postrow.attachment', array(

'DISPLAY_ATTACHMENT' => $attachment)

);

}

}

}

$db->sql_freeresult($result);

 

return;

}

 

/**

* Select subforums

*

* @param int $forum_id

* @return array $forum_ary array of forum id's

*/

function select_subforums($forum_id)

{

global $db, $auth;

 

$forum_ary = array();

//grab all forums and subforums under the forum id selected

$sql_ary = array(

'SELECT' => 'b.*',

'FROM' => array(

FORUMS_TABLE => 'a',

),

'LEFT_JOIN' => array(

array(

'FROM' => array(FORUMS_TABLE => 'b'),

'ON' => 'b.left_id BETWEEN a.left_id AND a.right_id',

)

),

'WHERE' => "a.forum_id = $forum_id",

'ORDER_BY' => 'b.forum_last_post_time DESC',

);

$sql = $db->sql_build_query('SELECT', $sql_ary);

$result = $db->sql_query($sql);

 

while ($row = $db->sql_fetchrow($result))

{

//compile the list of ids if we have permission to view them

if (!$auth->acl_get('f_read', $forum_id))

{

continue;

}

$forum_ary[$row['forum_id']] = $row['forum_id'];

}

$db->sql_freeresult($result);

return $forum_ary;

}

 

/**

* Select posts and post info to display

*

* @param array $details insert details (limit, where and unique)

* @param array $topic_ary insert topic_ary

* @param array $post_ary output post_ary

* @param array $post_ids output post_ids

* @param array $user_ary output user_ary (array of user_ids)

*/

function select_posts($details, $forum_ary, &$topic_ary, &$post_ary, &$post_ids, &$user_ary)

{

global $db, $user, $auth;

 

//open up some vars

$unique = $details['unique'];

$limit = $details['limit'];

 

//get unread and posts data

$count = 0;

 

if (sizeof($topic_ary))

{

$where = $db->sql_in_set('p.topic_id', $topic_ary) . ' AND t.topic_id = p.topic_id';

}

else if (sizeof($forum_ary))

{

$where = $db->sql_in_set('p.forum_id', $forum_ary) . ((!$auth->acl_get('m_approve', 'p.forum_id')) ? ' AND p.post_approved = 1' : '');

}

else

{

$where = '';

}

 

$sql_ary = array(

'SELECT' => 'p.*, t.*, tt.mark_time',

'FROM' => array(

POSTS_TABLE => 'p',

TOPICS_TABLE => 't',

),

'LEFT_JOIN' => array(

array(

'FROM' => array(TOPICS_TRACK_TABLE => 'tt'),

'ON' => "tt.topic_id = p.topic_id AND tt.user_id = {$user->data['user_id']}",

),

array(

'FROM' => array(USERS_TABLE => 'u'),

'ON' => 'u.user_id = p.poster_id',

),

),

 

'WHERE' => $where,

'ORDER_BY' => 'p.post_time DESC',

);

 

$sql = $db->sql_build_query('SELECT', $sql_ary);

$result = ($unique) ? $db->sql_query($sql) : $db->sql_query_limit($sql, $limit);

 

while ($row = $db->sql_fetchrow($result))

{

if (!$auth->acl_get('f_read', $row['forum_id']) && $row['forum_id'] != 0)

{

continue;

}

 

//if unique = true, make sure we aren't pulling duplicate topics

if ($unique)

{

if (!isset($topic_ary[$row['topic_id']]))

{

continue;

}

if ($count == $limit)

{

break;

}

unset($topic_ary[$row['topic_id']]);

$count++;

}

$post_ary[$row['post_id']] = $row;

$post_ids[$row['post_id']] = $row['post_id'];

 

if ($row['post_edit_user'])

{

$user_ary[$row['post_edit_user']] = $row['post_edit_user'];

}

$user_ary[$row['poster_id']] = $row['poster_id'];

}

$db->sql_freeresult($result);

 

if (!sizeof($post_ary))

{

trigger_error('NO_FORUM');

}

 

return;

}

 

/**

* Build User Cache

*

* @param array $user_ary insert user id's

* @param array $user_cache outputs user_cache

*/

function build_user_cache($user_ary, &$user_cache)

{

global $db, $user, $config, $auth, $phpbb_root_path, $phpEx;

$now = getdate(time() + $user->timezone + $user->dst - date('Z'));

 

//grab users data

$sql_ary = array(

'SELECT' => '*',

'FROM' => array(

USERS_TABLE => '',

),

'WHERE' => $db->sql_in_set('user_id', $user_ary),

);

$sql = $db->sql_build_query('SELECT', $sql_ary);

$result = $db->sql_query($sql);

 

while ($row = $db->sql_fetchrow($result))

{

$poster_id = $row['user_id'];

if (!isset($user_cache[$poster_id]))

{

if ($poster_id == ANONYMOUS)

{

$user_cache[$poster_id] = array(

'joined' => '',

'posts' => '',

'from' => '',

 

'sig' => '',

'sig_bbcode_uid' => '',

'sig_bbcode_bitfield' => '',

 

'online' => false,

'avatar' => '',

'rank_title' => '',

'rank_image' => '',

'rank_image_src' => '',

'sig' => '',

'posts' => '',

'profile' => '',

'pm' => '',

'email' => '',

'www' => '',

'icq_status_img' => '',

'icq' => '',

'aim' => '',

'msn' => '',

'yim' => '',

'jabber' => '',

'search' => '',

'age' => '',

 

'username' => $row['username'],

'user_colour' => $row['user_colour'],

 

'warnings' => 0,

'allow_pm' => 0,

);

}

else

{

$user_sig = '';

 

// We add the signature to every posters entry because enable_sig is post dependant

if ($row['user_sig'] && $config['allow_sig'] && $user->optionget('viewsigs'))

{

$user_sig = generate_text_for_display($row['user_sig'], $row['user_sig_bbcode_uid'], $row['user_sig_bbcode_bitfield'], 7);

}

 

$user_cache[$poster_id] = array(

'joined' => $user->format_date($row['user_regdate']),

'posts' => $row['user_posts'],

'warnings' => (isset($row['user_warnings'])) ? $row['user_warnings'] : 0,

'from' => (!empty($row['user_from'])) ? $row['user_from'] : '',

 

'sig' => $user_sig,

 

'viewonline' => $row['user_allow_viewonline'],

'allow_pm' => $row['user_allow_pm'],

 

'avatar' => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',

'age' => '',

 

'rank_title' => '',

'rank_image' => '',

'rank_image_src' => '',

 

'username' => $row['username'],

'user_colour' => $row['user_colour'],

 

'online' => false,

'profile' => append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=viewprofile&u=$poster_id"),

'www' => $row['user_website'],

'aim' => ($row['user_aim'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=aim&u=$poster_id") : '',

'msn' => ($row['user_msnm'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=msnm&u=$poster_id") : '',

'yim' => ($row['user_yim']) ? 'http://edit.yahoo.com/config/send_webmesg?.target=' . $row['user_yim'] . '&.src=pg' : '',

'jabber' => ($row['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=jabber&u=$poster_id") : '',

'search' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'search_author=' . urlencode($row['username']) .'&showresults=posts') : '',

);

 

get_user_rank($row['user_rank'], $row['user_posts'], $user_cache[$poster_id]['rank_title'], $user_cache[$poster_id]['rank_image'], $user_cache[$poster_id]['rank_image_src']);

 

$user_cache[$poster_id]['email'] = '';

if (!empty($row['user_allow_viewemail']) || $auth->acl_get('a_email'))

{

$user_cache[$poster_id]['email'] = ($config['board_email_form'] && $config['email_enable']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=email&u=$poster_id") : (($config['board_hide_emails'] && !$auth->acl_get('a_email')) ? '' : 'mailto:' . $row['user_email']);

}

 

$user_cache[$poster_id]['icq'] = (!empty($row['user_icq'])) ? 'http://www.icq.com/people/webmsg.php?to=' . $row['user_icq'] : '';

$user_cache[$poster_id]['icq_status_img'] = (!empty($row['user_icq'])) ? '<img src="http://web.icq.com/whitepages/online?icq=' . $row['user_icq'] . '&img=5" width="18" height="18" alt="" />' : '';

 

if ($config['allow_birthdays'] && !empty($row['user_birthday']))

{

list($bday_day, $bday_month, $bday_year) = array_map('intval', explode('-', $row['user_birthday']));

 

if ($bday_year)

{

$diff = $now['mon'] - $bday_month;

$diff = ($diff < 0 || $now['mday'] - $bday_day < 0) ? 1 : 0;

 

$user_cache[$poster_id]['age'] = (int) ($now['year'] - $bday_year - $diff);

}

}

}

}

}

$db->sql_freeresult($result);

 

return;

}

?>

Link to comment
Share on other sites

I don't see anything particularly wrong with the code...mostly just html.

 

You can turn on php error reporting by placing the following at the very top of your page:

 

<?php

ini_set("display_errors", 1);
ini_set("display_startup_errors", 1);
error_reporting(E_ALL);

?>

 

 

 

I added the code to gave me to the tope of the page.

 

I also used the code PhREEEk gave me.

I wasn't sure what path I need to fix so I removed the .php off the end of the 2 fun files.

 

this is the error i'm getting now.

 

Warning: include($phpbb_root_pathincludes/functions_display.php) [function.include]: failed to open stream: No such file or directory in /home/advisorg/public_html/index.php on line 60

 

Warning: include() [function.include]: Failed opening '$phpbb_root_pathincludes/functions_display.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/advisorg/public_html/index.php on line 60

 

Warning: include($phpbb_root_pathincludes/functions_posts_anywhere.php) [function.include]: failed to open stream: No such file or directory in /home/advisorg/public_html/index.php on line 61

 

Warning: include() [function.include]: Failed opening '$phpbb_root_pathincludes/functions_posts_anywhere.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/advisorg/public_html/index.php on line 61

 

Fatal error: Call to undefined function display_posts() in /home/advisorg/public_html/index.php on line 68

Link to comment
Share on other sites

Warning: include($phpbb_root_pathincludes/functions_display.php) [function.include]: failed to open stream: No such file or directory in /home/advisorg/public_html/index.php on line 60

 

Means that there is no such file in that directory.  Utilize the list command to check if the files are in that path.

 

 

Link to comment
Share on other sites

Thank you guys so much for taking the time to help me with this.

 

The path would just be http://www.adviceforums.org/phpBB3/includes/functions_display.php right?

 

I just don't understand a lot of this and i'm starting to think it has something to do with my host... They suck but they are free.

 

We have tried so much stuff and its still not working. When I say we I mean...

 

http://www.phpbbhacks.com/forums/recent-posts-disply-on-home-page-vt71128.html

http://www.webmasterwidget.com/index.php?topic=115.0

http://forums.htmlhelp.com/index.php?showtopic=4724

http://www.phpbb.com/community/viewtopic.php?f=70&t=544039

http://www.phpbb.com/community/viewtopic.php?f=72&t=546383

http://www.theadminzone.com/forums/showthread.php?t=43277

http://www.dietzelsupport.com/showthread.php?t=16742

 

The part that gets me after talking to all these people is that its skill level is rated EASY and the average install time is 3 freaking minuets. I have been working on it for days lol

 

I am just starting to think its something other than an error between the seat and the keyboard... which is usually always the case.

 

Do you think I should just give up on it or what?

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.