eviL<3 wrote:but $row is a bit a confusing name.
Effectively, I was in late when I gave you the code ...
2bit, don't forget improvements that I suggested you, the three points are important
eviL<3 wrote:but $row is a bit a confusing name.
Code: Select all
$sql = 'SELECT z.friend, u.username, u.username_clean
FROM ' . ZEBRA_TABLE . ' z, ' . USERS_TABLE . ' u
WHERE z.user_id = ' . $user->data['user_id'] . '
AND u.user_id = z.zebra_id';
$result = $db->sql_query($sql);
$friends = $foes = array();
while ($row = $db->sql_fetchrow($result))
{
if ($row['friend'])
{
$friends[] = utf8_clean_string($row['username']);
}
else
{
$foes[] = utf8_clean_string($row['username']);
}
}
$db->sql_freeresult($result);
if (sizeof($friends))
{
foreach ($friends as $row)
{
$template->assign_block_vars('friendsrow', array(
'FRIENDS' => $row,
));
}
}
if (sizeof($foes))
{
foreach ($foes as $row)
{
$template->assign_block_vars('foesrow', array(
'FOES' => $row,
));
}
}
// do this after you have $friends and $foes defined
$users = array_merge($friends, $foes);
$sql = 'SELECT session_user_id, MAX(session_time) AS onlinetime, MIN(session_viewonline) AS viewonline FROM ' . SESSIONS_TABLE . '
WHERE ' . $db->sql_in_set('session_user_id', $users) . '
GROUP BY session_user_id';
$result = $db->sql_query($sql);
$current_time = time();
while ($row = $db->sql_fetchrow($result))
{
if (($row['viewonline'] || $auth->acl_get('u_viewonline')) && $row['onlinetime'] > ($current_time - $config['load_online_time'] * 60))
{
$online[$row['session_user_id']] = true;
}
}
$db->sql_freeresult($result);
Code: Select all
<?php
/**
*
* @package BetaDevil phpBB3 add-ons
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
// Define some special constants
define('ZEBRA_FRIEND', 1);
define('ZEBRA_FOE', 0);
// Get the zebra data
$sql = 'SELECT z.zebra_id, z.friend, u.username, u.user_colour
FROM ' . ZEBRA_TABLE . ' z,
' . USERS_TABLE . ' u,
WHERE z.user_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$zebra = array();
while($row = $db->sql_fetchrow($result))
{
$zebra[] = array(
'type' => ($row['friend']) ? ZEBRA_FRIEND : ZEBRA_FOE,
'user_link' => get_username_string('full', $row['zebra_id'], $row['username'], $row['user_colour']),
);
}
$db->sql_freeresult($result);
if (sizeof($zebra))
{
foreach ($zebra as $zebra_data)
{
$template->assign_block_vars((($zebra_data['type'] == ZEBRA_FRIEND) ? 'friends_row' : 'foes_row'), array(
'U_VIEW_PROFILE' => $zebra_data['user_link'],
));
}
}
// Output page
page_header($user->lang['ZEBRA_PAGE']);
$template->set_filenames(array(
'body' => 'zebra_body.html')
);
page_footer();
?>
Code: Select all
$sql = 'SELECT z.friend, u.username, u.username_clean
FROM ' . ZEBRA_TABLE . ' z, ' . USERS_TABLE . ' u
WHERE z.user_id = ' . $user->data['user_id'] . '
AND u.user_id = z.zebra_id';
$result = $db->sql_query($sql);
$friends = $foes = array();
while ($row = $db->sql_fetchrow($result))
{
if ($row['friend'])
{
$friends[] = utf8_clean_string($row['username']);
}
else
{
$foes[] = utf8_clean_string($row['username']);
}
}
$db->sql_freeresult($result);
if (sizeof($friends))
{
foreach ($friends as $row)
{
$template->assign_block_vars('friendsrow', array(
'FRIENDS' => $row,
));
}
}
if (sizeof($foes))
{
foreach ($foes as $row)
{
$template->assign_block_vars('foesrow', array(
'FOES' => $row,
));
}
}
// do this after you have $friends and $foes defined
$users = array_merge($friends, $foes);
$sql = 'SELECT session_user_id, MAX(session_time) AS onlinetime, MIN(session_viewonline) AS viewonline FROM ' . SESSIONS_TABLE . '
WHERE ' . $db->sql_in_set('session_user_id', $users) . '
GROUP BY session_user_id';
$result = $db->sql_query($sql);
$current_time = time();
while ($row = $db->sql_fetchrow($result))
{
if (($row['viewonline'] || $auth->acl_get('u_viewonline')) && $row['onlinetime'] > ($current_time - $config['load_online_time'] * 60))
{
$online[$row['session_user_id']] = true;
}
}
$db->sql_freeresult($result);
$sql = 'SELECT z.friend, u.username, u.username_clean, z.zebra_id
FROM ' . ZEBRA_TABLE . ' z, ' . USERS_TABLE . ' u
WHERE z.user_id = ' . $user->data['user_id'] . '
AND u.user_id = z.zebra_id';
$result = $db->sql_query($sql);
$friends = $foes = array();
while ($row = $db->sql_fetchrow($result))
{
if ($row['friend'])
{
$friends['zebra_id'] = utf8_clean_string($row['username']);
}
else
{
$foes['zebra_id'] = utf8_clean_string($row['username']);
}
//Then at the end,
foreach ($friends as $id => $row)
{
$template->assign_block_vars('friendsrow', array(
'FRIENDS' => $row,
'S_ONLINE' => $online[$id],
));
}
foreach ($foes as $id => $row)
{
$template->assign_block_vars('foesrow', array(
'FOES' => $row,
'S_ONLINE' => $online[$id],
));
}
Code: Select all
if (sizeof($friends))
{
foreach ($friends as $row)
{
$template->assign_block_vars('friendsrow', array(
'FRIENDS' => $row,
));
}
Code: Select all
<!-- BEGIN friendsrow -->
<tr>
<td>{friendsrow.FRIENDS}</td>
</tr>
<!-- END friendsrow-->
Code: Select all
foreach ($friends as $id => $row)
{
$template->assign_block_vars('friendsrow', array(
'FRIENDS' => $row,
'S_ONLINE' => $online[$id],
));
}
Code: Select all
<!-- BEGIN friendsrow -->
<tr>
<td>{friendsrow.FRIENDS}</td>
<td>{friendsrow.S_ONLINE}</td>
</tr>
<!-- END friendsrow-->
Code: Select all
<!-- BEGIN friendsrow -->
<tr>
<td><!-- IF friendsrow.S_ONLINE --><em>{friendsrow.FRIENDS}</em><!-- ELSE -->{friendsrow.FRIENDS}<!-- ENDIF --></td>
</tr>
<!-- END friendsrow-->
Code: Select all
<?php
/**
*
* @author 2bit [email protected] -http://jamiedawes.blogspot.com/
.tld
* @author Another Author Username [email protected] - http://domain.tld
*
* @package {friends_foes.php}
* @version $Id$
* @copyright (c) 2008 Atlantis Network
* @license http://opensource.org/licenses/gpl-license.php GNU Public
License
*
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup(mods/friends_foes_lang_file);
$sql = 'SELECT z.friend, u.username, u.username_clean
FROM ' . ZEBRA_TABLE . ' z, ' . USERS_TABLE . ' u
WHERE z.user_id = ' . $user->data['user_id'] . '
AND u.user_id = z.zebra_id';
$result = $db->sql_query($sql);
$friends = $foes = array();
while ($row = $db->sql_fetchrow($result))
{
if ($row['friend'])
{
$friends[] = utf8_clean_string($row['username']);
}
else
{
$foes[] = utf8_clean_string($row['username']);
}
}
$db->sql_freeresult($result);
if (sizeof($friends))
{
foreach ($friends as $row)
{
$template->assign_block_vars('friendsrow', array(
'FRIENDS' => $row,
));
}
}
if (sizeof($foes))
{
foreach ($foes as $row)
{
$template->assign_block_vars('foesrow', array(
'FOES' => $row,
));
}
}
// do this after you have $friends and $foes defined
$users = array_merge($friends, $foes);
$sql = 'SELECT session_user_id, MAX(session_time) AS onlinetime, MIN(session_viewonline) AS viewonline FROM ' . SESSIONS_TABLE . '
WHERE ' . $db->sql_in_set('session_user_id', $users) . '
GROUP BY session_user_id';
$result = $db->sql_query($sql);
$current_time = time();
while ($row = $db->sql_fetchrow($result))
{
if (($row['viewonline'] || $auth->acl_get('u_viewonline')) && $row['onlinetime'] > ($current_time - $config['load_online_time'] * 60))
{
$online[$row['session_user_id']] = true;
}
}
$db->sql_freeresult($result);
$sql = 'SELECT z.friend, u.username, u.username_clean, z.zebra_id
FROM ' . ZEBRA_TABLE . ' z, ' . USERS_TABLE . ' u
WHERE z.user_id = ' . $user->data['user_id'] . '
AND u.user_id = z.zebra_id';
$result = $db->sql_query($sql);
$friends = $foes = array();
while ($row = $db->sql_fetchrow($result))
{
if ($row['friend'])
{
$friends['zebra_id'] = utf8_clean_string($row['username']);
}
else
{
$foes['zebra_id'] = utf8_clean_string($row['username']);
}
//Then at the end,
foreach ($friends as $id => $row)
{
$template->assign_block_vars('friendsrow', array(
'FRIENDS' => $row,
'S_ONLINE' => $online[$id],
));
}
foreach ($foes as $id => $row)
{
$template->assign_block_vars('foesrow', array(
'FOES' => $row,
'S_ONLINE' => $online[$id],
));
}
// Output page
page_header();
$template->set_filenames(array(
'body' => 'FF_view.html')
);
page_footer();
?>
Code: Select all
<!-- INCLUDE overall_header.html -->
<table>
<tr>
<td>My friends:</td>
</tr>
<!-- BEGIN friendsrow -->
<tr>
<td>{friendsrow.FRIENDS}</td>
<td>{friendsrow.S_ONLINE}</td>
</tr>
<!-- END friendsrow-->
<table>
<br />
<table>
<tr>
<td>My foes:</td>
</tr>
<!-- BEGIN foesrow -->
<tr>
<td>{foesrow.FOES}</td>
<td>{foesrow.S_ONLINE}</td>
</tr>
<!-- END foesrow -->
</table>
<!-- INCLUDE overall_footer.html -->
Code: Select all
$template->assign_vars(array(
'ACCEPT_LANG' => 'en',
));
Code: Select all
<!-- INCLUDE ads/ads_ACCEPT_LANG.html -->
<!-- INCLUDE ads/ads_{ACCEPT_LANG}.html -->
Code: Select all
<!-- IF ACCEPT_LANG == en -->
<!-- INCLUDE ads/ads_en.html -->
<!-- ELSE IF ACCEPT_LANG == tr -->
<!-- INCLUDE ads/ads_tr.html -->
<!-- ENDIF -->
Code: Select all
while ($row = $db->sql_fetchrow($result))
{
if ($row['friend'])
{
$friends['zebra_id'] = utf8_clean_string($row['username']);
}
else
{
$foes['zebra_id'] = utf8_clean_string($row['username']);
}