I'm trying to develop my own block to allow the user to update their location for a weather forecast but I'm getting this error whenever I click submit.
Here's the code for the php action which is where I'm getting the error
Code: Select all
<?php
global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
/**
* @author Action Replay
* @copyright 2009
*/
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$theuser = $_POST['theuser'];
$thelocation = $_POST['location'];
if ($theuser != ANONYMOUS)
{
//Get the custom profile field for this user
$sql = 'UPDATE PROFILE_FIELDS_DATA
SET pf_location = ' . $thelocation
. ' WHERE user_id = ' . (int) $theuser;
$result = $db->sql_query($sql);
}
return($result);
?>
Code: Select all
<?php
function clean_location($location)
{
//If the location is empty, generate a random location
if (empty($location))
{
/**
* We will select a random location and return it
* @return string mixed $location
*/
$location = random_location();
}
$location = strip_tags($location, '');
$search = array('%', ' ');
$replace = array('', ',');
$location = str_replace($search, $replace, $location, $count);
return $location;
}
/**
* We will select a random location and return it
* @return string mixed $location
*/
function random_location()
{
global $user, $auth;
$l_array = array(
'Basingstoke',
'Cardiff',
'Leeds',
'Birmingham',
'Manchester',
'Southampton',
'London',
''
);
$nlocation = $l_array[array_rand($l_array, 1)];
$location = request_var('location', $nlocation);
return $location;
}
if (!defined('IN_PHPBB'))
{
exit;
}
if (!defined('IN_PORTAL'))
{
exit;
}
$userid_weather = $user->data['user_id'];
if ($userid_weather > 1)
{
$display_menu = true;
}
else
{
$display_menu = false;
}
// If the user is logged in
if ($userid_weather != ANONYMOUS)
{
$location = request_var('location', '');
//Get the custom profile field for this user
// $user->get_profile_fields($user->data['user_id']);
//If they have a location set, use it
if (!empty($user->profile_fields['pf_location']))
{
$location = $user->profile_fields['pf_location'];
/**
* We are cleaning any unwanted data out of the string
* @var string mixed
*/
$location = clean_location($location);
}
else
{
/**
* We will select a random location and return it
* @return string mixed $location
*/
$location = random_location(); /**
* We are cleaning any unwanted data out of the string
* @var string mixed
*/
$location = clean_location($location);
}
/**
* This is where the action starts
* @var $location string mixed
*/
// build_weather::get_weather($location);
}
// If not logged in, use the default or let them check their weather via URL
elseif ($userid_weather == ANONYMOUS && !$auth->acl_get('u_weather'))
{
/**
* We will select a random location and return it
* @return string mixed $location
*/
$location = random_location();
/**
* We are cleaning any unwanted data out of the string
* @var string mixed
*/
$location = clean_location($location);
}
$template->assign_vars(array(
'WEATHER_LOC' => (!empty($location)) ? $location : '',
'USERID_WEATHER' => $userid_weather,
'SHOW_SEARCH' => $display_menu,
'U_UPDATE_LOCATION' => append_sid("{$phpbb_root_path}portal/includes/update_location.$phpEx"),
));
?>
Code: Select all
{$LR_BLOCK_H_L}<img src="{T_THEME_PATH}/images/portal/portal_weather.png" width="16px" height="16px" alt=""/> Weather{$LR_BLOCK_H_R}
<div class="portal-panel">
<div class="inner">
<span class="portal-corners-top"><span></span></span>
<!-- IF SHOW_SEARCH -->
<form method="post" id="forecast" action="{U_UPDATE_LOCATION}">
<input type="hidden"
name="theuser"
value="{USERID_WEATHER}"
/>
<input type="text"
tabindex="6"
name="location"
id="searchfield"
size="22"
maxlength="40"
title="Enter town or postcode"
class="inputbox search"
value="{WEATHER_LOC}"
onclick="if(this.value=='Weather')this.value='{WEATHER_LOC}';"
/>
<fieldset class="submit-buttons">
<input type="reset"
value="{L_RESET}"
name="reset"
class="button2" />
<input type="submit"
name="action"
value="{L_SUBMIT}"
class="button1" />{S_FORM_TOKEN}
</fieldset>
</form></p><!-- ENDIF -->
<!-Weather in {WEATHER_LOC}, UK on your site - HTML code - weatherforecastmap.com --><div align="center"><script src="http://www.weatherforecastmap.com/weather3.php?zona=england_{WEATHER_LOC}"></script><a alt="Weather Today in {WEATHER_LOC}" title="Weather Today in {WEATHER_LOC}" href="http://www.weatherforecastmap.com/england/{WEATHER_LOC}" target='_blank'>Weather Today in {WEATHER_LOC}</a></div><!-end of code--> <span class="portal-corners-bottom"><span></span></span>
</div>
</div>
<br style="clear:both" />
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
Regards
Doug